Add lcompose to prelude, size to rb, and sketch out fungll. Still haven't figured out the exact datatype for grammer_slots and have decided to implement [] destrucuring in lambda params, and change let destructuring to use [].

This commit is contained in:
Nathan Braswell
2021-08-03 00:56:07 -04:00
parent dc712060cd
commit c96f20c80e
4 changed files with 143 additions and 34 deletions

View File

@@ -1,49 +1,49 @@
(with_import "./rb.kp"
(let (
first set-empty
_ (println first " set-contains? " 1 " ? " (set-contains? first 1))
_ (println first " set-contains? " 1 " ? " (set-contains? first 1) " size " (size first))
second (set-insert first 1)
_ (println second " set-contains? " 1 " ? " (set-contains? second 1))
_ (println second " set-contains? " 1 " ? " (set-contains? second 1) " size " (size second))
third (set-insert second 2)
_ (println third " set-contains? " 1 " ? " (set-contains? third 1))
_ (println third " set-contains? " 2 " ? " (set-contains? third 2))
_ (println third " set-contains? " 1 " ? " (set-contains? third 1) " size " (size third))
_ (println third " set-contains? " 2 " ? " (set-contains? third 2) " size " (size third))
fourth (set-insert third 3)
_ (println fourth " set-contains? " 1 " ? " (set-contains? fourth 1))
_ (println fourth " set-contains? " 2 " ? " (set-contains? fourth 2))
_ (println fourth " set-contains? " 3 " ? " (set-contains? fourth 3))
_ (println fourth " set-contains? " 4 " ? " (set-contains? fourth 4))
_ (println fourth " set-contains? " 1 " ? " (set-contains? fourth 1) " size " (size fourth))
_ (println fourth " set-contains? " 2 " ? " (set-contains? fourth 2) " size " (size fourth))
_ (println fourth " set-contains? " 3 " ? " (set-contains? fourth 3) " size " (size fourth))
_ (println fourth " set-contains? " 4 " ? " (set-contains? fourth 4) " size " (size fourth))
fifth (set-remove fourth 1)
_ (println fifth " set-contains? " 1 " ? " (set-contains? fifth 1))
_ (println fifth " set-contains? " 2 " ? " (set-contains? fifth 2))
_ (println fifth " set-contains? " 3 " ? " (set-contains? fifth 3))
_ (println fifth " set-contains? " 4 " ? " (set-contains? fifth 4))
_ (println fifth " set-contains? " 1 " ? " (set-contains? fifth 1) " size " (size fifth))
_ (println fifth " set-contains? " 2 " ? " (set-contains? fifth 2) " size " (size fifth))
_ (println fifth " set-contains? " 3 " ? " (set-contains? fifth 3) " size " (size fifth))
_ (println fifth " set-contains? " 4 " ? " (set-contains? fifth 4) " size " (size fifth))
sixth (set-remove fifth 3)
_ (println sixth " set-contains? " 1 " ? " (set-contains? sixth 1))
_ (println sixth " set-contains? " 2 " ? " (set-contains? sixth 2))
_ (println sixth " set-contains? " 3 " ? " (set-contains? sixth 3))
_ (println sixth " set-contains? " 4 " ? " (set-contains? sixth 4))
_ (println sixth " set-contains? " 1 " ? " (set-contains? sixth 1) " size " (size sixth))
_ (println sixth " set-contains? " 2 " ? " (set-contains? sixth 2) " size " (size sixth))
_ (println sixth " set-contains? " 3 " ? " (set-contains? sixth 3) " size " (size sixth))
_ (println sixth " set-contains? " 4 " ? " (set-contains? sixth 4) " size " (size sixth))
seventh (set-remove sixth 2)
_ (println seventh " set-contains? " 1 " ? " (set-contains? seventh 1))
_ (println seventh " set-contains? " 2 " ? " (set-contains? seventh 2))
_ (println seventh " set-contains? " 3 " ? " (set-contains? seventh 3))
_ (println seventh " set-contains? " 4 " ? " (set-contains? seventh 4))
_ (println seventh " set-contains? " 1 " ? " (set-contains? seventh 1) " size " (size seventh))
_ (println seventh " set-contains? " 2 " ? " (set-contains? seventh 2) " size " (size seventh))
_ (println seventh " set-contains? " 3 " ? " (set-contains? seventh 3) " size " (size seventh))
_ (println seventh " set-contains? " 4 " ? " (set-contains? seventh 4) " size " (size seventh))
first map-empty
_ (println first " map-contains-key? " 1 " ? " (map-contains-key? first 1))
_ (println first " map-contains-key? " 1 " ? " (map-contains-key? first 1) " size " (size first))
second (map-insert first 1 "hello")
_ (println second " map-contains-key? " 1 " ? " (map-contains-key? second 1))
_ (println second " map-get " 1 " ? " (map-get second 1))
_ (println second " map-contains-key? " 1 " ? " (map-contains-key? second 1) " size " (size second))
_ (println second " map-get " 1 " ? " (map-get second 1) " size " (size second))
third (map-insert second 1 "goodbye")
_ (println third " map-contains-key? " 1 " ? " (map-contains-key? third 1))
_ (println third " map-get " 1 " ? " (map-get third 1))
_ (println third " map-contains-key? " 1 " ? " (map-contains-key? third 1) " size " (size third))
_ (println third " map-get " 1 " ? " (map-get third 1) " size " (size third))
fourth (map-insert third 2 "hmmm")
_ (println fourth " map-contains-key? " 2 " ? " (map-contains-key? fourth 2))
_ (println fourth " map-get " 2 " ? " (map-get fourth 2))
_ (println fourth " map-contains-key? " 1 " ? " (map-contains-key? fourth 1))
_ (println fourth " map-get " 1 " ? " (map-get fourth 1))
_ (println fourth " map-contains-key? " 3 " ? " (map-contains-key? fourth 3))
_ (println fourth " map-get-or-default " 3 " 'hi ? " (map-get-or-default fourth 3 'hi))
_ (println fourth " map-get-with-default " 3 " (lambda () 'bye) ? " (map-get-with-default fourth 3 (lambda () 'bye)))
_ (println fourth " map-contains-key? " 2 " ? " (map-contains-key? fourth 2) " size " (size fourth))
_ (println fourth " map-get " 2 " ? " (map-get fourth 2) " size " (size fourth))
_ (println fourth " map-contains-key? " 1 " ? " (map-contains-key? fourth 1) " size " (size fourth))
_ (println fourth " map-get " 1 " ? " (map-get fourth 1) " size " (size fourth))
_ (println fourth " map-contains-key? " 3 " ? " (map-contains-key? fourth 3) " size " (size fourth))
_ (println fourth " map-get-or-default " 3 " 'hi ? " (map-get-or-default fourth 3 'hi) " size " (size fourth))
_ (println fourth " map-get-with-default " 3 " (lambda () 'bye) ? " (map-get-with-default fourth 3 (lambda () 'bye)) " size " (size fourth))
fifth (map-remove fourth 2)
_ (println fifth " map-contains-key? " 2 " ? " (map-contains-key? fifth 2))
_ (println fifth " map-contains-key? " 2 " ? " (map-contains-key? fifth 2) " size " (size fifth))
) nil))