tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

showcase-library-probe.tri (447B)


      1 !import published_patterns as P
      2 !import published_traversal as R
      3 !import native_math as N
      4 !export main
      5 
      6 -- Independent acceptance probe for published dispatch and early-stop folds.
      7 dispatch value = P.match value [
      8   [(v : N.lt v 5) (v : N.add v 10)]
      9   [(v : t t) (v : 99)]]
     10 step 0 state = R.listStop state
     11 step value state = R.listContinue (N.add state value)
     12 main = [(dispatch 3) (dispatch 6) (P.match 0 [])
     13   (R.listFoldUntil [1 2 0 9] 0 step)]