2012-03-23 1 views
2

Ich habe versucht, Lisp in einigen C++ - Code einzubetten. Zwei Optionen, die mich interessieren, sind Bigloo Scheme und ECL (Common Lisp). Wenn sie die Dokumente durchlesen, scheinen sie einen sehr ähnlichen Funktionsumfang zu unterstützen. Offensichtlich ist Bigloo Scheme und ECL ist CLisp, aber welche anderen Unterschiede haben sie?Was sind die Unterschiede zwischen Bigloo und ECL vom Standpunkt der Einbettung?

Insbesondere Ich habe Interesse an folgenden Kriterien:

  • Einfache Einbettung (für C++, nicht nur C). Ich möchte nicht einen Haufen Text schreiben.
  • Leistung. Bigloo ist leistungsbasiert und hat viele Compileroptimierungsoptionen, obwohl ich für ECL nichts vergleichbares finden kann.
  • Art der Codierung. Dieser ist mehr für Bigloo - ist es funktioneller als ECL?

Ich ziele diese Frage auf jemanden, der beide verwendet hat.

+1

Dies ist nicht wirklich eine geeignete Frage für StackOverflow, weil es sich um "sollte ich lernen, Scheme oder Common Lisp". Es klingt nicht so, als ob Sie beide Sprachen kennen würden, weil Sie Bigloo und ECL vergleichen, als ob es sich um Implementierungen derselben Sache handeln würde, die glauben, dass sie einen "sehr ähnlichen Funktionsumfang" haben! Übrigens ist * CLisp * keine akzeptable Abkürzung für * Common Lisp *. Es gibt eine Common Lisp-Implementierung namens CLISP. Common Lisp wird manchmal als CL abgekürzt. – Kaz

+0

@Kaz Wenn ich die Sprachen/Implementierungen gut kenne, würde ich diese Frage nicht stellen! Außerdem verstehe ich nicht, wie dies eine Frage ist, sollte ich Scheme oder Common Lisp lernen, ich habe sogar mit den Mods vor der Migration gecheckt und sie sagten, es sei akzeptabel. – Pubby

+0

Was die Einbettung betrifft, lohnt sich ein Blick auf Chibi Scheme: http://code.google.com/p/chibi-scheme/ – piokuc

Antwort

1

Einfache Einbettung: Für C++ sollte in etwa gleich sein. Bigloo hat eine bessere Geschichte für Java und C# -Einbettung IIRC.

Leistung: Wirklich hängt davon ab, wofür Sie es verwenden werden. Sie sind beide "okay" Darsteller, soweit Lisps gehen. Die Möglichkeit, in C einzubetten, reduziert die Möglichkeiten für viele Optimierungen.

Art der Codierung: Dies ist wirklich der große Unterschied zwischen den beiden, und warum ein Kommentar sagte, es bedeutet "sollte ich Scheme oder Common Lisp lernen" Beide sind reife einbettbare Implementierungen von zwei sehr unterschiedlichen Standards (R5RS und ANSI Common Lispeln).

Verwandte Themen