1 USING: alien errors generic hashtables help inference tools
2 io-internals io libc math-internals modules namespaces parser
3 prettyprint queues sequences sequences-internals test words
6 ARTICLE: "handbook" "Factor documentation"
7 { $subsection "changes" }
8 { $heading "Survival guide" }
10 { "The basic unit of code, corresponding to a \"function\" in other languages, is called a " { $emphasis "word" } " in Factor." }
11 { "Word take inputs from the stack, and leave output values on the stack. This is documented in a " { $emphasis "stack effect declaration" } ", for example " { $snippet "( x y -- z )" } " denotes that a word takes two inputs, with " { $snippet "y" } " at the top of the stack, and returns one output. See " { $link "effect-declaration" } " for details." }
12 { "You can load source files with " { $link run-file } ":"
13 { $code "\"hello-world.factor\" run-file" } }
14 { { "You can load modules from " { $snippet "contrib/" } " and " { $snippet "examples/" } " with " { $link require } ":" }
15 { $code "\"contrib/httpd\" require" } }
16 { { $link .s } " prints the contents of the stack." }
17 { { $link . } " prints the object at the top of the stack." }
18 { "If you are reading this from the Factor UI, take a look at " { $link "ui-tools" } "." }
20 { $heading "Cookbook" }
21 { $subsection "cookbook-syntax" }
22 { $subsection "cookbook-colon-defs" }
23 { $subsection "cookbook-combinators" }
24 { $subsection "cookbook-variables" }
25 { $subsection "cookbook-vocabs" }
26 { $subsection "cookbook-sources" }
27 { $subsection "cookbook-io" }
28 { $subsection "cookbook-philosophy" }
29 { $heading "Language reference" }
30 { $subsection "conventions" }
31 { $subsection "syntax" }
32 { $subsection "dataflow" }
33 { $subsection "words" }
34 { $subsection "objects" }
35 { $subsection "math" }
36 { $subsection "collections" }
37 { $subsection "streams" }
38 { $subsection "parser" }
39 { $subsection "prettyprint" }
40 { $subsection "alien" }
41 { $heading "Environment reference" }
43 { $subsection "tools" }
44 { $subsection "help" }
45 { $subsection "inference" }
46 { $subsection "compiler" }
47 { $heading "Graphical user interface" }
48 { $subsection "ui-tools" }
50 { $subsection "article-index" }
51 { $subsection "primitive-index" }
52 { $subsection "error-index" }
53 { $subsection "type-index" }
54 { $subsection "class-index" } ;
56 ARTICLE: "article-index" "Article index"
57 { $outliner [ articles get hash-keys ] } ;
59 ARTICLE: "primitive-index" "Primitive index"
60 { $outliner [ all-words [ primitive? ] subset ] } ;
62 ARTICLE: "error-index" "Error index"
64 { $subsection alien-callback-error }
65 { $subsection alien-invoke-error }
66 { $subsection assert }
67 { $subsection bad-escape }
68 { $subsection bounds-error }
69 { $subsection c-stream-error }
70 { $subsection c-string-error. }
71 { $subsection callstack-overflow. }
72 { $subsection check-closed }
73 { $subsection check-create }
74 { $subsection check-method }
75 { $subsection check-ptr }
76 { $subsection check-tuple }
77 { $subsection check-vocab }
78 { $subsection condition }
79 { $subsection datastack-overflow. }
80 { $subsection datastack-underflow. }
81 { $subsection empty-queue }
82 { $subsection expired-error. }
83 { $subsection ffi-error. }
84 { $subsection heap-scan-error. }
85 { $subsection inference-error }
86 { $subsection io-error. }
87 { $subsection negative-array-size-error. }
88 { $subsection no-article }
89 { $subsection no-cond }
90 { $subsection no-math-method }
91 { $subsection no-method }
92 { $subsection parse-error }
93 { $subsection retainstack-overflow. }
94 { $subsection retainstack-underflow. }
95 { $subsection signal-error. }
96 { $subsection slice-error }
97 { $subsection type-check-error. }
98 { $subsection undefined-symbol-error. }
99 { $subsection undefined-word-error. }
100 { $subsection user-interrupt. } ;
102 ARTICLE: "type-index" "Type index"
103 { $outliner [ builtins get [ ] subset ] } ;
105 ARTICLE: "class-index" "Class index"
106 { $outliner [ classes ] } ;