vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2020-10-01 02:15 pm
Entry tags:

Лисп поверх Питона

Питон нынче присутствует везде, даже на самых крохотных линуксных девайсах. Но если вы скучаете по функциональщине, вот вам простой Лисп поверх Питона. Называется Hy:

https://docs.hylang.org/en/stable/whyhy.html

Устанавливается командой:
pip3 install --user hy
Вызывается как "hy". Такой себе вполне Лисп, с полным доступом к функциям и библиотекам Питона, и обратно. Поддерживает макросы, питоновские классы и модули. Можно делать автономные скрипты. Пример вычисления чисел Фибоначчи:
(defn fib [n]
(if (< n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))))
(print (fib 30))
Напечатает:
832040
spamsink: (Default)

[personal profile] spamsink 2020-10-01 10:39 pm (UTC)(link)
Нет, это не пример вычисления факториала. :)

[personal profile] dijifi 2020-10-02 12:18 am (UTC)(link)
Подсказка: кончается на чи
vanja_y: (Default)

[personal profile] vanja_y 2020-10-02 06:49 am (UTC)(link)
Код вычисляет числа Фибоначи, а не факториал.
ircicq: (Default)

[personal profile] ircicq 2020-10-02 06:59 am (UTC)(link)
Edited 2020-10-02 07:00 (UTC)
vanja_y: (Default)

[personal profile] vanja_y 2020-10-02 11:07 am (UTC)(link)
Если б не spamsink я бы и не заметил)
dluciv: (Default)

[personal profile] dluciv 2020-10-04 06:14 pm (UTC)(link)
Он, увы, такой себе ЛИСП. Без let из коробки. Скорее лисповый синтаксис для Питона. Но при этом самый лучший и живой из тех, которые есть.