cblp on gh-pages
Split sum and product (compare)
cblp on master
Split sum and product (compare)
cblp on gh-pages
Extend link (compare)
cblp on master
Extend link (compare)
cblp on gh-pages
Add links (compare)
cblp on master
Add links (compare)
cblp on gh-pages
Add "not a bug" notice (compare)
cblp on master
Add "not a bug" notice (compare)
cblp on gh-pages
Typo (compare)
cblp on master
Typo (compare)
cblp on gh-pages
Remove unnecessary code (compare)
cblp on master
Remove unnecessary code (compare)
cblp on gh-pages
Add posts/extensions/2021-04-06… (compare)
cblp on master
Add posts/extensions/2021-04-06… (compare)
cblp on gh-pages
Update 2017-04-06-react-flux-gu… (compare)
cblp on react-flux-talk-timecode-fix
cblp on master
Update 2017-04-06-react-flux-gu… (compare)
plotList [] $ ([1,2,3,4,5]::[Int])
plotList [] $ ([1,2,3,4,5]::[Int])
в логике (=>) означает импликацию, то есть мы пишем A => B
, когда A не может быть без B. например, Ord не может быть без Eq. в PureScript так.
а в Хаскеле исторически сложилось наоборот, и (=>) означает как бы тоже импликацию, но более сложную: "Если у меня будет Eq, то я смогу дать Ord".
Отцы, тут вот статья про singletons для самых маленьких: https://blog.jle.im/entry/introduction-to-singletons-1.html
Там running example вида
data DoorState = Opened | Closed | Locked
deriving (Show, Eq)
data Door (s :: DoorState) = UnsafeMkDoor { doorMaterial :: String }
и они реализуют
lockDoor :: Door 'Closed -> Door 'Locked
openDoor :: Door 'Closed -> Door 'Opened
А можно ли состояние двери как-то в монаде State хранить, чтобы lockDoor
стал вида State (Door s) a
? Ведь тогда получается тип стейта меняться будет?
Отцы, возвращаясь к этим синглтонам из https://blog.jle.im/entry/introduction-to-singletons-1.html
Понять я все понял, но не представляю как бы я сам это в жизни применил. Могу только по полной аналогии статье:
PhantomType a -> PhantomType b
?А помимо этого?
Всем привет не могу понять почему стандартный list fold пытается взять тип [[char]] и не использует тип [text]
abbreviate :: Text -> Text
abbreviate xs = T.toUpper text
where text = foldl (\acc x -> T.snoc acc (head x)) T.empty res
text :: Text
res = T.split (\x -> x == ' ' || x == '-') xs
res :: [Text]
выдает ошибку
• Couldn't match type ‘Text’ with ‘[Char]’
Expected type: [[Char]]
Actual type: [Text]
• In the third argument of ‘foldl’, namely ‘res’
In the expression:
foldl (\ acc x -> T.snoc acc (head x)) T.empty res
In an equation for ‘text’:
text = foldl (\ acc x -> T.snoc acc (head x)) T.empty res
|
8 | where text = foldl (\acc x -> T.snoc acc (head x)) T.empty res
Text.uncons
.x
и .y
модуля, перечисленных в кабалфайле