Size: a a a

CODE BLOG / Чат

2020 September 24

P

Phantom in CODE BLOG / Чат
На те функция
источник

P

Phantom in CODE BLOG / Чат
Или эти ебаные |>
источник

SS

Steel Sword in CODE BLOG / Чат
Phantom
Pair это Touple?
Ну блин

Возьмём допустмм раст, сейчас без разницы.

struct Pair<A, B> {
 left: A,
 right: B,
}


Вот и вся пара.

В лиспе есть функция cons, её нужно вызвать с двумя значениями и получишь то же самое
(cons 1 2)
Теперь у тебя пара из 1 и 2.
Делаешь
(car yourpair)
Получаешь левую половину - 1
Делаешь
(cdr yourpair)
Получаешь правую половину - 2
Всё просто. cons для создания, car и cdr для левого или правого значения.

Теперь следи за руками:

(cons 1 (cons 2 (cons 3 (cons 4 nil))))

У тебя цепочка и пар, у которых слева цифра, а справа ссылка на следующую пару.

Можно заюзать list

(list 1 2 3 4)

Получишь то же самое, просто чуть попроще.

Теперь главный фокус. Это очень изящно
В лиспе ВСЕ - это такой список

Каждый раз когда ты пишешь допустим

(+ 1 2 3 4 5)

Для получения суммы чисел, интерпретатор получает список у которого первый элемент - это ссылка на функцию, остальные - его параметры. То есть в лиспе нет разделения на код и данные обработываемые кодом. Код - это тоже данные. А ведь данными можно крутить и вертеть совершенно как тебе угодно.

Еще не забывай про динамическую типизацию...
Мммммм...

Короче изящно, реально гениально. Хочу пожать руку тому чуваку, который в 50-ых до этого додумался. Но вот структур данных маловато. И нормальных реализаций стандарта почти нет. Практически мёртвый язык. И конечно же не годится в продакшен.
И традиции по форматированию кода хреновые. Они зачем-то все закрывающие скобки в один ряд складывают. Сидишь, считаешь, 7 там скобок или 8
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / Чат
а это для большей токсичности
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / Чат
программист: сука, ну где же бага
код на лиспе: ))))))))))))))))))))))))))))))))))
источник

SS

Steel Sword in CODE BLOG / Чат
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
Steel Sword
Ну блин

Возьмём допустмм раст, сейчас без разницы.

struct Pair<A, B> {
 left: A,
 right: B,
}


Вот и вся пара.

В лиспе есть функция cons, её нужно вызвать с двумя значениями и получишь то же самое
(cons 1 2)
Теперь у тебя пара из 1 и 2.
Делаешь
(car yourpair)
Получаешь левую половину - 1
Делаешь
(cdr yourpair)
Получаешь правую половину - 2
Всё просто. cons для создания, car и cdr для левого или правого значения.

Теперь следи за руками:

(cons 1 (cons 2 (cons 3 (cons 4 nil))))

У тебя цепочка и пар, у которых слева цифра, а справа ссылка на следующую пару.

Можно заюзать list

(list 1 2 3 4)

Получишь то же самое, просто чуть попроще.

Теперь главный фокус. Это очень изящно
В лиспе ВСЕ - это такой список

Каждый раз когда ты пишешь допустим

(+ 1 2 3 4 5)

Для получения суммы чисел, интерпретатор получает список у которого первый элемент - это ссылка на функцию, остальные - его параметры. То есть в лиспе нет разделения на код и данные обработываемые кодом. Код - это тоже данные. А ведь данными можно крутить и вертеть совершенно как тебе угодно.

Еще не забывай про динамическую типизацию...
Мммммм...

Короче изящно, реально гениально. Хочу пожать руку тому чуваку, который в 50-ых до этого додумался. Но вот структур данных маловато. И нормальных реализаций стандарта почти нет. Практически мёртвый язык. И конечно же не годится в продакшен.
И традиции по форматированию кода хреновые. Они зачем-то все закрывающие скобки в один ряд складывают. Сидишь, считаешь, 7 там скобок или 8
Это не суть лиспа конкретно
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
а всего фп
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
Ну про функции как данные
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
И про заполнение рекурсивно
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
Все циклы - хвостовые рекурсии
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
По-другому нельзя, иначе это стейт
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
И не фп
источник

🎄T

🎄Oleg Tsenilov🎄... in CODE BLOG / Чат
источник

Я

Ярик in CODE BLOG / Чат
я трушный чел
источник

Я

Ярик in CODE BLOG / Чат
ебет цифры и строки
источник

Я

Ярик in CODE BLOG / Чат
протест сообществу
источник

Я

Ярик in CODE BLOG / Чат
для элиты кто то пишет
источник

SS

Steel Sword in CODE BLOG / Чат
🎄Oleg Tsenilov🎄
а всего фп
Я и не спорю. Просто ЛИСП был первым.
Кстати чувак который придумал теорию всего этого, не хотел делать делать реализацию, аотому что по его мнению, это просто формальность, и такой синтаксис никому не понравится. Но его друг забил на его мнение и написал первый в истории интерпретатор на АСМе
источник

Я

Ярик in CODE BLOG / Чат
вы все моя реальность
источник