Модератор
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
|
|||||||||||
19.05.2015, 18:58 | 101 | ||||||||||
nullxdth, так function таки и не замыкает. Значение пожирает миксин.
Добавлено через 1 минуту Вот как это реализовано в D: std.functional.d
Как-то звучит нехорошо
0
|
19.05.2015, 18:58 | |
Ответы с готовыми решениями:
133
Common Lisp vs D C++ vs Common Lisp: кодогенерация, метапрограммирование Книги или другой источник, где описана история версий Lisp и Common Lisp Common lisp |
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
19.05.2015, 19:00 | 102 |
0
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||
19.05.2015, 19:01 | 103 | |||||
Кстати genSym в Nim eсть например:
0
|
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
19.05.2015, 19:07 | 104 |
Не очень понимаю, я внутри лямбды без замыканий ссылаюсь на строку p. Как так получается?
Добавлено через 57 секунд Не удивительно. Lisp influenced Добавлено через 3 минуты Ага, посмотрел уже. Адова жесть.
0
|
Модератор
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
|
|
19.05.2015, 19:08 | 105 |
Ну так она ж в шаблоне, а не аргументах.
Добавлено через 26 секунд Ну, в смысле, она не передаётся в скоуп при вызове, а инстанциирует шаблон. Это можно. Добавлено через 24 секунды Да я понял, просто намекнул на формулировку
0
|
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
19.05.2015, 19:09 | 106 |
В смысле? Т.е. конструкции mixin насрать на скоупы?
Добавлено через 25 секунд А. Понял.
0
|
Модератор
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
|
|
19.05.2015, 19:10 | 107 |
Я тогда вообще не понял, о чём речь идёт. Только после
понял суть вопроса
0
|
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
19.05.2015, 19:16 | 108 |
А вот если бы в D были AST макросы, как в Rust, тут уже можно было бы о чём-то разговаривать. Из говённого D можно было бы сделать что-нибудь более или менее потребное. Например, добавить PM.
0
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||
19.05.2015, 22:34 | 109 | |||||
В Rust конечно же тоже есть gensym:
0
|
331 / 199 / 9
Регистрация: 12.05.2015
Сообщений: 334
|
||||||
20.05.2015, 12:39 | 110 | |||||
Строго говоря если смотреть внутрь trivial-garbage унифицирующую это дело, то они есть в всех живых реализациях. Кто бы это конечно это все тестировал и нам рассказывал
Добавлено через 1 час 39 минут Можно так
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
25.05.2015, 17:53 | 111 |
У кого-нибудь из лисперов есть желание перекатать эту задачу на Lisp'е или на Rust'е? Ведь эти два языка позволяют возвращать выражения прямо из условного оператора и циклов, выходит эта задача может быть реализована короче на Lisp'е или Rust'е:
D vs C++ (2) P.S. А, может быть, наоборот докажет, что возврат выражений из циклов и if'ов бесполезен! Хотя здесь нужен Самуил Астероидович, ибо задачки про яблоки — это его конёк!
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
25.05.2015, 18:23 | 112 |
В коде на D вообще ничего не возвращается. Мы так писали программы на паскале в девятом классе до того как прошли функции/процедуры — всё совали между бегин—энд. Если бы хотя бы разнести вычисления и ввод/вывод, можно было бы что-то сравнивать.
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
25.05.2015, 18:50 | 113 |
0
|
Модератор
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
|
|
25.05.2015, 19:33 | 114 |
Модульность кода - это плохо?
D-way такой D-way. Хотя меня терзают смутные сомнения, что виноват в этой кривоте не сам язык D, а исключительно наш Дениска.
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||||||
25.05.2015, 19:36 | 115 | ||||||
Не вопрос :
0
|
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
|
|||||||||||||||||||||
25.05.2015, 21:35 | 116 | ||||||||||||||||||||
Да тут и циклы не нужны!
Кликните здесь для просмотра всего текста
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
25.05.2015, 21:55 | 117 |
Молодец! Молодец, но...
Решение непонятное, большое и сложное, и непонятное. P.S. Кстати, я смог установить компилятор лиспа (он работает), но вот с настройкой emacs'а опять траблы, потому что emacs написан на Lisp'е.
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
25.05.2015, 22:06 | 118 |
Зачем calc-counts? В стандартной библиотеке лиспа нет картезианского произведения?
И вообще убери слово defun (дефан, дефун) из своего кода, ведь оно очень смешно звучит/читается/говорится/etc.
0
|
Eva Rosalene
|
25.05.2015, 22:57
#119
|
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||
25.05.2015, 23:41 | 120 | |||||
...
Добавлено через 1 минуту Моё сообщение помножилось на 0. Придётся заново написать. Добавлено через 8 минут Ещё одно лисповое решение. Захотелось продемонстрировать пресловутый list processing. Я записываю данные задачи в виде списков в произвольной форме и играюсь с этой информацией. Это очень простой и поэтому мощный подход: представлять данные, да и условие задачи в целом в виде удобной формы списков, с использованием символов. Манипулировать этими данными несложно; макросы позволяют превращать их в код ― их, то есть списки произвольной удобной формы. Так создаются DSL. Применимость лиспа к сложным задачам происходит от ненавязчивости лиспа, способности принять любую форму.
0
|
25.05.2015, 23:41 | |
25.05.2015, 23:41 | |
Помогаю со студенческими работами здесь
120
Common Lisp Common lisp ООП Common Lisp Программа на common lisp Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |