LINUX.ORG.RU

Вопрос по lisp...


0

0

Понадобилась довольно таки простая штука...

необходимо сгенерировать список, содержащий числа от 1 до 100... хочется это как можно красивее сделать... то есть в принципе сделать-то могу, но мне не нравится то как я это делаю :) хочется чего-то аналогичного Erlang`овскому: lists:seq(1,100) можно и подлинее, но чтобы так же красиво :)

Зарание спасибо!

Ответ на: комментарий от stassats

>как мне объяснить ограничения Scheme?

Объяснить ты их не можешь никак, потому то банально не в теме, похоже :)

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

> Так что компактнее, еще вопрос --- Scheme + SRFI или Common Lisp.

Ну началось... Изначально прозвучало утверждение, что Схема -- ограниченный язык. На что был дан ответ, что ограничена у нее только стандартная библиотека. Причем здесь вопрос "что компактнее -- Scheme + SRFI или Common Lisp?"? Ну не компактнее Scheme + SRFI,ну и что дальше то?

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

> Книжки тоже не могут в сети найти. "С чего начать изучение Лиспа?". Пипец. После такого вопроса хочется сказать: "С себя начни!".

Нормальный вопрос. Поиск дает с десяток книг, а выбрать нужно одну - почему бы не спросить живых людей?

> После такого вопроса хочется сказать: "С себя начни!".

Правильно, так их! :D

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

> Объяснить ты их не можешь никак, потому то банально не в теме, похоже :)

Уважаемый товарищ-в-теме, какое из моих высказываний не соответствует действительности?

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

>> А в стандарте, как ни в чем другом, и проявляется ограниченность.

Вот именно, R5RS ничем и не ограничивает реализации предоставляя фундамент, на котором можно строить что угодно и как угодно. Хорошо это или плохо вопрос другой.

>> В нем описано конечное множество возможностей языка.

В нем описан синтаксис и семантика языка, все остальное - вопрос реализации.

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

Про компактность упомянул tche.

P.S. Если у кого-то констатация фактов вызывает странную реакцию, то что я могу поделать? Мне это не мешает использовать как Common Lisp, так и Scheme.

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

>> А в стандарте, как ни в чем другом, и проявляется ограниченность.

> Вот именно, R5RS ничем и не ограничивает реализации предоставляя фундамент, на котором можно строить что угодно и как угодно. Хорошо это или плохо вопрос другой.

Если я хочу, чтобы моя программа работала на всех реализациях, соответствующих стандарту, то я руководствуюсь этим стандартом.

>> В нем описано конечное множество возможностей языка.

> В нем описан синтаксис и семантика языка, все остальное - вопрос реализации.

Мне все-таки хочется писать на Scheme, который определен (суть ограничен) r5rs, а не на guile, mzscheme или scheme48.

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

>> P.S. Если у кого-то констатация фактов вызывает странную реакцию, то что я могу поделать

Пока был один факт - стандарт. И то, это не факт, а насышение оксида водорода сероводородными соединениями :)

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

Я повторю просьбу указать мне, где я был не прав?

P.S. Очень обидно, что не все могут вести беспристрастную дискуссию. То и дело проявляется фанатизм.

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

>> Мне все-таки хочется писать на Scheme, который определен (суть ограничен) r5rs, а не на guile, mzscheme или scheme48.

С таким же успехом можно сказать про любой другой язык определенный не реализацией как, например Java, а стандартом, ANSI C, например. Разве это ограничивает?

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

>> Я повторю просьбу указать мне, где я был не прав?

Ограниченность Scheme.

Поставим вопрос по-другому, что есть ограниченность в данном случае?

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

Что-то я не пойму, для вас слово «ограничивает» вызывает какие-то неприятные ассоциации? Если бы язык не был ограничен, на нем трудно было писать, а уж тем более его реализовывать.

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

>> Я повторю просьбу указать мне, где я был не прав?

> Ограниченность Scheme.

> Поставим вопрос по-другому, что есть ограниченность в данном случае?

Ограниченность --- наличие границ. Если я не прав, то у Scheme нет границ?

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

>> вРН-РН Ъ МЕ ОНИЛС, ДКЪ БЮЯ ЯКНБН ╚НЦПЮМХВХБЮЕР╩ БШГШБЮЕР ЙЮЙХЕ-РН МЕОПХЪРМШЕ ЮЯЯНЖХЮЖХХ?

вРН ГМЮВХР "НЦПЮМХВХБЮЕР"?

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

>Нормальный вопрос. Поиск дает с десяток книг, а выбрать нужно одну - почему бы не спросить живых людей?

Ха-ха. Ты видел темы тут про книги по CL? Во что они превращаются? Они превращаются во все то же перечисление этих десяти книг. Каждый уверенно вписывает onlisp, PCL, SICP и т. д. То есть перечисляет то, что видел в сети когда-то и, возможно, даже не читал. И так везде. В чем смысл тогда? Есть же FAQ (а это именно FAQ!), устойчивые рекомендации (ссылки выше дал catap). Почему бы тупо не последовать им?тся. Живые люди на эти вопросы уже давно ответили.

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

Трудно с вами, слова нужно подбирать, чтобы не обидеть. Автор топика имел ввиду, что стандартная библиотека у Scheme меньше, чем у Common Lisp, поэтому на ней некоторые вещи будут выглядеть труднее.

Прозреваю, что сейчас окажется, что и тут я не прав?

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

Короче, можно подытожить:

Scheme - кал, потому, что у него стнадарт не описывает работу с... (вставить что хочется), логика такая?

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

Это ты выдаешь желаемое за действительное.

Мне очень нравится Scheme, и я никогда слова плохого про нее не сказал. Но попробуй тут с фанатиками что-то обсуди.

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

>Мне все-таки хочется писать на Scheme, который определен (суть ограничен) r5rs, а не на guile, mzscheme или scheme48.

Это все зависит от того, что писать. Если надо встроить интепретатор Схемы в программу на С (только не надо говорить, что это не тру и т.д.), то одним R5RS никак не обойтись, то же самое верно для CL. В любой реальной программе всегда используются некоторые нестандартные вещи. Стандарты существуют, чтобы навести хоть какой то порядок, но все стандартизировать нереально. Почему использовать нестандартные библиотеки для С считается нормально, а те же SRFI для Схемы -- это, видите ли, уже нонсенс? Какой бы большой не был CL, я не поверю, что там есть ВСЕ.

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

>Мне все-таки хочется писать на Scheme, который определен (суть ограничен) r5rs, а не на guile, mzscheme или scheme48.

Это все зависит от того, что писать. Если надо встроить интепретатор Схемы в программу на С (только не надо говорить, что это не тру и т.д.), то одним R5RS никак не обойтись, то же самое верно для CL. В любой реальной программе всегда используются некоторые нестандартные вещи. Стандарты существуют, чтобы навести хоть какой то порядок, но все стандартизировать нереально. Почему использовать нестандартные библиотеки для С считается нормально, а те же SRFI для Схемы -- это, видите ли, уже нонсенс? Какой бы большой не был CL, я не поверю, что там есть ВСЕ.

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

> Почему использовать нестандартные библиотеки для С считается нормально, а те же SRFI для Схемы -- это, видите ли, уже нонсенс?

Почему все всё понимают так, как хотят. Разве я говорил где-то что это нонсенс. Просто кто-то вспомнил компактность Scheme.

> Какой бы большой не был CL, я не поверю, что там есть ВСЕ.

Я и не говорил, что там есть все. Я говорил, что там есть больше, чем в Scheme, не так ли? (Упреждая чьи-нибудь мысли и заранее отвечая, скажу, что не считаю это плохим, а то вам не угодишь).

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

>> Прозреваю, что сейчас окажется, что и тут я не прав?

Угу. Т.к. не понятно, что "будет выглядеть труднее". Понимаешь, определение ограниченности как наличия границ настолько... кхм... настолько общее, что против него конечно не возразишь. Но к твоему заявлению об ограниченности Scheme оно не имеет инкакого отношения, т.к. не раскрывает сути твоего же утверждения. Вся яблоки растут на деревьях и что, от этого апельсины полезнее?

Стандарт Scheme не ограничивает реализацию Scheme, в данном случае это значит не навязывает ничего. А бывает же еще ограниченность в портировании с реализации на реализацию (о чем ты сказал), ограниченность в применении, ограниченность в возможностях, и еще бог знает в чем.

Вот мне интересно в чем конкретно заключается ограниченность о которой ты говоришь. Не флейма ради а для конкретики.

ЗЫ. Всегда забавно вести такие споры т.к. они ни о чем :)

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

> Вот мне интересно в чем конкретно заключается ограниченность о которой ты говоришь. Не флейма ради а для конкретики.

Я уже не раз повторял. Что стандарт Scheme меньше стандарта CL, и следственно в нем меньше всяческих возможностей. При чем тут слово граница? Ну это я оставлю на самостоятельное размышление.

Если этот комментарий задел чьи-то чувства, то смотрите disclaimer'ы выше.

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

При чем тут чувства? мы же не фанатики, верно? :)

>> При чем тут слово граница?

Если интересно, я могу процитировать твое же определение ограниченности, которое как я понимаю ты относил и к Scheme.

>> Я уже не раз повторял. Что стандарт Scheme меньше стандарта CL, и следственно в нем меньше всяческих возможностей.

Не вижу корреляции. Что мешает на Scheme реализовать "всяческие возможности" раскрываемые стандартом CL? Ну по всей видимости не разница в объемах стандартов. А про то что такие реализации есть наверное известно не только мне.

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

А давайте спросим у Cy6erBr4in что он имел ввиду говоря что Scheme ограничена. Мне кажится что говоря об ограниченности он какраз имел ввиду о том что стандарт у Scheme меньше чем у CL.

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

Просто Cy6erBr4in немножко неправильно выразился. На что умные люди не обратили внимание так как из контекста было понятна.

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

Я сказал, то что я сказал. Что прочитал и какие выводы сделал благородный пользователь лора, остается на его совести. Если кому-то не нравятся собственные выводы, прошу ко мне вопросов не иметь.

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

> Заеbali "немножко неправиьльно" излагать свои мысли :)

Ну ты и зануда!!!

PS: В кого ты такой?

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

> Заеbali "немножко неправиьльно" излагать свои мысли :)

Запомни свои слов, ибо я их тебе еще напомню когда ты "немножко неправильно" выразишся.

PS Большой БРАТ следит за тобой.

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

Scheme vs CL -- это совершенно бессмысленный холивор :) Разница в объеме стандартной библиотеки -- это не плюс и не минус какому-нибудь языку. То, что в схеме тоньше стандарт, с одной стороны дает компактность и легкость встраивания, с другой -- поиск или реализация механизмов, которых в стандарте нет.

Я понимаю, если б холивор был бы на тему мощности языка. Проблема-то в том, что все, что есть в CL, в схеме реализовать МОЖНО. Вот, например, в C++ ты человеческую лямбду не сделаешь, как не старайся, это да :) А написать DELETE-IF на схеме -- дело двадцати пяти секунд, о чем может быть спор?

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

Да, холивар не задался. Думал, "огничители" Схемы чего интересного (холиварного :) скажут, а ограничилось какими-то невнятными репликами.

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

> Scheme vs CL -- это совершенно бессмысленный холивор

Тем более, учитывая то, что я абсолютно не холиворю, а говорю как есть. Не знаю, почему кто-то воспринимает это в штыки, но надоело.

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

А я думал, что можно нормально обсудить что-нибудь. Ан нет, понабежит обиженных и все тут.

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

> Разница в объеме стандартной библиотеки -- это не плюс и не минус какому-нибудь языку. То, что в схеме тоньше стандарт, с одной стороны дает компактность и легкость встраивания, с другой -- поиск или реализация механизмов, которых в стандарте нет.

Если посчитать, то я не раз в этом топике это утверждал. А некоторым не нравятся, когда говорят, что стандарт Scheme меньше CL...

Я уже не удивлюсь, когда иной раз на фразу, что 3 меньше 42, найдутся, кого она заденет за живое.

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

> А некоторым не нравятся, когда говорят, что стандарт Scheme меньше CL...

Мне вот наоборот не нравится, что стандарт схемы год от года пухнет, приближаясь к CL :)

В идеале язык вообще можно свести к одному ключевому слову "lambda" и макро-системе :)

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