\hrule * === - defined in :: =src/./built_ins.cpp:158:0= - type :: =:cfunction= - docu :: #+BEGIN: Takes 0 or more arguments and returns =t= if all arguments are equal and =()= otherwise. #+END: \hrule * =>= - defined in :: =src/./built_ins.cpp:175:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =>== - defined in :: =src/./built_ins.cpp:193:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =<= - defined in :: =src/./built_ins.cpp:211:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =<== - defined in :: =src/./built_ins.cpp:231:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =+= - defined in :: =src/./built_ins.cpp:249:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =-= - defined in :: =src/./built_ins.cpp:262:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =*= - defined in :: =src/./built_ins.cpp:285:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =/= - defined in :: =src/./built_ins.cpp:306:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =**= - defined in :: =src/./built_ins.cpp:327:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =%= - defined in :: =src/./built_ins.cpp:343:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =assert= - defined in :: =src/./built_ins.cpp:359:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =define= - defined in :: =src/./built_ins.cpp:371:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =mutate= - defined in :: =src/./built_ins.cpp:433:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =if= - defined in :: =src/./built_ins.cpp:458:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =quote= - defined in :: =src/./built_ins.cpp:480:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =quasiquote= - defined in :: =src/./built_ins.cpp:485:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =and= - defined in :: =src/./built_ins.cpp:583:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =or= - defined in :: =src/./built_ins.cpp:594:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =not= - defined in :: =src/./built_ins.cpp:605:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =while= - defined in :: =src/./built_ins.cpp:615:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =lambda= - defined in :: =src/./built_ins.cpp:693:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =special-lambda= - defined in :: =src/./built_ins.cpp:705:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =eval= - defined in :: =src/./built_ins.cpp:713:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =begin= - defined in :: =src/./built_ins.cpp:725:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =list= - defined in :: =src/./built_ins.cpp:741:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =pair= - defined in :: =src/./built_ins.cpp:745:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =first= - defined in :: =src/./built_ins.cpp:755:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =rest= - defined in :: =src/./built_ins.cpp:766:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =set-type= - defined in :: =src/./built_ins.cpp:777:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =delete-type= - defined in :: =src/./built_ins.cpp:789:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =type= - defined in :: =src/./built_ins.cpp:796:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =info= - defined in :: =src/./built_ins.cpp:828:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =show= - defined in :: =src/./built_ins.cpp:910:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =addr-of= - defined in :: =src/./built_ins.cpp:922:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =generate-docs= - defined in :: =src/./built_ins.cpp:928:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =print= - defined in :: =src/./built_ins.cpp:937:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =read= - defined in :: =src/./built_ins.cpp:945:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =exit= - defined in :: =src/./built_ins.cpp:962:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =break= - defined in :: =src/./built_ins.cpp:973:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =memstat= - defined in :: =src/./built_ins.cpp:978:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =try= - defined in :: =src/./built_ins.cpp:982:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =load= - defined in :: =src/./built_ins.cpp:997:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =import= - defined in :: =src/./built_ins.cpp:1008:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =copy= - defined in :: =src/./built_ins.cpp:1019:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =error= - defined in :: =src/./built_ins.cpp:1027:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =symbol->keyword= - defined in :: =src/./built_ins.cpp:1034:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =string->symbol= - defined in :: =src/./built_ins.cpp:1043:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =symbol->string= - defined in :: =src/./built_ins.cpp:1055:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =concat-strings= - defined in :: =src/./built_ins.cpp:1064:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =pe= - defined in :: =pre.slime:2:40= - type :: =:macro= - arguments :: : - postitional :: =expr= - docu :: none \hrule * =when= - defined in :: =pre.slime:21:37= - type :: =:macro= - arguments :: : - postitional :: =condition=: - rest :: =body= - docu :: #+BEGIN: Special form for when multiple actions should be done if a condition is true. {{{example_start}}} (when (not ()) (print "Hello ") (print "from ") (print "when!")) (when () (print "Goodbye ") (print "World!")) {{{example_end}}} #+END: \hrule * =unless= - defined in :: =pre.slime:28:41= - type :: =:macro= - arguments :: : - postitional :: =condition=: - rest :: =body= - docu :: #+BEGIN: Special form for when multiple actions should be done if a condition is false. #+END: \hrule * =n-times= - defined in :: =pre.slime:35:35= - type :: =:macro= - arguments :: : - postitional :: =times=, =action= - docu :: #+BEGIN: Executes action times times. #+END: \hrule * =let= - defined in :: =pre.slime:52:64= - type :: =:macro= - arguments :: : - postitional :: =bindings=: - rest :: =body= - docu :: none \hrule * =cond= - defined in :: =pre.slime:66:19= - type :: =:macro= - arguments :: : - rest :: =clauses= - docu :: none \hrule * =define-special= - defined in :: =pre.slime:69:81= - type :: =:macro= - arguments :: : - postitional :: =name-and-args=: - rest :: =body= - docu :: none \hrule * =construct-list= - defined in :: =pre.slime:110:14= - type :: =:macro= - arguments :: : - rest :: =body= - docu :: #+BEGIN: {{{example_start}}} (construct-list i <- '(1 2 3 4 5) yield (* i i)) {{{example_end}}} (construct-list i <- '(1 2 3 4) j <- '(A B) yield (pair i j)) (construct-list i <- '(1 2 3 4 5 6 7 8) when (evenp i) yield i) #+END: \hrule * =apply= - defined in :: =pre.slime:115:28= - type :: =:macro= - arguments :: : - postitional :: =fun=, =seq= - docu :: #+BEGIN: Applies the funciton to the sequence, as in calls the function with ithe sequence as arguemens. #+END: \hrule * =define-package= - defined in :: =pre.slime:129:24= - type :: =:macro= - arguments :: : - postitional :: =name=: - rest :: =body= - docu :: none \hrule * =null?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is =nil=. #+END: \hrule * =number?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a number. #+END: \hrule * =symbol?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a symbol. #+END: \hrule * =keyword?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a keyword. #+END: \hrule * =pair?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a pair. #+END: \hrule * =string?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a string. #+END: \hrule * =lambda?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a function. #+END: \hrule * =macro?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a macro. #+END: \hrule * =special-lambda?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a special-lambda. #+END: \hrule * =built-in-function?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is a built-in function. #+END: \hrule * =callable?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: none \hrule * =end= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: #+BEGIN: Returns the last pair in the sqeuence. {{{example_start}}} (define a (list 1 2 3 4)) (printf (end a)) {{{example_end}}} #+END: \hrule * =last= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: #+BEGIN: Returns the (first) of the last (pair) of the given sequence. {{{example_start}}} (define a (list 1 2 3 4)) (printf (last a)) {{{example_end}}} #+END: \hrule * =extend= - type :: =:lambda= - arguments :: : - postitional :: =seq=, =elem= - docu :: #+BEGIN: Extends a list with the given element, by putting it in the (rest) of the last element of the sequence. #+END: \hrule * =extend2= - type :: =:lambda= - arguments :: : - postitional :: =seq=, =elem= - docu :: #+BEGIN: Extends a list with the given element, by putting it in the (rest) of the last element of the sequence. #+END: \hrule * =append= - type :: =:lambda= - arguments :: : - postitional :: =seq=, =elem= - docu :: #+BEGIN: Appends an element to a sequence, by extendeing the list with (pair elem nil). #+END: \hrule * =length= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: #+BEGIN: Returns the length of the given sequence. #+END: \hrule * =sublist-starting-at-index= - type :: =:lambda= - arguments :: : - postitional :: =seq=, =index= - docu :: none \hrule * =list-without-index= - type :: =:lambda= - arguments :: : - postitional :: =seq=, =index= - docu :: none \hrule * =increment= - type :: =:lambda= - arguments :: : - postitional :: =val= - docu :: #+BEGIN: Adds one to the argument. #+END: \hrule * =decrement= - type :: =:lambda= - arguments :: : - postitional :: =val= - docu :: #+BEGIN: Subtracts one from the argument. #+END: \hrule * =range= - type :: =:lambda= - arguments :: : - keyword :: =from= =(0)=, =to= - docu :: #+BEGIN: Returns a sequence of numbers starting with the number defined by the key =from= and ends with the number defined in =to=. #+END: \hrule * =range-while= - type :: =:lambda= - arguments :: : - keyword :: =from= =(0)=, =to= - docu :: #+BEGIN: Returns a sequence of numbers starting with the number defined by the key 'from' and ends with the number defined in 'to'. #+END: \hrule * =map= - type :: =:lambda= - arguments :: : - postitional :: =fun=, =seq= - docu :: #+BEGIN: Takes a function and a sequence as arguments and returns a new sequence which contains the results of using the first sequences elemens as argument to that function. #+END: \hrule * =reduce= - type :: =:lambda= - arguments :: : - postitional :: =fun=, =seq= - docu :: #+BEGIN: Takes a function and a sequence as arguments and applies the function to the argument sequence. This only works correctly if the given function accepts a variable amount of parameters. If your funciton is limited to two arguments, use [[=reduce-binary=]] instead. #+END: \hrule * =reduce-binary= - type :: =:lambda= - arguments :: : - postitional :: =fun=, =seq= - docu :: #+BEGIN: Takes a function and a sequence as arguments and applies the function to the argument sequence. reduce-binary applies the arguments *pair-wise* which means it works with binary functions as compared to [[=reduce=]]. #+END: \hrule * =filter= - type :: =:lambda= - arguments :: : - postitional :: =fun=, =seq= - docu :: #+BEGIN: Takes a function and a sequence as arguments and applies the function to every value in the sequence. If the result of that funciton application returns a truthy value, the original value is added to a list, which in the end is returned. #+END: \hrule * =zip= - type :: =:lambda= - arguments :: : - postitional :: =l1=, =l2= - docu :: none \hrule * =unzip= - type :: =:lambda= - arguments :: : - postitional :: =lists= - docu :: none \hrule * =enumerate= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =printf= - type :: =:lambda= - arguments :: : - keyword :: =sep= =(" ")=, =end= =("\n")=: - rest :: =args= - docu :: #+BEGIN: A wrapper for the built-in function [[=print=]] that accepts a variable number of arguments and also provides keywords for specifying the printed separators (=sep=) between the arguments and what should be printed after the last argument (=end=). #+END: \hrule * =define-class= - defined in :: =oo.slime:22:22= - type :: =:macro= - arguments :: : - postitional :: =name-and-members=: - rest :: =body= - docu :: #+BEGIN: Macro for creating simple classes. #+END: \hrule * =->= - defined in :: =oo.slime:25:24= - type :: =:macro= - arguments :: : - postitional :: =obj=, =meth=: - rest :: =args= - docu :: none \hrule * =math->= - type :: =:package= - arguments :: : - rest :: =args= - docu :: none \hrule * =math-> pi= - defined in :: =math.slime:5:4= - type :: =:number= - value :: =3.141593= - docu :: #+BEGIN: Tha famous circle constant. #+END: \hrule * =math-> abs= - defined in :: =math.slime:9:4= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Accepts one argument and returns the absoulte value of it #+END: \hrule * =math-> sqrt= - defined in :: =math.slime:13:4= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Accepts one argument and returns the square root of it #+END: \hrule * =math-> make-vector3= - defined in :: =pre.slime:52:63= - type :: =:constructor= - arguments :: : - postitional :: =x=, =y=, =z= - docu :: #+BEGIN: This is the handle to an object of the class vector3 #+END: \hrule * =math-> make-vector3 define-class= - defined in :: =oo.slime:22:22= - type :: =:macro= - arguments :: : - postitional :: =name-and-members=: - rest :: =body= - docu :: #+BEGIN: Macro for creating simple classes. #+END: \hrule * =math-> make-vector3 ->= - defined in :: =oo.slime:25:24= - type :: =:macro= - arguments :: : - postitional :: =obj=, =meth=: - rest :: =args= - docu :: none