Concatenative topics
Concatenative meta
Other languages
Meta
You can try expressions in the interactive listener. For example, some postfix arithmetic:
2 3 + 4 * .
Hello world:
"Hello world" print
Many of these bindings have easier to use wrappers (for example, there's no reason to use the Unix API directly, since all I/O is done with higher-level cross-platform APIs). Learn more about Factor's C library interface.
These examples are more complex than the above, and some of them were written a while ago and haven't been cleaned up to use the latest idioms. They are all runnable from the Factor UI if you have a good enough OpenGL driver -- just issue a command such as "spheres" run
in the listener.
Some of these examples define a MAIN: word. This means they are runnable from the Factor listener, by issuing a command such as the following,
"hello-unicode" run
Other examples are libraries, which means that after loading them with a command like this:
USE: roman
you can then get a list of words, and in some cases, API documentation:
"roman" about
and play around:
IN: scratchpad 123 >roman . "cxxiii"
If you see an example refer to a vocabulary in its USING:
list, you can get help for that vocabulary from the Factor listener:
"math.vectors" about
The about page gives a list of words with stack effects -- clicking on a word will display documentation for the word, if any, as well as its definition (which may not exactly match the source file definition, since its printed from its in-memory representation). For many vocabularies, a "Documentation" link at the very top gives an overview article as well.
If you see an example call a word you're unfamiliar with, make sure you load all required vocabularies by copying the example's USING:
line into your listener, then use the help
word to get help:
\ reverse help
This even works for bits of syntax:
\ MEMO: help
Finally, all of this reference documentation is also available online at https://docs.factorcode.org.
To see more examples of Factor code, download the Factor distribution and take a look in the core/
, basis/
and extra/
directories. Most of Factor is implemented in Factor (including the optimizing compiler), and there are a number of useful libraries and demos which you can look at as well, for a total of over 200 thousand lines of Factor code.
This revision created on Mon, 9 Jan 2023 03:31:27 by mrjbq7