>> |
No.25702
>>25701
Sorry, your message is too long. Message length: 9761, maximum allowed length: 8192
>Я ещё не знаю что вводит в больший ступор (+ 1 2 3 78) или (cdr (cdr
>(cdr (car '(list))))).
Мат. нотация меня до сих пор иногда пугает, но это не аргумент против
изучения математики! Ну а так, чисто для формализма, знак ' означает,
что следущая форма будет прочитана как данные, а не как, исходя из
β-редукции лямбда исчисления, применения функции к операндам.
Вообще, в чистом лямбда исчислении нет таких понятий, близких к
программированию, как структуры данных, поэтому надо придумывать всякие
вот такие цитирования ('(1 2 3) можно записать как (quote (1 2 3))), то
есть ты говоришь интерпритатору: смотри, вот тут нужно воспринять (quote
(1 2 3)) именно как (1 2 3), не применить функцию 1 к опреранду 2 и 3
(что даст ошибку, так как связать 1 с функцией лично у меня не
получилось).
Раз на то пошло, хочу так же высказать своё мнение, что обучающимся
лучше не использовать синтаксический сахар в скиме (и вообще при
изучении любых языков программирования), такой как:
⁃ (define (func arg1 arg2 arg3) (+ arg1 arg2 arg3)), а использовать
(define func (lambda (arg1 arg2 arg3) (+ arg1 arg2 arg3))). Да, я не
согласен с подходом в SICP, но могу понять авторов, так как объясняли
они там первокурсникам тему + тогда не было той же самой википедии с
поисковиками, хотя свой этот "баг" они вроде как обсудили в паре глав
после введния понятия процедуры.
⁃ Вообще любые темы по типу того же знака ', который выбивается из
модели (функция аргумент1 аргумент2 аргумент3)
Ну а если серьёзно, то если в языке можно сделать что-то не идиоматично,
то есть так, как разработчики языка не задумывали использование своего
инструмента[1], то скорее всего люди так поступать и будут.
Это я вообще всё к чему. К тому, что во всех закорючках есть смысл, не
от дикого желания сделать именно `вот так' всё появилось и развивается.
>Надеюсь ты не против, что я стащил твою манеру постинга.
К счастью, она не моя, а такой тип общения есть обычная традиция общения
по электронной почте, хотя когда можно написать пару предложений, делаю
это в текстовом поле браузера. Если что-то длинное, по типу текущего
текста, то можно использовать [Emacs], который [org] [версию текста]
переводит в "txt" довольно просто.
>[Shepherd] https://www.gnu.org/software/shepherd/
У шеферда кстати открывается репозиторий без проблем, просто нужно
написать перед .git shepherd (как сделал я), или зайти на полный [список
исходиков проекта GNU] и совершить "Ctrl-F shepherd".
Как обычно, если остались вопросы и открытые моменты, рад на них
ответить или что-то обсудить.
[kotatsu] https://github.com/ECHibiki/Kotatsu-V
[высоко-производительные вычисления] https://hpc.guix.info/
[Emacs] https://emacs.org
[org] https://orgmode.org/
[версию текста] http://termbin.com/3hi1
[список исходиков проекта GNU] https://git.savannah.gnu.org/cgit/
Footnotes
─────────
[1] Например как я использовал в питоне словарь с ключами в виде цифр
от 1 до 32 для работы с алфавитом на первом курсе. Люблю приводить
этот пример как показатель того, что (почти) никто, кого вы считаете
умным, не рождался со звездой во лбу.
|