Мучился с суперпозицией в Хаскель. Почему-то та, что указана в учебниках: через точку не работала.
sp1 x = s2x . sx1 x
Проект упорно не хотел компилироваться. Однако стоило вспомнить, что "Хаскель прост для записи математических формул", и тут же спасли родные скобочки: ещё один плюс функциональных языков - это использование такой логики, по крайней мере на начальной - главное чтобы это не стало проблемой в будущем. Кстати, так же не хотело компилится без явного указания типов функций. Пришлось их дописать.
Обновление: при использовании скобочек всё-таки можно не указывать явно тип функций, код становится в два раза короче :) .
Код, который я писал был чисто обучающим:
s2x x = 2 * x
sx1 x = x + 1
sp1 x = s2x (sx1 x)
sp2 x = sx1 (s2x x)
sp1 x = s2x . sx1 x
Проект упорно не хотел компилироваться. Однако стоило вспомнить, что "Хаскель прост для записи математических формул", и тут же спасли родные скобочки: ещё один плюс функциональных языков - это использование такой логики, по крайней мере на начальной - главное чтобы это не стало проблемой в будущем. Кстати, так же не хотело компилится без явного указания типов функций. Пришлось их дописать.
Обновление: при использовании скобочек всё-таки можно не указывать явно тип функций, код становится в два раза короче :) .
Код, который я писал был чисто обучающим:
s2x x = 2 * x
sx1 x = x + 1
sp1 x = s2x (sx1 x)
sp2 x = sx1 (s2x x)