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

Reply via email to