Bus Scheme is an implementation of Scheme in Ruby.
You can read a little more about it in various posts on the authors blog.
Bus Scheme is an implementation of Scheme in Ruby.
You can read a little more about it in various posts on the authors blog.
If you try to pin down Schemers to a particular stereotype, you will fail; they are just too diverse a bunch.
Take Shiro Kawai’s website. He’s got some great resources on that page. Dig in deeper and have a look at his paper Gluing Things Together – Scheme in the Real-time CG Content Production.
The short story is that
Square USA R&D Team had been developing an in-house real-time rendering engine in a project called Dancer, and we adopted Scheme as an embedded scripting language.
Here is how they used it:
There are a lot, and I mean a lot of really interesting bits about how the tackled the problems they were facing.
The best part: you don’t have to be a computer graphics buff to have a heck of a good time reading this paper. Enjoy!
Once again Naughty Dog Software has used Lisp to write their video games.
Here are the two blurbs where I heard about it:
I had held off posting this for a while in hopes that presentations materials would show up. They haven’t set; so I’m going to have to do some digging!
The home page for Ur-Scheme tells the tale of one mans journey implementing a compiler from a subset of Scheme to Assembly on Linux.
For folks interested in almost totally pure functional programs, here is a teaser:
It contains relatively little mutation. Although almost every line of the compiler has “side effects” like outputting lines of assembly code, there are fairly few locations where the compiler’s internal state is mutated. I count 25 calls to set! and string-set! in the 1600 lines of code, including the standard library.
Enscript is such a versatile and helpful tool.
Here is how I use it to pretty print Scheme code:
enscript --landscape --columns=2 --highlight=scheme --borders --line-numbers --output=.ps .ss
Addendum: 03/06/09
Here is the direct link for the GnuWin32 download of Enscript.
Addendum: 03/08/09
Here are my new favorite settings for rendering code with this excellent program:
enscript --word-wrap --underlay=Underlay --ul-gray=0.9 --line-numbers -- landscape --highlight=scheme --columns=2 --borders --output=test.ps C:\collects\wisdomandwonder\resume\latex-renderer.sls
You should always give credit where it it due, especially when it is due to you!
Here is a good example of the practice.
Not all loops in Scheme are created equally!
Jose Ortega captures a few perspectives on iteration in Scheme in his post, Scheme Loops.
Michael Weber had the inspiration to imagine how might one visualize Lisp without parentheses in his mwe-color-box.el extension to Emacs.
Below is a screenshot from Michael’s page. More of Michael’s Emacs Hackery is available here.
[[http://www.wisdomandwonder.com/wordpress/wp-content/uploads/2008/02/color-box.thumbnail.png]]
Have you ever heard of TinyScheme?
TinyScheme is a lightweight Scheme interpreter that implements as large a subset of R5RS as was possible without getting very large and complicated. It is meant to be used as an embedded scripting interpreter for other programs.