All Projects → HeinrichApfelmus → operational

HeinrichApfelmus / operational

Licence: other
Implement monads by specifying instructions and their desired operational semantics.

Programming Languages

haskell
3896 projects

Projects that are alternatives of or similar to operational

freedsl
Practical effect composition library based on abstract wrapping type and the free monad
Stars: ✭ 37 (-51.95%)
Mutual labels:  monad, free-monad
elixir-control
An exploratory look into functors, applicatives, and monads for Elixir
Stars: ✭ 21 (-72.73%)
Mutual labels:  monad
Bastet
A ReasonML/Ocaml library for category theory and abstract algebra
Stars: ✭ 200 (+159.74%)
Mutual labels:  monad
Design-Patterns
Project for learning and discuss about design patterns
Stars: ✭ 16 (-79.22%)
Mutual labels:  monad
Monadless
Syntactic sugar for monad composition in Scala
Stars: ✭ 231 (+200%)
Mutual labels:  monad
tiinvo
Functions for tacit programming and functional types for TypeScript and JavaScript.
Stars: ✭ 36 (-53.25%)
Mutual labels:  monad
Fluture
🦋 Fantasy Land compliant (monadic) alternative to Promises
Stars: ✭ 2,249 (+2820.78%)
Mutual labels:  monad
J-Curry
A Java library that enables applying Functional Programming concepts like currying and partial application for functions, also it supports types like Either, Try, etc... using RxJava 2 interfaces, compatible with Java 7 and above
Stars: ✭ 17 (-77.92%)
Mutual labels:  monad
future.scala
Stack-safe asynchronous programming
Stars: ✭ 38 (-50.65%)
Mutual labels:  monad
LLVM-JVM
[W.I.P] A Just-In-Time Java Virtual Machine written in Haskell
Stars: ✭ 22 (-71.43%)
Mutual labels:  monad
Cats Mtl
cats transformer type classes.
Stars: ✭ 238 (+209.09%)
Mutual labels:  monad
Mtl
The Monad Transformer Library
Stars: ✭ 252 (+227.27%)
Mutual labels:  monad
hymn
Hy Monad Notation - a monad library for Hy
Stars: ✭ 47 (-38.96%)
Mutual labels:  monad
Dsl.scala
A framework to create embedded Domain-Specific Languages in Scala
Stars: ✭ 220 (+185.71%)
Mutual labels:  monad
UnderstandingLanguageExt
This is a tutorial that aims to demonstrate the practical fundamentals behind using LanguageExt in a fashion though step-by-step tutorials which introduce and then build up on concepts.
Stars: ✭ 73 (-5.19%)
Mutual labels:  monad
Funcadelic.js
Functional programming and category theory for everyday JavaScript development
Stars: ✭ 183 (+137.66%)
Mutual labels:  monad
functional-structures-refactoring-kata
Starting code and proposed solution for Functional Structures Refactoring Kata
Stars: ✭ 31 (-59.74%)
Mutual labels:  monad
free-monad-java
Free Monad in Java
Stars: ✭ 27 (-64.94%)
Mutual labels:  monad
telepooz
Functional Telegram Bot API wrapper for Scala on top of akka, circe, cats, and shapeless
Stars: ✭ 26 (-66.23%)
Mutual labels:  free-monad
fnts
λ Minimal Functional Programming Utilities for TypeScript & JavaScript
Stars: ✭ 75 (-2.6%)
Mutual labels:  monad

Operational is a tiny library for implementing monads by specifying the primitive instructions and their operational semantics. The monad laws will hold automatically. It can also be used to define monad transformers, and the lifting laws are, again, automatic.

It is based on the article The Operational Monad Tutorial, published in Issue 15 of The Monad.Reader.

For more, see the project website.


Sources and inspiration for this library include Chuan-kai Lin's unimo paper, John Hughes 95, and Ryan Ingram's MonadPrompt package.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].