Skip to content

breckinloggins/sugar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sugar is a stack-based language with an emphasis on reading and evaluating source text. In other words, the purpose is to "transform" it into any language you choose. The language itself should remind you somewhat of FORTH.

Sugar comes with a Java-based "IDE" that shows how the language itself can choose the syntax highlighting, completion assist, and other features as it is being written.

Fundamentally, Sugar is a functional language. That is, some operations have side effects (like IO) and can mutate the state of the underlying stack machine, but type values themselves cannot be mutated. Sugar does have the notion of environment bindings, and these bindings can be changed (in other words, the scope is itself mutable), but the underlying values themselves can't be changed. Users can, of course, implement mutable types on top of the language if they so choose.

About

The Sugar Programming Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages