LINUX.ORG.RU

ура, наконец-то в Яре достигнут какой-то успех

 ,


0

5

Сбылась мечта идиота - я почти сделал из лиспа дельфи :) Кое-что недопилено, конечно, но в целом результат вполне прощупывается:

опр функ Foo(SYM -- :л:CL.SYMBOL)
тело
  л-печать(SYM.NAME())
  зап SYM.VALUE = 6
  л-печать(SYM.VALUE)
кно

Foo(цит(б))
Этот код транслируется примерно в такой код лиспа (на самом деле, дословно он генерируется далеко не такой, но если писать то же самое вручную, то был бы такой).
(declaim (ftype (function (SYMBOL ) t) |Foo| ))
(proclaim '(ftype (function (SYMBOL ) t) |Foo| ))

(defun |Foo| (SYM)
  (declare (type SYMBOL SYM))
  (PRINT (symbol-name sym))
  (setf (symbol-value sym) 6)
  (PRINT (symbol-value sym)))

(|Foo| (QUOTE |б|))

Итак, что я наконец-то получил? Конечно, пример маленький и не во всём показателен, но:

1. Общее количество букв уменьшилось ВДВОЕ.

2. Количество скобок уменьшилось более чем ВЧЕТВЕРО.

3. Количество повторений слова symbol уменьшилось в ШЕСТЬ раз. Символ здесь, как вы понимаете, моделирует какой-то defstruct - а структуры я пока что в Яр не впилил.

4. Лисп, чувствительный к регистру символов, без вертикальный чёрточек.

5. Пошаговый отладчик. При трансляции можно включить инструментатор и можно будет действительно ходить по коду, а не прыгать в случайные места раз в сто километров, как это сейчас сделано в SBCL.

Вот, собственно, что я собирался сделать месяца за два летом 2015-го года. Надо было сразу перевести в следующую единицу измерения, и получилась бы правильная оценка трудоёмкости.

Что теперь я ожидаю от лисперов: я ожидаю, что они будут меня ругать. Написанный здесь код - это сумма множества предварительных этапов. Я публиковал свои решения на каждом этапе, и на каждом этапе меня ругали. Меня называли психом, блюб программистом и прочими другими плохими словами. Теперь настоящие лисперы должны просто лопнуть от злости. Хорошо лишь то, что их почти не осталось.

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

★★★★★

Последнее исправление: den73 (всего исправлений: 1)

опр функ Foo(SYM — :л:CL.SYMBOL) тело л-печать(SYM.NAME()) зап SYM.VALUE = 6 л-печать(SYM.VALUE) кно Foo(цит(б))
Давайте, начинайте называть меня психом

Ты псих!

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

Хаааааххахаахааа! А ты лиспер? Тогда ты сам псих :)))

den73 ★★★★★
() автор топика

Мои поздравления :-) Что с этим делать то? :-) На Дельфи можно GUI делать от форм до географических карт :-) Но ты же знаешь, как обстоят с этим дела в Common Lisp :-) Т.е. на кого ориентирован твой Яр? :-)

anonymous
()

Ты потратил 2 года жизни на дрочню не имеющую ни практической, ни эстетической, ни концептуальной или академической ценности. Ржу вместе с тобой.

anonymous
()
опр функ Foo(SYM -- :л:CL.SYMBOL)
тело
  л-печать(SYM.NAME())
  зап SYM.VALUE = 6
  л-печать(SYM.VALUE)
кно

Foo(цит(б))

Нет-нет-нет! Пожалуйста, больше ничего не пиши! Горшочек, не вари!

DELIRIUM ☆☆☆☆☆
()

Я что-то пропустил... А для чего создаётся этот язык? В учебных целях или имеется какая-то практическая задача?

zamazan4ik ★★
()

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

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

Я что-то пропустил... А для чего создаётся этот язык? В учебных целях или имеется какая-то практическая задача?

Задача сугубо практическая. Дениска лет пять уже жалуется, что во всех лисп-сообществах его игнорят после двух-трех его постов, и не хотят обсуждать его «гениальные» идеи. А теперь:

... Что теперь я ожидаю от лисперов: я ожидаю, что они будут меня ругать. ...

типа есть повод поговорить.

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

Common Lisp - сугубо практический язык, фибоначи - это скорее в Хаскель.

anonymous
()

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

Ты псих, но мне нравится твоя шизофрения )) Удачи )))

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

Человек фанится, а ты в этом смысл ищешь дурашка ))

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

Тут можно [offtop]скрестили ежа с ужом то?[/offtop]

Dron ★★★★★
()

Может теперь оно найдёт практическое применение.

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

кстати, присоединяюсь к реквесту. давай факториал что ли. а то читать уж больно непонятно.

ну и кстати чего выводит то листинг? если скомпилять и запустить?

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

горшочек варит уже N лет, где N заметно больше двух, вообще то. развидь да и всё :)

AndreyKl ★★★★★
()

Ох ты ж жеванный крот: русские ключевые слова вместе с латинскими названиями функций вместе.

Ну и безусловно: den73 ★★★★  Лиспер, любящий сокращать

Один из редчайших людей на лоре, которому я таки поставил подпись, ибо впечатления незабываемые.

Deleted
()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от AndreyKl

давай факториал что ли

Догадаться что ли не можешь?
Фак()

anonymous
()

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

Deleted
()
Ответ на: комментарий от ya-betmen

Постоянно переключать языки - мерзость.

Это фича! Ты просто не понимаешь. В питоне отступы, а тут переключение раскладок. Нужны ещё ключевые слова типа OOОО00 (две литеры латинские, две кириллические и два нуля).

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

Нужны ещё ключевые слова типа OOОО00 (две литеры латинские, две кириллические и два нуля).

О! Надо такой диалект брейнфака создать, греческую ещё туда добавить и наверняка ещё что-то есть такое же круглое, чтобы на весь брейнфак хватило, классно смотреться будут программы :D

По теме сказать нечего. Это, похоже, «кодица» переименовалась и прогрессирует? Внесу тогда тег «яр» тоже в игнорируемые. А то мне это «опр функ Foo(SYM — :л:CL.SYMBOL) кно» в кошмарах сниться будет…

Psych218 ★★★★★
()

Общее количество букв уменьшилось ВДВОЕ.

Сколько у тебя всего ключевых слов?

ya-betmen ★★★★★
()

кно

дно. А вообще лучше, чтобы программа начиналась с ключевых слов «днище начато» и заканчивалась «дно достигнуто».

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

Надо такой диалект брейнфака создать, греческую ещё туда добавить и наверняка ещё что-то есть такое же круглое, чтобы на весь брейнфак хватило, классно смотреться будут программы :D

прям зачет же :)

Rastafarra ★★★★
()

Давайте, начинайте называть меня психом

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

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от JacobTwoTwo

Ты просто не понимаешь. В питоне отступы

И что отступы. Программа, написанная обладателем нужного набора хромосом, тоже содержит отступы ;)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

А программа написанная обладателем адекватного набора хромосом содержит адекватное количество отступов в адекватных местах. Но это не про питонистов. Питон писался для для обладателей специфического «нужного» набора хромосом, которым нужно указывать где, когда и как ставить отступы.

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

А особенно я смеюсь над анонимусами, которых я заигнорировал.

Понять бы еще, кто в нашем разговоре является анонимусом, ну да интереснее другое. Правильно ли я понимаю, что появление в прошлом году темы с названием проекту Яр скоро будет 8 лет (как минимум) означает, что в 2017-ом этому вашему Яру исполняется девять(!) лет?

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

Зачем мешки денег?

Чтобы покушать купить себе и детям :-)

Just for fun и OpenSource во все поля!

for fun приходит и уходит, а кушать хочется всегда во все поля :-)

anonymous
()

Ну молодец. Я хоть и люблю какую дичь, но думаю, что яр пройдет мимо меня, но все же.

Изобрази на нем небольшую базу данных, хотя бы как в примере из PCL.

Изобрази, что нибудь с веб интерфейсом. И желательно связав с первым.

Задачу коммивояжера в функциональном стиле.

nihirash ★★★
()
опр функ Foo(SYM -- :л:CL.SYMBOL)
тело
  л-печать(SYM.NAME())
  зап SYM.VALUE = 6
  л-печать(SYM.VALUE)
кно


Поехавший

Gvidon ★★★★
()

Какой смысл делать в кирилице подобную тарабарщину? Даже полученный лисповый код проще для понимания.

screamager
()

Что теперь я ожидаю от лисперов

Лиспер увел у тебя жену?

Взял CL, надругался, запостил тонну шлака :).

Раз уж влез в лисп, то мог бы напрячься попытаться понять о чем эти *злые лисперы* талдычат, а не заниматься мазохизмом и ссать против ветра.

Теперь настоящие лисперы должны просто лопнуть от злости

Тут где-то есть success story которому можно начинать завидовать?

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

Тут где-то есть success story которому можно начинать завидовать?

Он же сказал, что завидовать будут только настоящие лисперы, ты уже не подходишь.

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

Я с этим смирюсь, но тут же надо уже санитаров вызывать.

У него там что-то ВДВОЕ, ВЧЕТВЕРО, и внимание, в ШЕСТЬ уменьшается.

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