Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LISP > Реализации Lisp`a


Автор: Coder 14.9.2006, 08:54
Почему так много реализаций Лиспа? 
Я приведу аналогию с тем что мне известно - это типа Turbo Pascal, Free Pascal, Virtual Pascal. Т.е. язык один, но везде своя среда и компилятор со своими возможностями и фишками. Я правильно понимаю, с Лиспом то же самое?

Автор: svg 14.9.2006, 14:11
Цитата(Coder @  14.9.2006,  08:54 Найти цитируемый пост)
Почему так много реализаций Лиспа? 


Условно можно разделить реализации на два типа - выжившие и нишевые, коммерческие рассматривать не будем -
они существуют по законам рынка, а не эволюции.

Основные из выживших:

CMUCL - компилятор/интерпретатор, один из старейших и уважаемых;

SBCL - реструктуризированный CMUCL, ныне все дальше уходящий от первоисточника;

OpenMCL - вырос из MCL, версии CL для Macintosh, теперь поддерживает и x86-64 процессора,
x86 очевидно не будет поддерживать никогда, тк x86 архитектура с малым числом регистров
процессора требует значительных изменений кода;

Corman Lisp - создан Роджером Корманом более для собственных нужд, получил распространение
благодаря выдающемуся таланту автора и отсутствию некоммерческих реализаций под win32.

Нишевые:

CLISP - интерпретатор байткода, мало уступает компиляторам, низкие требования к памяти,
хорош для скриптов и больших программ, развитые библиотеки, поддержка многих платформ.
Основной недостаток - не поддерживает нити;

ECL - спроектирован быть легко встраиваемым в другие программы, генерирует и компилирует С-код.

GCL - первоначальное и основное назначение - язык расширения для Maxima, Axiom и ACL2,
аналогичен ECL по архитектуре;

ABCL - вариант CL на Java.

Автор: Cr@$h 15.9.2006, 00:07

M
Cr@$h
svg, ++ за чёткое объяснение новичку.

 

Автор: Lisp2D 15.9.2006, 00:26
Хороший вопрос  - хороший ответ:
-Я лично для себя пишу язык которым сам и пользуюсь
 очень много реализаций этого языка существует потому-что нет стадарта который бы всем понравился.
 Когда такой появится - будет всем кайффф...

Автор: Cr@$h 15.9.2006, 00:38
Цитата(Lisp2D @  15.9.2006,  01:26 Найти цитируемый пост)
очень много реализаций этого языка существует потому-что нет стадарта который бы всем понравился

Поискал стандарты. Вот, что удалось найти:
  • http://www.vniiki.ru/details_v_iso.asp?id=26206 Информационные технологии. Языки программирования, их среды и интерфейсы системного программного обеспечения. Язык программирования http://en.wikipedia.org/wiki/ISLISP

Автор: Void 15.9.2006, 23:02
Есть ещё ANSI X3.226 — стандарт Common LISP, принят в 1994.

Автор: Cr@$h 16.9.2006, 01:18
Спасибо, Void. Вот, что ещё удалось мне собрать:
  • http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=22987&ICS1=35&ICS2=60&ICS3=
    Information technology -- Programming languages, their environments and system software interfaces -- Programming language ISLISP
    Цитата

    The ISLISP programming language is a member of the Lisp family of programming languages. It attempts to bridge the gap between the various incompatible members of the Lisp family of languages (most notably Common Lisp, Eulisp, LeLisp, and Scheme) by focusing on standardizing those areas of widespread agreement. It is a small language, closer to the size of Scheme than to Common Lisp, for example.

    ISLISP had these design goals:

    • Compatible with existing Lisp dialects where feasible.
    • Provide basic functionality.
    • Object-oriented.
    • Designed with extensibility in mind.
    • Gives priority to industrial needs over academic needs.
    • Promotes efficient implementations and applications.


    http://en.wikipedia.org/wiki/ISLISP и его реализации в Википедии.
    Подробная http://www.islisp.info/ о ISLISP.
    http://www.islisp.info/specification.html на ISLISP (черновик стандарта).
  • http://standards.ieee.org/reading/ieee/std_public/description/busarch/1178-1990_desc.html
    IEEE Standard for the Scheme Programming Language
    Цитата

    The form and meaning of programs written in the Scheme programming language in particular, their syntax, the semantic rules for interpreting them, and the representation of data to be input or output by them, are specified. The fundamental ideas of the language and the notational conventions used for describing and writing programs in the language are presented. The syntax and semantics of expressions, programs, and definitions are specified. Scheme's built-in procedures, which include all of the language's data manipulation and input/output primitives, are described, and a formal syntax for Scheme written in extended Backus-Naur form is provided. A formal denotational semantics for Schemes and some issues in the implementation of Scheme's arithmetic are covered in the appendixes.
  • http://www.nssn.org/search/DetailResults.aspx?docid=337124&selnode=
    Information Technology - Programming Language - Common Lisp (formerly ANSI X3.226-1994 (R1999))
    Цитата

    Promotes the portability of Common Lisp programs among a variety of data processing systems. It is a language specification aimed at an audience of implementors and knowledgeable programmers. It is neither a tutorial nor an implementation guide.

    http://webstore.ansi.org/ansidocstore/product.asp?sku=ANSI%20INCITS%20226-1994%20(R1999) стандарт.
  • http://www.omg.org/cgi-bin/doc?formal/2000-06-02
    Lisp Mapping Specification
    Цитата

    Complete Lisp Mapping Specification

    На указанной странице документ лежит в форматах PDF и PostScript.
Получается, стандартизованы ISLISP, Common Lisp и Scheme. Плюс OMG держит спецификацию на Lisp Mapping.
К словам Lisp2D
Цитата(Lisp2D @  15.9.2006,  01:26 Найти цитируемый пост)
очень много реализаций этого языка существует потому-что нет стадарта который бы всем понравился

теперь мы видим, что всего три Lisp'а стандартизованы на свете. Это семейство имеет разные реализации. ISLISP никто не смотрел? Не преследует ли он те добрые цели?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)