\hrule * === - defined in :: =d:\code\gitlab\slime\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 :: =d:\code\gitlab\slime\src\./built_ins.cpp:175:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =>== - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:193:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =<= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:211:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =<== - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:231:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =+= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:249:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =-= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:262:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =*= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:285:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =/= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:306:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =**= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:327:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =%= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:343:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =assert= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:359:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =define= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:371:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =mutate= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:433:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =if= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:458:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =quote= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:478:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =quasiquote= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:483:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =and= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:581:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =or= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:592:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =not= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:603:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =while= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:613:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =lambda= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:691:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =special-lambda= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:703:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =eval= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:711:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =begin= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:723:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =list= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:739:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =pair= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:743:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =first= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:753:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =rest= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:764:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =set-type= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:775:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =delete-type= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:787:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =type= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:794:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =info= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:826:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =show= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:908:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =addr-of= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:920:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =generate-docs= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:926:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =print= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:935:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =read= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:943:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =exit= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:960:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =break= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:971:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =memstat= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:976:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =try= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:980:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =load= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:995:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =import= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:1006:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =copy= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:1017:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =error= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:1025:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =symbol->keyword= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:1032:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =string->symbol= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:1041:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =symbol->string= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:1053:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =concat-strings= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:1062: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:41= - 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:17= - type :: =:macro= - arguments :: : - rest :: =clauses= - docu :: none \hrule * =case= - defined in :: =pre.slime:81:17= - type :: =:macro= - arguments :: : - postitional :: =var=: - rest :: =clauses= - docu :: none \hrule * =define-special= - defined in :: =pre.slime:84:81= - type :: =:macro= - arguments :: : - postitional :: =name-and-args=: - rest :: =body= - docu :: none \hrule * =construct-list= - defined in :: =pre.slime:125: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:130:28= - type :: =:macro= - arguments :: : - postitional :: =fun=, =seq= - docu :: #+BEGIN: Applies the function to the sequence, as in calls the function with ithe sequence as arguemens. #+END: \hrule * =define-typed= - defined in :: =pre.slime:142:16= - type :: =:macro= - arguments :: : - postitional :: =args=: - rest :: =body= - docu :: none \hrule * =define-package= - defined in :: =pre.slime:158:24= - type :: =:macro= - arguments :: : - postitional :: =name=: - rest :: =body= - docu :: none \hrule * =ttt= - type :: =:lambda= - arguments :: : - postitional :: =a=, =b= - docu :: none \hrule * =null?= - type :: =:lambda= - arguments :: : - postitional :: =x= - docu :: #+BEGIN: Checks if the argument is =nil=. #+END: \hrule * =type=?= - type :: =:lambda= - arguments :: : - postitional :: =obj=, =typ= - docu :: #+BEGIN: Checks if the argument =obj= is of type =typ= #+END: \hrule * =types=?= - type :: =:lambda= - arguments :: : - rest :: =objs= - docu :: none \hrule * =assert-types== - type :: =:lambda= - arguments :: : - rest :: =objs= - docu :: none \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 * =member?= - type :: =:lambda= - arguments :: : - postitional :: =elem=, =seq= - docu :: none \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 * =key-not-found-index= - defined in :: =d:\Code\Gitlab\slime\bin\alist.slime:28:31= - type :: =:number= - value :: =-1= - docu :: none \hrule * =make-alist= - type :: =:lambda= - arguments :: none. - docu :: none \hrule * =make-plist= - type :: =:lambda= - arguments :: none. - docu :: none \hrule * =pprint-alist= - type :: =:lambda= - arguments :: : - postitional :: =alist= - docu :: none \hrule * =pprint-plist= - type :: =:lambda= - arguments :: : - postitional :: =plist= - docu :: none \hrule * =alist-get= - type :: =:lambda= - arguments :: : - postitional :: =alist=, =key= - docu :: none \hrule * =alist-find= - type :: =:lambda= - arguments :: : - postitional :: =alist=, =key= - docu :: none \hrule * =alist-key-exists?= - type :: =:lambda= - arguments :: : - postitional :: =alist=, =key= - docu :: none \hrule * =alist-remove!= - type :: =:lambda= - arguments :: : - postitional :: =alist=, =key= - docu :: none \hrule * =alist-set!= - type :: =:lambda= - arguments :: : - postitional :: =alist=, =key=, =value= - docu :: none \hrule * =alist-set-overwrite!= - type :: =:lambda= - arguments :: : - postitional :: =alist=, =key=, =value= - docu :: none \hrule * =plist-get= - type :: =:lambda= - arguments :: : - postitional :: =plist=, =prop= - docu :: none \hrule * =plist-set!= - type :: =:lambda= - arguments :: : - postitional :: =plist=, =prop=, =value= - docu :: none \hrule * =plist-set-overwrite!= - type :: =:lambda= - arguments :: : - postitional :: =plist=, =prop=, =value= - docu :: none \hrule * =plist-find= - type :: =:lambda= - arguments :: : - postitional :: =plist=, =prop= - docu :: none \hrule * =plist-prop-exists?= - type :: =:lambda= - arguments :: : - postitional :: =plist=, =prop= - docu :: none \hrule * =plist-remove!= - type :: =:lambda= - arguments :: : - postitional :: =plist=, =prop= - docu :: none \hrule * =cons= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:743:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =car= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:753:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =cdr= - defined in :: =d:\code\gitlab\slime\src\./built_ins.cpp:764:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =caar= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cddr= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cadr= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cdar= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =caaar= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =caadr= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cadar= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =caddr= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cdaar= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cdadr= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cddar= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =cdddr= - type :: =:lambda= - arguments :: : - postitional :: =seq= - docu :: none \hrule * =define-class= - defined in :: =d:\Code\Gitlab\slime\bin\oo.slime:22:22= - type :: =:macro= - arguments :: : - postitional :: =name-and-members=: - rest :: =body= - docu :: #+BEGIN: Macro for creating simple classes. #+END: \hrule * =->= - defined in :: =d:\Code\Gitlab\slime\bin\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 :: =d:\Code\Gitlab\slime\bin\math.slime:5:4= - type :: =:number= - value :: =3.141593= - docu :: #+BEGIN: Tha famous circle constant. #+END: \hrule * =math-> abs= - defined in :: =d:\Code\Gitlab\slime\bin\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 :: =d:\Code\Gitlab\slime\bin\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 :: =d:\Code\Gitlab\slime\bin\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 :: =d:\Code\Gitlab\slime\bin\oo.slime:25:24= - type :: =:macro= - arguments :: : - postitional :: =obj=, =meth=: - rest :: =args= - docu :: none