[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