All Projects → stepchowfun → Effects

stepchowfun / Effects

Licence: bsd-3-clause
A brief exploration of the various approaches to modeling side effects in a purely functional programming language.

Programming Languages

haskell
3896 projects

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
Haskell
Stars: ✭ 91 (-7.14%)
Mutual labels:  functional-programming
Fuego
Functional Experiment in Golang
Stars: ✭ 87 (-11.22%)
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
Tetris
A clone of the popular game Tetris.
Stars: ✭ 96 (-2.04%)
Mutual labels:  functional-programming
Theseus
theseus, functional programming language with fully reversible computation
Stars: ✭ 87 (-11.22%)
Mutual labels:  functional-programming
Fungamerefresh
好玩的下拉刷新控件,让我们一起来回味童年
Stars: ✭ 1,307 (+1233.67%)
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.

Build status

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:

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].