Size: a a a

2020 May 27

AI

Andrey Ivanov in fprog_spb
кстати декомпозировать на переменные (биндинги) никто не запрещает, да
источник

PS

Peter Sovietov in fprog_spb
Тут ключевая фраза "без переменных". У обычного (в духе Форта) стекового вычислителя их нет.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
В фортах есть регистры!
источник

AP

Aleksei (astynax) Pi... in fprog_spb
И вообще, A B C DISCR!
источник

VM

Vyacheslav Mikushev in fprog_spb
Peter Sovietov
Предметная область и предпочтительная нотация для нее обычно известны заранее. Далее просто надо сформулировать решение своей задачи на псевдокоде DSL, который еще не реализован. Остальное — дело техники :)
Меня пугает вручную писать свои динамические вектора, хэшмапы, деревья и прочее.:)
источник

VM

Vyacheslav Mikushev in fprog_spb
Их же еще нужно сделать оптимальными.
источник

AI

Andrey Ivanov in fprog_spb
Можно взять чужие готовые. Но Фактор неспортивно? ))
источник

AP

Aleksei (astynax) Pi... in fprog_spb
На Си их ведь тоже кто-то написал.
источник

PS

Peter Sovietov in fprog_spb
Vyacheslav Mikushev
Меня пугает вручную писать свои динамические вектора, хэшмапы, деревья и прочее.:)
Ну я не агитирую именно за Форт. Я уже давно коммерческие программы на Форте не пишу. Я говорю об общем подходе языково-ориентированного программирования.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Aleksei (astynax) Pirogov
На Си их ведь тоже кто-то написал.
А там как раз байтики, которыми Форт жонглирует отлично
источник

AP

Aleksei (astynax) Pi... in fprog_spb
> The Factor programming language is a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection.
источник

PS

Peter Sovietov in fprog_spb
Я уточню. Без переменных формулу дискриминанта вычислить, все-таки, можно. В духе SKI-комбинаторов. Выч. модель Форта в этом плане является альтернативой лямбда-исчислению и основана на стековых комбинаторах.
источник

AI

Andrey Ivanov in fprog_spb
Antonio
> (/ (+ (- B) (- (^ B 2) (* 4 A C))) (* 2 A))

программисты обязаны страдать
(let [A 1 B 2 C -3]
 (/ (+ (- B)
       (Math/sqrt (- (* B B)
                     (* 4 A C))))
    (* 2 A)))
=> 1.0

и не страдай
источник

AV

Alexander Vershilov in fprog_spb
Это хуже или лучше?
источник

A

Antonio in fprog_spb
Andrey Ivanov
(let [A 1 B 2 C -3]
 (/ (+ (- B)
       (Math/sqrt (- (* B B)
                     (* 4 A C))))
    (* 2 A)))
=> 1.0

и не страдай
отвратительно
источник

AI

Andrey Ivanov in fprog_spb
ок, тогда страдай, не настаиваю )
источник

PS

Peter Sovietov in fprog_spb
Antonio
отвратительно
Надо было через define!
источник

AP

Aleksei (astynax) Pi... in fprog_spb
В кложе это грешновато. Ибо define всегда глобально определяет
источник

AI

Andrey Ivanov in fprog_spb
он через лет имел в виду
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Это в Схеме define заскоуплен
источник