auto doc generation

This commit is contained in:
Felix Brendel
2019-06-11 01:17:36 +02:00
parent d01269aa13
commit 6f5ecc87b0
22 changed files with 2375 additions and 229 deletions
+955
View File
@@ -0,0 +1,955 @@
* ===
- 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:
* =>=
- defined in :: =src/./built_ins.cpp:175:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =>==
- defined in :: =src/./built_ins.cpp:193:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =<=
- defined in :: =src/./built_ins.cpp:211:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =<==
- defined in :: =src/./built_ins.cpp:231:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =+=
- defined in :: =src/./built_ins.cpp:249:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =-=
- defined in :: =src/./built_ins.cpp:262:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =*=
- defined in :: =src/./built_ins.cpp:285:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =/=
- defined in :: =src/./built_ins.cpp:306:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =**=
- defined in :: =src/./built_ins.cpp:327:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =%=
- defined in :: =src/./built_ins.cpp:343:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =assert=
- defined in :: =src/./built_ins.cpp:359:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =define=
- defined in :: =src/./built_ins.cpp:371:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =mutate=
- defined in :: =src/./built_ins.cpp:433:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =if=
- defined in :: =src/./built_ins.cpp:458:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =quote=
- defined in :: =src/./built_ins.cpp:480:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =quasiquote=
- defined in :: =src/./built_ins.cpp:485:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =and=
- defined in :: =src/./built_ins.cpp:583:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =or=
- defined in :: =src/./built_ins.cpp:594:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =not=
- defined in :: =src/./built_ins.cpp:605:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =while=
- defined in :: =src/./built_ins.cpp:615:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =lambda=
- defined in :: =src/./built_ins.cpp:693:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =special-lambda=
- defined in :: =src/./built_ins.cpp:705:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =eval=
- defined in :: =src/./built_ins.cpp:713:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =begin=
- defined in :: =src/./built_ins.cpp:725:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =list=
- defined in :: =src/./built_ins.cpp:741:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =pair=
- defined in :: =src/./built_ins.cpp:745:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =first=
- defined in :: =src/./built_ins.cpp:755:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =rest=
- defined in :: =src/./built_ins.cpp:766:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =set-type=
- defined in :: =src/./built_ins.cpp:777:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =delete-type=
- defined in :: =src/./built_ins.cpp:789:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =type=
- defined in :: =src/./built_ins.cpp:796:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =info=
- defined in :: =src/./built_ins.cpp:828:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =show=
- defined in :: =src/./built_ins.cpp:910:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =addr-of=
- defined in :: =src/./built_ins.cpp:922:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =generate-docs=
- defined in :: =src/./built_ins.cpp:928:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =print=
- defined in :: =src/./built_ins.cpp:937:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =read=
- defined in :: =src/./built_ins.cpp:945:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =exit=
- defined in :: =src/./built_ins.cpp:962:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =break=
- defined in :: =src/./built_ins.cpp:973:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =memstat=
- defined in :: =src/./built_ins.cpp:978:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =try=
- defined in :: =src/./built_ins.cpp:982:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =load=
- defined in :: =src/./built_ins.cpp:997:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =import=
- defined in :: =src/./built_ins.cpp:1008:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =copy=
- defined in :: =src/./built_ins.cpp:1019:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =error=
- defined in :: =src/./built_ins.cpp:1027:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =symbol->keyword=
- defined in :: =src/./built_ins.cpp:1034:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =string->symbol=
- defined in :: =src/./built_ins.cpp:1043:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =symbol->string=
- defined in :: =src/./built_ins.cpp:1055:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =concat-strings=
- defined in :: =src/./built_ins.cpp:1064:0=
- type :: =:cfunction=
- docu ::
#+BEGIN:
TODO
#+END:
* =pe=
- defined in :: =pre.slime:2:40=
- type :: =:macro=
- arguments :: :
- postitional :: =expr=
- docu :: none
* =when=
- defined in :: =pre.slime:8:37=
- type :: =:macro=
- arguments :: :
- postitional :: =condition=:
- rest :: =body=
- docu ::
#+BEGIN:
Doc String for `when'
#+END:
* =unless=
- defined in :: =pre.slime:13:41=
- type :: =:macro=
- arguments :: :
- postitional :: =condition=:
- rest :: =body=
- docu :: none
* =n-times=
- defined in :: =pre.slime:20:35=
- type :: =:macro=
- arguments :: :
- postitional :: =times=, =action=
- docu ::
#+BEGIN:
Executes action times times.
#+END:
* =let=
- defined in :: =pre.slime:37:64=
- type :: =:macro=
- arguments :: :
- postitional :: =bindings=:
- rest :: =body=
- docu :: none
* =cond=
- defined in :: =pre.slime:51:19=
- type :: =:macro=
- arguments :: :
- rest :: =clauses=
- docu :: none
* =define-special=
- defined in :: =pre.slime:54:81=
- type :: =:macro=
- arguments :: :
- postitional :: =name-and-args=:
- rest :: =body=
- docu :: none
* =construct-list=
- defined in :: =pre.slime:94:14=
- type :: =:macro=
- arguments :: :
- rest :: =body=
- docu ::
#+BEGIN:
(construct-list
i <- '(1 2 3 4 5)
yield (* i i))
(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:
* =apply=
- defined in :: =pre.slime:99: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:
* =define-package=
- defined in :: =pre.slime:113:24=
- type :: =:macro=
- arguments :: :
- postitional :: =name=:
- rest :: =body=
- docu :: none
* =nil?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is =nil=.
#+END:
* =number?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a number.
#+END:
* =symbol?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a symbol.
#+END:
* =keyword?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a keyword.
#+END:
* =pair?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a pair.
#+END:
* =string?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a string.
#+END:
* =lambda?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a function.
#+END:
* =macro?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a macro.
#+END:
* =special-lambda?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a special-lambda.
#+END:
* =built-in-function?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu ::
#+BEGIN:
Checks if the argument is a built-in function.
#+END:
* =callable?=
- type :: =:lambda=
- arguments :: :
- postitional :: =x=
- docu :: none
* =end=
- type :: =:lambda=
- arguments :: :
- postitional :: =seq=
- docu ::
#+BEGIN:
Returns the last pair in the sqeuence.
#+END:
* =last=
- type :: =:lambda=
- arguments :: :
- postitional :: =seq=
- docu ::
#+BEGIN:
Returns the (first) of the last (pair) of the given sequence.
#+END:
* =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:
* =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:
* =append=
- type :: =:lambda=
- arguments :: :
- postitional :: =seq=, =elem=
- docu ::
#+BEGIN:
Appends an element to a sequence, by extendeing the list
with (pair elem nil).
#+END:
* =length=
- type :: =:lambda=
- arguments :: :
- postitional :: =seq=
- docu ::
#+BEGIN:
Returns the length of the given sequence.
#+END:
* =increment=
- type :: =:lambda=
- arguments :: :
- postitional :: =val=
- docu ::
#+BEGIN:
Adds one to the argument.
#+END:
* =decrement=
- type :: =:lambda=
- arguments :: :
- postitional :: =val=
- docu ::
#+BEGIN:
Subtracts one from the argument.
#+END:
* =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:
* =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:
* =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:
* =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:
* =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:
* =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:
* =zip=
- type :: =:lambda=
- arguments :: :
- postitional :: =l1=, =l2=
- docu :: none
* =unzip=
- type :: =:lambda=
- arguments :: :
- postitional :: =lists=
- docu :: none
* =enumerate=
- type :: =:lambda=
- arguments :: :
- postitional :: =seq=
- docu :: none
* =printf=
- type :: =:lambda=
- arguments :: :
- keyword :: =sep= =(" ")=, =end= =("
")=:
- rest :: =args=
- docu ::
#+BEGIN:
A wrapper for the built-in (print) that accepts a variable number
of arguments and also provides keywords for specifying the printed
separators between the arguments and what should be printed after the
las argument.
#+END:
* =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:
* =->=
- defined in :: =oo.slime:25:24=
- type :: =:macro=
- arguments :: :
- postitional :: =obj=, =meth=:
- rest :: =args=
- docu :: none
* =math->=
- type :: =:package=
- arguments :: :
- rest :: =args=
- docu :: none
* =math-> pi=
- defined in :: =math.slime:5:4=
- type :: =:number=
- value :: =3.141593=
- docu ::
#+BEGIN:
Tha famous circle constant.
#+END:
* =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:
* =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:
* =math-> make-vector3=
- defined in :: =pre.slime:37:63=
- type :: =:constructor=
- arguments :: :
- postitional :: =x=, =y=, =z=
- docu ::
#+BEGIN:
This is the handle to an object of the class vector3
#+END:
* =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:
* =math-> make-vector3 ->=
- defined in :: =oo.slime:25:24=
- type :: =:macro=
- arguments :: :
- postitional :: =obj=, =meth=:
- rest :: =args=
- docu :: none
File diff suppressed because it is too large Load Diff
+7 -52
View File
@@ -410,6 +410,11 @@ other argument types, regular arguments and keyword arguments.
* Environments
* Macros
* Built-in functions
:PROPERTIES:
:UNNUMBERED: t
:END:
#+include: "./built-in-docs.org"
* COMMENT Built-in functions
This section provides a comprehensive list of the built in functions for Slime. Some of them are
defined in =C++= source code, some are themselves written in Slime. The cool thing about Slime is
that it is really easy to extend and adapt it for many purposes by writing new functions in =C++=
@@ -873,7 +878,7 @@ embedded scripting language.
: 3
: (+ 2 3)
- =extend= :: (=regular function [Slime]=) Takes a list and any
- =extend= :: (=regular function [Slime]=) Takes a list and any
- =append= :: (=regular function [Slime]=)
@@ -930,57 +935,7 @@ embedded scripting language.
- =mutate= :: (=regular function [C++]=)
- =define= :: (=special form [C++]=) See the section about =define= in [[Define]].
- =assert= :: (=regular function [C++]=)
* testbox :noexport:
#+BEGIN_SRC ditaa :file diagrams/test.eps :cmdline --no-separation --no-shadows
+-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+
| | | | | | | | | | | |
| | |--->| | |--->| | |--->| | / |
| | | | | | | | | | | |
+-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+
|
|
V
+-----+-----+
| | |
| | / |
| | |
+-----+-----+
#+END_SRC
#+RESULTS:
[[file:diagrams/test.eps]]
{{{slime_header}}}
#+caption: Some text to illustrate
#+begin_src slime
(define (fib x)
(cond ((< x 1) 0)
((= x 1) 1)
(else (+ (fib (- x 1))
(fib (- x 2))))))
(print (if (> (fib 3) 1)
"Hello World\n"
"Goodbye World\n"))
(fib 12)
#+end_src
#+RESULTS:
: => Hello Felixses
: 144.000000
{{{slime_header}}}
#+caption: Some text to illustrate
#+begin_src slime
;; Comment here
(print "String here")
(+ 1 2 3)
#+end_src
#+RESULTS:
: => String here6.000000
* COMMENT testbox
* meta :noexport:
# local variables:
# org-confirm-babel-evaluate: nil