]> gitweb.factorcode.org Git - factor.git/blob - doc/handbook/handbook.facts
Documentation updates, help link operations fix, list mouse gestures
[factor.git] / doc / handbook / handbook.facts
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 
4 kernel generic ;
5
6 ARTICLE: "handbook" "Factor documentation"
7 { $subsection "changes" }
8 { $heading "Survival guide" }
9 { $list
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" } "." }
19 }
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" }
42 { $subsection "cli" }
43 { $subsection "tools" }
44 { $subsection "help" }
45 { $subsection "inference" }
46 { $subsection "compiler" }
47 { $heading "Graphical user interface" }
48 { $subsection "ui-tools" }
49 { $heading "Index" }
50 { $subsection "article-index" }
51 { $subsection "primitive-index" }
52 { $subsection "error-index" }
53 { $subsection "type-index" }
54 { $subsection "class-index" } ;
55
56 ARTICLE: "article-index" "Article index"
57 { $outliner [ articles get hash-keys ] } ;
58
59 ARTICLE: "primitive-index" "Primitive index"
60 { $outliner [ all-words [ primitive? ] subset ] } ;
61
62 ARTICLE: "error-index" "Error index"
63 { $subsection /0                         }
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.            } ;
101
102 ARTICLE: "type-index" "Type index"
103 { $outliner [ builtins get [ ] subset ] } ;
104
105 ARTICLE: "class-index" "Class index"
106 { $outliner [ classes ] } ;