Size: a a a

Сообщество Scheme

2019 June 12

PG

Pïg Grëënëst in Сообщество Scheme
Если бы это был борщ или елисп я бы просто выносил короткие ветки в then, потому что там не нужен begin для else
источник

m

mel kaye in Сообщество Scheme
Монада = 2(4) операции + 3 закона
источник

AK

Andrew Kravchuk in Сообщество Scheme
Pïg Grëënëst
Если бы это был борщ или елисп я бы просто выносил короткие ветки в then, потому что там не нужен begin для else
Блин, удобно. Зависть)
источник

AK

Andrew Kravchuk in Сообщество Scheme
Вообще говоря, в схеме в cond после условия может быть несколько форм, поэтому можно его заюзать, наверное
источник

A

Aragaer in Сообщество Scheme
Andrew Kravchuk
Привет.
Вот такой философский вопрос, как в схеме лучше справиться с паттерном, когда нужно сделать много императивных действий, и от успеха какого-то из них в середине зависит то, имеет ли смысл делать все следующие? Если делать в лоб, получится что-то вроде
(действие1)
(действие2)
(if (действие3)
   (begin
       (действие4)
       (действие5)
       (действие6))
   (begin
       (displayln "ащипка")
       #f))

, что довольно уродливо и вообще напоминает паскаль обилием бегинов 😅
Засунуть действия 4, 5 и 6 в отдельную функцию может быть хорошей идеей, но, предположим, что все эти действия зависят от массы локальных переменных, которые протаскивать аргументами в эту функцию не хочется.
У меня в такой ситуации обычно находится что-то, что можно вынести в let, поэтому вместо begin у меня именно оно
источник

AK

Andrew Kravchuk in Сообщество Scheme
Aragaer
У меня в такой ситуации обычно находится что-то, что можно вынести в let, поэтому вместо begin у меня именно оно
Тоже выход, спасибо
источник

C

CC-BY-SA-4.0/Docker-ce27.1 in Сообщество Scheme
А begin это местный progn?
источник

PG

Pïg Grëënëst in Сообщество Scheme
Да
источник

VS

Veniamin Synaptique in Сообщество Scheme
Andrew Kravchuk
Привет.
Вот такой философский вопрос, как в схеме лучше справиться с паттерном, когда нужно сделать много императивных действий, и от успеха какого-то из них в середине зависит то, имеет ли смысл делать все следующие? Если делать в лоб, получится что-то вроде
(действие1)
(действие2)
(if (действие3)
   (begin
       (действие4)
       (действие5)
       (действие6))
   (begin
       (displayln "ащипка")
       #f))

, что довольно уродливо и вообще напоминает паскаль обилием бегинов 😅
Засунуть действия 4, 5 и 6 в отдельную функцию может быть хорошей идеей, но, предположим, что все эти действия зависят от массы локальных переменных, которые протаскивать аргументами в эту функцию не хочется.
Пользуйся императивным языком.
источник

VS

Veniamin Synaptique in Сообщество Scheme
Хотя в приведённом примере нет ни нарушения декларативного стиля, ни чего-то уродливого.
источник

L🇷

Lazzlo 🇷🇺 in Сообщество Scheme
mel kaye
Монада = 2(4) операции + 3 закона
То есть монад нету в Схеме из коробки, и их нужно реализовывать самому?
источник

m

mel kaye in Сообщество Scheme
Lazzlo 🇷🇺
То есть монад нету в Схеме из коробки, и их нужно реализовывать самому?
Есть емнип
источник
2019 June 13

AK

Andrew Kravchuk in Сообщество Scheme
Изкоробки только в Racket
источник

AK

Andrew Kravchuk in Сообщество Scheme
Veniamin Synaptique
Пользуйся императивным языком.
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Сейчас кстати CHICKEN 5.1.0 release candidate тестируют, из новостной рассылки узнал
источник

VS

Veniamin Synaptique in Сообщество Scheme
Чисто функциональные языки чисто эзотерические, на практике не работают, как вы мутабельность ни прячьте в свои монады.
источник

L🇷

Lazzlo 🇷🇺 in Сообщество Scheme
Veniamin Synaptique
Чисто функциональные языки чисто эзотерические, на практике не работают, как вы мутабельность ни прячьте в свои монады.
на чём же тогда предлагаешь писать?
источник

VS

Veniamin Synaptique in Сообщество Scheme
Lazzlo 🇷🇺
на чём же тогда предлагаешь писать?
Как вариант.
источник

L🇷

Lazzlo 🇷🇺 in Сообщество Scheme
Veniamin Synaptique
Как вариант.
источник

O

O in Сообщество Scheme
https://en.wikipedia.org/wiki/Cons
ок что такое cons*
то же что и list ?
источник