LINUX.ORG.RU

newLISP® v.10.0 Release

 , ,


0

0

Сегодня, 8 декабря, вышла очередная версия реализации языка программирования LISP — newLISP® v.10.0.

newLISP® реализует быстрый и компактный интерпретатор языка LISP. newLISP® отличают:

  • удобный, простой синтаксис,
  • наличие большого количества прикладных библиотек (GUI, rdbms,...),
  • возможность подключения библиотек С,
  • подробная документация,
  • поддержка многопроцессорности,
  • наличие в комплекте IDE,
  • открытый исходный код под лицензией GPL.

Авторы позиционируют newLISP® как язык программирования общего назначения для задач, обычно решающихся с помощью интерпретируемых языков (python, perl, tcl, sh, php), например, программирование для интернет, системного администрирования, обработка текста, соединение различных программ и модулей в единое приложение (gluing).

Подробный список возможностей - http://www.newlisp.org/index.cgi?Features

Отличие от других реализаций LISP - http://www.newlisp.org/index.cgi?page=Differences_to_Other_LISPs

>>> Подробности

★★★

Проверено: maxcom ()

Работает под 64-бит с кодировкой utf-8

> (print 'Проверка) ПроверкаПроверка

Только компиляция уж больно непривычная. configure ничего не конфигурит, а только печатает "у вас linux, запустите make".

make не работает.

А компилить надо так:

make -f makefile_linux64LP64_utf8

sign
()
Ответ на: комментарий от vyv

>> - я на нём пробовал примеры из SCIP - всё реально работет, так что Ъ!

Примеры из SICP при некоторой смекалке заработают даже в C.

cathode
()
Ответ на: комментарий от cathode

>> Logically, there are no unbound or non-existing symbols in newLISP. >>Any unbound or non-existing symbol is created and bound to nil in the >>current namespace when it is first parsed.

>А как такое отлаживать то?

>Зачем нужен еще один лисп с такими сомнительными свойствами?

Ну... строго говоря, это не CL и никогда на него не претендовал.
Нужен, чтобы заменить Perl на *nix и windows. Писать на нем быстро, приятно и удобно и ошибок меньше и кода не больше (это я с Perl сравниваю ;-)
Не требует инсталляции, работает "с колес". Великолепно подходит для подручной автоматизации. Т.е., это сугубо "практический" язык и, имхо, очень удачный.

dch
()
Ответ на: комментарий от dch

А почему тогда адепты постоянно прибегают и советуют начинающим учить Лисп именно с NewLisp? Не было бы такой неуместной и деструктивной пропаганды, никто бы и не возмущался.

anonymous
()

найдено в инете, не могу не поделиться In article <4151E959.EBB8CD61@freenet.de>, lin8080 <lin8080@freenet.de> wrote:

I find it amusing 'cause it's good for WTF! style yucks. I would never trust it for serious work.

For example:

raffaelc$ newlisp newLISP v.8.1.7 Copyright (c) 2004 Lutz Mueller. All rights reserved.

(if (< x 2) 1 (* x (factorial (- x 1))))) 1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600 1932053504 1278945280 2004310016 2004189184 -288522240 -898433024 109641728 -2102132736 -1195114496 -522715136 862453760 -775946240 2076180480 -1853882368 1484783616 -1375731712 -1241513984 1409286144 738197504 -2147483648 -2147483648 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "\n" Hmmm... So I consulted the manual:

"Calculations which result in values bigger than 2,147,483,647 or smaller than |2,147,483,648 wraps around from positive to negative or negative to positive numbers."

I fail to see how this is a step forward for lisp. Though I think it is appropriately named - sort of like Orwell's newspeak... =====

интересно - эту багу исправили?

anonymous
()
Ответ на: комментарий от dch

>> Нужен, чтобы заменить Perl на *nix и windows. Писать на нем быстро, приятно и удобно и ошибок меньше и кода не больше (это я с Perl сравниваю ;-) Не требует инсталляции, работает "с колес". Великолепно подходит для подручной автоматизации. Т.е., это сугубо "практический" язык и, имхо, очень удачный.

Ну дык уже ж есть куча таких лиспов, особенно схем.

cathode
()
Ответ на: комментарий от vyv

>- он реально компактен (и быстр) -> ненужно замарчиваться с сборкой, всяким специфическим утилём и т.д.

Давно был nanoLisp. Есть вагон и маленькая тележка всяких Scheme.

>- интерактивная оболчка, как у питона, ну или как в Имаксе :)

