I once had a good experience using Scheme, which has influenced most of
my later efforts (despite me generally switching to a more traditional
C-family-like syntax, invoking many accusations of "blub" and similar).
I also found Self an interesting language to look at.
Lisp-style syntax does have some merits, but also some drawbacks. sadly,
for general purpose programming, I think its drawbacks outweigh its
merits. list operations and "code as data" are cool, but are not enough
to justify making the whole syntax be this way.
sadly, although macros are also cool, they don't mesh as well with
C-family syntax (what is going on and how things work is less obvious,
and one can't do the same level of stuff without exposing many internal
details of the implementation). another problem with macros is that they
don't mix cleanly with a "very late bound" language, since generally one
can't late-bind a macro (they are inherently early-bound). some Lisp
variants had introduced run-time/first-class macros, which could mesh
better with being late-bound, but could get a bit hairy in the
implementation.
a tradeoff then is something more like templates or generics, which may
be meshed better with late-binding and with the syntax (despite
"Foo<int, 3+4>;" and similar looking nasty).
ideally, things can be left so that they appear as-if everything is
happening at run-time, with most language constructions (classes,
scopes, functions, types, ...) existing as first-class objects.
IMO, this partly makes up for the lack of macros and/or "user-defined
syntax" (actually, both are technically possible, just not directly
accessible at the HLL level, and more require plugging code into the VM
and inherently expose implementation details).
interactive code entry (via a console / REPL / ...) is sadly, one of
those things that is far from perfect, and there is no obvious way to
really make this work entirely nicely.
another possible strategy could be "real-time code editing" (say, a text
editor with a "GO" button, where one hits GO after they finish editing),
but this has other problems.
likewise for having a text-editor where they can enter arbitrary-sized
expressions and then send them to the REPL, ...
no ideal solutions here that I am aware of.
or such...
On 8/17/2011 12:00 PM, karl ramberg wrote:
Hi,
Just reading a Lisp book my self.
Lisp seems to be very pure at the bottom level.
The nesting in p/arentheses/ are hard to read and comprehend / debug.
Things get not so pretty when all sorts of DSL are made to make it
more powerful.
The REPL give it a kind of wing clipped aura; there is more to
computing than text io
Karl
On Wed, Aug 17, 2011 at 8:00 PM, DeNigris Sean <s...@clipperadams.com
<mailto:s...@clipperadams.com>> wrote:
Alan,
While we're on the subject, you finally got to me and I started
learning LISP, but I'm finding an entire world, rather than a
cohesive language or philosophy (Scheme - which itself has many
variants, Common LISP, etc). What would you recommend to "get it"
in the way that changes your thinking? What should I be reading,
downloading, coding, etc.
Thanks.
Sean DeNigris
You wouldn't say that "Lisp 1.5 Programmer's Manual" is
outdated would you? :-)
_______________________________________________
fonc mailing list
fonc@vpri.org <mailto:fonc@vpri.org>
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc