35

I am planning on learning Scheme (by following SICP) and afterwards doing a project with this language. However, I was wondering what would be a good IDE for this? I've looked around a bit, but could not really find very much, except something called Edwin?

KnowsLittle
  • 1,197
  • 2
  • 13
  • 20

9 Answers9

39

Other answers have given all the good choices, but without much description. Here's some more detail:

DrRacket

Racket's IDE, DrRacket, is a great tool for beginners and has a lot of strengths for more advanced schemers. It has good profiler and debugger support (far better than Emacs), uses "standard" keyboard shortcuts by default, and is very clean and easy to use. However, it sometimes lacks functionality its creators view as confusing; for example, compiling only some expressions from your source code can put the REPL in a confusing state, so it's not provided. DrRacket only works for the Racket dialect of Scheme and its derivatives, however, so if you want to work with another implementation, you should probably look at:

Emacs

GNU Emacs is another fine option for advanced schemers who are willing to put some time into learning their editor. It is powerfully customizable, has modes for almost any file type, and handles Scheme well, especially with quack installed (quack is an extension for Scheme named in parody of DrRacket --- get it, quack?). It doesn't limit you from doing anything you might choose. However, it has a learning curve like a brick wall --- its model of text is unique, its keyboard shortcuts are different than anything you've used before (unless you use CUA mode, which makes them more normal), and you have to use Emacs Lisp to configure and extend it.

Bottom Line

You'll be happy using either one once you're accustomed to it. Emacs is less limiting, but harder to learn; DrRacket is more limiting, but more able out of the box in some areas and much easier to learn.

JasonFruit
  • 7,764
  • 5
  • 46
  • 61
  • 1
    Racket IDE (and Edwin) are tied to particular implementations of scheme. Either of which will work for SICP. Emacs, allows seperation of choice of development environment from choice of scheme implementation. That said, emacs is not integrated in the same way Racket is. – Shannon Severance Sep 15 '10 at 17:58
  • That's an excellent point, Shannon --- I'll edit to include it. – JasonFruit Sep 15 '10 at 19:06
  • Actually, Racket is not an implementation of Scheme. It is an Implementation of Racket. It is a dialect of Scheme. – Geoffrey Apr 15 '11 at 01:41
  • That's a fiddly non-distinction. If it's a dialect of Scheme, it is a Scheme --- not RnRS, but Scheme nonetheless. – JasonFruit Apr 15 '11 at 02:19
  • 6
    @Geoffrey Van Wyk: DrRacket allows you to choose different languages including R6RS Scheme – user102008 Sep 03 '11 at 23:58
6

Racket comes with a good IDE.

Vijay Mathew
  • 26,737
  • 4
  • 62
  • 93
3

Dr. Racket have been crashing on my Ubuntu 11.10, and I found emacs a bit unfriendly.

Therefore I've created a plugin for Enki

Functionality is very simple. It's enough for my SICP exercises, but, if you are going to code a lot in Scheme, you should probably spend time for learning emacs.

andreikop
  • 31
  • 1
3

You can use GNU Emacs with one window open your scheme script and in other scheme interpreter (like guile or MIT Scheme).
You can run this by

C-x 2
C-x o
M-x run-scheme
Nathan Shively-Sanders
  • 18,329
  • 4
  • 46
  • 56
jcubic
  • 61,973
  • 54
  • 229
  • 402
2

I was writing an answer here regarding PLT scheme so i thought I would check out their webiste. It appears PLT scheme has changed name to Racket. And I suppose the old editor DrScheme is superseeded by the one called DrRacket.

We used DrScheme last year at the univeristy. Very easy to get started. One window for writing definitions and one for output. At the end of the course we created a text adventure game :D (with OO-programming)

Moberg
  • 5,253
  • 4
  • 38
  • 54
1

There is also schemescript plugin, if you like eclipse.

Galactus
  • 806
  • 7
  • 10
1

I'm developing Scheme IDE for Windows. It's called "Babbage" . It is like a minimum Emacs. Babbage is very simple and has windows like key assign. Babbage is Unicode editor. Now Babbage is beta version yet.

http://homepage1.nifty.com/~skz/Entry/babbage.html

0

There is a plug-in for Eclipse using JScheme. -> http://jscheme.sourceforge.net/jscheme/main.html

The plug-in is hidden very well at the sourceforge page of zclipse and seems to be no longer maintained: http://sourceforge.net/projects/zclipse/files/JScheme%20Plugin%20%5Bdev%5D%20%5BSDK2.1%5D/

It doesn't work with the most recent Eclipse version, but using Eclipse Ganymede is totally acceptable for learning SICP.

Seems to have a few glitches though.

0

I came across a NetBeans based Scheme IDE, lambdaBeans. It does not seem in active development, and I can't vouch for it.

Anas Elghafari
  • 1,062
  • 1
  • 10
  • 20