Skip to content
Solve
Search
Ctrl
K
Cancel
Get started
Syntax
Embedding
Playground
GitHub
Select theme
Dark
Light
Auto
Getting started
Introduction
Installation
Quick start
Core concepts
Syntax reference
Cheatsheet
Numbers and maths
Percentages
Units and conversions
Programmer math
Unit reference
Money and finance
Dates
Time
Variables
Line references
Conditionals
Statistics and phrasing
Map, reduce and aggregates
Vectors and matrices
Symbolic evaluation
Algebra
Calculus
Complex numbers
Dice
Live data
Trigger words and prose safety
Embedding guide
Embedding the engine
Using the engine from TypeScript
Formatting results
Editor integration
Async and live data
Writing an async data source
Performance
Security
Subpath exports
Writing packages
Writing a package
Extension points
Architecture
Overview
The pipeline
The bytecode virtual machine
The package system
Design decisions
Contributing
Development setup
Coding standards
Testing
Playground
API reference
api
Classes
ExpressionEngine
PackageRegistry
Interfaces
CompatibilityConflict
CompatibilityReport
EvalResults
IEnginePackage
IPackageRegistry
LineEvaluation
Type Aliases
CompatibilityConflictKind
CompatibilitySeverity
EngineVersionCheckResult
Variables
ENGINE_VERSION
packageRegistry
Functions
assertEngineVersionCompatible
checkEngineVersionCompatibility
checkPackageCompatibility
engine
Enumerations
EvalTier
Classes
AsyncResolutionBatcher
DocumentModel
ThreeTierEvaluator
Interfaces
ApplyChangesResult
AsyncCachePackageInfo
AsyncErrorEvent
BatcherMetrics
BytecodeCacheEntry
CacheSnapshot
CheckpointSnapshot
DagSnapshot
EvalLineResult
EvalResult
InlineSolvePosition
LineCacheEntryInfo
LineChange
LineState
LinesUpdatedEvent
SafetyCheckResult
ValidationConfig
ViewportRange
Type Aliases
AsyncResolutionEvent
Functions
checkExpressionComplexity
checkExpressionLength
extractReadsAndWrites
findInlineSolvesInLine
isEmptyLine
References
EvalResults
ExpressionEngine
LineEvaluation
language
Classes
LanguageService
Interfaces
CompletionItem
LanguageServiceOptions
SemanticToken
Type Aliases
TokenCategory
Variables
DEFAULT_TOKEN_CLASS_PREFIX
UNCATEGORIZED_TOKEN_TYPES
Functions
completionItemToOption
createTokenClassName
getTokenCategory
registerTokenCategory
tokenClassName
unregisterTokenCategory
format
Interfaces
FormattingSettings
Variables
DEFAULT_FORMATTING_SETTINGS
Functions
formatValue
errors
Enumerations
ErrorCategory
Classes
EngineError
ErrorFactory
Interfaces
EngineErrorInit
SourceSpan
Type Aliases
CoreErrorCode
ErrorCode
Result
Variables
CoreErrorCodes
Functions
andThen
combine
err
isErr
isOk
map
mapErr
match
normalizeUnknownError
ok
throwIfErr
tryCatch
tryCatchAsync
unwrapOr
services
Functions
createQueryClient
getActiveQueryClient
setActiveQueryClient
constants
Classes
ConfigManager
Interfaces
DateConfig
DiagnosticConfig
EngineConfig
PerformanceConfig
ValidationConfig
ValidationResult
VMConfig
WorkerConfig
Variables
DEFAULT_CONFIG
References
ENGINE_VERSION
variables
Classes
VariableResolver
Interfaces
IVariableSource
Variables
sharedVariableResolver
resolvers
Classes
ResolverRegistry
Interfaces
AsyncCheckResult
IAsyncResolver
normalizer
Classes
PhraseTrie
TokenNormalizer
Interfaces
NormalizerMatch
NormalizerOptions
NormalizerRule
TokenFusion
Variables
BUILTIN_PHRASES
Functions
createBuiltinNormalizerRules
createFusedToken
implicitMultiplyRule
lexer
Enumerations
LexerState
Classes
ExpressionLexer
Lexer
LexerToken
Interfaces
InlineSolveSpan
LexerVocabulary
LineClassification
ScanLineResult
Token
Type Aliases
MarkdownLineType
TokenType
Variables
knownUnits
sharedLexer
TokenTypes
Functions
buildTokenLookup
registerAllTokenTypes
registerTokenType
tokenTypeId
tokenTypeName
parser
Enumerations
OpCode
Classes
BytecodeBuilder
ParseletRegistry
PrecedenceParser
Interfaces
BytecodeProgram
InfixParselet
PrefixParselet
Variables
BindingPower
sharedParseletRegistry
Functions
buildBindingPowerTable
getOpCodeName
invalidateBindingPowerTable
References
Parser
vm
Enumerations
ValueType
Classes
DependencyGraph
OpRegistry
ScopeManager
Value
VMCheckpointer
Interfaces
Bytecode
ExpressionRecord
MatrixData
RangeData
VM
VMCheckpoint
Type Aliases
MatrixEntry
Variables
builtinFunctions
pluginFunctionRegistry
sharedOpRegistry
Functions
allocatePluginFunctionIndex
bigIntValue
binaryOp
chargeAllocation
checkAllocation
checkedArray
colVectorValue
createVM
executeBytecode
hexValue
matrixValue
numberValue
rangeValue
rowVectorValue
stringValue
unifyUom
uomValue
packages
Interfaces
CityWeather
IVector2
IVector3
IVector4
KnowledgePackageConfig
StockHistoricalQuote
StockQuote
StocksPackageConfig
Type Aliases
WeatherQueryKind
Variables
ARITHMETIC_PACKAGE
BIGINT_PACKAGE
BUILTIN_PACKAGES
CONDITIONALS_PACKAGE
CONVERTERS_PACKAGE
CURRENCY_PACKAGE
DATETIME_PACKAGE
DICE_PACKAGE
FINANCE_PACKAGE
FUNCTION_PACKAGE
LINES_PACKAGE
MAPREDUCE_PACKAGE
MATHPHRASES_PACKAGE
MATRIX_PACKAGE
PERCENTAGE_PACKAGE
SYMBOLIC_PACKAGE
TIME_PACKAGE
UOM_PACKAGE
VARIABLES_PACKAGE
VECTOR_PACKAGE
WEATHER_PACKAGE
Functions
createKnowledgePackage
createStocksPackage
utilities
Variables
abortLogger
Functions
autoFormatIntegerOrFloat
countLines
createTimeoutSignal
djb2Hash
stripQuotes
uom
Classes
CurrencyAsyncResolver
CurrencyExchangeService
Variables
currencyExchangeService
sharedCurrencyExchange
Functions
canConvert
convertUnit
getBestUnit
getMeasure
isConvertibleUnit
resolveUnit
GitHub
Select theme
Dark
Light
Auto
solve-engine
Modules
Section titled “Modules”
api
engine
language
format
errors
services
constants
variables
resolvers
normalizer
lexer
parser
vm
packages
utilities
uom