Lisp als Skriptsprache in C++ app
Hey, ich habe die Möglichkeit, das hinzufügen einer Script-Sprache, in meinem Rahmen und ich hörte von Lisp und dachte, ich würde ihm gehen geben. Gibt es eine VM für Lisp-wie Lua und Python, oder bin ich im falschen Denkweise. Ich fand CLISP hier, http://clisp.cons.org/, bin mir aber nicht sicher, ob dies ist, was ich Suche.
Kann jemand mich in die richtige Richtung?
- CLISP ist nur ein Standard-konform (ANSI, um genau zu sein) Implementierung von LISP.
- Ok, also dann ist das nicht das, was ich Suche. Ich muss wissen, ob es ist eine Implementierung des Lisp verwendet werden, wie eine scripting-Sprache.
- Matt: Nein, Common Lisp.
- Sie hassen muss Ihre Benutzer, wenn Sie wollen, dass Sie mit lisp als eine Schnittstelle zu Ihrem Rahmen.
- du meinst emacs? 😉
- CLISP nicht gerade stehen für Common Lisp; es ist eine spezielle " freie-software-Implementierung von Common Lisp.
- und Autocad? xD
- ja, geben die Benutzer, die Sie hassen einige die richtigen Werkzeuge wird sicherlich bedeuten, verbringen weniger Zeit zu hören, um Ihr jammern über das system
- Meine Argumentation ist diese. Lisp ist eine olanguage, der ursprünglich entwickelt wurde für die KI-Forschung, so natürlich ich dachte, es würde eignet sich gut für ein Projekt wie eine game-engine (das ist mein Projekt), um eine extrem intelligente KI.
- Ich glaube, es wird noch mehr nützlich für die interaktive Entwicklung und basteln (aber die Entwicklung von KI-algorithmen hat, sollte auch Spaß machen)
Du musst angemeldet sein, um einen Kommentar abzugeben.
CLISP ist nur eine Implementierung von Common Lisp. Es ist eine sehr gute Umsetzung, und es hat einige Unterstützung für die Einbettung in andere C-basierten) Programmen, aber das ist nicht sein Schwerpunkt, und es ist unter der GPL, die kann oder kann nicht ein deal-breaker für Sie.
Vielleicht haben Sie Interesse, bei der Prüfung ECL. Diese Ausführung ist speziell für den embedded (ja, das "E" steht für "Eingebauten"!), und verfügt über zahlreiche Funktionen, die nützlich sein könnten, um Sie, einschließlich der Möglichkeit zum kompilieren von Common Lisp-Programme zu C (sowie die byte-code-Kompilierung und ein Dolmetscher).
Es sei denn, du brauchst die ganzen Lisp, können Sie abrechnen möchten eher auf eine Scheme-implementation, wie Guile die soll eingebunden werden in ein anderes Programm.
Versuchen Embeddable Common Lisp (ECL).
http://ecls.sourceforge.net/
Es zielt auf die Einbettung und Sie bekommen nur die Teile von Common Lisp verbunden, dass die scripting-Sprache braucht.
Lisp ist eine gute Wahl für eine eingebettete Sprache. Viele Menschen glauben Lisp ist hart, aber die syntax ist relativ leicht, besonders für nicht-Programmierer. Es ist im wesentlichen die Präfix-notation und das ist es. Vorrang-Regeln sind immer eindeutig. Funktionsnamen und Variablennamen gleich sein können. Sie sind ziemlich frei, um alle Zeichen verwenden, die Sie gerne für Spaß und var-Namen.
Mit Lisp-Sie können Sie verbiegen die syntax nach Ihren wünschen; die Benutzer nicht haben, um zu erfahren, common lisp. Es ist einfach zu erweitern und zu einfacheren Einrichtungen, wie der Ausdruck business-Regeln oder das extrahieren von Daten aus Dateien.
Ich denke, mein Punkt ist, dass die Kraft und die Komplexität sagen, Common Lisp, ermöglicht die Bestimmung von einfach -, Domänen-spezifische Konstrukte für den Endbenutzer. Viele andere embedded-Sprachen wird bedeuten, dass die Benutzer lernen die Feinheiten der Sprache.
Chicken Scheme ist eine weitere option für die Einbettung. Sehen hier für die details der eingebauten api.
Es gibt ein paar einfache Optionen.
GUILE ist der GNU extension language. Es ist eine einbettbare Scheme (Dialekt von LISP). GPL (natürlich).
TinyScheme ist eine sehr kleine, sehr einfache interpreter-basierte Implementationen von Scheme. Es wurde erfolgreich eingesetzt, die von einem malware-Unternehmen zu tun, alle Arten von böse Dinge. Es ist erhältlich in source form, ich erinnere mich nicht, unter welche Lizenz(en).
Googeln ein wenig: Common Lisp als eine Erweiterung der Sprache
Aber Bedenken Sie, dass Common Lisp war nicht von Grund auf entwickelt, um eine Erweiterung der Sprache, im Gegensatz zu Lua oder Guile.
Einen Allgemeinen Rat: versuchen Sie zu verwenden, eine Erweiterung der Sprache, der macht wirklich die Arbeit schreiben zu erleichtern, und denken Sie daran, dass die Beherrschung Lisp so können Sie wirklich produktiv mit es kann sehr lange dauern (und es gibt nicht viele Menschen um, stehen so viele Klammern xD).
(+ 2 (* 5 3))
und2 + 5*3
ich Wette, die Antwort wäre die zweite mit einer Wahrscheinlichkeit von 99%. Über komische Zeichen, ich erinnere an das Zitat, backquote, Komma, Zitat und hash... Nein, definitiv von der Leichtigkeit, um den code zu verstehen, ist nicht das, was ich nennen würde ein Vorteil der Verwendung von Common Lisp.Da es nicht ein Lisp, Fisuli hat eine syntax ähnlich wie Lisp. Es ist leicht zu integrieren mit C++ - Anwendungen. Die offizielle Website ist http://www.fuzuliproject.org
Andere ist newLISP bei http://www.newlisp.org/ und es ist auch nicht die Lisp-aber ganz in der Nähe zu Lisp.
Lisp ist eine Familie von Sprachen.
Common Lisp ANSI-standard, ist riesige. Denke, dass C++ riesig. Verwenden Sie es nicht als Skript-Sprache.
Es sei denn, Sie sind targeting ziemlich hardcore-Programmierer, Lisp als Skriptsprache wird...äh....nicht gut nehmen. Wahrscheinlich. Lua ist wahrscheinlich eine bessere Wette als eine script-Sprache.
Sagte, ein Lisp in Ordnung ist(technisch) für die Implementierung einer scripting-Sprache.