Skip to content

Kalimehtar/gls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Generic Little System

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages