Форум программистов, компьютерный форум, киберфорум
Наши страницы
Clojure
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Clojure Lisp для новичка в ФП http://www.cyberforum.ru/clojure/thread1811827.html
Всем привет, уважаемые форумчане. Прочитал очень много тем на форуме про Lisp и мне захотелось его изучить. Сам я пишу на Java и C#, с ФП никогда до этого еще не сталкивался. Имеется у меня и sicp, и...
Объясните как в emacs установить slime? Clojure
Или ссылку киньте хорошую посмотреть. А то изучил emacs. Но у меня clojure-box. Такой emacs у меняm там есть slime, но ведь clojure не имеет смысла изучать без знания java? Как в обычный gnu emacs...
Clojure Common Lisp vs ...
Дмитрий love5an Игнатьев: Common Lisp vs Python http://yablor.ru/blogs/common-lisp-vs-python/1025189
Clojure The Clojure Toolbox: A categorised directory of libraries and tools for Clojure The Clojure Toolbox: A categorised directory of libraries and tools for Clojure http://www.clojure-toolbox.com http://www.cyberforum.ru/clojure/thread1779768.html
Clojure Экспертная система по учету сотрудников на Lisp http://www.cyberforum.ru/clojure/thread1777747.html
Добрый день. Имеется экспертная система, написанная на Prolog мною в учебных целях в универе. Сейчас для диплома хочется переписать и дополнить ее возможности на Lisp, чтобы показать разницу по...
Ошибка при запуске локального сервера на Clojure в IntellijIDEA Clojure
Выводится ошибка по строке, которой даже нет. По отдельности все функции компилируются без сообщений об ошибках. Но при запуске run-server из кода, на localhost:8080 ничего не выводится и выдаётся...
Clojure Почему невозможно настроить intellij idea для работы с clojure? windows
Получается только emacs. Плюсы emacs - интерактивный встроенный туториал. Даже если и с emacs ничего не получится то его можно будет использовать как текстовый редактор. --- leningen - файла...
Clojure Как работает классическая сборка мусора в лиспе? Сколько памяти занимает cons-ячейка? Как работает классическая сборка мусора в лиспе (прочитал в документации, что SBCL использует классическую сборку)? Как работает в данном случае? Как работает в различных реализациях? Цель задачи... http://www.cyberforum.ru/clojure/thread1754061.html
Clojure Typedef clojure http://www.cyberforum.ru/clojure/thread1747881.html
Почему этот код компилируется (definterface PtI (getX ) (getY )) (deftype Pt PtI (getX x) (getY y))
Clojure Clojure map Есть ли map, который бы применял переданную функцию ко всем значениям из PersistentArrayMap'а т.е. я хочу что-то в духе (map inc {"x" 7 "y" 8}) ; ==> ({"x" 8 "y" 9}) http://www.cyberforum.ru/clojure/thread1735872.html
asmquest
Заблокирован
15.01.2017, 10:30 0

Реализация ф-ций CONS, CAR, CDR (Sheme,CLisp)

15.01.2017, 10:30. Просмотров 3016. Ответов 47
Метки (Все метки)

Ответ

Цитата Сообщение от _Ivana Посмотреть сообщение
Эта реализация абстракции списка
это абстракция пары, а не списка
Цитата Сообщение от _Ivana Посмотреть сообщение
через замыкания
замыкания, как таковые, тут не при чем, просто в схеме нет нормальной объектной нотации и все приходится писать через жопу, имитируя объекты замыканиями
Цитата Сообщение от _Ivana Посмотреть сообщение
меня в свое время тоже весьма впечатлила и вдохновила
Там нет ничего особенного. У новичков глаза на лоб лезут из-за подобных финтов ушами из-за того, что в схеме слишком много сахарной подковерной возни, она форсит подход, когда о простых вещах приходится думать в сложной манере, продираясь сквозь дебри неочевидного синтаксиса. Если бы вы провели декомпозицию данного кода, и воспроизвели бы его без этого блевотного "функционального" сахара, сразу стало бы все очевидно. Вот эквивалент, написанный на Io:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
Pair := Object clone do(
  first := method(x)
  rest := method(y)
  cons := method( x, y,
     pair := self clone
     pair x := x
     pair y := y 
     pair
  )
)
 
Pair cons(1, 2) first #>>>> 1
Pair cons(1, 2) rest  #>>>> 2
Абсолютно прозрачный код

Вернуться к обсуждению:
Реализация ф-ций CONS, CAR, CDR (Sheme,CLisp)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2017, 10:30
Готовые ответы и решения:

Композицией базовых функций CAR, CDR, CONS, LIST
Добрый день! прошу помочь в решении задачи: Композицией базовых функций CAR, CDR, CONS, LIST...

Lisp. По какому принципу работают функции CAR,CDR,CONS?
Здравствуйте! Помогите пожалуйста понять как работают функции CAR,CDR,CONS. Например, есть список:...

Работа со списками в LISP, используя базовые функции CAR, CDR, CONS
Дан список ( (A B ( C ) ) (D (E) (K L M))) получить: список (C) список (A B C D) ...

Заменить каждый второй элемент списка на 0,используя только рекурсию, CAR, CDR, CONS,COND
Заменить каждый второй элемент списка на 0,используя только рекурсию, CAR, CDR, CONS,COND

каждый нечетный элемент списка умножить на 2, каждый четный на 3. использовать только рекурсию CAR,CDR,COND,CONS
каждый нечетный элемент списка умножить на 2, каждый четный на 3. использовать только рекурсию ...

47
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.