Sugar homepage

Download Sugar

Versiontgzi386i486i586i686src
Current            
redhog.1            
redhog.0            

Status for Sugar

  Fully functional. If there was any new features that could possibly go in here, I would continue developement... Otherwize: This is a `finished' product :)

Updates

redhog.1 (build nr. 0)
  • Modularization
redhog.0 (build nr. 0)
  • Initial version
  Sugar adds indentation-sensitive syntax to the LISP reader of scheme. Perheaps the best way to explain the syntax is by example:
  The fabulous faculty function (x!):
define
 fac x
 if
  = x 0
  1
  * x
    fac
     - x 1
  Of course, you can put normal LISP-expressios in the middle of sugar-expressions! Anyway, there is a special symbol, group, which, if written first at a line, is removed. This allows for example the following:
let
 group
  foo
   + 1 2
  bar
   + 3 4
 + foo bar

I've written a quick-and-dirty sugar-display-funcion that displays Scheme structures in Sugar-format, suitable for the suga-reader. Atm, it is pretty braindead and naive, but works. It is available here.

After creating Sugar, I recieved an e-mail from Darrell Johnson, who had been inspired by Sugar to create more or less the same thing, but for C++(!), cugar.

Note: The version naming system used for Sugar. Please follow this when developing modules for, and deriving works from, Sugar.