Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Keywords

Alphabetical list of all reserved keywords in the Forge language. Keywords cannot be used as identifiers.

Keyword Table

KeywordCategoryDescription
anyInnovationExistential check over collection
askInnovationAI/LLM prompt call
asyncClassicAsync function modifier
awaitClassicAwait an async expression
breakControl flowExit the current loop
byInnovationSort/order modifier (sort by, order by)
catchError handlingCatch block in try/catch
changeNaturalReassign a variable (change x to 10)
checkInnovationDeclarative validation
continueControl flowSkip to next loop iteration
craftNatural typeConstructor call (craft Person { })
crawlInnovationWeb scraping
defineNaturalFunction definition (alias for fn)
downloadInnovationDownload a file (download url to path)
eachNaturalIterator keyword (for each x in items)
elseControl flowElse branch in if/else
emitNaturalYield a value (alias for yield)
everyInnovationInterval modifier (schedule every 5 seconds)
falseLiteralBoolean false
fnClassicFunction definition
forControl flowFor loop
forgeNaturalAsync function modifier (alias for async fn)
freezeInnovationMake a value immutable
fromNaturalSource keyword (grab x from url, from x import y)
giveNatural typeImpl block (alias for impl)
grabNaturalFetch from URL (grab resp from "url")
holdNaturalAwait expression (alias for await)
ifControl flowConditional branch
implClassicImplementation block
importModuleImport from a module
inControl flowIterator membership (for x in items)
interfaceClassicInterface definition
keepInnovationFilter in pipe chain
letClassicVariable declaration
limitInnovationLimit results in query pipeline
loopControl flowInfinite loop
matchControl flowPattern matching
mustInnovationCrash on error with clear message
mutClassicMutable modifier
nahNaturalElse branch (alias for else)
nullLiteralNull value
orderInnovationOrder results in query pipeline
otherwiseNaturalElse branch (alias for else)
powerNatural typeInterface definition (alias for interface)
promptInnovationPrompt template definition
pubVisibilityPublic visibility modifier
repeatNaturalCounted loop (repeat 5 times { })
retryInnovationAutomatic retry (retry 3 times { })
returnControl flowReturn from function
safeInnovationNull-safe execution block
sayNaturalPrint with newline (alias for println)
scheduleInnovationCron-style scheduling
secondsNaturalTime unit for wait and timeout
selectInnovationSelect fields in query pipeline
setNaturalVariable declaration (alias for let)
spawnConcurrencySpawn a concurrent task
structClassicStruct definition
tableInnovationTabular data display
takeInnovationTake N items in pipe chain
theNatural typeConnector (give X the power Y)
thingNatural typeStruct definition (alias for struct)
timeoutInnovationTime-limited execution block
timesNaturalLoop count modifier (repeat 5 times)
toNaturalAssignment target (set x to 5, download url to path)
transformInnovationData transformation
trueLiteralBoolean true
tryError handlingTry block in try/catch
typeClassicAlgebraic data type definition
unlessInnovationPostfix conditional negation
unpackNaturalDestructuring (alias for let { })
untilInnovationPostfix loop termination
waitNaturalSleep with time units (wait 2 seconds)
watchInnovationFile change detection block
whenInnovationGuard-based conditional
whereInnovationCollection filter
whileControl flowWhile loop
whisperNaturalPrint in lowercase
yieldClassicYield a value from a generator
yellNaturalPrint in uppercase

Built-in Type Names

These identifiers are recognized as type annotations. They are reserved in type position but can be used as regular identifiers in value position.

NameType
Int64-bit integer
Float64-bit float
StringUTF-8 string
BoolBoolean
JsonJSON value

Categories

CategoryCountKeywords
Classic10async, await, fn, impl, interface, let, mut, struct, type, yield
Control flow12break, continue, else, for, if, in, loop, match, return, while, each, from
Natural13change, define, emit, forge, grab, hold, nah, otherwise, say, set, to, unpack, whisper, yell
Natural type5craft, give, power, the, thing
Innovation21any, ask, by, check, crawl, download, every, freeze, keep, limit, must, order, prompt, retry, safe, schedule, select, table, take, timeout, transform, unless, until, watch, when, where
Error handling2catch, try
Concurrency1spawn
Literal3false, null, true
Natural time2repeat, seconds, times, wait
Visibility1pub
Module1import

Non-Keywords

The following identifiers are not reserved keywords. They are built-in functions or contextual identifiers that can be shadowed:

  • has – parsed contextually inside struct/thing bodies
  • print, println – built-in functions, not keywords
  • Ok, Err, Some, None – built-in constructors
  • self – not reserved; methods receive self as a regular parameter name
  • Module names (math, fs, io, etc.) – pre-loaded global variables, not keywords