#!/home/arne/wisp/wisp-multiline.sh ; !# define-module : examples d6 . #:export : roll check ; basic d6 rules, implemented in guile define : roll . "Roll one ± d6" let : : die '(-5 -3 -1 2 4 6) list-ref die : random 6 : random-state-from-platform define : check skill target effect-threshold . "Check whether a given skill-roll succeeds and provide a margin of success." let : : result : + skill : roll if : > result target if : < effect-threshold : - result target . 1 . #t . #f display : check 12 9 3 newline display : roll