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
↓ 5 callers
Function
primitive
(stack: &mut Vec<Node>, f: F)
src/vm.rs:518
↓ 5 callers
Function
quantify
Quantifies all type variables with an age greater that start_var_age A quantified variable will when it is instantiated have new type variables
src/typecheck.rs:1074
↓ 5 callers
Method
typecheck
Typechecks an expression
src/typecheck.rs:628
↓ 5 callers
Method
typecheck_local_bindings
Typechecks a group of local bindings (such as a let expression)
src/typecheck.rs:957
↓ 4 callers
Method
apply_locals
(&mut self, subs: &Substitution)
src/typecheck.rs:478
↓ 4 callers
Function
bool_binop
(op: &str, lhs: Expr<Id<Name>>, rhs: Expr<Id<Name>>)
src/deriving.rs:170
↓ 4 callers
Method
constrained_type
(&mut self)
src/parser.rs:839
↓ 4 callers
Method
deepseq
Evaluates the what is at the top of the stack into HNF
src/vm.rs:191
↓ 4 callers
Function
eval
(vm: &'a VM, node: Node<'a>)
src/vm.rs:685
↓ 4 callers
Method
expression
(&mut self)
src/parser.rs:337
↓ 4 callers
Function
get_local_interner
Returns a reference to the interner stored in TLD
src/interner.rs:44
↓ 4 callers
Method
kind
Returns the kind of the type Fails only if the type is a type application with an invalid kind
src/types.rs:123
↓ 4 callers
Method
len
Returns the number of elements in the container. Shadowed elements are not counted
src/scoped_map.rs:79
↓ 4 callers
Method
let_bindings
(&mut self)
src/parser.rs:526
↓ 4 callers
Method
make_unique
Introduces a new Name to the current scope. If the name was already declared in the current scope an error is added
src/renamer.rs:355
↓ 4 callers
Method
new_var_kind
Creates a new type variable with a kind
src/typecheck.rs:585
↓ 4 callers
Function
parse_string
(contents: &str)
src/parser.rs:1136
↓ 4 callers
Method
peek_char
Peeks at the next character in the input
src/lexer.rs:256
↓ 4 callers
Method
rename
(&mut self, input_expr: TypedExpr<InternedStr>)
src/renamer.rs:233
↓ 4 callers
Method
rename_pattern
(&mut self, pattern: Pattern<InternedStr>)
src/renamer.rs:302
↓ 4 callers
Function
replace_var
Replaces all occurences of 'var' in 'typ' with the the type 'replacement'
src/typecheck.rs:1099
↓ 4 callers
Function
strongly_connected_components
Analyzes the graph for strongly connect components. Returns a vector of indices where each group is a separte vector
src/graph.rs:67
↓ 4 callers
Method
substitute
Walks through an expression and applies the substitution on each of its types
src/typecheck.rs:485
↓ 4 callers
Function
tuple_name
Constructs a string which holds the name of an n-tuple
src/types.rs:176
↓ 4 callers
Method
typecheck_module
Typechecks a module If the typecheck is successful the types in the module are updated with the new types. If any errors were found while typechecking
src/typecheck.rs:277
↓ 3 callers
Function
add_edges
Adds an edge for each identifier which refers to a binding in the graph
src/typecheck.rs:1487
↓ 3 callers
Method
add_types
(&mut self, types: &'a dyn DataTypes)
src/typecheck.rs:270
↓ 3 callers
Method
appl
(&self)
src/types.rs:106
↓ 3 callers
Method
appr
Returns a reference to the the type argument or fails if it is not an application
src/types.rs:114
↓ 3 callers
Method
check_instance_constraints
Checks whether 'actual_type' fulfills all the constraints that the instance has.
src/typecheck.rs:546
↓ 3 callers
Method
compile
Compile an expression by appending instructions to the instruction vector
src/compiler.rs:561
↓ 3 callers
Method
compile_with_constraints
Compile the loading of a variable which has constraints and will thus need to load a dictionary with functions as well
src/compiler.rs:804
↓ 3 callers
Method
data_definition
(&mut self)
src/parser.rs:902
↓ 3 callers
Method
declare_global
(&mut self, s: InternedStr, module_id: usize)
src/renamer.rs:366
↓ 3 callers
Method
execute
Executes a sequence of instructions, leaving the result on the top of the stack
src/vm.rs:209
↓ 3 callers
Method
find_class
(&'a self, name: Name)
src/compiler.rs:254
↓ 3 callers
Method
fresh
Instantiates new typevariables for every typevariable in the type found at 'name'
src/typecheck.rs:986
↓ 3 callers
Method
has_instance
Returns whether the type 'searched_type' has an instance for 'class' If no instance was found, return the instance which was missing
src/typecheck.rs:501
↓ 3 callers
Method
layout_independent_token
Looks at the next unprocessed token and applies the indentation rules on it and returns a token which is not affected by indentation
src/lexer.rs:384
↓ 3 callers
Function
make_constraints
(types: Vec<Type>)
src/parser.rs:1092
↓ 3 callers
Function
make_tuple_type
(mut types : Vec<Type>)
src/parser.rs:1127
↓ 3 callers
Function
needed_variables
Takes a id of the variable passed to the case and returns a vector of bindings which need to be added to make sure no variables are missing
src/core.rs:1100
↓ 3 callers
Method
new_stack_var
(&mut self, identifier : Name)
src/compiler.rs:544
↓ 3 callers
Method
next_id
(&mut self)
src/renamer.rs:132
↓ 3 callers
Method
pattern_arguments
(&mut self)
src/parser.rs:745
↓ 3 callers
Method
rename_type
(&mut self, typ: Type<InternedStr>)
src/renamer.rs:373
↓ 3 callers
Method
scope
(&mut self, f: &mut dyn FnMut(&mut Compiler))
src/compiler.rs:552
↓ 3 callers
Method
typecheck_apply
(&mut self, location: &Location, subs: &mut Substitution, mut func_type: TcType, arg: &mut TypedExpr<Name>)
src/typecheck.rs:771
↓ 3 callers
Method
typecheck_match
Typechecks a Match
src/typecheck.rs:601
↓ 3 callers
Method
visit_alternative
(&mut self, alt: &Alternative<Ident>)
src/core.rs:214
↓ 3 callers
Method
visit_expr
(&mut self, expr: &mut Expr<T>)
src/lambda_lift.rs:132
↓ 3 callers
Function
walk_alternative
(visitor: &mut V, alt: &Alternative<Ident>)
src/core.rs:260
↓ 3 callers
Function
walk_binding
(visitor: &mut V, binding: &Binding<Ident>)
src/core.rs:233
↓ 3 callers
Function
walk_expr_mut
(visitor: &mut V, expr: &mut TypedExpr<Ident>)
src/module.rs:440
↓ 3 callers
Function
walk_module
(visitor: &mut V, module: &Module<Ident>)
src/core.rs:227
↓ 2 callers
Function
abstract_module
Takes a module and adds all variables which are captured into a lambda to its arguments
src/lambda_lift.rs:189
↓ 2 callers
Function
add_primitives
(globals: &mut HashMap<Name, Qualified<TcType, Name>>, typename: &str)
src/typecheck.rs:215
↓ 2 callers
Method
application
(&mut self)
src/parser.rs:589
↓ 2 callers
Method
binding_or_type_declaration
(&mut self)
src/parser.rs:660
↓ 2 callers
Function
binop
(op: &str, lhs: Expr<Id<Name>>, rhs: Expr<Id<Name>>, return_type: Type<Name>)
src/deriving.rs:173
↓ 2 callers
Function
builtins
Returns an array of all the compiler primitves which exist (not including numeric primitives atm)
src/builtins.rs:7
↓ 2 callers
Method
compile_apply
(&mut self, expr: &Expr<Id>, args: ArgList, instructions: &mut Vec<Instruction>, strict: bool)
src/compiler.rs:676
↓ 2 callers
Method
compile_args
(&mut self, args: &ArgList, instructions: &mut Vec<Instruction>, strict: bool)
src/compiler.rs:763
↓ 2 callers
Function
compile_expr
Compiles an expression into an assembly
src/repl.rs:26
↓ 2 callers
Function
compile_iter
(iterator: T)
src/vm.rs:576
↓ 2 callers
Function
compile_module_
(modules: Vec<crate::module::Module<Name>>)
src/compiler.rs:1065
↓ 2 callers
Method
data_lhs
(&mut self)
src/parser.rs:942
↓ 2 callers
Method
deriving
(&mut self)
src/parser.rs:953
↓ 2 callers
Method
each_binding
(&self, func: &mut dyn FnMut(&[Binding<Name>], (usize, usize)))
src/typecheck.rs:156
↓ 2 callers
Function
each_pattern_variables
(pattern: &Pattern<Id>, f: &mut dyn FnMut(&Name))
src/lambda_lift.rs:18
↓ 2 callers
Method
eq_or_default
(&mut self, cmp: Expr<Id<Name>>, def: Expr<Id<Name>>)
src/deriving.rs:121
↓ 2 callers
Function
execute_main_module
Takes a module with a main function and compiles it and all its imported modules and then executes the main function
src/vm.rs:632
↓ 2 callers
Function
execute_main_module_
(assemblies: Vec<Assembly>)
src/vm.rs:637
↓ 2 callers
Method
exists_as_super_class
Checks if 'classname' exists as a super class to any
src/typecheck.rs:1025
↓ 2 callers
Method
expr_or_guards
(&mut self, end_token_and_pipe: &'static [TokenEnum])
src/parser.rs:709
↓ 2 callers
Method
find_class
(&'a self, name: Name)
src/typecheck.rs:62
↓ 2 callers
Method
find_class_constraints
(&self, class: Name)
src/typecheck.rs:535
↓ 2 callers
Function
find_constructor
(module: &Module<Id>, name: Name)
src/compiler.rs:215
↓ 2 callers
Method
find_constructor
(&self, name: Name)
src/compiler.rs:166
↓ 2 callers
Method
find_data_type
(&'a self, name: Name)
src/typecheck.rs:79
↓ 2 callers
Method
find_instance
(&'a self, classname: Name, typ: &TcType)
src/typecheck.rs:68
↓ 2 callers
Function
find_main
Finds the main function and if it is an IO function, adds instructions to push the "RealWorld" argument
src/repl.rs:43
↓ 2 callers
Method
find_mut
(&'a mut self, key: &K)
src/scoped_map.rs:119
↓ 2 callers
Function
find_specialized_instances
Searches through a type, comparing it with the type on the identifier, returning all the specialized constraints
src/typecheck.rs:1039
↓ 2 callers
Method
freshen_qualified_type
(&mut self, typ: &mut Qualified<TcType, Name>, mut mapping: HashMap<TypeVariable, TcType>)
src/typecheck.rs:466
↓ 2 callers
Function
freshen_var
Updates the variable var, also making sure the constraints are updated appropriately
src/typecheck.rs:1229
↓ 2 callers
Method
from_interned
Takes a string and returns a new Name which is unique
src/renamer.rs:129
↓ 2 callers
Function
function_type_
Creates a function type
src/renamer.rs:613
↓ 2 callers
Method
get_assembly
Returns a reference to the assembly at the index
src/vm.rs:179
↓ 2 callers
Function
get_contents
(modulename: &str)
src/parser.rs:1153
↓ 2 callers
Function
get_let
(expr: &'a Expr<Id>, args: &mut Vec<InternedStr>)
src/lambda_lift.rs:263
↓ 2 callers
Method
get_precedence
(&self, name: &Name)
src/infix.rs:38
↓ 2 callers
Function
get_string
(node: &Node_<'a>)
src/vm.rs:746
↓ 2 callers
Method
import_globals
(&mut self, module: &Module<T>, str_fn: &mut dyn FnMut(T) -> InternedStr, uid: usize)
src/renamer.rs:159
↓ 2 callers
Method
intern
(&mut self, s: &str)
src/interner.rs:21
↓ 2 callers
Function
is_operator
Returns whether the character is a haskell operator
src/lexer.rs:147
↓ 2 callers
Function
lambda
(arg : &str, body : TypedExpr)
src/typecheck.rs:1577
↓ 2 callers
Function
lift_lambdas
Lifts all lambdas in the module to the top level of the program
src/lambda_lift.rs:128
↓ 2 callers
Method
located_pattern
(&mut self)
src/parser.rs:771
↓ 2 callers
Method
make_binop
Creates a binary function binding with the name 'funcname' which is a function in an instance for 'data' This function takes two parameters of the typ
src/deriving.rs:93
← previous
next →
101–200 of 573, ranked by callers