Actions
Haskell » History » Revision 42
« Previous |
Revision 42/90
(diff)
| Next »
Grigoriy Volkov, 08/02/2019 02:15 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
The Haskell Phrasebook
Best practices¶
snippets¶
ghci debugging¶
:set -fbreak-on-error -fbreak-on-exception :trace machineMain :force _exception :hist :back
libs¶
- co-log
- named arguments
- 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
- bound: Making de Bruijn Succ Less — convenient combinators for working with "locally-nameless" terms. These can be useful when writing a type checker, evaluator, parser, or pretty printer for terms that contain binders like forall or lambda
- type-spec: type level testing eDSL
- should-not-typecheck
- Constraints:
- HKD:
- REVERSIBLE PARSING!!
exts¶
- Existential Quantification
- RebindableSyntax — overloading built-in operators / do notation
- NullaryTypeClasses — global implementation of one thing
- DataKinds , TypeFamilies (+ GHC.TypeLits) — type-level annotations
other¶
- https://github.com/cohomolo-gy/haskell-resources
- 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?
- 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
- Tagless Final:
- Introduction to Tagless Final
- Tagless Final Encoding in Haskell
- Typed final (aka, ``tagless-final'') style is a general method of embedding domain-specific languages (DSL)
- Control.Monad.Trans.Cont / CC-delcont / Delimited continuations in Haskell / A Monadic Framework for DelimitedContinuations
- Haskell's continuation monad
- GHC's Specializer: Much More Than You Wanted to Know
- Type Classes and Constraints
- Overloading lambda
- TypeFamilies:
- HKD:
Updated by Grigoriy Volkov over 5 years ago · 90 revisions