Vocabulary | Summary |
alien | C library interface |
arrays | Fixed-size arrays |
byte-arrays | Efficient fixed-length byte arrays |
checksums | Checksum protocol and implementations |
checksums.crc32 | CRC32 checksum algorithm |
classes | Object system implementation |
classes.mixin | Mixin classes (extensible unions) |
classes.predicate | Predicate classes |
classes.tuple | Tuple classes |
classes.union | Union classes |
combinators | Complex conditionals (cond, case) and generalized dataflow combinators (cleave, spread) |
compiler.units | Compilation units group word definitions for compilation |
continuations | Capturing and restorating continuations, catching errors |
definitions | Definition protocol and cross-referencing |
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 |
generic.hook | Hook combination used for namespace variables |
generic.math | Math method combination used for arithmetic words |
generic.single | Single combination used for single dispatch |
generic.standard | Standard combination for dispatching on stack values |
graphs | Directed graphs |
growable | Low-level implementation of vectors and string buffers |
hashtables | Associative structure with expected constant time lookup |
init | Startup and initialization hooks |
io | Stream protocol |
io.backend | Hooks for native I/O implementation |
io.encodings | Common support for ASCII, UTF8 and UTF16 character encodings |
io.files | Reading and writing files |
io.pathnames | Pathname manipulation |
io.streams.c | Bare-bones ANSI C I/O implementation |
io.streams.plain | Extended stream output protocol implementation for character-oriented output streams |
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 |
math.floats | Floating point number implementation |
math.integers | Integer implementation |
math.parser | Converting numbers to and from strings |
math.ratios | Rational number implementation |
memoize | Memoization |
memory | Heap introspection support |
namespaces | Dynamically-scoped variables |
parser | Factor source code parser |
parser.notes | Utility for presenting notes while parsing |
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 |
source-files.errors | Source file errors and their observers |
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 |
vocabs.loader | Vocabulary dependency resolution, reloading and development utilities |
vocabs.parser | Utilities for parsing and defining words |
words | Words are the fundamental units of code |
words.alias | Defining multiple words with the same name |
Vocabulary | Summary |
alien.arrays | C array support |
alien.c-types | C data type support |
alien.complex | Implementation details for C99 complex float and complex double types |
alien.complex.functor | Code generation for C99 complex number support |
alien.data | Words for allocating objects and arrays of C types |
alien.destructors | Functor for defining destructors which call a C function to dispose of resources |
alien.libraries | |
alien.parser | Utilities used in implementation of alien parsing words |
alien.remote-control | Support for embedding Factor in other applications |
alien.syntax | C library interface parsing words |
ascii | ASCII character classes |
biassocs | Bidirectional assocs |
bit-arrays | Fixed-size bit arrays |
bit-sets | Efficient bitwise operations on bit arrays |
bootstrap.compiler | Loading the compiler in stage 2 bootstrap |
bootstrap.help | Loading the help system in stage 2 bootstrap |
bootstrap.image | Bootstrap image generation |
bootstrap.image.download | Smart image downloader utility which first checks MD5 checksum |
bootstrap.image.upload | Image upload utility |
bootstrap.io | Loading native I/O in stage 2 bootstrap |
bootstrap.tools | Loading terminal-based developer tools in stage 2 bootstrap |
bootstrap.ui | Loading graphical user interface in stage 2 bootstrap |
bootstrap.ui.tools | Loading graphical developer tools in stage 2 bootstrap |
cache | An associative mapping whose entries expire after a while |
cairo | Cairo graphics library binding |
classes.struct | Tuple-like access to structured raw memory |
cocoa | Objective C/Cocoa bridge |
cocoa.application | NSApplication-related utilities |
cocoa.dialogs | NSOpenPanel/NSSavePanel utilities |
cocoa.messages | Support and syntax for Objective C message sending |
cocoa.pasteboard | NSPasteboard utilities |
cocoa.plists | Reading and writing Cocoa property lists |
cocoa.runtime | Low-level Objective C runtime binding |
cocoa.subclassing | Support and syntax for Objective C subclassing |
cocoa.types | NSPoint, NSRect, and other simple Cocoa types |
cocoa.views | NSView and NSOpenGLView utilities |
cocoa.windows | NSWindow utilities |
colors | Colors as a first-class data type |
colors.hsv | Hue-saturation-value colors |
columns | Virtual sequence view of a matrix column |
command-line | Command line argument parsing |
command-line.startup | |
compiler | Factor's optimizing machine code compiler |
compiler.cfg.builder | Final stage of compilation generates machine code from dataflow IR |
compiler.cfg.builder.alien.boxing | |
compiler.cfg.builder.alien.params | |
compiler.cfg.checker | |
compiler.cfg.dce | Dead code elimination |
compiler.cfg.def-use | Common code used by several passes for def-use analysis |
compiler.cfg.dominance | |
compiler.cfg.finalization | |
compiler.cfg.gc-checks | |
compiler.cfg.intrinsics.simd | |
compiler.cfg.intrinsics.strings | |
compiler.cfg.linear-scan.numbering | |
compiler.cfg.representations.coalescing | |
compiler.cfg.representations.conversion | |
compiler.cfg.representations.peephole | |
compiler.cfg.representations.rewrite | |
compiler.cfg.representations.selection | |
compiler.cfg.save-contexts | |
compiler.cfg.stack-frame | |
compiler.cfg.stacks | Generating instructions for accessing the data and retain stacks |
compiler.cfg.value-numbering.alien | |
compiler.cfg.value-numbering.comparisons | |
compiler.cfg.value-numbering.folding | |
compiler.cfg.value-numbering.math | |
compiler.cfg.value-numbering.misc | |
compiler.cfg.value-numbering.slots | |
compiler.cfg.write-barrier | Write barrier elimination |
compiler.codegen.gc-maps | |
compiler.codegen.labels | Support for generation of relocatable code |
compiler.codegen.relocation | |
compiler.constants | VM memory layout constants |
compiler.crossref | |
compiler.errors | Compiler warning and error reporting |
compiler.test | |
compiler.threads | |
compiler.tree | High-level optimizer operating on lexical tree SSA IR |
compiler.tree.def-use | Def/use chain construction |
compiler.tree.modular-arithmetic | Modular arithmetic optimization |
compiler.tree.propagation | Class, interval, constant propagation |
compiler.tree.propagation.call-effect | |
compiler.tree.propagation.transforms | |
concurrency.exchangers | Object exchange points |
concurrency.futures | Deferred computations |
concurrency.locks | Traditional locks and many reader/single writer locks |
concurrency.mailboxes.debugger | |
concurrency.messaging | Erlang/Termite-style message-passing concurrency |
concurrency.promises | Thread-safe write-once variables |
concurrency.semaphores | Counting semaphores |
core-foundation | Binding to macOS CoreFoundation library |
core-foundation.attributed-strings | |
core-foundation.dictionaries | |
core-foundation.numbers | |
core-foundation.run-loop | CoreFoundation run loop integration |
core-foundation.utilities | |
core-graphics | Binding to macOS Core Graphics library |
core-graphics.types | |
core-text | Binding for macOS Core Text library |
core-text.fonts | |
cpu.architecture | Compiler's abstract CPU architecture description model |
cpu.arm.32.assembler | |
cpu.x86 | 32-bit x86 compiler backend |
cpu.x86.32 | 32-bit x86 code generator |
cpu.x86.64 | 64-bit x86 compiler backend |
cpu.x86.assembler | x86 assembler |
cpu.x86.assembler.operands | x86 registers and memory operands |
cpu.x86.features | |
cpu.x86.sse | |
cpu.x86.x87 | |
db.tester | |
debugger | Printing errors, inspecting tracebacks, restarts |
debugger.unix | |
debugger.windows | |
definitions.icons | |
deques | Double-ended queue protocol and common operations |
documents | Mutable structure for storing a plain text document being edited in memory |
documents.elements | |
editors | Editor integration |
editors.jedit | jEdit editor integration |
eval | Ad-hoc evaluation of strings of code |
fonts | Fonts as a first-class data type |
functors | First-class syntax |
furnace | Furnace web framework |
furnace.actions | Actions and form validation |
furnace.alloy | Convenience responder combines several features |
furnace.asides | Asides start an interaction which can return to the original page |
furnace.auth | Authentication |
furnace.auth.features.deactivate-user | Allow users to deactivate their accounts |
furnace.auth.features.edit-profile | Allow users to edit account info |
furnace.auth.features.recover-password | Allow users to receive a new password |
furnace.auth.features.registration | Allow new users to register from the login page |
furnace.auth.login | Login page authentication |
furnace.auth.login.permits | |
furnace.auth.providers | Pluggable authentication backends |
furnace.auth.providers.db | Look up user credentials in the database |
furnace.boilerplate | Adding common headers/footers to pages |
furnace.cache | Shared code for storing session state in the database |
furnace.chloe-tags | Furnace-specific Chloe tags |
furnace.conversations | Retaining state between form submissions and redirects |
furnace.db | Database connection pooling |
furnace.redirection | Various forms of URL redirection |
furnace.referrer | Referrer checking |
furnace.scopes | Shared code for storing scopes in the database |
furnace.sessions | Session management |
furnace.syndication | Atom feed syndication |
furnace.utilities | Odds and ends |
globs | Unix shell-style glob pattern matching |
grouping | Grouping sequence elements into subsequences |
heaps | Maxheap and minheap implementations of priority queues |
help | Online help system |
help.cookbook | |
help.crossref | Help article cross-referencing |
help.definitions | Help article definition protocol implementation |
help.handbook | Factor developer's handbook |
help.home | |
help.lint | Help lint tool |
help.lint.checks | |
help.markup | Help markup language |
help.stylesheet | Default help stylesheet |
help.syntax | Parsing words for defining help articles |
help.tips | |
help.topics | Help topic management |
help.tutorial | |
help.vocabs | Browsing vocabularies |
hints | Syntax sugar for the Factor compiler's specializer hints facility |
html.components | HTML components for form rendering and validation |
html.forms | HTML form rendering and validation |
html.streams | HTML implementation of formatted output stream protocol |
html.templates | HTML templating engine interface |
html.templates.chloe | XHTML templating engine with extensible compiler and separation of concerns |
html.templates.fhtml | Simple templating engine mixing Factor code with content |
http | Common code shared by HTTP client and server |
http.client | HTTP client |
http.client.post-data | |
http.server | HTTP server |
images.memory | |
images.tessellation | |
inspector | Terminal-based object viewer and editor |
io.backend.unix | Non-blocking I/O and sockets on Unix-like systems |
io.backend.unix.bsd | |
io.backend.unix.linux | |
io.backend.unix.multiplexers | Generic protocol for Unix I/O multiplexers |
io.backend.unix.multiplexers.epoll | Linux epoll multiplexer |
io.backend.unix.multiplexers.kqueue | BSD and macOS kqueue multiplexer |
io.backend.unix.multiplexers.select | Generic Unix select multiplexer |
io.buffers | High-performance pinned FIFO buffers |
io.crlf | Writing with and reading until \r\n |
io.directories | Listing directories, moving, copying and deleting files |
io.files.info | File and file system metadata |
io.files.links | Working with symbolic links |
io.files.unix | Implementation of reading and writing files on Unix-like systems |
io.launcher | Launching operating system processes |
io.launcher.unix | |
io.launcher.windows | |
io.mmap.unix | |
io.monitors | File alteration monitoring |
io.pipes.windows | |
io.pools | Abstract connection pooling |
io.ports | Low-level implementation support for native I/O |
io.servers | Multi-threaded TCP/IP servers |
io.sockets | Client and server TCP/IP sockets, UDP/IP datagram sockets |
io.sockets.secure | Secure sockets (SSL, TLS) |
io.sockets.unix | Implementation of TCP/IP and UDP/IP sockets on Unix-like systems |
io.sockets.windows | |
io.streams.byte-array.fast | |
io.streams.duplex | Combine an input and an output stream into a single duplex stream |
io.streams.null | Dummy implementation of stream protocol |
io.streams.string | Reading and writing strings as streams |
io.styles | Styles which can be used to mark up text sent to an output stream |
libc | Manual memory management for interfacing with C |
linked-assocs | Assocs that yield items in insertion order |
listener | Terminal-based interactive code evaluator |
logging | Logging framework with support for log rotation and machine-readable logs |
logging.analysis | Analyze logs and produce summaries |
logging.insomniac | Task which rotates logs and e-mails summaries |
logging.parser | Log parser |
logging.server | Distributed concurrency log server |
math.bitwise | Bitwise arithmetic utilities |
math.combinatorics | Permutations and combinations |
math.complex | Complex number implementation |
math.constants | Mathematical constants |
math.functions | Elementary complex-valued functions |
math.intervals | Interval arithmetic |
math.libm | Low-level binding to math functions in the C standard library |
math.matrices | Matrix arithmetic |
math.quaternions | Quaternion arithmetic and Euler angles |
math.rectangles.positioning | |
math.rectangles.prettyprint | |
math.vectors | Vector arithmetic |
math.vectors.simd | Single-instruction-multiple-data parallel vector operations |
method-chains | BEFORE: and AFTER: syntax for extending methods in class hierarchies |
mime.types | MIME types database |
mirrors | View any object as an association mapping slots to values |
models | Observable slots which can be composed in various ways |
models.arrow.smart | |
oauth1 | |
opengl | OpenGL binding |
opengl.textures | |
persistent.assocs | Persistent associative mapping protocol |
persistent.hashtables | Persistent hashtables with O(1) insertion, removal and lookup |
persistent.sequences | Persistent sequence protocol |
persistent.vectors | Immutable vectors with O(log_32 n) random access, push, and pop |
porter-stemmer | Porter stemming algorithm |
present | Generic word for converting objects to strings for human consumption |
prettyprint | Factor source code prettyprinter |
prettyprint.backend | Prettyprinter methods for built-in types |
prettyprint.config | Prettyprinter configuration variables |
prettyprint.sections | Prettyprinter formatting and layout logic |
random | Random number generator protocol and implementations |
refs | References to keys and values in assocs |
regexp.prettyprint | |
search-deques | Double-ended queues with sub-linear membership testing |
see | Printing loaded definitions as source code |
sequences.cords | Virtual sequence concatenation |
simple-tokenizer | Simple string tokenizer |
smtp | Sending mail via SMTP |
sorting.human | Correct sorting of sequences of strings with embedded numbers |
sorting.specification | Sorting by multiple keys |
specialized-arrays | Arrays of unboxed primitive C types |
specialized-vectors | Vectors of unboxed primitive C types |
specialized-vectors.mirrors | |
stack-checker | Stack effect inference |
stack-checker.backend | Stack effect inference implementation |
stack-checker.branches | Stack effect inference for conditionals |
stack-checker.dependencies | |
stack-checker.errors | Errors which may be raised by stack effect inference |
stack-checker.inlining | Stack effect inference for inline and inline recursive words |
stack-checker.known-words | Hard-coded stack effects for primitive words |
stack-checker.state | Variables for holding stack effect inference state |
stack-checker.transforms | Support for compile-time code transformation |
stack-checker.visitor | Node visitor protocol |
strings.tables | |
syndication | RSS 1.0, 2.0 and Atom feed parser |
threads | Co-operative threading |
tools.annotations | Support for breakpoints and watchpoints on words |
tools.completion | Support for fuzzy search and completion of a string from a set of candidates |
tools.continuations | |
tools.crossref | Inspecting definition usages |
tools.deploy | Deploying minimal stand-alone images |
tools.deploy.backend | |
tools.deploy.config | |
tools.deploy.macos | Deploying minimal stand-alone macOS application bundles |
tools.deploy.shaker | |
tools.deploy.test.10 | |
tools.deploy.test.11 | |
tools.deploy.test.12 | |
tools.deploy.test.13 | |
tools.deploy.test.14 | |
tools.deploy.test.18 | |
tools.deploy.test.19 | |
tools.deploy.windows | Deploying minimal stand-alone Windows executables |
tools.destructors | |
tools.disassembler | Disassemble words using gdb |
tools.dispatch | |
tools.errors | |
tools.memory | Data and code heap introspection tools |
tools.test | Unit test framework |
tools.time | Timing code execution |
tools.trace | |
tools.walker | Single-stepper for walking through code |
tools.walker.debug | |
tr | Fast character-to-character translation of ASCII strings |
tuple-arrays | Efficient arrays of tuples with value semantics for elements |
ui | Factor's graphical user interface framework |
ui.backend | UI backend hooks |
ui.backend.cocoa | Cocoa UI backend |
ui.backend.cocoa.tools | Cocoa integration for UI developer tools |
ui.backend.cocoa.views | Cocoa NSView implementation displaying Factor gadgets |
ui.backend.x11 | |
ui.baseline-alignment | |
ui.clipboards | Abstract clipboard support |
ui.commands | UI command framework |
ui.gadgets | Gadget hierarchy and layout management |
ui.gadgets.books | Book gadget displays one child at a time |
ui.gadgets.borders | Border gadget adds padding around a child |
ui.gadgets.buttons | Button gadgets invoke commands when clicked |
ui.gadgets.canvas | Canvas gadget for caching rendering to a display list |
ui.gadgets.debug | |
ui.gadgets.editors | Editors edit a plain text document |
ui.gadgets.frames | Frames position children around a center child which fills up any remaining space |
ui.gadgets.grid-lines | Grid lines visibly separate children of grids and frames |
ui.gadgets.grids | Grids arrange children in a variable-size grid |
ui.gadgets.icons | |
ui.gadgets.incremental | Children can be added to incremental layouts in constant time |
ui.gadgets.labeled | Labelled gadgets display a border with a text label surrounding a child |
ui.gadgets.labels | Label gadgets display one or more lines of text with a single font and color |
ui.gadgets.line-support | Code shared between table and editor gadgets |
ui.gadgets.menus | Menu gadgets pop up as a list of commands at the mouse location |
ui.gadgets.packs | Pack gadgets arrange children horizontally or vertically |
ui.gadgets.panes | Pane gadgets display formatted stream output |
ui.gadgets.paragraphs | Paragraph gadgets lay out their children from left to right, wrapping at a fixed margin |
ui.gadgets.presentations | Presentations display an interactive view of an object |
ui.gadgets.prettyprint | |
ui.gadgets.scrollers | Scrollers display a user-chosen portion of a child which may have arbitrary dimensions |
ui.gadgets.sliders | Slider gadgets provide a graphical view of an integer-valued model |
ui.gadgets.status-bar | Status bar gadgets display mouse-over help for other gadgets |
ui.gadgets.toolbar | Toolbars contain several buttons side-by-side |
ui.gadgets.tracks | Track gadgets arrange children horizontally or vertically, giving each child a specified fraction of total available space |
ui.gadgets.viewports | Viewport gadgets display a portion of a child gadget and are used to implement scrollers |
ui.gadgets.worlds | World gadgets are the top level of the gadget hierarchy and are displayed in native windows |
ui.gestures | Translating window system events to gestures, and delivering gestures to gadgets |
ui.images | |
ui.operations | Operations are commands which may be performed on a presentation's underlying object |
ui.pens | |
ui.pens.caching | |
ui.pens.gradient | |
ui.pens.image | |
ui.pens.polygon | |
ui.pens.solid | |
ui.pens.tile | |
ui.render | Support for rendering gadgets via OpenGL |
ui.text | |
ui.text.core-text | UI text rendering implementation using macOS Core Text |
ui.text.pango | UI text rendering implementation using cross-platform Pango library |
ui.text.uniscribe | UI text rendering implementation using the MS Windows Uniscribe library |
ui.tools | Graphical developer tools |
ui.tools.browser | Graphical help browser |
ui.tools.browser.history | |
ui.tools.browser.popups | |
ui.tools.debugger | Graphical error display |
ui.tools.deploy | Graphical front-end for deploy tool |
ui.tools.error-list | |
ui.tools.inspector | Graphical object viewer and editor |
ui.tools.inspector.slots | Slot editor gadgets are used to implement the UI inspector |
ui.tools.listener | Graphical code evaluator |
ui.tools.listener.completion | |
ui.tools.listener.history | |
ui.tools.listener.popups | |
ui.tools.operations | Standard presentation operations |
ui.tools.traceback | Traceback gadgets display a continuation in human-readable form |
ui.tools.walker | Graphical code single stepper |
ui.traverse | Gadget tree traversal |
unix | Bindings to library and system calls found on Unix-like systems |
unix.ffi.bsd | *BSD/macOS support |
unix.kqueue | |
unix.linux | |
unix.linux.epoll | |
urls | Tools for working with URLs (uniform resource locators) |
urls.encoding | URL and form encoding/decoding |
validators | Value validation for the web framework |
vocabs.cache | Caching vocabulary data from disk |
vocabs.files | Getting a list of files in a vocabulary |
vocabs.generated | |
vocabs.metadata | Managing vocabulary author, tag and summary information |
vocabs.prettyprint | |
vocabs.refresh | Reloading changed vocabularies from disk |
vocabs.refresh.monitor | Use io.monitors to clear tools.browser authors/tags/summary cache |
windows.offscreen | Utility words for memory DCs and bitmaps |
windows.uniscribe | High-level wrapper around Uniscribe binding |
wrap | Word wrapping |
x11 | X11 Xlib and GLX bindings |
x11.X | Bindings for /usr/include/X11/X.h constants |
x11.clipboard | X11 clipboard access utilities |
x11.events | Xlib events |
x11.glx | GLX (X11 OpenGL) binding |
x11.io | |
x11.io.unix | |
x11.syntax | |
x11.windows | Xlib window management utilities |
x11.xim | X11 input method support |
xmode.catalog | |
xmode.code2html | Syntax highlighting code as HTML |
xmode.keyword-map | |
xmode.loader | |
xmode.loader.syntax | |
xmode.marker | Tokenizing lines of text with a syntax mode |
xmode.marker.context | |
xmode.marker.state | |
xmode.rules | |
xmode.tokens | |
xmode.utilities | |