Vocabulary | Summary |
alien | C library interface |
arrays | Fixed-size arrays |
assocs | Associative structure protocol |
byte-arrays | Efficient fixed-length byte arrays |
byte-vectors | Growable byte arrays |
checksums | Checksum protocol and implementations |
classes | Object system implementation |
combinators | Complex conditionals (cond, case) and generalized dataflow combinators (cleave, spread) |
compiler | Factor's optimizing machine code compiler |
continuations | Capturing and restorating continuations, catching errors |
definitions | Definition protocol and cross-referencing |
destructors | Object destructors |
effects | Stack effects as first-class data types |
fry | Syntax for pictured partial application and composition |
generalizations | Generalized stack shufflers and combinators to arbitrary numbers of inputs |
generic | Generic word implementation |
graphs | Directed graphs |
growable | Low-level implementation of vectors and string buffers |
hash-sets | Set structure with constant-time addition and removal |
hashtables | Associative structure with expected constant time lookup |
init | Startup and initialization hooks |
io | Stream protocol |
kernel | Data and control flow, basic object protocol |
layouts | Low-level in-memory object layout introspection |
lexer | Factor source code lexer |
locals | Efficient named local variables and lexical closures |
macros | Utility for defining compiler transforms |
make | Sequence construction utility |
math | Arithmetic |
memoize | Memoization |
memory | Heap introspection support |
namespaces | Dynamically-scoped variables |
parser | Factor source code parser |
quotations | Code quotations, essentially executable fixed-size arrays |
ranges | Virtual sequence consisting of a range of numbers |
sbufs | Growable string buffers |
sequences | Sequence protocol, combinators and utilities |
sets | Set-theoretic operations on sequences |
slots | Low-level object introspection support |
sorting | Merge sort for sequences |
source-files | Support for tracking loaded source files |
splitting | Splitting sequences and grouping sequence elements |
strings | Fixed-size character arrays |
summary | Generic word for converting an object into a brief one-line string |
syntax | Standard Factor syntax |
system | OS and CPU queries and other system-level tasks |
vectors | Growable arrays |
vocabs | Vocabularies are collections of words loaded from a source file |
words | Words are the fundamental units of code |
Vocabulary | Summary |
alien | C library interface |
ascii | ASCII character classes |
atk | Atk binding |
base16 | Base16 encoding/decoding (RFC 3548) |
base24 | Base24 encoding/decoding |
base32 | Base32 encoding/decoding (RFC 3548, RFC 4648, Crockford) |
base36 | Base36 encoding/decoding |
base45 | Base45 encoding/decoding (RFC 9285) |
base58 | Base58 encoding/decoding |
base62 | Base62 encoding/decoding |
base64 | Base64 encoding/decoding (RFC 3548) |
base85 | Base85 encoding/decoding (ASCII85, ADOBE85, Z85) |
base91 | Base91 encoding/decoding |
base92 | Base92 encoding/decoding |
biassocs | Bidirectional assocs |
binary-search | Fast searching of sorted arrays |
bit-arrays | Fixed-size bit arrays |
bit-sets | Efficient bitwise operations on bit arrays |
bit-vectors | Growable bit arrays |
bitstreams | Reading sequences of bits from a byte stream |
bloom-filters | Bloom filters |
bootstrap | |
boxes | An abstraction for enforcing a mutual-exclusion invariant |
cache | An associative mapping whose entries expire after a while |
cairo | Cairo graphics library binding |
calendar | Operations on timestamps and durations |
cbor | Support for Concise Binary Object Representation (CBOR) |
channels | Communicating Sequential Processes |
checksums | Checksum protocol and implementations |
circular | Virtual sequence presenting a rotation of an underlying sequence |
classes | Object system implementation |
cocoa | Objective C/Cocoa bridge |
colors | Colors as a first-class data type |
columns | Virtual sequence view of a matrix column |
combinators | Complex conditionals (cond, case) and generalized dataflow combinators (cleave, spread) |
command-line | Command line argument parsing |
compiler | Factor's optimizing machine code compiler |
compression | |
concurrency | |
core-foundation | Binding to macOS CoreFoundation library |
core-graphics | Binding to macOS Core Graphics library |
core-text | Binding for macOS Core Text library |
couchdb | |
cpu | |
crypto | |
csv | CSV parser |
cuckoo-filters | Cuckoo filters |
db | Relational database abstraction layer |
debugger | Printing errors, inspecting tracebacks, restarts |
definitions | Definition protocol and cross-referencing |
delegate | Delegation and mimicking on top of the Factor object system |
deques | Double-ended queue protocol and common operations |
disjoint-sets | An efficient implementation of the disjoint-set data structure |
dlists | Double-linked lists/deques |
dns | |
documents | Mutable structure for storing a plain text document being edited in memory |
editors | Editor integration |
endian | Utilities for working with big-endian and little-endian data |
english | English language |
environment | Environment variables |
escape-strings | |
etc-hosts | Parsing the /etc/hosts file |
eval | Ad-hoc evaluation of strings of code |
farkup | Simple markup language for generating HTML |
fixups | |
fonts | Fonts as a first-class data type |
formatting | Format data according to a specified format string |
ftp | Common code shared by FTP client and server |
functors | First-class syntax |
furnace | Furnace web framework |
game | |
gdk2 | Gdk binding |
gio | GIO binding |
gir | |
glib | GLib binding |
globs | Unix shell-style glob pattern matching |
gmodule | GModule binding |
gobject | GObject binding |
gobject-introspection | GObjectIntrospection support |
grouping | Grouping sequence elements into subsequences |
gtk2 | Gtk binding |
hash-sets | Set structure with constant-time addition and removal |
hashtables | Associative structure with expected constant time lookup |
heaps | Maxheap and minheap implementations of priority queues |
help | Online help system |
hex-strings | |
hints | Syntax sugar for the Factor compiler's specializer hints facility |
html | HTML utilities |
http | Common code shared by HTTP client and server |
images | Bitmap images |
ini-file | Parses INI configuration files. |
inspector | Terminal-based object viewer and editor |
interpolate | Interpolating variable values into strings |
interval-maps | Interval maps for disjoint closed ranges |
interval-sets | |
inverse | Invertible quotations |
io | Stream protocol |
iokit | Bindings to Apple IOKit device interface |
ip-parser | Parsing IPv4 and IPv6 addresses |
json | JSON reader and writer |
lazy | Lazy thunks |
lcs | Levenshtein distance and diff between sequences |
libc | Manual memory management for interfacing with C |
linked-assocs | Assocs that yield items in insertion order |
linked-sets | Sets that yield items in insertion order |
linux | |
listener | Terminal-based interactive code evaluator |
lists | Implementation of lisp-style linked lists |
literals | Expression interpolation into sequence literals |
locals | Efficient named local variables and lexical closures |
logging | Logging framework with support for log rotation and machine-readable logs |
match | ML-style pattern matching |
math | Arithmetic |
memoize | Memoization |
method-chains | BEFORE: and AFTER: syntax for extending methods in class hierarchies |
mime | |
mirrors | View any object as an association mapping slots to values |
models | Observable slots which can be composed in various ways |
msgpack | Support for msgpack protocol. |
multiline | Multiline string literals |
named-tuples | Use tuples like both sequences and assocs |
nibble-arrays | Space-efficient arrays of 4-bit values |
nmake | Generalization of make for constructing several sequences simultaneously |
ntp | Client for NTP protocol |
oauth1 | |
oauth2 | |
opengl | OpenGL binding |
openssl | OpenSSL binding |
pack | Packing and unpacking binary data |
pango | Pango binding |
peg | Parsing expression grammar and packrat parser |
persistent | |
porter-stemmer | Porter stemming algorithm |
present | Generic word for converting objects to strings for human consumption |
prettyprint | Factor source code prettyprinter |
protocols | |
quoted-printable | Quoted printable encoding/decoding |
quoting | |
random | Random number generator protocol and implementations |
refs | References to keys and values in assocs |
regexp | Regular expressions |
reservoir-sampling | |
resolv-conf | |
retries | |
roman | Roman numerals library |
search-deques | Double-ended queues with sub-linear membership testing |
see | Printing loaded definitions as source code |
sequences | Sequence protocol, combinators and utilities |
serialize | Binary serialization of arbitrary object graphs |
shuffle | Additional shuffle words |
simple-flat-file | Parsing simple text files |
simple-tokenizer | Simple string tokenizer |
slots | Low-level object introspection support |
smtp | Sending mail via SMTP |
sorting | Merge sort for sequences |
source-files | Support for tracking loaded source files |
specialized-arrays | Arrays of unboxed primitive C types |
specialized-vectors | Vectors of unboxed primitive C types |
splitting | Splitting sequences and grouping sequence elements |
stack-checker | Stack effect inference |
strings | Fixed-size character arrays |
suffix-arrays | Suffix arrays |
syndication | RSS 1.0, 2.0 and Atom feed parser |
system-info | Query the operating system for hardware information in a platform-independent way |
threads | Co-operative threading |
timers | One-time and recurring timers for relative time offsets |
toml | Parsers for Tom's Obvious, Minimal Language (TOML). |
tools | |
tr | Fast character-to-character translation of ASCII strings |
tuple-arrays | Efficient arrays of tuples with value semantics for elements |
typed | Strongly-typed word definitions |
ui | Factor's graphical user interface framework |
unicode | Unicode support |
unix | Bindings to library and system calls found on Unix-like systems |
unrolled-lists | Deque implementation with constant-time insertion and removal at either end, and better space efficiency than a double-linked list |
urls | Tools for working with URLs (uniform resource locators) |
uu | Support for uuencoding and uudecoding. |
uuid | Generates UUID's. |
validators | Value validation for the web framework |
vectors | Growable arrays |
vlists | Persistent sequence implementation optimizing the case where there is no sharing |
vm | Layout of the C vm structure |
vocabs | Vocabularies are collections of words loaded from a source file |
webbrowser | Open URLs in your web browser |
windows | Microsoft Windows XP/Vista/7 API bindings |
wrap | Word wrapping |
x11 | X11 Xlib and GLX bindings |
xdg | XDG Base Directory Specification |
xml | XML reader and writer |
xml-rpc | XML RPC client and server |
xmode | |
Vocabulary | Summary |
24-game | |
7guis | |
99-bottles | |
L-system | |
alien | C library interface |
anagrams | |
annotations | Code annotation comment syntax |
arrays | Fixed-size arrays |
asn1 | ASN.1 parser |
assocs | Associative structure protocol |
audio | Framework for reading and playing back audio |
aws | |
backblaze | |
backoff | |
backticks | Backtick process syntax |
backtrack | Simple non-determinism |
bank | Bank account simulator for compound interest calculated daily and paid monthly |
bare | BARE (https://baremessages.org) encoding/decoding. |
bech32 | Bech32 encoding/decoding |
benchmark | Various benchmarks to test Factor's optimizer |
bencode | Support for bencoding. |
bend | Factor port of Bend language features |
binhex | Encoding and decoding of BinHex 4.0 files |
bitcoin | |
bitly | Wrapper for bit.ly URL shortening web service |
bittorrent | BitTorent protocol for peer-to-peer file sharing. |
bluesky | |
boids | Artificial life program simulating the flocking behaviour of birds |
boolean-expr | Simple boolean expression evaluator and simplifier |
boyer-moore | Boyer-Moore string search algorithm |
brain-flak | A Brain-flak to Factor compiler |
brainfuck | Brainfuck programming language. |
broadcast-server | |
bson | BSON (http://en.wikipedia.org/wiki/BSON) reader and writer |
bubble-chamber | |
build-from-source | |
bunny | Stanford Bunny OpenGL demo |
c | |
cairo-demo | |
cairo-gadgets | UI gadget for rendering graphics with Cairo |
cairo-samples | |
calendar | Operations on timestamps and durations |
cap | Creating and displaying screenshots of Factor |
certs | |
cgi | Support using Factor in CGI scripts |
changer | |
checksums | Checksum protocol and implementations |
chess960 | |
chipmunk | |
chrome-tools | |
classes | Object system implementation |
cli | |
clutter | Clutter binding |
codebase-analyzer | |
codebook | |
color-picker | Color picker gadget demo |
color-picker-game | Color picker game |
color-table | |
colors | Colors as a first-class data type |
combinators | Complex conditionals (cond, case) and generalized dataflow combinators (cleave, spread) |
command-line | Command line argument parsing |
command-loop | Generic line-oriented command interpreter. |
compiler | Factor's optimizing machine code compiler |
compression | |
constructors | Utility to simplify tuple constructors |
containers | |
contributors | Contributor patch counts from git |
coroutines | Coroutines implementation |
countries | Country-specific codes including ISO 3166-1 |
cpu | |
crontab | Parser for crontab files |
crypto | |
csexp | Csexp (https://www.wikiwand.com/en/Canonical_S-expressions) reader and writer |
ctags | Ctags generator |
cuda | |
cuesheet | Parsing cue sheet (cue files) |
curl | Bindings to libcurl |
curses | ncurses binding |
cursors | |
db | Relational database abstraction layer |
dbf | Parsers for various dBase database files |
decimals | |
demos | |
descriptive | Descriptive errors generated automatically for specially defined words |
dice | Random dice rolls (with modifiers) |
did-you-mean | |
digraphs | Simple directed graph implementation for topological sorting |
discord | |
docker | |
drunken-bishop | Drunken bishop visual checksum algorithm |
duckdb | |
dwarf | |
ecdsa | Elliptic Curve Digital Signature Algorithm (OpenSSL realisation) |
echo-server | |
elevate | Cross-platform API for elevated permissions |
elf | Constants and structs related to the ELF object format. |
emojify | |
enigma | Enigma cipher machine |
env | Access environment variables via the assoc protocol |
euler | |
fastcgi | |
fftw | Bindings to FFTW3. |
file-monitor | Command-line file change monitor |
file-picker | |
file-server | Command-line HTTP file server |
fjsc | A 'subset of Factor' to Javascript compiler |
flamegraph | |
flip-text | Turns text upside-down. |
fluids | |
format-using | |
freetype | FreeType text rendering library binding |
fuel | FUEL turns Emacs into a rich, interactive development environment for Factor, |
furnace | Furnace web framework |
game | |
game-of-life | Conway's Game of Life |
gamelib | |
gap-buffer | Gap buffer data structure |
gdbm | GNU DataBase Manager |
gemini | Gemini client |
generators | Generators implementation |
geo-ip | IP address geolocation using database from http://software77.net/cgi-bin/ip-country/ |
geobytes | City, country, region database using database from http://www.geobytes.com/GeoWorldMap.zip |
geohash | Geohash geocoding system. |
gesture-logger | Gadget which logs all received gestures, for debugging |
gilded-rose | |
gir | |
git | |
github | |
gitignore | Implements .gitignore parser |
glfw | |
gml | |
golden-section | Golden section demo |
google | |
gopher | Gopher client |
gpu | High-level OpenGL-based GPU resource management and rendering library |
graphviz | |
gravatar | Wrapper for the Gravatar service. |
grid-meshes | |
grouping | Grouping sequence elements into subsequences |
gstreamer | GStreamer binding |
gtk-samples | |
hacker-news | |
hamurabi | Port of the HAMURABI.BAS game |
hashcash | Hashcash implementation |
hello-ui | Graphical hello world demo |
hello-unicode | Modern "Hello world" which demonstrates various Unicode scripts |
hello-world | Textual hello world demo |
help | Online help system |
hetzner | |
hipku | Encoding IPv4/IPV6 addresses as haiku |
html | HTML utilities |
html5 | |
http2 | |
icfp | |
id3 | |
ifaddrs | |
images | Bitmap images |
imap | Reading mailboxes using IMAP |
infix | Support for infix notation in Factor programs |
io | Stream protocol |
irc | |
iso-codes | |
itunes | |
jamshred | A simple 3d tunnel racing game |
kaggle | |
key-handlers | |
key-logger | |
koszul | Lie algebra cohomology |
lcd | 7-segment LCD clock demo |
ldcache | |
leb128 | LEB128 (Little Endian Base 128) encoding support |
libclang | |
libtls | |
libudev | Bindings to libudev |
libusb | Bindings to libusb |
lint | Finds potential mistakes in code |
lisppaste | XML-RPC interface to http://paste.lisp.org |
lists | Implementation of lisp-style linked lists |
literate | Literate programming techniques |
llvm | |
locals | Efficient named local variables and lexical closures |
log-viewer | Simple log file watcher demo using io.monitors |
logic | |
long-urls | Expand short urls. |
lru-cache | Least Recently Used (LRU) cache |
lua | FFI bindings to the Lua programming language. |
machine-learning | |
macho | Constants and structs related to the Mach object format. |
magic | libmagic binding |
managed-server | |
markov-chains | Markov chain processes. |
marvel | |
mason | Continuous build system for Factor |
math | Arithmetic |
maze | Maze generator demo |
mediawiki | |
memcached | Provides access to memcached, a high-performance, distributed memory object caching system. |
memory | Heap introspection support |
merger | |
metar | METAR and TAF weather parsers |
midi | Reading and writing MIDI files |
minesweeper | Minesweeper game |
model-viewer | |
models | Observable slots which can be composed in various ways |
modern | |
monads | Haskell-style monads |
money | Utility for calculating money with rationals |
mongodb | MongoDB Factor integration |
morse | Converts between text and morse code, and plays morse code. |
msgpack | Support for msgpack protocol. |
msxml-to-csv | Converting MSXML to comma separated values demo |
multi-methods | Experimental multiple dispatch implementation |
multisets | |
namespaces | Dynamically-scoped variables |
native-thread-test | |
nehe | NeHe OpenGL tutorials ported to Factor |
noise | |
notifications | |
npm | |
numbers-game | Number guessing game demo |
nurbs | NURBS curve evaluation |
odbc | ODBC (Open DataBase Connectivity) binding |
ogg | Ogg media library binding |
openai | OpenAI API |
openal | OpenAL 3D audio library binding |
opencl | High-level vocabulary for using OpenCL |
opengl | OpenGL binding |
pair-methods | Order-insensitive double dispatch generics |
pair-rocket | H{ "foo" => 1 "bar" => 2 } style literal syntax |
pairs | Assoc implementation optimized for a single key/value pair |
papier | |
parser-combinators | Haskell-style lazy parser combinators |
partial-continuations | Partial continuations - breset/bshift |
path-finding | A* path-finding algorithm |
pcre | libpcre binding |
pcre2 | libpcre2 binding |
pdf | Creating PDF files |
peg | Parsing expression grammar and packrat parser |
periodic-table | Periodic table gadget demo |
persistency | |
picomath | Implementation of picomath.org small math functions |
ping | Uses ICMP to test the reachability of a network host. |
poker | Poker hand evaluator |
pong | |
pop3 | Retrieve mail via POP3 |
process-autopsy | |
processing | |
progress-bars | |
project-euler | Project Euler example solutions |
proquint | Proquint encoding/decoding |
punycode | Punycode and Internationalized Domain Names |
python | Python interface |
qtkit | |
quadtrees | Quadtree spatial indices |
quiz | |
qw | Perlish syntax for literal arrays of whitespace-delimited strings (qw{ foo bar }) |
random | Random number generator protocol and implementations |
raygui | |
raylib | Bindings for Raylib 4.5 |
readline | libreadline bindings |
readline-listener | A listener that uses libreadline. |
recipes | Database backed recipe sharing |
reddit | Reddit API |
redis | Words for communicating with the Redis key-value database |
reports | |
rlgl | Bindings for rlgl |
robohash | Robohash! |
robots | |
rocksdb | |
roles | Mixins for tuples |
roms | |
rot13 | Rot13 demo |
rpn | Simple RPN calculator |
ryu | Float to string conversion |
s3 | Amazon S3 Wrapper |
scryfall | |
semver | |
sequences | Sequence protocol, combinators and utilities |
sets | Set-theoretic operations on sequences |
shapefiles | Parsers for ESRI Shapefiles |
shell | |
site-watcher | |
slides | Bare-bones tools for giving presentations and demonstrations with the Factor UI |
slots | Low-level object introspection support |
smalltalk | |
snake-game | |
sodium | The Sodium crypto library |
solr | |
sorting | Merge sort for sequences |
soundex | Phonetic algorithm for indexing names by sound |
spelling | Peter Norvig's spelling corrector |
spheres | Draw pixel-perfect spheres using GLSL shaders |
spider | |
splitting | Splitting sequences and grouping sequence elements |
spotlight | |
stack-as-data | |
stomp | STOMP (Simple Text Oriented Messaging Protocol) client library |
stream | |
string-server | |
subrip-subtitles | |
successor | |
sudoku | Sudoku solver demo |
sudokus | graphical sudoku solver |
svg | Parsers for SVG data |
syntax | Standard Factor syntax |
synth | Simple sound synthesis using OpenAL. |
syslog | Syslog protocol |
tar | |
taxes | |
tensors | |
terminal | |
terminfo | Reads terminfo database files |
terrain | Walk around on procedurally generated terrain |
tetris | Graphical Tetris game |
text-analysis | Perform analysis on English text. |
text-to-pdf | Text-to-PDF converter. |
text-to-speech | Text-to-speech utility |
tftp | |
time | |
time-server | |
tinyvg | Parsers for the TinyVG image format |
tldr | tldr pages (simplified and community-driven man pages) |
tnetstrings | Reader and writer for "tagged netstrings" |
tokencase | |
tokyo | |
tools | |
totp | RFC 6238 Time-Based One-Time Passwords |
trails | |
trees | Binary search trees |
tty-server | Connect to a Factor listener through telnet |
turing | Turing machine simulator |
twitter | Wrapper for Twitter web service |
txon | TXON (http://www.hxa.name/txon/) reader and writer |
tzinfo | Parsing timezone files. |
ui | Factor's graphical user interface framework |
ulid | Universally Unique Lexicographically Sortable Identifier |
unicode | Unicode support |
units | |
usa-cities | |
variables | |
variants | Syntax and combinators for manipulating algebraic data types |
verbal-expressions | Human-readable regular expressions |
vin | VIN (Vehicle Identification Number) |
visionect | Visionect Server Management API |
vocabs | Vocabularies are collections of words loaded from a source file |
vulkan | |
wake-on-lan | Wake-on-LAN support |
wasm | |
webapps | |
webkit-demo | A simple example showing usage of the Cocoa WebKit framework from Factor |
websites | |
wikipedia | Wikipedia |
window-controls-demo | Open windows with different control sets |
windows | Microsoft Windows XP/Vista/7 API bindings |
wipe | Erase files by overwriting contents with random data |
wolfram-alpha | Query API for Wolfram Alpha |
wordlet | |
wordtimer | Microsecond precision code timer/profiler. |
xkcd | Comics from the http://xkcd.com website |
yahoo | Yahoo! search example using XML |
yaml | |
yenc | Encoding and decoding of the yEnc format |
youtube | Wrapper for YouTube.com API. |
z-algorithm | Z algorithm for pattern preprocessing |
zealot | |
zeromq | Bindings to 0MQ (zeromq). |
zim | Parsers for the ZIM file format |
zoneinfo | |