Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Marwes/haskell-compiler
/ functions
Functions
573 in github.com/Marwes/haskell-compiler
⨍
Functions
573
◇
Types & classes
100
↓ 300 callers
Method
clone
(&self)
src/vm.rs:44
↓ 137 callers
Function
intern
(s: &str)
src/interner.rs:49
↓ 119 callers
Method
len
Returns how many vertices are in the graph
src/graph.rs:60
↓ 100 callers
Method
map
(self, mut f: F)
src/types.rs:150
↓ 95 callers
Method
as_ref
(&self)
src/core.rs:191
↓ 52 callers
Method
pop
(&mut self, k: &K)
src/scoped_map.rs:104
↓ 51 callers
Method
next
(&'a mut self, expected : TokenEnum)
src/parser.rs:113
↓ 49 callers
Function
function_type_
Creates a function type
src/types.rs:233
↓ 48 callers
Method
iter_mut
Returns an iterator of the (key, values) pairs inserted in the map
src/scoped_map.rs:68
↓ 41 callers
Method
insert
(&mut self, e: T)
src/renamer.rs:57
↓ 40 callers
Method
visit_expr
(&mut self, expr: &TypedExpr<Ident>)
src/module.rs:283
↓ 36 callers
Method
current
Returns a reference to the current token
src/lexer.rs:237
↓ 35 callers
Method
backtrack
Moves the lexer back one token TODO check for overflow in the buffer
src/lexer.rs:246
↓ 32 callers
Method
get
(&self)
src/graph.rs:13
↓ 28 callers
Method
borrow
(&'b self)
src/vm.rs:69
↓ 26 callers
Method
find
Returns a reference to the last inserted value corresponding to the key
src/scoped_map.rs:73
↓ 24 callers
Method
module
(&mut self)
src/parser.rs:135
↓ 23 callers
Method
expression_
(&mut self)
src/parser.rs:327
↓ 22 callers
Function
do_typecheck
(input: &str)
src/typecheck.rs:1661
↓ 21 callers
Method
visit_expr
(&mut self, expr: &Expr<Ident>)
src/core.rs:211
↓ 17 callers
Function
extract_applied_type
(typ: &Type<Id>)
src/types.rs:441
↓ 17 callers
Method
get_mut
(&mut self, (instance_idx, idx): (usize, usize))
src/typecheck.rs:143
↓ 17 callers
Method
get_name
Turns the string into the Name which is currently in scope If the name was not found it is assumed to be global
src/renamer.rs:315
↓ 17 callers
Function
insert_to
(map: &mut HashMap<Name, Qualified<TcType, Name>>, name: &str, typ: TcType)
src/typecheck.rs:206
↓ 17 callers
Method
translate_expr
(&mut self, input_expr: module::TypedExpr<Name>)
src/core.rs:546
↓ 17 callers
Function
unify_location
Takes two types and attempts to make them the same type
src/typecheck.rs:1252
↓ 16 callers
Method
clone
(&self)
src/compiler.rs:106
↓ 16 callers
Function
name
(s: &str)
src/renamer.rs:15
↓ 16 callers
Method
peek
(&'a mut self)
src/lexer.rs:208
↓ 15 callers
Method
connect
Connects two vertices with an edge
src/graph.rs:45
↓ 15 callers
Function
int_type
Returns the type for the Int type
src/types.rs:213
↓ 15 callers
Function
qualified
(constraints: Vec<Constraint<Ident>>, typ: Type<Ident>)
src/types.rs:39
↓ 14 callers
Method
get_type
(&'a self)
src/core.rs:137
↓ 13 callers
Method
new_vertex
Creates a new vertex and returns the index which refers to it
src/graph.rs:39
↓ 13 callers
Method
sep_by_1
(&mut self, f : F, sep : TokenEnum)
src/parser.rs:1073
↓ 12 callers
Method
add_assembly
Adds an assembly to the VM, adding entries to the global table as necessary
src/vm.rs:170
↓ 12 callers
Function
bool_type
Returns the type for the Bool type
src/types.rs:218
↓ 12 callers
Function
compile
(contents: &str)
src/compiler.rs:1028
↓ 12 callers
Function
execute_main_string
(module: &str)
src/vm.rs:625
↓ 12 callers
Function
rename_module
(module: Module<InternedStr>)
src/renamer.rs:385
↓ 11 callers
Function
function_type
Creates a function type
src/types.rs:228
↓ 11 callers
Function
list_type
Constructs a list type which holds elements of type 'typ'
src/types.rs:203
↓ 11 callers
Method
next
Returns the next token in the lexer
src/lexer.rs:217
↓ 10 callers
Method
find
Find a variable by walking through the stack followed by all globals
src/compiler.rs:467
↓ 10 callers
Function
identifier
(i : &str)
src/typecheck.rs:1573
↓ 10 callers
Function
prim
(typename: &str, op: &str)
src/typecheck.rs:209
↓ 10 callers
Function
primitive_float
Exucutes a binary primitive instruction taking two doubles
src/vm.rs:508
↓ 10 callers
Function
replace
Replace all typevariables using the substitution 'subs'
src/typecheck.rs:1157
↓ 10 callers
Method
visit_binding
(&mut self, binding: &Binding<Ident>)
src/module.rs:292
↓ 9 callers
Method
as_ref
(&self)
src/renamer.rs:37
↓ 9 callers
Function
make_let
Creates a let binding, but if there is no bindings the let is omitted
src/core.rs:1089
↓ 9 callers
Function
number
(i : isize)
src/typecheck.rs:1581
↓ 9 callers
Method
read_char
Reads a character from the input and increments the current position
src/lexer.rs:261
↓ 9 callers
Function
rename_expr
(expr: TypedExpr<InternedStr>)
src/renamer.rs:378
↓ 8 callers
Function
apply
(func : TypedExpr, arg : TypedExpr)
src/typecheck.rs:1589
↓ 8 callers
Function
binding_groups
Returns an iterator which returns slices which contain bindings which are next to eachother and have the same name. Ex not True = False not False = Tr
src/module.rs:552
↓ 8 callers
Method
ctor
(&self)
src/types.rs:97
↓ 8 callers
Function
double_type
Returns the type for the Double type
src/types.rs:223
↓ 8 callers
Method
error
(&self, message: ::std::string::String)
src/parser.rs:122
↓ 8 callers
Method
new_var
Creates a new type variable with the kind Kind::Star
src/typecheck.rs:596
↓ 8 callers
Method
translate_bindings
(&mut self, bindings: Vec<module::Binding<Name>>)
src/core.rs:680
↓ 8 callers
Function
walk_expr
(visitor: &mut V, expr: &Expr<Ident>)
src/core.rs:237
↓ 7 callers
Method
binding
(&mut self)
src/parser.rs:620
↓ 7 callers
Method
enter_scope
Introduces a new scope
src/scoped_map.rs:26
↓ 7 callers
Method
evaluate
Evaluates the code into Head Normal Form (HNF)
src/vm.rs:184
↓ 7 callers
Method
exit_scope
Exits the current scope, removing anything inserted since the matching enter_scope call
src/scoped_map.rs:31
↓ 7 callers
Method
from_str
Takes a string and returns a new Name which is unique
src/renamer.rs:125
↓ 7 callers
Method
parse_return_type
(&mut self, typ : Type)
src/parser.rs:1062
↓ 7 callers
Method
remove
Removes a previusly inserted value from the map.
src/scoped_map.rs:40
↓ 7 callers
Function
translate_module
(module: module::Module<Name>)
src/core.rs:436
↓ 7 callers
Method
typecheck_expr_
(&mut self, expr: &mut TypedExpr<Name>)
src/typecheck.rs:437
↓ 7 callers
Method
typecheck_module_
(&mut self, module: &mut Module<Name>)
src/typecheck.rs:434
↓ 7 callers
Function
typecheck_string
(module: &str)
src/typecheck.rs:1613
↓ 7 callers
Method
visit_module
(&mut self, module: &mut Module<Name>)
src/infix.rs:21
↓ 6 callers
Method
anonymous
Create a unique Name which are anonymous
src/renamer.rs:121
↓ 6 callers
Function
bind_variable
Tries to bind the type to the variable. Returns Ok if the binding was possible. Returns Error if the binding was not possible and the reason for the e
src/typecheck.rs:1300
↓ 6 callers
Function
char_type
Returns the Type of the Char type
src/types.rs:208
↓ 6 callers
Function
compile_with_type_env
(type_env: &mut TypeEnvironment<'a>, assemblies: &[&'a Assembly], contents: &str)
src/compiler.rs:1033
↓ 6 callers
Function
do_lambda_lift
(module: Module<TypeAndStr>)
src/lambda_lift.rs:10
↓ 6 callers
Method
into_result
(&mut self, value: V)
src/renamer.rs:64
↓ 6 callers
Method
parse_type
(&mut self)
src/parser.rs:1001
↓ 6 callers
Function
primitive_int
Exucutes a binary primitive instruction taking two integers
src/vm.rs:497
↓ 6 callers
Method
rename_bindings
(&mut self, bindings: Vec<Binding<InternedStr>>, is_global: bool)
src/renamer.rs:208
↓ 6 callers
Function
rename_modules
Renames a vector of modules. If any errors are encounterd while renaming, an error message is output and fail is called
src/renamer.rs:544
↓ 6 callers
Method
rename_qualified_type
(&mut self, typ: Qualified<Type<InternedStr>, InternedStr>)
src/renamer.rs:337
↓ 6 callers
Method
typecheck_pattern
Typechecks a pattern. Checks that the pattern has the type 'match_type' and adds all variables in the pattern.
src/typecheck.rs:783
↓ 6 callers
Method
var
Returns a reference to the type variable or fails if it is not a variable
src/types.rs:88
↓ 6 callers
Method
visit_binding
(&mut self, binding: &Binding<Ident>)
src/core.rs:219
↓ 6 callers
Method
visit_pattern
(&mut self, pattern: &Pattern<Ident>)
src/module.rs:289
↓ 5 callers
Method
borrow_mut
(&'b self)
src/vm.rs:72
↓ 5 callers
Method
clear
Removes all elements
src/scoped_map.rs:82
↓ 5 callers
Function
compile_file
Compiles a single file
src/vm.rs:590
↓ 5 callers
Method
compile_module
(&mut self, module : &'a Module<Id>)
src/compiler.rs:385
↓ 5 callers
Function
do_typecheck_with
(input: &str, types: &[&dyn DataTypes])
src/typecheck.rs:1664
↓ 5 callers
Function
encode_binding_identifier
Since bindings in instances have the same name as any other instance for the same class we Give it a new name which is '# Type name' (no spaces)
src/module.rs:558
↓ 5 callers
Function
extract_result
(node: Node_)
src/vm.rs:598
↓ 5 callers
Method
get_vertex
Returns the vertex at the index
src/graph.rs:50
↓ 5 callers
Method
insert
(&mut self, k: K, v: V)
src/scoped_map.rs:122
↓ 5 callers
Method
insert_constraint
(&mut self, var: &TypeVariable, classname: Name)
src/typecheck.rs:1001
↓ 5 callers
Function
make_application
(f : TypedExpr, args : I)
src/parser.rs:1103
next →
1–100 of 573, ranked by callers