News for hackers. Stuff that matters.
Re:Heist: a Scheme interpreter written in Ruby by kqr2 on Thursday February 26, 2009 @12:29PM (#496113)
There is also bus scheme which is written in ruby:

http://www.rubyinside.com/busscheme-ruby-scheme-interpreter-...

Re:Heist: a Scheme interpreter written in Ruby by ionfish on Thursday February 26, 2009 @02:49PM (#496299)
Bus Scheme doesn't have continuations or macros; Heist has both. It also has tail recursion optimisation, which Bus Scheme is missing.
Re:Heist: a Scheme interpreter written in Ruby by lsb on Thursday February 26, 2009 @11:46PM (#496857)
So, one of the new things about Scheme in the late 70s was having TCO in the spec. Strictly speaking, it's not Scheme (though it may be just another lisp1) if tail-recursion isn't baked in.
Re:Heist: a Scheme interpreter written in Ruby by zitterbewegung on Friday February 27, 2009 @01:23AM (#496933)
Another case of scheme in name only. Why does everyone call new lisp-1's scheme instead of lisp-1?
Re:Heist: a Scheme interpreter written in Ruby by dasil003 on Thursday February 26, 2009 @01:20PM (#496181)
This looks like a very cool project and I'll definitely play around with it.

But I would be remiss if I didn't also mention that my expectations on the performance and memory characteristics of such a project terrify me a little.

Re:Heist: a Scheme interpreter written in Ruby by jcoglan on Thursday February 26, 2009 @01:32PM (#496198)
You'd be right to be terrified, it's not exactly zippy. It's a toy, but I'm releasing it because it's got a couple of nice features (friendly REPL, lazy evaluation) and it's more complete in some areas than other toy Schemes I've tried. Also I figured it might be a nice example implementation for people who know Ruby. If you have optimisation suggestions or links to stuff I should read on the subject I'd be delighted.
Re:Heist: a Scheme interpreter written in Ruby by metaguri on Thursday February 26, 2009 @03:08PM (#496322)
Bravo. I am definitely going to try this out. A big barrier to entry for Scheme is getting a nice environment set up (you either have to tinker a lot, or just "trust" a pre-configured all-in-one environment and be at the mercy of the maintainer).

I think it could make having a simple, portable development environment for scheme much easier. Then you have a production environment for testing and deployment.

Re:Heist: a Scheme interpreter written in Ruby by danprager on Thursday February 26, 2009 @05:07PM (#496508)
"A big barrier to entry for Scheme is getting a nice environment set up"

Dunno: DrScheme is very nice out-of-the-box.

Re:Heist: a Scheme interpreter written in Ruby by dangrover on Friday February 27, 2009 @02:16AM (#496972)
There's a chapter in the Topher Cyll book "Practical Ruby Projects" on how to write a Scheme interpreter. Haven't gotten around to it yet though.
Re:Heist: a Scheme interpreter written in Ruby by jpd on Thursday February 26, 2009 @03:24PM (#496351)
Would be nice if there were comments so you could use this as a learning tool.
Re:Heist: a Scheme interpreter written in Ruby by jcoglan on Thursday February 26, 2009 @10:34PM (#496795)
Rest assured it will have more thorough documentation at some point, for my own benefit as much as anyone else's. Right now it's all very new and its internals are not that stable, so the only comments tend to be for stuff that followed a long debugging session to remind me why certain things are there. When it's more stable I'll do a better job of writing up how it works.
Re:Heist: a Scheme interpreter written in Ruby by joe_the_user on Thursday February 26, 2009 @02:32PM (#496281)
There's a toy prolog interpretter written in Ruby as well (http://eigenclass.org/hiki.rb?tiny+prolog+in+ruby).

What I'd really like to see is a Ruby interpretter written in Scheme - or Forth or Erlang or one of those other cool languages...

Re:Heist: a Scheme interpreter written in Ruby by omouse on Thursday February 26, 2009 @03:24PM (#496352)
Or in Smalltalk? http://ruby.gemstone.com/
Re:Heist: a Scheme interpreter written in Ruby by rincewind on Thursday February 26, 2009 @05:07PM (#496510)
What about Clojure?

http://gist.github.com/55921