\hrule * =file_name= - defined in :: =generate-docs.slime:5:44= - type :: =:string= - value :: ="../manual/built-in-docs.org"= - docu :: none \hrule * === - defined in :: =src/./built_ins.cpp:159: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:189:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =<= - defined in :: =src/./built_ins.cpp:203:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =<== - defined in :: =src/./built_ins.cpp:217: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:243:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =*= - defined in :: =src/./built_ins.cpp:264:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =/= - defined in :: =src/./built_ins.cpp:281:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =**= - defined in :: =src/./built_ins.cpp:300:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =%= - defined in :: =src/./built_ins.cpp:307:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =assert= - defined in :: =src/./built_ins.cpp:314:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =define-syntax= - defined in :: =src/./built_ins.cpp:323:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =define= - defined in :: =src/./built_ins.cpp:369:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =mutate= - defined in :: =src/./built_ins.cpp:425:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =vector-length= - defined in :: =src/./built_ins.cpp:447:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =vector-ref= - defined in :: =src/./built_ins.cpp:452:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =vector-set!= - defined in :: =src/./built_ins.cpp:465:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =set!= - defined in :: =src/./built_ins.cpp:480:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =set-car!= - defined in :: =src/./built_ins.cpp:500:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =set-cdr!= - defined in :: =src/./built_ins.cpp:508:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =if= - defined in :: =src/./built_ins.cpp:516:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =quote= - defined in :: =src/./built_ins.cpp:530:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =quasiquote= - defined in :: =src/./built_ins.cpp:534:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =and= - defined in :: =src/./built_ins.cpp:631:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =or= - defined in :: =src/./built_ins.cpp:643:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =not= - defined in :: =src/./built_ins.cpp:655:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =lambda= - defined in :: =src/./built_ins.cpp:689: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:721:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =begin= - defined in :: =src/./built_ins.cpp:731:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =list= - defined in :: =src/./built_ins.cpp:743:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =vector= - defined in :: =src/./built_ins.cpp:747:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =pair= - defined in :: =src/./built_ins.cpp:754:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =first= - defined in :: =src/./built_ins.cpp:761:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =rest= - defined in :: =src/./built_ins.cpp:768:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =set-type!= - defined in :: =src/./built_ins.cpp:775:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =delete-type!= - defined in :: =src/./built_ins.cpp:781:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =type= - defined in :: =src/./built_ins.cpp:786:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =mem-reset= - defined in :: =src/./built_ins.cpp:819: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:899:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =addr-of= - defined in :: =src/./built_ins.cpp:911:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =generate-docs= - defined in :: =src/./built_ins.cpp:916:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =print= - defined in :: =src/./built_ins.cpp:922:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =read= - defined in :: =src/./built_ins.cpp:937:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =exit= - defined in :: =src/./built_ins.cpp:949:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =break= - defined in :: =src/./built_ins.cpp:954:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =memstat= - defined in :: =src/./built_ins.cpp:960:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =load= - defined in :: =src/./built_ins.cpp:979:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =import= - defined in :: =src/./built_ins.cpp:989:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =copy= - defined in :: =src/./built_ins.cpp:1000:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =symbol->keyword= - defined in :: =src/./built_ins.cpp:1013:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =string->symbol= - defined in :: =src/./built_ins.cpp:1018:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =symbol->string= - defined in :: =src/./built_ins.cpp:1027:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =concat-strings= - defined in :: =src/./built_ins.cpp:1034:0= - type :: =:cfunction= - docu :: #+BEGIN: TODO #+END: \hrule * =pe= - type :: =:macro= - arguments :: : - postitional :: =expr= - docu :: none \hrule * =when= - 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= - 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= - type :: =:macro= - arguments :: : - postitional :: =times=, =action= - docu :: #+BEGIN: Executes action times times. #+END: \hrule * =let= - type :: =:macro= - arguments :: : - postitional :: =bindings=: - rest :: =body= - docu :: none \hrule * =cond= - type :: =:macro= - arguments :: : - rest :: =clauses= - docu :: none \hrule * =case= - type :: =:macro= - arguments :: : - postitional :: =var=: - rest :: =clauses= - docu :: none \hrule * =define-special= - type :: =:macro= - arguments :: : - postitional :: =name-and-args=: - rest :: =body= - docu :: none \hrule * =construct-list= - 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) if (= 0 (% i 2)) yield i) #+END: \hrule * =apply= - 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= - type :: =:macro= - arguments :: : - postitional :: =args=: - rest :: =body= - docu :: none \hrule * =define-module= - type :: =:macro= - arguments :: : - postitional :: =module-name=: - keyword :: =exports=: - rest :: =body= - 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)) (print (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)) (print (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)= - 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