update readme with lambda mechanisms

master
cynic 3 years ago
parent 9c0ba1801a
commit de41594a38
  1. 13
      readme.txt

@ -15,10 +15,13 @@ these functions are executed homoiconic objects made up of language types:
- number, everything capable of being represented as a decimal float value - number, everything capable of being represented as a decimal float value
- lambda, an anonymous expression containing the args and procedure - lambda, an anonymous expression containing the args and procedure
- identifier, everything else - identifier, everything else
lists starting with defined function identifiers are executed with the rest of the list an identifier previously defined in the scope will expand upon execution
as parameters, i.e. (spit "hello~" (+ 9000 1)). runs `spit` using "hello" and (+ 9000 1). to the expression it is defined to. e.g. (def add (lambda (a b) a+b)) will
the lower-order function is calculated for the higher-order one, so it ends up calling cause any executed instance of `add` to expand to (lambda (a b) a+b)).
`spit` with "hello" and 9001. lists starting with lambda are executed with the rest of the list as parameters,
i.e. (spit "hello~" (+ 9000 1)). runs the lambda `spit` refers to using "hello"
and (+ 9000 1). the lower-order function is calculated for the higher-order one,
so it ends up calling `spit` with "hello" and 9001.
there are also pre-processor macros: there are also pre-processor macros:
- INCLUDE:<path>, for expanding and inserting another file - INCLUDE:<path>, for expanding and inserting another file
- DEFINE:<name>:macro:<arg1>:<arg2>:<argn>, for defining macros - DEFINE:<name>:macro:<arg1>:<arg2>:<argn>, for defining macros
@ -37,7 +40,7 @@ examples:
this language belongs to makise kurisu. there are many like it, but this one is hers. this language belongs to makise kurisu. there are many like it, but this one is hers.
<=== <===
(def a (id (id "desu"))) (def a (id "desu"))
(spit (spit
("lol swej" (+ 9000 1) a)) ("lol swej" (+ 9000 1) a))
===> ===>

Loading…
Cancel
Save