Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Kalimehtar/gls
Generic Little System
https://github.com/Kalimehtar/gls
racket
Last synced: about 2 months ago
JSON representation
Generic Little System
- Host: GitHub
- URL: https://github.com/Kalimehtar/gls
- Owner: Kalimehtar
- License: mit
- Created: 2014-02-03T00:39:41.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-05-05T11:36:45.000Z (8 months ago)
- Last Synced: 2024-10-16T03:02:15.452Z (3 months ago)
- Topics: racket
- Language: Racket
- Size: 292 KB
- Stars: 17
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-racket - gls - Generic Little (Object, Type, Anything, etc) System - multiple dispatch on types. (Data Structures)
README
gls
===GLS - Generic Little (Object, Type, Anything, ...) System
It provides multiple dispatch for Racket.
Differences from Swindle:
- Doesn't force you to change all. GLS is a small collection with a dozen of
functions in API. It only adds generic functions.- It based upon types, not classes. You may dispatch you function on any
predicate you may imagine: `exact-integer?`, `(real-in 0 10)`,
`(and? stream? (not/c stream-empty?))`, ...GLS is based on Greg Sullivan's GLOS, that was witten for
scheme48. It has the same API, but without implemetation of own object system
(glos-records). So GLS is not "generic little object system", but simply
"generic little system". But I added support for racket/class: you may use
class instead of type predicate and GLS correctly supports subtypes
(subclasses).Sorry for bad documentation: for API look into main.rkt, for examples of use
-- test.rkt.Some description of GLOS is in the paper ref-dyn-patterns.
Also, slides in proglangsandsofteng work
through some examples using GLOS.