Size: a a a

2021 April 13

IO

I O in Haskell
Кстати второй и третий пункты отсюда я смог пофиксить сделав для Hold c => c opaque constraint synonym так что он не раскрывается пока c полностью не инстанциирован
источник

Y

Yuuri in Haskell
Вот да, а у лучшего императивного языка и перф хороший должен быть
источник

UT

Unknown T. in Haskell
Добрый день. А есть в Haskell встроенная функция, чтобы вывести любой объект на экран? Есть объекты с кастомным data типом, в целях отладки нужно посмотреть, что внутри. Или только писать свою функцию для вывода?
источник

JS

Jerzy Syrowiecki in Haskell
самый простой способ — писать deriving Show для всех типов
источник

UT

Unknown T. in Haskell
Да, работает, спасибо большое. Надо будет почитать, что такое deriving. Примерно 3-й день знакомства с haskell, новые слова летят только так )
источник

JS

Jerzy Syrowiecki in Haskell
а когда deriving Show не работает, есть ещё грязная магия https://hackage.haskell.org/package/recover-rtti-0.3.0.0/docs/Debug-RecoverRTTI.html#v:anythingToString
источник

UT

Unknown T. in Haskell
Прикольно, спасибо
источник

JS

Jerzy Syrowiecki in Haskell
но вам сначала надо deriving освоить
источник

UT

Unknown T. in Haskell
Да. Читаю доку про type classes
источник

UT

Unknown T. in Haskell
А в haskell нельзя писать так:
func (x:xs) (x:ys) = …
Подразумевая, что такая перегрузка должна быть использована тогда, когда первые элементы списков равны? В Prolog такое можно было.
источник

DB

Danil Berestov in Haskell
Нельзя, тока guard'ами
источник

UT

Unknown T. in Haskell
Понятно. А прикольный механизм был у пролога.
источник

IO

I O in Haskell
func (x:xs) (y:ys) | x == y = ...
источник

UT

Unknown T. in Haskell
ну это уже обычные условия, понятно
источник

DB

Danil Berestov in Haskell
Ну он и в эрланге вроде имеется
источник

UT

Unknown T. in Haskell
на нем никогда не писал
источник

DB

Danil Berestov in Haskell
Я тоже)
источник

Y

Yuuri in Haskell
У эрланга прологовский синтаксис
источник

DB

Danil Berestov in Haskell
внезапна
источник

к

кана in Haskell
10.3  Where does Erlang syntax come from?
Mostly from prolog. Erlang started life as a modified prolog. ! as the send-message operator comes from CSP. Eripascal was probably responsible for , and ; being separators and not terminators.

из доки эрланга

первый компилятор тоже был на прологе
источник