- http://bitemyapp.com//posts/2017-09-23-please-stop-using-typed-holes.html
- http://vaibhavsagar.com/blog/2017/05/22/discovering-continuations/
- http://matthew.brecknell.net/post/hole-driven-haskell/
- https://www.youtube.com/watch?v=52VsgyexS8Q
- https://wiki.haskell.org/GHC/Typed_holes
- https://github.com/maddogdavis/holey
- https://ghc.haskell.org/trac/ghc/wiki/Holes
❤️🔥
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Main where | |
-- | JSON is an incredibly simple format. Even its lists are untyped. | |
-- | As with all languages, functional programming encourages us to | |
-- | make a domain-specific language (or DSL) to capture the "ideas" | |
-- | of the language, which we can then use to talk about its content. | |
-- | In this little snippet, we'll build a JSON DSL, transform it into | |
-- | a recursive structure, and then use that result to generate some |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE RankNTypes, ScopedTypeVariables, DeriveTraversable, PatternSynonyms, UndecidableInstances, FlexibleInstances, ViewPatterns, InstanceSigs #-} | |
module Fix where | |
import Control.Monad (ap, join, (<=<)) | |
import Control.Applicative (empty, Alternative, (<|>)) | |
import Control.Arrow | |
import Data.Functor.Compose | |
-- Free f a = Mu x. a + f x |
Приветы! Меня зовут Максим Зималиев, я работаю в SlamData и уже почти два с половиной года пилю в продакшн код на PureScript'е. Как и большинство пришедших в прекрасный мир ФП, я начинал со всяких там джаваскриптов, пхп и шарпов. Соответственно, у меня есть бывшие коллеги и друзья, которые по-прежнему работают на императивных языках, используют GoF, DDD и тому подобное.
Ну так вот, пойдешь такой пиво пить, и внезапно "Слушай, а как у вас в PureScript'е, например ORM запилить, объектов же нет?" Или: "Это здорово всё, но вот я домены описываю вот так вот, у них там поведение есть, а как это PureScript'е сделать?"
NewerOlder