7 ms·
Chibi-Scheme
Chibi-Scheme is a very small library intended for use as an extension and scripting language in C programs. In addition to support for lightweight VM-based threads, each VM itself runs in an isolated heap allowing multiple VMs to run simultaneously in different OS threads. The default language is R7RS Scheme, including first-class continuations and low-and-high-level hygienic macros.
- Tyr42 14y agoThe actual manual seems to be down from going over capacity.
- gelisam 14y agoThe source for the manual is still up, and is quite readable despite the few style annotations: http://code.google.com/p/chibi-scheme/source/browse/doc/chibi.scrbl http://code.google.com/p/chibi-scheme/source/browse/doc/chib... Note: I don't have access to the original manual link either, so I can't confirm that it's exactly the same document. It describes the language in details.
- Tyr42 14y agoOh hey, it's in scribble! Neat, I thought that that was an only a Racket thing...
- kishi 14y agoShould be back up now - grab it while it lasts.
- jasox 14y agoDon't know am I too optimistic, but I think that R7RS large will be great success. I hope rest of the community share same enthusiasm. (young lisper)
- pirateking 14y agoHopeful as well. - from another new Schemer
- rrradical 14y agoYes. I've enjoyed playing around with gambit, but the module system is a huge headache, and the documentation is quite sparse. R7RS, I hope, will at least give a better baseline for a newcomer like myself. (For the curious, C integration and speed are necessary for the project. Gambit is great for this.)
- pirateking 14y agoI am looking for a Scheme to implement inside an iOS app. I was looking into TinyScheme and Gambit, but was leaning towards TinyScheme due to its size.
- kishi 14y agoChibi is about the same size, and unlike TinyScheme is a real Scheme with hygienic macros and a fast VM (TinyScheme is hopelessly slow). It also has features like Huffman compressed immediate symbols to further reduce runtime heap usage - the raw image size isn't the whole story.
- jasox 14y agoCan Chibi(R7RS) be used in real world applications ?, and I am curious do you know when can we expect R7RS large spec to be finish.
- kishi 14y agoIt depends on what you mean by real world applications, but Chibi has many features including threads, networking and an FFI suitable for any application. R7RS large will have even more libraries. It will be complete when it's completed, but many of the individual libraries will be usable before then.
- pmelendez 14y agoInteresting! I will evaluate this for my online board game that I am remaking in this moment but it does look good :)
- pubby 14y agoIf you don't care about the small footprint then go with Gambit/Bigloo as they play nicely with C too.
- jarel 14y agoIf you don't care about Gambit's C integration, go with Racket, it's very beginner friendly and has lots of libraries. Or: If you don't care for Rackets IDE, go with Guile, it's the official GNU extension language. TL;DR find a Scheme implementation that is good at what you need and use it.
- rohshall 14y agoApart from Racket, Chicken Scheme is the most active Scheme and it has a lot of libraries (eggs as they call it) from OS interface to amazon web services and web frameworks.
- stesch 14y agoWorks on iOS? Too bad it's not allowed.
- rsanders 14y agoThat's incorrect. You can embed an interpreter and interpreted code in an iOS app and many do. You just can't download new interpreted code after the application has been installed. You can't download new binary code, either. See http://daringfireball.net/2010/09/app_store_guidelines http://daringfireball.net/2010/09/app_store_guidelines.
- klodolph 14y agoWasn't that rule changed some years ago?
- swah 14y agoAnyone has comments on the implementation?
- kishi 14y agoI'm the author, if anyone has questions feel free to ask. 0.6 should be released this month with a lot of improvements.
- teraflop 14y agoHow large does the heap need to be for the garbage collector to work effectively? Could this theoretically run on something like the TI Stellaris LaunchPad, which is an ARM chip with 256KB of Flash and 32KB of RAM?
- kishi 14y agoThe default heap is 2MB, but will run with 756KB. If you want to skip the init.scm file (-q command-line option) it will run with just 10KB providing only definitions and C primitives, but I haven't tested this extensively - I had no idea they still made devices with such little memory :)