[gambit-list] man _gambit func_

Marc Feeley feeley at iro.umontreal.ca
Tue Feb 10 14:42:40 EST 2009


On 10-Feb-09, at 1:46 PM, vasil wrote:

> REPL is not an IDE. They are very different by definition. REPL is
> standing just for "read-eval-print-loop", IDE - "integrated  
> development
> environment"

You are reading into those acronyms way too much!

Basically an IDE is a tool to help you develop and debug your  
program.  It allows you to interact with the system to edit code,  
debug code, etc.  The IDE helps you out with autocompletion, cross  
referencing, build automation, etc.

Gambit's REPL is such an IDE.  It is textual rather than graphical but  
it has the same purpose: help you develop and design programs.  And  
the "I" of IDE is completely appropriate... the REPL is integrated to  
the environment so it is always there when you encounter a problem,  
allowing the user to debug programs at any time, even if the program  
was considered to be bug free (a feature I call "live debugging" or  
"open heart debugging").  It also allows you to debug programs that  
run on environments, such as embedded systems, that don't have a  
screen or enough memory to run a full-featured IDE.

Gambit's REPL is more sophisticated than you might think.  It is not  
simply as you suggest:

(define (repl)
   (pp (eval (read))
   (repl))

There is a lot of logic to give access to the environment, backtrace,  
threads, error messages, etc.

Moreover Gambit's line editing has features that are more  
sophisticated than what is available in rlwrap.  For example symbol  
completion, input highlighting, and emacs keybindings for s-expressions.

Perhaps you can live without these things, but I can't.  I use the  
REPL all the time from the shell.  A full-featured IDE is too  
heavyweight for most of my needs (I don't want to have to wait a long  
time for the IDE to start, just do debug a simple script or experiment  
with a short piece of code).

Marc




More information about the Gambit-list mailing list