Quick actions

cmd+k|ctrl+k

Navigation

Languages

Turnstile State Machine

Snippet info

Language

Fsharp

Visibility

public

Author

mjg.py3

Created

2018-01-18T03:20:38Z

Updated

2018-01-18T03:20:38Z

type State = Locked | Unlocked

type Input = Coin | Push

let next state input =
  match state, input with
    | Locked, Coin -> Unlocked
    | Unlocked, Push -> Locked
    | _ -> state
    
printfn "%A" (next Locked Coin)

printfn "%A" (List.ofSeq (Seq.scan next Locked [Coin; Coin; Push; Push; Coin]))
INFO