David Schalk's repositories

fun-with-monads

First in the "Javascript Monads" series. The app is running online at http:/schalk.net:3055 .

Language:JavaScriptLicense:MITStargazers:2Issues:4Issues:0
Language:JavaScriptLicense:MITStargazers:2Issues:0Issues:0
Language:JavaScriptLicense:MITStargazers:2Issues:5Issues:0
Language:JavaScriptStargazers:2Issues:0Issues:0

monads-in-javascript

Practical Monads for Working Developers and Students

Language:JavaScriptLicense:MITStargazers:1Issues:3Issues:0

Useful-Recursive-Closures-in-JavaScript

Recursive functions returned by the simple M(x) function (no restrictions on what x can be) form closures with M that facilitate elegant function composition, sequestering state transformations inside the closure's scope, and more. A demonstration features a solitaire version of the simulated four-dice game of Score controlled inside the closure "m2 = M(x)", where x = [ [], [], [], [], [], [], [],[] ].

Language:HTMLStargazers:1Issues:2Issues:0

rc_monads

Encapsulation of dynamic state in recursive closures. M(x) returns a function that operates on functions that operate on x. rc_monads can be objects in categories if the functions on which they operate are morphisms in some category, such as addition in the category of positive integers.

Language:SvelteStargazers:0Issues:0Issues:0

blog

This is David Schalk's blog. It's coded in the wonderful Svelte framework.

Language:JavaScriptStargazers:0Issues:0Issues:0

cubix

Rubik's cube on three.js

Language:SvelteStargazers:0Issues:1Issues:0

demos

D-Wave Ocean code examples

Language:PythonLicense:Apache-2.0Stargazers:0Issues:2Issues:0

game2

The game that was part of functional-javascript

Language:JavaScriptLicense:MITStargazers:0Issues:3Issues:0

JavaScript-Functions

This site showcases the power and potential usefulness of small closures that hold state (any JavaScript value), return functions that operate on functions that operate on state, and then return themselves, ready to operate on any remaining functions in front of them. These closures facilitate composition, encapsulation, and much more.

Language:SvelteLicense:MITStargazers:0Issues:0Issues:0

js-custom-operators

:v: Create your own operators in JavaScript

Language:JavaScriptLicense:MITStargazers:0Issues:0Issues:0
Language:JavaScriptLicense:MITStargazers:0Issues:0Issues:0
Language:JavaScriptLicense:MITStargazers:0Issues:3Issues:0
Language:JavaScriptStargazers:0Issues:0Issues:0

monads1

Small, unconstrained, untyped dynamic closures have boundless possibilities.

Language:JavaScriptStargazers:0Issues:0Issues:0
Language:JavaScriptLicense:MITStargazers:0Issues:0Issues:0

playground-2wruw1et

Tech.io playground

Language:HaskellStargazers:0Issues:0Issues:0

playground-ccqgaqn5

Tech.io playground

Stargazers:0Issues:0Issues:0
Language:JavaScriptLicense:MITStargazers:0Issues:0Issues:0

Recursive-JavaScript-Closures

Using recursive closures, a/k/a "monads", to (1) facilitate function composition; (2) insulate function composition; (3) extend the usefulness of Promises; {4) organize applications.

Language:JavaScriptStargazers:0Issues:2Issues:0
Language:HTMLStargazers:0Issues:0Issues:0

score2

A real time, multi-player game resting on wai-websockets.

Language:JavaScriptLicense:MITStargazers:0Issues:0Issues:0
Language:JavaScriptLicense:MITStargazers:0Issues:0Issues:0
Language:HTMLStargazers:0Issues:2Issues:0
Language:JavaScriptStargazers:0Issues:2Issues:0
Language:SvelteStargazers:0Issues:0Issues:0

xstream

An extremely intuitive, small, and fast functional reactive stream library for JavaScript

Language:TypeScriptLicense:MITStargazers:0Issues:0Issues:0