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
↓ 2 callers
Function
make_lambda
(args : Iter, body : TypedExpr)
src/parser.rs:1112
↓ 2 callers
Function
make_lambda
Creates a lambda from an iterator of its arguments and body
src/core.rs:1075
↓ 2 callers
Method
make_pattern
(&mut self, name: InternedStr, args: F)
src/parser.rs:731
↓ 2 callers
Function
match_or_fail
(env: &mut TypeEnvironment, subs: &mut Substitution, location: &Location, lhs: &mut TcType, rhs: &TcType)
src/typecheck.rs:1425
↓ 2 callers
Method
match_same_constructors
(&mut self, data: &DataDefinition<Name>, id_r: &Id<Name>, f: &mut dyn FnMut(&mut DerivingGen, &[Id<Name>], &[I
src/deriving.rs:132
↓ 2 callers
Function
mut_bindings_at
(bindings: &'a mut [Binding<Ident>], idx: usize)
src/typecheck.rs:179
↓ 2 callers
Method
mut_kind
Returns a mutable reference to the types kind
src/types.rs:136
↓ 2 callers
Method
new_var_at
(&mut self, identifier : Name, index: usize)
src/compiler.rs:548
↓ 2 callers
Method
next_end
Returns the next token but if it is not an '}' it will attempt to insert a '}' automatically
src/lexer.rs:333
↓ 2 callers
Method
next_indent_token
Scans the character stream for the next token Return EOF token if the token stream has ehas ended
src/lexer.rs:481
↓ 2 callers
Method
next_token
Scans and returns the next token from the input stream, taking into account the indentation rules
src/lexer.rs:356
↓ 2 callers
Function
op_apply
(lhs: TypedExpr, op: InternedStr, rhs: TypedExpr)
src/typecheck.rs:1593
↓ 2 callers
Function
parse_modules
Parses a module and all its imports If the modules contain a cyclic dependency fail is called.
src/parser.rs:1145
↓ 2 callers
Function
parse_modules_
(visited: &mut HashSet<InternedStr>, modules: &mut Vec<Module>, modulename: &str, contents: &str)
src/parser.rs:1162
↓ 2 callers
Method
pattern
(&mut self)
src/parser.rs:778
↓ 2 callers
Method
push_dictionary
(&mut self, context: &[Constraint<Name>], constraints: &[(Name, Type<Name>)], instructions: &mut Vec<Instructi
src/compiler.rs:825
↓ 2 callers
Method
rename_matches
(&mut self, matches: Match<InternedStr>)
src/renamer.rs:322
↓ 2 callers
Function
rename_module_
(renamer: &mut Renamer, module_env: &[Module<Name>], module: Module<InternedStr>)
src/renamer.rs:391
↓ 2 callers
Method
rename_type_declarations
(&mut self, decls: Vec<TypeDeclaration<InternedStr>>)
src/renamer.rs:346
↓ 2 callers
Method
report_errors
(&self, f: &mut fmt::Formatter, pass: &str)
src/renamer.rs:74
↓ 2 callers
Method
scan_digits
Scans digits into a string
src/lexer.rs:282
↓ 2 callers
Method
scan_identifier
Scans an identifier or a keyword
src/lexer.rs:315
↓ 2 callers
Method
sep_by_1_func
(&mut self, mut f : F, mut sep: P)
src/parser.rs:1078
↓ 2 callers
Method
sub_expression
(&mut self)
src/parser.rs:381
↓ 2 callers
Method
sub_type
(&mut self)
src/parser.rs:977
↓ 2 callers
Method
translate_equations_
(&mut self, equations: Vec<(Vec<(Id<Name>, Pattern<Id<Name>>)>, Vec<Binding<Id<Name>>>, module::Match<Name>)>)
src/core.rs:837
↓ 2 callers
Method
translate_expr_rest
(&mut self, input_expr: module::TypedExpr<Name>)
src/core.rs:576
↓ 2 callers
Method
translate_guards
Translates a list of guards, if no guards matches then the result argument will be the result
src/core.rs:849
↓ 2 callers
Method
translate_match
(&mut self, matches: module::Match<Name>)
src/core.rs:539
↓ 2 callers
Method
translate_matching_groups
Translates a binding group such as map f (x:xs) = e1 map f [] = e2
src/core.rs:768
↓ 2 callers
Function
translate_modules
(modules: Vec<module::Module<Name>>)
src/core.rs:420
↓ 2 callers
Method
translate_pattern
(&mut self, pattern: module::Pattern<Name>)
src/core.rs:1009
↓ 2 callers
Function
try_get_function
If the type is a function it returns the type of the argument and the result type, otherwise it returns None
src/types.rs:327
↓ 2 callers
Method
type_declaration
(&mut self)
src/parser.rs:816
↓ 2 callers
Function
type_eq
(mapping: &mut HashMap<&'a TypeVariable, &'a TypeVariable>, lhs: &'a Type<Id>, rhs: &'a Type<Id2>)
src/types.rs:398
↓ 2 callers
Method
typecheck_expr
Typechecks an expression. The types in the expression are updated with the correct types. If the expression has a type error, fail is called.
src/typecheck.rs:425
↓ 2 callers
Method
typecheck_module2
(&mut self, module: &mut Module<Name>)
src/typecheck.rs:282
↓ 2 callers
Method
typecheck_mutually_recursive_bindings
Typechecks a set of bindings which may be mutually recursive Takes the minimum age that a variable created for this group can have, the current substi
src/typecheck.rs:885
↓ 2 callers
Function
un_name_type
(typ: Type<Name>)
src/typecheck.rs:1675
↓ 2 callers
Method
unexpected_token
(&self, expected: &'static [TokenEnum], actual: TokenEnum)
src/parser.rs:128
↓ 2 callers
Function
unmatched_guard
Creates an expression which reports an unmatched guard error when executed
src/core.rs:1118
↓ 2 callers
Method
unwrap_patterns
Translates a pattern list of patterns into a list of patterns which are not nested. The first argument of each tuple is the identifier that is expecte
src/core.rs:737
↓ 2 callers
Function
var_eq
(mapping: &mut HashMap<&'a TypeVariable, &'a TypeVariable>, l: &'a TypeVariable, r: &'a TypeVariable)
src/types.rs:410
↓ 2 callers
Method
visit_alternative
(&mut self, alt: &Alternative<Ident>)
src/module.rs:286
↓ 2 callers
Method
visit_expr
(&mut self, expr: &mut TypedExpr<Name>)
src/typecheck.rs:491
↓ 2 callers
Method
walk_classes
Walks through the class and all of its super classes, calling 'f' on each of them Returning Some(..) from the function quits and returns that value
src/compiler.rs:903
↓ 2 callers
Function
walk_module_mut
(visitor: &mut V, module: &mut Module<Ident>)
src/module.rs:419
↓ 2 callers
Function
with_arg_return
Takes a function type and calls the 'func' with the argument to the function and its return type. Returns true if the function was called.
src/typecheck.rs:1557
↓ 1 callers
Method
abstract_
Adds the free variables, if any, to the expression
src/lambda_lift.rs:101
↓ 1 callers
Method
add_class
(&self, constraints: &[(Name, Type<Name>)], function_indexes: &mut Vec<usize>)
src/compiler.rs:933
↓ 1 callers
Method
alternative
(&mut self)
src/parser.rs:535
↓ 1 callers
Function
apply
Creates a function application from a function and its arguments
src/core.rs:1082
↓ 1 callers
Method
as_ref
(&self)
src/interner.rs:63
↓ 1 callers
Method
binary_expression
(&mut self, lhs : Option<TypedExpr>)
src/parser.rs:549
↓ 1 callers
Function
build_graph
Creates a graph containing a vertex for each binding and edges from every binding to every other binding that it references
src/typecheck.rs:1463
↓ 1 callers
Method
class
(&mut self)
src/parser.rs:247
↓ 1 callers
Function
compare_tags
(lhs: Expr<Id<Name>>, rhs: Expr<Id<Name>>)
src/deriving.rs:163
↓ 1 callers
Method
compile_binding
(&mut self, bind : &Binding<Id>)
src/compiler.rs:425
↓ 1 callers
Method
compile_instance_variable
Compile a function which is defined in a class
src/compiler.rs:777
↓ 1 callers
Method
compile_lambda_binding
(&mut self, expr: &Expr<Id>, instructions: &mut Vec<Instruction>)
src/compiler.rs:453
↓ 1 callers
Function
compile_module
Takes a module name and does everything needed up to and including compiling the module and its imported modules
src/compiler.rs:1059
↓ 1 callers
Method
compile_pattern
Compiles a pattern. An index to the Jump instruction which is taken when the match fails is stored in the branches vector These instructions will need
src/compiler.rs:965
↓ 1 callers
Function
compile_string
(module: &str)
src/compiler.rs:1051
↓ 1 callers
Method
constructor
(&mut self, data_def : &DataDefinition)
src/parser.rs:612
↓ 1 callers
Method
constructor_type
(&mut self, arity : &mut isize, data_def: &DataDefinition)
src/parser.rs:876
↓ 1 callers
Function
create_default_stubs
Creates stub functions for each undeclared function in the instance
src/core.rs:507
↓ 1 callers
Function
create_string
(s: &str)
src/vm.rs:765
↓ 1 callers
Method
do_bind2_id
Translates do { expr; stmts } = expr >> do { stmts; }
src/core.rs:636
↓ 1 callers
Method
do_bind_translate
Translates do {p <- e; stmts} = let ok p = do {stmts} ok _ = fail "..." in e >>= ok
src/core.rs:650
↓ 1 callers
Method
do_binding
(&mut self)
src/parser.rs:495
↓ 1 callers
Function
each_type
Walks through the type and calls the functions on each variable and type constructor
src/typecheck.rs:1510
↓ 1 callers
Function
each_type_
(typ: &Type<Id>, var_fn: &mut dyn FnMut(&TypeVariable), op_fn: &mut dyn FnMut(&TypeConstructor<Id>))
src/typecheck.rs:1514
↓ 1 callers
Method
eq_fields
(&mut self, args_l: &[Id<Name>], args_r: &[Id<Name>])
src/deriving.rs:50
↓ 1 callers
Function
extract_applied_type
(typ: &'a Type<Id>)
src/deriving.rs:199
↓ 1 callers
Method
find_constraints
Finds all the constraints for a type
src/typecheck.rs:442
↓ 1 callers
Method
find_data_definition
(&self, name: Name)
src/typecheck.rs:460
↓ 1 callers
Method
find_dictionary_index
Find the index of the instance dictionary for the constraints and types in 'constraints' Returns the index
src/compiler.rs:915
↓ 1 callers
Method
find_fresh
Workaround to make all imported functions quantified without requiring their type variables to be generic
src/typecheck.rs:967
↓ 1 callers
Function
find_global
(module: &'a Module<Id>, offset: usize, name: Name)
src/compiler.rs:178
↓ 1 callers
Method
find_global
(&'a self, name: Name)
src/compiler.rs:143
↓ 1 callers
Function
find_kind
Finds the kind for the variable test and makes sure that all occurences of the variable has the same kind in 'typ' 'expected' should be None if the ki
src/typecheck.rs:1529
↓ 1 callers
Function
find_specialized
(result: &mut Vec<(Name, TcType)>, actual_type: &TcType, typ: &TcType, constraints: &[Constraint<Name>])
src/typecheck.rs:1048
↓ 1 callers
Method
find_type
(&'a self, name: &Name)
src/typecheck.rs:36
↓ 1 callers
Method
fixity_declaration
(&mut self)
src/parser.rs:689
↓ 1 callers
Method
fold_dictionary
Writes instructions which pushes a dictionary for the type to the top of the stack
src/compiler.rs:834
↓ 1 callers
Method
free_variables
Walks through an expression and notes all the free variables and for each lambda, adds the free variables to its arguments and performs an immediate a
src/lambda_lift.rs:37
↓ 1 callers
Function
freshen
Freshen creates new type variables at every position where Type::Generic(..) appears.
src/typecheck.rs:1187
↓ 1 callers
Function
freshen_
(env: &mut TypeEnvironment, subs: &mut Substitution, constraints: &[Constraint<Name>], typ: &mut TcType)
src/typecheck.rs:1189
↓ 1 callers
Function
freshen_all
Walks through a type and updates it with new type variables.
src/typecheck.rs:1213
↓ 1 callers
Function
generate_deriving
(instances: &mut Vec<Instance<Id<Name>>>, data: &DataDefinition<Name>)
src/deriving.rs:8
↓ 1 callers
Method
generate_eq
(&mut self, data: &DataDefinition<Name>)
src/deriving.rs:43
↓ 1 callers
Method
generate_ord
(&mut self, data: &DataDefinition<Name>)
src/deriving.rs:63
↓ 1 callers
Function
get_builtin
(i: usize)
src/vm.rs:664
↓ 1 callers
Method
get_edge
Returns the edge at the index
src/graph.rs:55
↓ 1 callers
Function
get_returntype
Extracts the final return type of a type
src/typecheck.rs:1142
↓ 1 callers
Method
get_str
(&'a self, InternedStr(i): InternedStr)
src/interner.rs:33
↓ 1 callers
Function
get_string_
(buffer: &mut String, node: &Node_<'a>)
src/vm.rs:747
↓ 1 callers
Method
has_errors
(&self)
src/renamer.rs:60
↓ 1 callers
Function
id
(s: &str, typ: Type<Name>)
src/deriving.rs:159
↓ 1 callers
Method
import
(&mut self)
src/parser.rs:225
← previous
next →
201–300 of 573, ranked by callers