Was sind die wichtigsten Unterschiede zwischen CLISP, ECL -, und SBCL?
Ich will ein paar Simulationen mit ACT-R
und ich benötige Common Lisp
Umsetzung. Ich habe drei Common Lisp
- Implementierungen zur Verfügung: (1) CLISP
[1], (2) ECL
[1], und (3) SBCL
[1]. Wie Sie vielleicht gesammelt haben, die links hab ich ein wenig gelesen über alle drei von Ihnen auf Wikipedia. Aber ich würde gerne die Meinung von einigen erfahrenen Benutzern. Genauer gesagt würde ich gerne wissen:
(i)
Was sind die wichtigsten Unterschiede zwischen den drei Implementierungen (z.B.: Was sind Sie gut? Ist jeder von Ihnen nur für bestimmte Zwecke und daher unter Umständen nicht geeignet sein für bestimmte Aufgaben?)?
(ii)
Gibt es eine offensichtliche Wahl, entweder basierend auf der Tatsache, dass ich mit ACT-R
oder basiert auf Allgemeinen Gründen?
Werden, denn dies könnte interpretiert werden als eine subjektive Frage
Ich überprüfte Welche Themen kann ich Fragen hier und Welche Arten von Fragen sollte ich vermeiden, zu Fragen? und wenn ich das richtig gelesen habe sollte es sich nicht um verbotene Frucht.
Ok. Ich basierte meine Entscheidung zu bitten, diese Frage auf der line "[...] aber wenn Ihre Frage in der Regel deckt... [...] software-Werkzeuge Häufig von Programmierern; und ist eine praktische, beantwortbar problem, das ist einzigartig in der software-Entwicklung..., dann sind Sie in der richtige Ort, um Ihre Frage!" Ich hielt es für praktischer und vertreten, aber Sie könnten Recht haben.
Während das ist eine interessante Frage, da Stimme ich Rainer zu, dass es wohl off-topic. Es ist über die Programmierung des tools und damit könnte er für eine gute Diskussion im chat, aber es ist wahrscheinlich zu breit, und wenn Sie Fragen über Dinge wie "was sind Sie am besten bei" du bist ganz einfach in die "in Erster Linie opinion-based" - Bereich. Diese könnten besser auf die software-Empfehlung, die beta-Website, oder comp.lang.lisp, oder #lisp, oder lispforum.
Aber ich will noch erwähnen, dass ich verwendet, ACT-R vor ein paar Jahren, und soweit ich mich erinnere, liefen wir ohne viel Mühe unter LispWorks und MCL (MCL ist jetzt verstorben, aber ACT-R gut funktioniert mit Verschluss-CL).
solche Fragen können auch aufgefordert, auf reddit.com/r/lisp . Aber ACL-R-spezifische Fragen am besten gebeten, auf der ACT-R mailing-Liste: act-r.psy.cmu.edu/mailing-list
InformationsquelleAutor lord.garbage | 2014-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schrieb ich einen mittelgroßen Anwendung und es lief in SBCL, CCL, ECL, CLISP, ABCL, und LispWorks. Für meine Anwendung, SBCL ist mit Abstand die Schnellste, und es hat einen ziemlich guten debugger. Es ist ein bisschen streng, was auch einige Warnungen-Sie können am Ende der Codierung etwas Weise reglementiert, oder schalten Sie eine oder mehr Warnungen.
Ich Stimme mit Sylwester: Wenn möglich, schreiben Sie an den standard, und Sie können führen Sie Ihren code in die Implementierung. Musst du durch testen was am besten für Ihr Projekt.
Seit SBCL kompiliert, so agressively, einmal in eine Weile der stacktrace im debugger ist weniger informativ, als ich möchte. Dies kann wahrscheinlich sein kontrollierte mit Parametern, aber ich habe gerade erneut den gleichen code in einer anderen Implementierungen. ABCL einen informativen stacktrace, zum Beispiel, soweit ich mich erinnere. (Es ist auch sehr langsam, aber wenn Sie wollen echte Common Lisp und Java-Interoperabilität, es ist die einzige option.)
Eines der schönen Dinge über Common Lisp ist, wie viele qualitativ hochwertige Implementierungen gibt es, die meisten von Ihnen kostenlos.
Für informelle verwenden-z.B. zu lernen, Common Lisp, CCL oder CLISP kann eine bessere Wahl als SBCL.
Ich habe nie versucht zu kompilieren, C unter Verwendung von ECL. Es ist möglich, dass es schlagen würde SBCL auf die Geschwindigkeit, die für einige Anwendungen. Ich habe keine Ahnung.
CLISP und LispWorks nicht umgehen beliebig lange Argumente (es sei denn, dass der behoben wurde, in den letzten paar Jahren, aber ich bezweifle es). Es stellte sich heraus, dass ein problem mit meiner Bewerbung, würde aber nicht das problem sein für die meisten-code.
Nicht von ACT-R kommen aus der Carnegie-Mellon? Was tun Ihre Autoren verwenden? Meine Vermutung wäre CMUCL oder SBCL, die abgeleitet ist von CMUCL. (Ich habe nur versucht, CMUCL kurz. Sein Dolmetscher ist sehr langsam, aber ich gehe davon aus, dass der kompilierte code ist sehr schnell. Ich denke, dass die meisten Menschen wählen, SBCL über CMUCL, jedoch.)
(Es ist möglich, dass diese Frage gehört auf die Programmierer.SE.)
InformationsquelleAutor Mars
Im Allgemeinen
SBCL
ist die Standard-Wahl unter den open-source-Lisps. Es ist solide, gut unterstützt, erzeugt schnellen code, und bietet viele leckereien hinaus, was die standard-Mandate (Parallelität primitive, profiling, etc.) Eine weitere Implementierung mit ähnlichen Eigenschaften istCCL
.CLISP
ist mehr geeignet wenn Sie nicht ein Ingenieur, oder Sie wollen schnell zeigen, Lisp jemand nicht-Ingenieur. Es ist eine ziemlich grundlegende Implementierung, sondern schnell zum laufen bekommen und Benutzer-freundlich. Ein Lisp-Rechner 🙂ECL
's große Pluspunkt ist, dass es bündig, d.h. es ist ziemlich einfach zu machen, arbeiten in einigen C Anwendung wie ein web-server etc. Es ist eine gute Wahl für geeks, die wollen, entdecken Sie Lösungen, die auf der Grenze von Lisp und der Außenwelt. Wenn Sie nicht interessiert in einem solchen Anwendungsfall würde ich nicht empfehlen, es zu versuchen, vor allem, da es nicht aktiv unterstützt, zumindest im moment.zum Teil hast du Recht, obwohl, es gibt Objektive Tatsachen aufgeführt, wie die Verfügbarkeit/Mangel an Unterstützung, oder concurrency-Funktionen
-1 Basic-Implementierung, lisp-Rechner? CLISP ist ziemlich ausgereift Realisierung. Es ist auch mehr tragbar, dann SBCL. Das Letzte mal, als ich getestet SBCL auf windows, Fehler beim setup quicklisp (oder vielleicht sogar arbeiten unter SCHLEIM...). Während ich Programm unter Linux es ist OK, aber nicht so viele Leute Linux verwenden. Viaweb wurde geschrieben, mit CLISP. Und persönlich, ich Liebe, dass es CLISP kompiliert Dinge zu byte-code, manchmal Portabilität ist mehr Wert als die Geschwindigkeit.
Gut, SBCL sollte gut funktionieren, auf dem Windows (thread-Unterstützung wurde komplett fusionierte vor einiger Zeit). Ich bin mir nicht sicher, obwohl, wie ich nicht mit es gibt. Das sprechen über CLISP, können Sie ausführen, Hunchentoot, die in den multi-Thread-Modus in Windows? Das wäre ein echter test der Reife gibt. Ich würde sagen, dass jetzt SBCL ist mindestens genauso viel portable. Auch, Viaweb geschrieben wurde, vor einem Jahrzehnt, eine Menge Dinge seitdem geändert hat...
Vielleicht ist es Zeit, es erneut zu versuchen...
InformationsquelleAutor Vsevolod Dyomkin
Ihren Namen, Ihre Fehler und Ihre nicht-standard-Ergänzungen (mit Ihnen, sperrt Sie in)
Ich benutze CLISP als REPL und Tests während der dev und in der Regel SBCL für die Produktion. ECL-ich habe noch nie verwendet.
Empfehle ich Ihnen, testen Sie Ihren code mit mehr als einer Umsetzung.
InformationsquelleAutor Sylwester