stepchowfun / Effects
Licence: bsd-3-clause
A brief exploration of the various approaches to modeling side effects in a purely functional programming language.
Stars: ✭ 98
Programming Languages
haskell
3896 projects
Labels
Projects that are alternatives of or similar to Effects
Spring 5 Examples
This repository is contains spring-boot 2 / spring framework 5 project examples. Using reactive programming model / paradigm and Kotlin
Stars: ✭ 87 (-11.22%)
Mutual labels: functional-programming
Lda Topic Modeling
A PureScript, browser-based implementation of LDA topic modeling.
Stars: ✭ 91 (-7.14%)
Mutual labels: functional-programming
Tensor Safe
A Haskell framework to define valid deep learning models and export them to other frameworks like TensorFlow JS or Keras.
Stars: ✭ 96 (-2.04%)
Mutual labels: functional-programming
Fundamental Haskell
Fundamental Haskell book, to the point terse statements on Haskell, Category theory, and related fields. Encyclopedic pocketbook of meaning. Zen kōan-like meditations of understanding. For quick or memory curve spaced repetition learning.
Stars: ✭ 88 (-10.2%)
Mutual labels: functional-programming
Spotted Leopards
Proof of concept for a cats-like library built using Dotty features
Stars: ✭ 91 (-7.14%)
Mutual labels: functional-programming
Sspipe
Simple Smart Pipe: python productivity-tool for rapid data manipulation
Stars: ✭ 96 (-2.04%)
Mutual labels: functional-programming
Taskorama
⚙ A Task/Future data type for JavaScript
Stars: ✭ 90 (-8.16%)
Mutual labels: functional-programming
Paperplane
Lighter-than-air node.js server framework
Stars: ✭ 95 (-3.06%)
Mutual labels: functional-programming
Test Each
🤖 Repeat tests. Repeat tests. Repeat tests.
Stars: ✭ 89 (-9.18%)
Mutual labels: functional-programming
Functionalplus
Functional Programming Library for C++. Write concise and readable C++ code.
Stars: ✭ 1,286 (+1212.24%)
Mutual labels: functional-programming
Tyche
Statistics utilities for the JVM - in Scala!
Stars: ✭ 93 (-5.1%)
Mutual labels: functional-programming
Kotlintutorial
Learn Kotlin programming from scratch
Stars: ✭ 88 (-10.2%)
Mutual labels: functional-programming
Theseus
theseus, functional programming language with fully reversible computation
Stars: ✭ 87 (-11.22%)
Mutual labels: functional-programming
Articles
Code snippets for articles posted at 4comprehension.com
Stars: ✭ 96 (-2.04%)
Mutual labels: functional-programming
Scalacaster
Purely Functional Algorithms and Data Structures in Scala
Stars: ✭ 1,342 (+1269.39%)
Mutual labels: functional-programming
Expression
Pragmatic functional programming for Python inspired by F#
Stars: ✭ 94 (-4.08%)
Mutual labels: functional-programming
Effects
A brief exploration of the various approaches to modeling side effects in a purely functional programming language.
The challenge
Write a program that initializes an accumulator and random seed both with 0
and then runs the following procedure 10 times:
- Log the value of the accumulator.
- Pick an integer uniformly randomly from the half-open interval
[0, 10)
. - Mutate the accumulator by adding the random integer to it.
Thus, 3 computational effects are exhibited: logging, randomness, and mutable state.
Techniques demonstrated
This repository contains 4 implementations of the program described above, each demonstrating a specific technique:
- A bespoke monad
- A standard monad transformer stack
- A free monad
- The
Eff
monad from the "extensible effects" framework
Instructions
Make sure you have Toast installed. Then you can run toast run
to build and run the demo.
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].