diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2021-11-25 13:30:25 +0200 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2021-11-25 19:01:31 +0200 |
| commit | 3d68debb9b90875b91b86b935b8b311758d40747 (patch) | |
| tree | 03622f8a083a863e404bc50b919b7946b97ccee1 /samples/tuples.tunk | |
| parent | 5a8684445c2799458aa1d5b8dfd1aa032016e2aa (diff) | |
Update sample code
Diffstat (limited to 'samples/tuples.tunk')
| -rw-r--r-- | samples/tuples.tunk | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/samples/tuples.tunk b/samples/tuples.tunk new file mode 100644 index 0000000..4c7f0a4 --- /dev/null +++ b/samples/tuples.tunk @@ -0,0 +1,28 @@ +# Define a constructor for making a 2-tuple (a, b) +new-pair a b fn = fn a b; + +# Define selector functions for picking out an element from the 2-tuple +pair-first p = p true; +pair-second p = p false; + +# Test them out +my-pair = new-pair 1 2; +pair-first my-pair; +pair-second my-pair; + +# Define a constructor for making a 3-tuple (a, b, c) +new-triple a b c fn = fn a b c; + +# Define selector functions for picking out an element from the 3-tuple +select1 a b c = a; +select2 a b c = b; +select3 a b c = c; +triple-first t = t select1; +triple-second t = t select2; +triple-third t = t select3; + +# Test them out +my-triple = new-triple "a" "b" "c"; +triple-first my-triple; +triple-second my-triple; +triple-third my-triple; |
