github.com/scwunch/mismo-crystal
master / published Mar 22, 2026 / repository
mismo
TODO: Write a description here
Installation
TODO: Write installation instructions here
Usage
TODO: Write usage instructions here
Development
TODO: Write development instructions here
Contributing
- Fork it (https://github.com/your-github-user/mismo/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Ryan Martens - creator and maintainer
API
- AbortFunctionTypeChecking
- AmbiguousFunctionCallError
- ArgumentMismatchError
- Array(T)
An
Arrayis an ordered, integer-indexed collection of objects of type T. - Ast
- Bind
- Binding
- CanError(Ex)
- Cell(T)
- CodeGenerator
- Compiler
the compiler manages the entire compilation process
- ConstraintError
- Convention
- DoubleBindError
this error indicates a failure of unification in which a type variable was bound to different types
- EnumDef
- Error
base class for all errors emitted by the compiler
- ErrorWithMessage
- Expecting
- ExpressionParser
ExpressionParser is a subparser that parses an expression.
- Field
- Function
monomorphized (non-generic) function
- FunctionDef
- Generic
included by all possibly generic declarations/definitions: TypeDefinition, TraitDef, FunctionDef, and trait claims
- HasSignature
- Hir
- IllegalMutationError
- IllegalTargetError
- ImplStatus
- ImplementationChecker
algorithm for deducing trait implementation included by TypeContext
- Interpreter
- IrNode
the abstract node is the base class for all nodes in the CST, AST, and IR
- KeyWord
- Lexer
- LifetimeError
- LocNameTypeParams
This module is included by TypeDefinition, TraitDef, and FunctionDef
- Location
- Logger
- MetatypeError
- MethodDef
- Mismo
- MissingNameError
- MissingOverloadError
- Mode
- NullOut
- Operator
- Parameter
- Parser
- Prec
- PrecedenceClass
- Record
- SemanticError
- Signature
- Slice(T)
A
Sliceis aPointerwith an associated size. - Source
- Specializer
- StackFrame
- StopAt
Defines the types of tokens that can stop an expression parser
- String
A
Stringrepresents an immutable sequence of UTF-8 characters. - Strings
- StructDef
- SubParser
- SyntaxError
TODO currently Parser::ParseError is used for syntax errors
- TestOut
- Token
- TokenNavigation
methods for peek, next_token, consume, and error-handling
- TopLevelItemParser
- TopLevelKey
- Trait
- TraitBound
TraitBound may be positive (polarity=true) meaning "required" or it may be negative (polarity=false) meaning "trait must NOT be implemented"
- TraitClaim
the trait bounds of the
#contextof a TraitClaim represents the traits that we can assume when proving the#trait - TraitConflictError
- TraitDef
- TraitError
- TraitImplementationCache
- Type
- TypeChecker
type inference algorithm
- TypeContext
Type inference context
- TypeDefinition
- TypeEnv
- TypeError
- TypeEvaluator
- TypeMismatchError
- TypeParameter
struct TypeParameter < IrNode
- TypeSatisfiesConstraintsError
- TypeScope
- TypeUnifier
- TypeUnifierMadeByChatGPT
- UcsParser
- Val
- Variable
- Variant
- Vector(T)
An
Vectoris an ordered, integer-indexed collection of objects of type T. - Wasm
- Wat
- Zig