[gambit-list] DrScheme and GambitC
pierarda at iro.umontreal.ca
Mon Sep 8 17:29:11 EDT 2008
2008/9/2 Bradley Lucier <lucier at math.purdue.edu>
> I like VI!
So do I! I use a slightly tuned "limp", which is some kind of LISP mode for
vim, which I made a bit more Scheme compliant (needs much more work though).
As far as debugging and GUIs are concerned, I think the following:
- since the debugger can be another remote program, writing a GUI for it
shouldn't be too hard, should it?
- in case of interpreted code, adding/removing "real" breakpoints on
instructions should be possible with a JIT and those (ERROR "debug"), but
one has to be careful with the semantics of call/cc when code is dynamically
changed... (what if you store a continuation containing a breakpoint, and
then remove the break and call the continuation? I would expect the
breakpoint not to be executed.)
As of Scheme considered "behind", maybe its main drawback is that "apart
from scheme interpreters and compilers, no useful application is ever
written"... To have scheme used, perhaps we first should have users run
Scheme programs... Ruby took off with RoR, since people willing to have a
nice dynamic website (and really easily) had to learn basic Ruby. JS,
ActionScript and friends are successful because they are often embedded
within webbrowsers. We can easily conclude that the success of a language is
not its features only, but rather what's written with it that everyone
uses... Write a browser, a video player, or a currency converter that people
use, and those who like the app and can program will use the language, first
to extend the program, then to write their own programs with it... I believe
that "pervasive desktop programs" are the best target for any language to
take off... Have it included in gnome and ubuntu and voila, everyone will
fight to learn Scheme just like python!
One last thing about debugging, even though much of the syntactic sugar (or
macros) of CL can be translated into "pure Lisp", I've heard that actually
it can (and will) be implemented directly in the target language or VM for
better efficiency. Therefor, it can be really better to use LOOP rather than
MAP even on lists for the compilation process may generate observationally
equivalent code, but with much more optimisations... (and I also believe
that listing such programming habits based on Gambit's compilation process
could be useful).
Français, English, 日本語, 한국어
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gambit-list