Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Уделал Кметта

Написал тут две генерические функции process и process' с неподъёмными сигнатурами.
Имена говорящие, да.

https://github.com/kayuri/HNC/blob/master/HN/Optimizer/ExpressionRewriter.hs

В процессе написания использовал running example на списках. Так оказалось, что нет нужного инстанса Data.Foldable.Foldable, пришлось дерайвить стандалонно :)

Кметт написал тип Cons a b | Nil, единичный функтор по b, фиксированной точкой которого является [a], и забыл добавить инстанс Data.Foldable.Foldable, который мне вот пригодился. Возможно, потому, что у Кметта есть свой собственный Data.Functor.Foldable.Foldable, который другоэ.
Tags: fp
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments