Skip to content

Instantly share code, notes, and snippets.

View SchlenkR's full-sized avatar

SchlenkR SchlenkR

View GitHub Profile
@SchlenkR
SchlenkR / Zero and Yield
Last active May 6, 2025 17:01
Why unit - why not generalized
type ZeroMarker = ZeroMarker
type UseStateBuilder() =
member _.Yield(x) = x
member _.Zero() = ZeroMarker
member _.Combine(_, b) = b
member _.Delay(f) = f
member _.Run(f) = f ()
let useState = UseStateBuilder()
@SchlenkR
SchlenkR / HardcoreSyntaxSugar.fsx
Created October 4, 2025 15:57
HardcoreSyntaxSugar-LinkedIn-Post
open System.Collections.Generic
type ListBuilder() =
member _.Yield(x) =
let dotnetList = new List<_>()
do dotnetList.Add(x)
dotnetList
member _.YieldFrom(list) = list
member _.Zero() = new List<_>()
member _.Combine(list1: List<_>, list2) =