Check it out here.
Tag: Scheme
TSPL 4th edition
The 4th edition of The Scheme Programming Language by R. Kent Dybvig is announced in the MIT Press catalog.
“The fourth edition has been substantially revised and expanded to bring the content up to date with the current Scheme standard, the Revised6 Report on Scheme. All parts of the book were updated and three new chapters were added, covering the language’s new library, exception handling, and record-definition features.”
The paper catalog gives a date of July 2009. The online catalog gives a date of September 2009.
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11984
(via comp.lang.scheme)
What file is a name defined in?
#lang scheme
; What file is a name defined in?
;; definition-source : identifier -> (U symbol path)
;; Returns a symbol or path for the module that contains
;; the definition for a given name.
(define (definition-source id)
(let ([binding (identifier-binding id)])
(and (list? binding)
(resolved-module-path-name
(module-path-index-resolve (car binding))))))
(definition-source #'map)
; => #
(definition-source #'+)
; => #%kernel
; "The + procedure is defined in the built-in kernel module
; (it has no Scheme source file)."
(via PLT)
A Backdoor into PLT R5RS
The PLT R5RS language is just that, a language conformant R5RS Scheme.
Eli explained here, though, how one may import additional bindings.
#lang r5rs
(#%require (only scheme/base error))
; to import error for example
Tendrils in Scheme
Here is an art piece by Tom De Smedt written in NodeBox (Python) :
http://www.nodebox.net/code/index.php/Tendrils
It is in turn based on work done in Processing by a group ART+CODE.
Ported to Abstracting:
http://github.com/dharmatech/abstracting/blob/master/examples/tendril…
Although Abstracting is OpenGL based, I made a NodeBox compatibility library which allowed for a straightforward port.
Here is a rendering performed by Abstracting/Ypsilon :
Ed
I wonder if that is something that Script-Fu would do well?
(via comp.lang.scheme)
The Dream Scheme Operating System
Dream is an R4RS Scheme interpreter written in assembly language by David Joseph Stith:
http://www.stripedgazelle.org/joey/dream.html
He wrote a small operating system based on Dream:
– Edward
(via comp.lang.scheme)
LambdaBeans
LambdaBeans is a new IDE for Scheme. Download it here.
(via comp.lang.scheme)
chibi-scheme 0.1
An initial preview release of Chibi-Scheme is available at
http://synthcode.com/scheme/chibi-scheme-0.1.tgz
Smaller than TinyScheme, faster than a speeding Guile, able to leap tall vectors in a single bounds check, with native hygiene to boot!
WARNING: Do not use Chibi-Scheme!
Seriously, there are real Scheme compilers out there. The author of Chibi-Scheme was working on one himself before starting this silly project, and will likely continue to work on it for years to come. But sometimes we all just want to release something.
There seems to be a disturbing trend, however, of people taking toy Scheme interpreters seriously. It can’t be for ease of use, because the serious compilers all have the most friendly FFI’s. It can’t be for the small memory footprint, because the difference between a 100k and 2MB program text will be dwarfed by the runtime memory, and all of the real implementations have much more efficient memory usage. But time and again you’ll find TinyScheme crop in in bizarre places, which leads one to wonder how much of a bad name is Scheme getting by being so often represented by one of the slowest language implementations on the planet?
So Chibi-Scheme exists as a better toy implementation. It’s a very small but mostly complete R5RS Scheme implementation using a reasonably fast custom VM. Chibi-Scheme tries as much as possible not to trade its small size by cutting corners, and provides full continuations, both low and high-level hygienic macros based on syntactic-closures, string ports and exceptions. It also has optional immediate symbols, just to be quirky.
But don’t use Chibi-Scheme. Don’t use toy Scheme implementations at all. But if you really want a toy… well, then perhaps Chibi-Scheme 0.3 or so may be right for you.
[On a more serious note, I do want to hold this up as an example of how extremely simple and natural it is to implement syntactic-closures compared to alternatives such as syntax-case. The whole macro implementation is about 25 lines of low-level C code (modulo the extra lines I’ll have to add later for bug fixes), as opposed to say the 4000 or so lines of Scheme for psyntax.]
– Alex
(via comp.lang.scheme)
WisperWeb: Scheme in the browser
Here is a blog about the WisperWeb application framework.
The name evolved from my use of Lisp as a browser scripting language – “Web” + “Lisp” merged to “Wisp” and a search of available domain names resulted in the choice of ”WisperWeb”.
There are several themes that I will address in this blog: o the technology and impact of Google’s Application Engine o using GWT/GXT to build programs for the browser environment o why Lisp is an ideal Web scripting language o how XMPP instant messaging (soon be be available for the AppEngine) can be used to build browser-based, shared applications
WisperWeb has been developed over the past year and is now in the early phases of deployment. My posts will primarily address the challenges and benefits of building “real world” solutions using these technologies.
– Peter Fisk
Moby Scheme
We are delighted to announce the first release of Moby Scheme, a compiler from Beginner Student Language (BSL) + World programs to smartphones. The current prototype compiles to the Android platform, and supports almost all BSL programs as well as libraries to accelerometer, GPS, and SMS functionality.
We are concurrently working on a Web service interface for end-users. If your only goal is to *use* Moby, you can certainly try it out, but the current release assumes you have some developer chops to install and manage packages. We’re hoping, however, that you’ll also want to *contribute*, for which this is your avenue.
(via PLT)