Welcome to muSE
Hello and welcome to muSE.
I wrote this Scheme dialect with the intention of having a simple small foot print engine that one can use as an expressive embedded extension language. The company I work for has allowed me to publish muSE under very liberal open-source license terms.
Selling points -
- Easy to use and reasonably documented C embedding API.
- Closed execution environment - instabilities won't leak into your system unlike an environment that uses the Boehm garbage collector.
- Fairly small foot print - WIN32 executable is about 80KB including diagnostics.
- 64-bit ready - muSE integers are always 64-bit and 64-bit pointers are just a recompile away.
- Unicode throughout - Exclusively uses 16-bit characters internally, supports (only) UTF-8 for I/O.
- Fast enough as a glue language (at least for us). Startup/shutdown times are also quite fast due to the minimal language.
- Suitable for creating simple DSLs.
- Some novel/experimental features -
- Simple notation for read-time code evaluation.
- First class reader macros that expand tail-first.
- Dynamic or lexical scoping - you choose according to your need.
- Diagnostics that make spell-check-like suggestions.
- Experimental support for ez2scm syntax.
- A full R5RS compliant Scheme. We don't need full support because the runtime is expected to be aggresively extended using C/C++ depending on the usage context. Basics are however covered - map, for-each, list manipulations, closures, call/cc, vectors, hashtables, ports, etc. are in there. If you're looking for a full R5RS Scheme, try MzScheme which is supported by the wonderful DrScheme IDE.
- A coffee maker that toasts bagels to boot.
No comments:
Post a Comment