Vocabulary index
Factor handbook

Prev:Libraries
Next:Article index


Vocabulary tags
Vocabulary authors

Children from resource:core
VocabularySummary
rangesVirtual sequence consisting of a range of numbers
initStartup and initialization hooks
wordsWords are the fundamental units of code
byte-vectorsGrowable byte arrays
stringsFixed-size character arrays
sbufsGrowable string buffers
memoryHeap introspection support
vocabsVocabularies are collections of words loaded from a source file
growableLow-level implementation of vectors and string buffers
classesObject system implementation
lexerFactor source code lexer
assocsAssociative structure protocol
ioStream protocol
hashtablesAssociative structure with expected constant time lookup
byte-arraysEfficient fixed-length byte arrays
alienC library interface
vectorsGrowable arrays
parserFactor source code parser
mathArithmetic
combinatorsComplex conditionals (cond, case) and generalized dataflow combinators (cleave, spread)
destructorsObject destructors
namespacesDynamically-scoped variables
memoizeMemoization
macrosUtility for defining compiler transforms
hash-setsSet structure with constant-time addition and removal
systemOS and CPU queries and other system-level tasks
checksumsChecksum protocol and implementations
frySyntax for pictured partial application and composition
layoutsLow-level in-memory object layout introspection
localsEfficient named local variables and lexical closures
makeSequence construction utility
sequencesSequence protocol, combinators and utilities
setsSet-theoretic operations on sequences
arraysFixed-size arrays
splittingSplitting sequences and grouping sequence elements
sortingMerge sort for sequences
continuationsCapturing and restorating continuations, catching errors
genericGeneric word implementation
quotationsCode quotations, essentially executable fixed-size arrays
graphsDirected graphs
generalizationsGeneralized stack shufflers and combinators to arbitrary numbers of inputs
syntaxStandard Factor syntax
effectsStack effects as first-class data types
definitionsDefinition protocol and cross-referencing
slotsLow-level object introspection support
source-filesSupport for tracking loaded source files
compilerFactor's optimizing machine code compiler
kernelData and control flow, basic object protocol
summaryGeneric word for converting an object into a brief one-line string


Children from resource:basis
VocabularySummary
presentGeneric word for converting objects to strings for human consumption
linked-setsSets that yield items in insertion order
uuSupport for uuencoding and uudecoding.
inverseInvertible quotations
vlistsPersistent sequence implementation optimizing the case where there is no sharing
gobjectGObject binding
bit-vectorsGrowable bit arrays
uiFactor's graphical user interface framework
ftpCommon code shared by FTP client and server
dequesDouble-ended queue protocol and common operations
endianUtilities for working with big-endian and little-endian data
syndicationRSS 1.0, 2.0 and Atom feed parser
asciiASCII character classes
libcManual memory management for interfacing with C
crypto
msgpackSupport for msgpack protocol.
named-tuplesUse tuples like both sequences and assocs
tomlParsers for Tom's Obvious, Minimal Language (TOML).
nibble-arraysSpace-efficient arrays of 4-bit values
prettyprintFactor source code prettyprinter
furnaceFurnace web framework
stringsFixed-size character arrays
core-foundationBinding to macOS CoreFoundation library
tools
tuple-arraysEfficient arrays of tuples with value semantics for elements
gdk4
listenerTerminal-based interactive code evaluator
gdk3
xml-rpcXML RPC client and server
calendarOperations on timestamps and durations
regexpRegular expressions
couchdb
etc-hostsParsing the /etc/hosts file
bootstrap
base24Base24 encoding/decoding
cacheAn associative mapping whose entries expire after a while
vocabsVocabularies are collections of words loaded from a source file
base85Base85 encoding/decoding (ASCII85, ADOBE85, Z85)
gdk2Gdk binding
unicodeUnicode support
bit-setsEfficient bitwise operations on bit arrays
persistent
listsImplementation of lisp-style linked lists
cpu
lcsLevenshtein distance and diff between sequences
inspectorTerminal-based object viewer and editor
base36Base36 encoding/decoding
imagesBitmap images
classesObject system implementation
biassocsBidirectional assocs
unrolled-listsDeque implementation with constant-time insertion and removal at either end, and better space efficiency than a double-linked list
matchML-style pattern matching
pangoPango binding
functorsFirst-class syntax
timersOne-time and recurring timers for relative time offsets
groupingGrouping sequence elements into subsequences
gdk-pixbufGdkPixbuf binding
base91Base91 encoding/decoding
base62Base62 encoding/decoding
interval-mapsInterval maps for disjoint closed ranges
atkAtk binding
xmode
glibGLib binding
seePrinting loaded definitions as source code
iokitBindings to Apple IOKit device interface
editorsEditor integration
porter-stemmerPorter stemming algorithm
base64Base64 encoding/decoding (RFC 3548)
cborSupport for Concise Binary Object Representation (CBOR)
ioStream protocol
linked-assocsAssocs that yield items in insertion order
oauth2
packPacking and unpacking binary data
specialized-vectorsVectors of unboxed primitive C types
dlistsDouble-linked lists/deques
hashtablesAssociative structure with expected constant time lookup
serializeBinary serialization of arbitrary object graphs
delegateDelegation and mimicking on top of the Factor object system
htmlHTML utilities
modelsObservable slots which can be composed in various ways
cairoCairo graphics library binding
alienC library interface
game
bit-arraysFixed-size bit arrays
vectorsGrowable arrays
gobject-introspectionGObjectIntrospection support
mathArithmetic
combinatorsComplex conditionals (cond, case) and generalized dataflow combinators (cleave, spread)
xmlXML reader and writer
mirrorsView any object as an association mapping slots to values
pegParsing expression grammar and packrat parser
gtk3
hex-strings
ntpClient for NTP protocol
command-lineCommand line argument parsing
gtk4
memoizeMemoization
concurrency
hash-setsSet structure with constant-time addition and removal
cuckoo-filtersCuckoo filters
unixBindings to library and system calls found on Unix-like systems
vmLayout of the C vm structure
englishEnglish language
ini-fileParses INI configuration files.
gtk2Gtk binding
wrapWord wrapping
reservoir-sampling
quoting
jsonJSON reader and writer
cocoaObjective C/Cocoa bridge
checksumsChecksum protocol and implementations
threadsCo-operative threading
colorsColors as a first-class data type
localsEfficient named local variables and lexical closures
httpCommon code shared by HTTP client and server
graphene
urlsTools for working with URLs (uniform resource locators)
base16Base16 encoding/decoding (RFC 3548)
retries
csvCSV parser
formattingFormat data according to a specified format string
linux
smtpSending mail via SMTP
sequencesSequence protocol, combinators and utilities
bloom-filtersBloom filters
refsReferences to keys and values in assocs
compression
base45Base45 encoding/decoding (RFC 9285)
simple-flat-fileParsing simple text files
core-graphicsBinding to macOS Core Graphics library
typedStrongly-typed word definitions
lazyLazy thunks
splittingSplitting sequences and grouping sequence elements
interpolateInterpolating variable values into strings
sortingMerge sort for sequences
debuggerPrinting errors, inspecting tracebacks, restarts
dbRelational database abstraction layer
globsUnix shell-style glob pattern matching
environmentEnvironment variables
x11X11 Xlib and GLX bindings
method-chainsBEFORE: and AFTER: syntax for extending methods in class hierarchies
mime
resolv-conf
search-dequesDouble-ended queues with sub-linear membership testing
base92Base92 encoding/decoding
romanRoman numerals library
base32Base32 encoding/decoding (RFC 3548, RFC 4648, Crockford)
validatorsValue validation for the web framework
gmoduleGModule binding
simple-tokenizerSimple string tokenizer
documentsMutable structure for storing a plain text document being edited in memory
nmakeGeneralization of make for constructing several sequences simultaneously
evalAd-hoc evaluation of strings of code
columnsVirtual sequence view of a matrix column
base58Base58 encoding/decoding
literalsExpression interpolation into sequence literals
gsk4
windowsMicrosoft Windows XP/Vista/7 API bindings
fixups
randomRandom number generator protocol and implementations
circularVirtual sequence presenting a rotation of an underlying sequence
webbrowserOpen URLs in your web browser
disjoint-setsAn efficient implementation of the disjoint-set data structure
fontsFonts as a first-class data type
opensslOpenSSL binding
dns
quoted-printableQuoted printable encoding/decoding
core-textBinding for macOS Core Text library
stack-checkerStack effect inference
heapsMaxheap and minheap implementations of priority queues
definitionsDefinition protocol and cross-referencing
uuidGenerates UUID's.
slotsLow-level object introspection support
gir
source-filesSupport for tracking loaded source files
compilerFactor's optimizing machine code compiler
binary-searchFast searching of sorted arrays
protocols
bitstreamsReading sequences of bits from a byte stream
loggingLogging framework with support for log rotation and machine-readable logs
oauth1
specialized-arraysArrays of unboxed primitive C types
interval-sets
farkupSimple markup language for generating HTML
suffix-arraysSuffix arrays
hintsSyntax sugar for the Factor compiler's specializer hints facility
trFast character-to-character translation of ASCII strings
multilineMultiline string literals
helpOnline help system
ip-parserParsing IPv4 and IPv6 addresses
xdgXDG Base Directory Specification
system-infoQuery the operating system for hardware information in a platform-independent way
escape-strings
gioGIO binding
openglOpenGL binding
channelsCommunicating Sequential Processes
boxesAn abstraction for enforcing a mutual-exclusion invariant


Children from resource:extra
VocabularySummary
svgParsers for SVG data
bsonBSON (http://en.wikipedia.org/wiki/BSON) reader and writer
bareBARE (https://baremessages.org) encoding/decoding.
benchmarkVarious benchmarks to test Factor's optimizer
tzinfoParsing timezone files.
geobytesCity, country, region database using database from http://www.geobytes.com/GeoWorldMap.zip
backoff
build-from-source
pair-methodsOrder-insensitive double dispatch generics
gml
ednExtensible Data Notation (EDN)
asn1ASN.1 parser
trails
sudokusgraphical sudoku solver
robohashRobohash!
uiFactor's graphical user interface framework
text-analysisPerform analysis on English text.
hipkuEncoding IPv4/IPV6 addresses as haiku
webapps
papier
ulidUniversally Unique Lexicographically Sortable Identifier
rocksdb
window-controls-demoOpen windows with different control sets
zoneinfo
fuelFUEL turns Emacs into a rich, interactive development environment for Factor,
twitterWrapper for Twitter web service
crypto
msgpackSupport for msgpack protocol.
color-picker-gameColor picker game
ctagsCtags generator
quadtreesQuadtree spatial indices
stack-as-data
grid-meshes
oggOgg media library binding
s3Amazon S3 Wrapper
native-thread-test
hashcashHashcash implementation
furnaceFurnace web framework
id3
lintFinds potential mistakes in code
hacker-news
zealot
pingUses ICMP to test the reachability of a network host.
shuffleAdditional shuffle words
periodic-tablePeriodic table gadget demo
tools
variantsSyntax and combinators for manipulating algebraic data types
broadcast-server
docker
csexpCsexp (https://www.wikiwand.com/en/Canonical_S-expressions) reader and writer
spotlight
color-table
gpuHigh-level OpenGL-based GPU resource management and rendering library
binhexEncoding and decoding of BinHex 4.0 files
cursesncurses binding
gilded-rose
syslogSyslog protocol
imapReading mailboxes using IMAP
discord
gesture-loggerGadget which logs all received gestures, for debugging
dotenvSupport for .env files
ecdsaElliptic Curve Digital Signature Algorithm (OpenSSL realisation)
brain-flakA Brain-flak to Factor compiler
calendarOperations on timestamps and durations
key-logger
lru-cacheLeast Recently Used (LRU) cache
kaggle
hetzner
wikipediaWikipedia
treesBinary search trees
punycodePunycode and Internationalized Domain Names
lisppasteXML-RPC interface to http://paste.lisp.org
wordlet
visionectVisionect Server Management API
memoryHeap introspection support
bittorrentBitTorent protocol for peer-to-peer file sharing.
bubble-chamber
geminiGemini client
html5
hamurabiPort of the HAMURABI.BAS game
spheresDraw pixel-perfect spheres using GLSL shaders
file-serverCommand-line HTTP file server
gdbmGNU DataBase Manager
model-viewer
format-using
vocabsVocabularies are collections of words loaded from a source file
wordtimerMicrosecond precision code timer/profiler.
fjscA 'subset of Factor' to Javascript compiler
unicodeUnicode support
pokerPoker hand evaluator
enigmaEnigma cipher machine
freetypeFreeType text rendering library binding
midiReading and writing MIDI files
magiclibmagic binding
listsImplementation of lisp-style linked lists
pythonPython interface
bitlyWrapper for bit.ly URL shortening web service
libclang
cpu
cairo-gadgetsUI gadget for rendering graphics with Cairo
bech32Bech32 encoding/decoding
redisWords for communicating with the Redis key-value database
successor
imagesBitmap images
processing
msxml-to-csvConverting MSXML to comma separated values demo
ryuFloat to string conversion
classesObject system implementation
backtrackSimple non-determinism
backblaze
scryfall
multi-methodsExperimental multiple dispatch implementation
pairsAssoc implementation optimized for a single key/value pair
bankBank account simulator for compound interest calculated daily and paid monthly
shapefilesParsers for ESRI Shapefiles
shell
cairo-samples
bendFactor port of Bend language features
cuesheetParsing cue sheet (cue files)
groupingGrouping sequence elements into subsequences
dbfParsers for various dBase database files
machoConstants and structs related to the Mach object format.
neheNeHe OpenGL tutorials ported to Factor
google
backticksBacktick process syntax
cuda
tetrisGraphical Tetris game
zeromqBindings to 0MQ (zeromq).
path-findingA* path-finding algorithm
smalltalk
crontabParser for crontab files
stream
cairo-demo
string-server
rpnSimple RPN calculator
tokyo
roms
snake-game
icfp
minesweeperMinesweeper game
readlinelibreadline bindings
assocsAssociative structure protocol
qtkit
wasm
irc
ioStream protocol
changer
hello-uiGraphical hello world demo
gravatarWrapper for the Gravatar service.
diceRandom dice rolls (with modifiers)
llvm
picomathImplementation of picomath.org small math functions
24-game
logic
hello-unicodeModern "Hello world" which demonstrates various Unicode scripts
tensors
literateLiterate programming techniques
flamegraph
bunnyStanford Bunny OpenGL demo
ldcache
pdfCreating PDF files
quiz
time-server
readline-listenerA listener that uses libreadline.
terminal
soundexPhonetic algorithm for indexing names by sound
itunes
openalOpenAL 3D audio library binding
rolesMixins for tuples
verbal-expressionsHuman-readable regular expressions
file-picker
file-monitorCommand-line file change monitor
htmlHTML utilities
gtk2-samples
boidsArtificial life program simulating the flocking behaviour of birds
project-eulerProject Euler example solutions
modelsObservable slots which can be composed in various ways
alienC library interface
hello-worldTextual hello world demo
game
rot13Rot13 demo
cli
boyer-mooreBoyer-Moore string search algorithm
koszulLie algebra cohomology
youtubeWrapper for YouTube.com API.
text-to-speechText-to-speech utility
subrip-subtitles
mathArithmetic
echo-server
combinatorsComplex conditionals (cond, case) and generalized dataflow combinators (cleave, spread)
mongodbMongoDB Factor integration
reverseCombinators for reversing the inputs of a callable
luaFFI bindings to the Lua programming language.
merger
slidesBare-bones tools for giving presentations and demonstrations with the Factor UI
solr
time
z-algorithmZ algorithm for pattern preprocessing
wake-on-lanWake-on-LAN support
contributorsContributor patch counts from git
pegParsing expression grammar and packrat parser
envAccess environment variables via the assoc protocol
flip-textTurns text upside-down.
http2
rdapRegistration Data Access Protocol (RDAP)
bitcoin
namespacesDynamically-scoped variables
units
memcachedProvides access to memcached, a high-performance, distributed memory object caching system.
dwarf
digraphsSimple directed graph implementation for topological sorting
sudokuSudoku solver demo
annotationsCode annotation comment syntax
terminfoReads terminfo database files
mazeMaze generator demo
numbers-gameNumber guessing game demo
decimals
openclHigh-level vocabulary for using OpenCL
cgiSupport using Factor in CGI scripts
capCreating and displaying screenshots of Factor
constructorsUtility to simplify tuple constructors
curlBindings to libcurl
vinVIN (Vehicle Identification Number)
geo-ipIP address geolocation using database from http://software77.net/cgi-bin/ip-country/
pong
rlglBindings for rlgl
zimParsers for the ZIM file format
synthSimple sound synthesis using OpenAL.
semver
audioFramework for reading and playing back audio
chipmunk
brainfuckBrainfuck programming language.
tty-serverConnect to a Factor listener through telnet
checksumsChecksum protocol and implementations
tftp
bencodeSupport for bencoding.
github
certs
gamelib
txonTXON (http://www.hxa.name/txon/) reader and writer
masonContinuous build system for Factor
fastcgi
multibaseMultibase protocol for encoding binary data
key-handlers
colorsColors as a first-class data type
euler
localsEfficient named local variables and lexical closures
odbcODBC (Open DataBase Connectivity) binding
recipesDatabase backed recipe sharing
variables
L-system
geohashGeohash geocoding system.
drunken-bishopDrunken bishop visual checksum algorithm
noise
stompSTOMP (Simple Text Oriented Messaging Protocol) client library
vulkan
taxes
sequencesSequence protocol, combinators and utilities
turingTuring machine simulator
yencEncoding and decoding of the yEnc format
setsSet-theoretic operations on sequences
persistency
moneyUtility for calculating money with rationals
chrome-tools
bluesky
graphviz
arraysFixed-size arrays
raygui
pair-rocketH{ "foo" => 1 "bar" => 2 } style literal syntax
pop3Retrieve mail via POP3
lcd7-segment LCD clock demo
metarMETAR and TAF weather parsers
compression
terrainWalk around on procedurally generated terrain
redditReddit API
infixSupport for infix notation in Factor programs
7guis
text-to-pdfText-to-PDF converter.
nurbsNURBS curve evaluation
raylibBindings for Raylib 4.5
splittingSplitting sequences and grouping sequence elements
tokencase
sortingMerge sort for sequences
golden-sectionGolden section demo
emojify
spider
marvel
long-urlsExpand short urls.
dbRelational database abstraction layer
codebase-analyzer
webkit-demoA simple example showing usage of the Cocoa WebKit framework from Factor
yaml
continuationsCapturing and restorating continuations, catching errors
duckdb
pickleSupport for Python object serialization
gap-bufferGap buffer data structure
progress-bars
gtk4-samples
pcre2libpcre2 binding
aws
descriptiveDescriptive errors generated automatically for specially defined words
monadsHaskell-style monads
gstreamerGStreamer binding
pcrelibpcre binding
coroutinesCoroutines implementation
sodiumThe Sodium crypto library
managed-server
generatorsGenerators implementation
99-bottles
containers
multisets
boolean-exprSimple boolean expression evaluator and simplifier
fluids
modern
libtls
robots
wolfram-alphaQuery API for Wolfram Alpha
morseConverts between text and morse code, and plays morse code.
glfw
wipeErase files by overwriting contents with random data
windowsMicrosoft Windows XP/Vista/7 API bindings
randomRandom number generator protocol and implementations
tnetstringsReader and writer for "tagged netstrings"
countriesCountry-specific codes including ISO 3166-1
tldrtldr pages (simplified and community-driven man pages)
game-of-lifeConway's Game of Life
bitcaskBitcask key/value database
partial-continuationsPartial continuations - breset/bshift
syntaxStandard Factor syntax
leb128LEB128 (Little Endian Base 128) encoding support
color-pickerColor picker gadget demo
totpRFC 6238 Time-Based One-Time Passwords
fftwBindings to FFTW3.
machine-learning
anagrams
libusbBindings to libusb
markov-chainsMarkov chain processes.
clutterClutter binding
gopherGopher client
codebook
process-autopsy
jamshredA simple 3d tunnel racing game
tar
parser-combinatorsHaskell-style lazy parser combinators
slotsLow-level object introspection support
c
monadicsAlternative Implementation of Haskell-style Monads
gir
xkcdComics from the http://xkcd.com website
libudevBindings to libudev
proquintProquint encoding/decoding
compilerFactor's optimizing machine code compiler
demos
log-viewerSimple log file watcher demo using io.monitors
qwPerlish syntax for literal arrays of whitespace-delimited strings (qw{ foo bar })
command-loopGeneric line-oriented command interpreter.
mediawiki
spellingPeter Norvig's spelling corrector
notifications
cursors
npm
git
websites
helpOnline help system
tinyvgParsers for the TinyVG image format
gitignoreImplements .gitignore parser
elfConstants and structs related to the ELF object format.
chess960
usa-cities
openaiOpenAI API
site-watcher
reports
yahooYahoo! search example using XML
did-you-mean
elevateCross-platform API for elevated permissions
openglOpenGL binding
ifaddrs
iso-codes


Children from resource:work
VocabularySummary
README.txt


Children
VocabularySummary
accessors
scratchpad