Lisp: symbolic expressions



  • Hallo,

    Ich suche nach einer fuer Anfaenger verstaendlichen Definition von SEXP bzw. Symbolic Expressions, einem Begriff aus Lisp der mir momentan immer wieder unterkommt.

    Leider verstehe ich selber kein Lisp und habe momentan auch nicht vor, Lisp zu erlernen. Ich braeuchte nur eine verstaendliche Definition, was Symbolic Expressions eigentlich genau sind, welche Probleme man damit erledigt (also welchen Nutzen sie haben) und wie man ohne Symbolic Expressions vorgehen wuerde?

    Der Artikel in der engl. Wikipedia hat mir da bisher leider nicht viel weitergeholfen 😕

    TIA!



  • Hi,

    Lies mal das Syntax and Semantics-Kapitel von Practical Common Lisp, vielleicht hilft Dir das weiter.

    edit: Url-Tags sind böse.



  • Huiuiui - das scheint genau das Thema zu beschreiben, was ich suche und ist auch recht ausfuehrlich, falls ich weitere Fragen hab werde ich mich melden - Vielen Dank!! 🙂



  • Das Buch ist auch sonst recht empfehlenswert, obwohl es das komplett online gibt, habe ich mir vor längerer Zeit die Tote-Baum-Ausgabe gekauft und bin schwer begeistert. Verständlich, gut geschrieben und - besonders für die Seitenzahl - erstaunlich umfassend, hatte schon lange keine so gute Programmiersprachen-Einführung mehr. 👍

    (Kann zwar sein, dass da jetzt auch meine neu erworbene allgemeine Lisp-Begeisterung aus mir spricht, aber auch in den entsprechenden Fachkreisen wurde das Buch recht enthusiastisch aufgenommen.)



  • Hallo nochmal,

    Also ich habe den Link ueberflogen und muss sagen, dass sich bei mir nun die einzelnen Fragmente langsam zusammensetzen lassen.

    Eine Frage dazu, in der Einleitung werden Reader und Evaluator bezeichnet als zwei Arten von kooperierenden Sprachprozessoren in Lisp. Bezeichnet man die Arbeit dieser Aufteilung und das Zusammenarbeiten als REPL (Read Eval Print Loop) oder bezieht sich der Ausdruck REPL auf etwas anderes?



  • Fabeltier schrieb:

    Eine Frage dazu, in der Einleitung werden Reader und Evaluator bezeichnet als zwei Arten von kooperierenden Sprachprozessoren in Lisp. Bezeichnet man die Arbeit dieser Aufteilung und das Zusammenarbeiten als REPL (Read Eval Print Loop) oder bezieht sich der Ausdruck REPL auf etwas anderes?

    Die(der?) REPL ist die Schleife, in der nacheinander immer wieder READ, EVAL und PRINT aufgerufen werden, also quasi der die Befehlszeile eines interaktiven Lisp-Systems:

    (loop
      (print (eval (read))))
    

    Es wird also immer wieder ein Sexp gelesen, ausgewertet, und das Ergebnis ausgegeben.



  • OK, danke! 🙂


Log in to reply