Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Marwes/haskell-compiler
/ types & classes
Types & classes
100 in github.com/Marwes/haskell-compiler
⨍
Functions
573
◇
Types & classes
100
↓ 57 callers
Class
Constructor
src/module.rs:58
↓ 6 callers
Class
ParseError
src/parser.rs:34
↓ 5 callers
Class
Equation
src/core.rs:413
↓ 3 callers
Class
Class
src/core.rs:35
↓ 3 callers
Class
Constraint
src/types.rs:248
↓ 2 callers
Class
InternedStr
src/interner.rs:8
↓ 2 callers
Class
VertexIndex
src/graph.rs:8
↓ 1 callers
Class
EdgeIndex
src/graph.rs:10
Class
Alternative
src/module.rs:136
Class
Alternative
src/core.rs:58
Class
ArgIterator
src/deriving.rs:183
Enum
ArgList
src/compiler.rs:348
Class
Assembly
src/compiler.rs:127
Enum
Assoc
src/module.rs:82
Enum
BindOrTypeDecl
src/parser.rs:59
Class
Binding
src/module.rs:49
Class
Binding
src/core.rs:52
Interface
Bindings
Trait which provides access to the bindings in a struct.
src/typecheck.rs:136
Class
BindingsWrapper
Woraround since traits around a vector seems problematic
src/typecheck.rs:188
Class
Binds
src/module.rs:523
Class
CheckAbstract
src/lambda_lift.rs:259
Class
CheckUniques
src/lambda_lift.rs:215
Class
Class
src/module.rs:32
Class
Compiler
src/compiler.rs:353
Class
DataDefinition
src/module.rs:66
Interface
DataTypes
A trait which also allows for lookup of data types
src/typecheck.rs:31
Class
DerivingGen
src/deriving.rs:39
Enum
DictionaryEntry
src/vm.rs:27
Enum
DoBinding
src/module.rs:171
Class
Edge
src/graph.rs:23
Class
EdgeVisitor
src/typecheck.rs:1488
Enum
Error
src/parser.rs:28
Enum
Error
src/typecheck.rs:1271
Enum
Error
src/renamer.rs:97
Class
Errors
src/renamer.rs:50
Enum
Expr
src/module.rs:185
Enum
Expr
src/core.rs:80
Class
FixityDeclaration
src/module.rs:89
Class
FreeVariables
src/lambda_lift.rs:14
Interface
Globals
src/compiler.rs:136
Class
Graph
src/graph.rs:28
Class
Guard
src/module.rs:165
Class
Id
src/core.rs:173
Class
Import
src/module.rs:24
Class
Instance
src/module.rs:41
Class
Instance
src/core.rs:44
Class
InstanceDictionary
src/vm.rs:22
Enum
Instruction
src/compiler.rs:18
Class
Interner
src/interner.rs:10
Enum
Kind
src/types.rs:254
Class
LambdaIterator
src/core.rs:1032
Class
LambdaLifter
src/lambda_lift.rs:130
Class
Lexer
src/lexer.rs:155
Class
LiteralData
src/core.rs:72
Enum
LiteralData
src/module.rs:178
Class
Located
src/lexer.rs:70
Class
Location
src/lexer.rs:58
Enum
Match
src/module.rs:151
Class
Module
src/module.rs:11
Class
Module
src/core.rs:11
Interface
MutVisitor
src/module.rs:401
Class
Name
src/renamer.rs:10
Class
NameSupply
A NameSupply can turn simple strings into unique Names
src/renamer.rs:112
Class
Newtype
src/module.rs:74
Class
NoLambdas
src/lambda_lift.rs:330
Class
Node
src/vm.rs:60
Enum
Node_
src/vm.rs:32
Class
Parser
The Parser is a recursive descent parser which has a method for each production in the AST. By calling such a production method it is expected that th
src/parser.rs:23
Enum
Pattern
src/module.rs:143
Enum
Pattern
src/core.rs:64
Class
Prec
src/types.rs:323
Enum
Prec_
src/types.rs:317
Class
PrecedenceVisitor
src/infix.rs:6
Class
Qualified
src/types.rs:35
Class
Renamer
The renamer has methods which turns the ASTs identifiers from simple strings into unique Names Currently there is some constraints on what the unique
src/renamer.rs:145
Class
RenamerError
src/renamer.rs:84
Class
ScopedMap
A map struct which allows for the isizeroduction of different scopes Introducing a new scope will make it possible to isizeroduce additional variables
src/scoped_map.rs:9
Class
SubVisitor
src/typecheck.rs:486
Class
Substitution
src/typecheck.rs:130
Class
SuperCombinator
src/compiler.rs:120
Class
TarjanComponents
src/graph.rs:84
Class
Token
src/lexer.rs:94
Enum
TokenEnum
src/lexer.rs:11
Class
Translator
src/core.rs:407
Enum
Type
src/types.rs:28
Class
TypeConstructor
src/types.rs:8
Class
TypeDeclaration
src/module.rs:96
Class
TypeEnvironment
The TypeEnvironment stores most data which is needed as typechecking is performed.
src/typecheck.rs:90
Class
TypeError
src/typecheck.rs:115
Class
TypeErrorInfo
src/typecheck.rs:1263
Class
TypeVariable
src/types.rs:22
Interface
Typed
Trait which provides access to the Type of any struct which implements it.
src/core.rs:130
Class
TypedExpr
src/module.rs:108
Interface
Types
Trait which can be implemented by types where types can be looked up by name
src/typecheck.rs:18
Class
VM
src/vm.rs:157
Enum
VMResult
src/vm.rs:523
Enum
Var
src/compiler.rs:65
Class
Vertex
src/graph.rs:19
Interface
Visitor
Trait which implements the visitor pattern. The tree will be walked through automatically, calling the appropriate visit_ function If a visit_ functio
src/module.rs:282
Interface
Visitor
Visitor for the types in the core language. visit_ is called at the every value in the tree, if it is overriden the appropriate walk_ methods need to
src/core.rs:210