Не нужна. Есть SLIME. Остальное от лукавого.

>- много примеров - мне было интересно посмотреть как на LISPе пишутся прикладные вещи, а не всякие академические (+ 1 2 3) :)

http://www.gigamonkeys.com/book/ -- целая книга. И не она одна.

>думаю он будет востребован людьми изучающими LISP

по треду выше упоминали, что в newLisp нет cons-ячеек. Если это так -- нафиг его из обучения. Это _не лисп_.

Sectoid ★★★★★
()
Ответ на: комментарий от jtootf

>>"Быстрый интерпретатор" - это оксюморон.

ну у PicoLisp он довольно быстр. Плюс он встраиваемый, можно подменить интерпретируемую функцию скомпилированной на Си.

anonymous
()
Ответ на: комментарий от anonymous

> "Calculations which result in values bigger than 2,147,483,647 or smaller than |2,147,483,648 wraps around from positive to negative or negative to positive numbers." > интересно - эту багу исправили?

это не бага, а фича.

читай о компьютерном представлении чисел.

попробуй в той-же java к Integer.MAX_VALUE прибавить 1 и можешь уже начинать строчить багрепорты в SUN.

vyv ★★★
() автор топика
Ответ на: комментарий от cathode

>>> Нужен, чтобы заменить Perl на *nix и windows. Писать на нем быстро, приятно и удобно и ошибок меньше и кода не больше (это я с Perl сравниваю ;-) Не требует инсталляции, работает "с колес". Великолепно подходит для подручной автоматизации. Т.е., это сугубо "практический" язык и, имхо, очень удачный.

>Ну дык уже ж есть куча таких лиспов, особенно схем.


Угу. есть. Только схема, все-таки, язык учебно-академический, а остальные - это недо-CL.
newLISP - удобный язык для "dirty programming", когда вам нужен быстрый результат за несколько строк кода. При этом, в данном случае, код _может_ не быть ужасен на вид.

Дайте другой язык, чтобы достаточным минимумом был один бинарь 220кбайт, который даже без библиотек поддержки готов для выполнения файл-процессинга, парсинга (нормальный PCRE), tcp/udp/ip, http get/post, shared memory, почти нативный вызов любых so/dll итд итд. И чтобы работал в и в Lin и в Win.

dch
()
Ответ на: комментарий от dch

>> Угу. есть. Только схема, все-таки, язык учебно-академический, а остальные - это недо-CL.

Академичность схемы не более чем миф. Лучше быть недоCL чем недолоиспом, как сабж.

cathode
()
Ответ на: комментарий от jtootf

А оно не в прямой шитый код компилируется? Всякие фортородственники лишь с очень большой натяжкой могут зваться "интерпретаторами".

anonymous
()
Ответ на: комментарий от anonymous

> ну у PicoLisp он довольно быстр.

Если с каким либо перлом сравнивать? Ты с компиляторами сравнивай, с тем же sbcl - тогда любой интерпретатор будет тормозом.

anonymous
()
Ответ на: комментарий от dch

> Только схема, все-таки, язык учебно-академический,

Это ни разу не так.

> Дайте другой язык, чтобы достаточным минимумом был один бинарь 220кбайт

gforth

anonymous
()
Ответ на: комментарий от vyv

>читай о компьютерном представлении чисел. >попробуй в той-же java к Integer.MAX_VALUE прибавить 1 и можешь уже >начинать строчить багрепорты в SUN. Это бага. Любой нормальный язык с динмаческой типизацией(smalltalk, python, sbcl) автоматически умеет переключать int'ы на long'и. А newlisp выпендрился. newlisp возомнил себя низкоуровнеым языком?

anonymous
()
Ответ на: комментарий от anonymous

Ничего он не возомнил. Просто не асилили.

Есть стойкое чуйство - от сего "продуГда" только вред. Ибо чем дальше в лес - тем сильнее понимаешь - это НЕ ЛИСП!

anonymous
()
Ответ на: комментарий от anonymous

>> ну у PicoLisp он довольно быстр.

>Если с каким либо перлом сравнивать? Ты с компиляторами сравнивай, с тем же sbcl - тогда любой интерпретатор будет тормозом.

немного некорректно. Тогда уж надо сравнивать с фортом. В PicoLisp (вручную) и в LUSH (полуавтоматически) можно код интерпретируемый перевести в компилируемый, и подменить реализацию постепенно. От интерпретируемого через интерпретируемому с откомпилированными методами к "полностью (почти) компилируемумому".

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.