Size: a a a

PureScript — русскоговорящее сообщество

2019 May 13

p

parket in PureScript — русскоговорящее сообщество
mergeRight :: SplitArray ~> SplitArray
mergeRight xs =
 case uncons xs of
   Nothing -> []
   Just {head: Text c, tail} -> let (Tuple d lTail) = go tail in Text (c <> d) : mergeRight lTail
   Just r -> r.head : mergeRight r.tail
 where
   go tail = case uncons tail of
     Just { head: Delim d', tail: tail' } -> Tuple d' tail'
     _ -> Tuple [] tail
источник

p

parket in PureScript — русскоговорящее сообщество
Зигохистоморфный Препроморфизм
еще where больше нельзя использовать в паттерн гардах
Пример? :)
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
parket
mergeRight :: SplitArray ~> SplitArray
mergeRight xs =
 case uncons xs of
   Nothing -> []
   Just {head: Text c, tail} -> let (Tuple d lTail) = go tail in Text (c <> d) : mergeRight lTail
   Just r -> r.head : mergeRight r.tail
 where
   go tail = case uncons tail of
     Just { head: Delim d', tail: tail' } -> Tuple d' tail'
     _ -> Tuple [] tail
зачем ты мой код повторил?)
я же это уже показал
источник

p

parket in PureScript — русскоговорящее сообщество
Я проверю. В общем, я очень доволен новым парсером 😊
источник

p

parket in PureScript — русскоговорящее сообщество
Зигохистоморфный Препроморфизм
зачем ты мой код повторил?)
я же это уже показал
Да, я понял.
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
я показал вариации
для всего кода - let/in или where на уровне case или еще чего
для локальной ветки - where под веткой
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
больше нельзя logShow $ x :: Int
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
надо скобки
источник

p

parket in PureScript — русскоговорящее сообщество
тоже отлично:
logShow $ ( x :: Int )
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
ну в просто случае да
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
но у меня вот такой ад получается
logShow (typeCheck2 ((add (nval 10.0) (typed TNumber $ nval 5.0)) :: E3))
источник

p

parket in PureScript — русскоговорящее сообщество
Ад, это когда у :: максимальный приоритет
источник

p

parket in PureScript — русскоговорящее сообщество
В общем, холивар и вкусовщина. Но с большинством изменений лично я категорически согласен.
источник

p

parket in PureScript — русскоговорящее сообщество
import Data.Maybe ( Maybe ( .. ) )

Не могу найти где ( .. ) запретили
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
я 20 минут потратил,чтобы подогнать свой код
источник

p

parket in PureScript — русскоговорящее сообщество
Зигохистоморфный Препроморфизм
я 20 минут потратил,чтобы подогнать свой код
Ого
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
у меня просто один проект на все эксперименты за все года)
источник

p

parket in PureScript — русскоговорящее сообщество
Ну, 20 минут не время совсем. Изменения логичные. Некоторые менее удобны, но позволяют реже делать rollback парсеру. У меня основные претензии к пурсе были по поводу ошибок. Теперь стало отлично. + where внутри case-веток. Разве плохо?

Более жесткие требования к форматированию кода - отлично 😊
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
это все потому, что тут where отличается от хаскель
тут это просто теперь сахар над let/in
и в отличии от хаскеля более прямой
источник

p

parket in PureScript — русскоговорящее сообщество
Ну, чем дальше, чем больше отличий. Я уже давно перестал расматривать haskell как референс. Язык то другой, хоть и похожий.
источник