Actions
Haskell » History » Revision 20
« Previous |
Revision 20/90
(diff)
| Next »
Grigoriy Volkov, 04/12/2019 04:20 PM
Haskell¶
Изучение¶
Денис Москвин. Функциональное программирование на языке Haskell. stepik.org, видеокурс
О Haskell по-человечески
Learn You a Haskell for Great Good!
Real World Haskell by Bryan O'Sullivan, Don Stewart, and John Goerzen
ru.haskell— сообщество русскоговорящих Haskell-разработчиков
Haskell Cheatsheet
haskell-trainings
Stack cookbook
snippets¶
ghci debugging¶
:set -fbreak-on-error -fbreak-on-exception :trace machineMain :force _exception :hist :back
libs¶
- co-log
- named arguments
- binary-parsers
- concat (z3cat || smt example) — Compiling to categories — compiler plugin for translating normal Haskell functions (on standard types) to SMT, etc.
- SBV: SMT Based Verification — translates Haskell functions on custom symbolic types
- refined — refinement types
type ProperFraction = Refined (And (Not (LessThan 0)) (Not (GreaterThan 1))) Double
- hedgehog — random test gen (QuickCheck)
- dejafu — concurrency testing
- GHC.Stack — can get code position for DSL
- Data.Sequence — list with fast append on both sides
exts¶
- Existential Quantification
- RebindableSyntax — overloading built-in operators / do notation
- NullaryTypeClasses — global implementation of one thing
- DataKinds , TypeFamilies (+ GHC.TypeLits) — type-level annotations
other¶
- ST Monad for imperative algorithms
- A Rosetta Stone for Haskell Abstractions Applicative, StateT, Lens
- Is it possible to place inequality constraints on haskell type variables?
- Associated Types and Haskell
- Practical uses of the Tardis monad?: 'build a packet ... where the fixed-length lengths and offsets of some variable length data are sent out before the actual data themselves'
- Comonadic builders
- Typed final (aka, ``tagless-final'') style is a general method of embedding domain-specific languages (DSL)
Updated by Grigoriy Volkov over 5 years ago · 90 revisions