diff options
Diffstat (limited to 'std/List.bruijn')
-rw-r--r-- | std/List.bruijn | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/std/List.bruijn b/std/List.bruijn index 39aecf8..bb8bed3 100644 --- a/std/List.bruijn +++ b/std/List.bruijn @@ -1,7 +1,6 @@ # MIT License, Copyright (c) 2022 Marvin Borner # Lists in Church/Boehm-Berarducci encoding using pairs # implementations are generally lazy (except when they're broken) -# TODO: Replace fold/map/etc. with faster LC native logic :import std/Combinator . :import std/Pair P @@ -85,6 +84,9 @@ eval-r z [[rec]] :test (~!(inc : (inc : {}(+1)))) ((+3)) +# returns the element at unary index in list +index-unary [[P.fst (0 P.snd 1)]] ⧗ (List a) → Unary → a + # returns the element at index in list index z [[[rec]]] ⧗ (List a) → Number → a rec 0 [[[case-index]]] case-end |