MCPcopy Create free account

hub / github.com/dcreager/expression-problem-rust / functions

Functions96 in github.com/dcreager/expression-problem-rust

↓ 84 callersFunctioninteger_literal
(value: i64)
src/old.rs:26
↓ 25 callersFunctionadd
(lhs: E, rhs: E)
src/old.rs:35
↓ 9 callersFunctionpair
(first: E, second: E)
src/ch07a_pairs.rs:39
↓ 8 callersFunctioninteger_literal
(value: i64)
src/ch01a_before.rs:45
↓ 7 callersFunctionsubtract
(lhs: Expression, rhs: Expression)
src/ch01a_before.rs:53
↓ 6 callersFunctionfirst
(pair: E)
src/ch07a_pairs.rs:43
↓ 6 callersFunctionmultiply
And a smart constructor
src/ch05a_multiplication.rs:39
↓ 5 callersFunctioninteger_literal
(value: i64)
src/ch04_smart_constructors.rs:67
↓ 3 callersFunctionadd
(lhs: E, rhs: E)
src/ch04_smart_constructors.rs:71
↓ 2 callersFunctionadd
(lhs: Expression, rhs: Expression)
src/ch01a_before.rs:49
↓ 2 callersMethodevaluate
(&self)
src/ch07c_pair_evaluation.rs:30
↓ 2 callersMethodfirst
(self)
src/ch07c_pair_evaluation.rs:105
↓ 2 callersFunctionnegate
(nested: Expression)
src/ch01c_sad_face.rs:58
↓ 2 callersMethodrecall
(&self)
src/ch06_calculator_monad.rs:43
↓ 2 callersMethodsecond
(self)
src/ch07c_pair_evaluation.rs:112
↓ 1 callersMethodeval
(&self, _eval_subexpr: F)
src/ch08b_open_recursion_evaluation.rs:71
↓ 1 callersMethodevaluate
(&self)
src/ch07b_generic_evaluation.rs:45
↓ 1 callersMethodincrement
(&mut self, delta: i64)
src/ch06_calculator_monad.rs:37
↓ 1 callersFunctiontick
The tick function from the paper needs both operations, and Rust's trait bounds already give us a great language for expressing that constraint.
src/ch06_calculator_monad.rs:50
↓ 1 callersMethodunwrap
(&self)
src/ch08a_expressions.rs:42
Methodadd
(self, other: Self)
src/ch07d_safer_pair_evaluation.rs:39
Methodadd
(self, other: Self)
src/ch07c_pair_evaluation.rs:88
Functioncan_create_pair_expressions
()
src/ch07a_pairs.rs:78
Functioncan_evaluate_add
()
src/old.rs:177
Functioncan_evaluate_add
()
src/ch01b_new_method.rs:45
Functioncan_evaluate_add
()
src/ch01a_before.rs:70
Functioncan_evaluate_add
()
src/ch01c_sad_face.rs:75
Functioncan_evaluate_expr_add
()
src/old.rs:211
Functioncan_evaluate_expr_add3
()
src/old.rs:217
Functioncan_evaluate_expr_integer_literal
()
src/old.rs:205
Functioncan_evaluate_integer_literal
()
src/old.rs:171
Functioncan_evaluate_integer_literal
()
src/ch01b_new_method.rs:39
Functioncan_evaluate_integer_literal
()
src/ch01a_before.rs:62
Functioncan_evaluate_integer_literal
()
src/ch01c_sad_face.rs:69
Functioncan_evaluate_multiplication
()
src/ch05a_multiplication.rs:87
Functioncan_evaluate_multiplication
()
src/ch08b_open_recursion_evaluation.rs:233
Functioncan_evaluate_negate
()
src/ch01c_sad_face.rs:98
Functioncan_evaluate_nested
()
src/ch01b_new_method.rs:57
Functioncan_evaluate_nested
()
src/ch01a_before.rs:82
Functioncan_evaluate_nested
()
src/ch01c_sad_face.rs:87
Functioncan_evaluate_nested_expression
()
src/ch07b_generic_evaluation.rs:105
Functioncan_evaluate_nested_expression
()
src/ch07d_safer_pair_evaluation.rs:103
Functioncan_evaluate_nested_expression
()
src/ch07c_pair_evaluation.rs:143
Functioncan_evaluate_nested_expression
()
src/ch04_smart_constructors.rs:89
Functioncan_evaluate_nested_expression
()
src/ch08b_open_recursion_evaluation.rs:223
Functioncan_evaluate_nested_negate
()
src/ch01c_sad_face.rs:104
Functioncan_evaluate_no_add_multiplication
()
src/ch05a_multiplication.rs:96
Functioncan_evaluate_no_add_multiplication
()
src/ch05b_display.rs:105
Functioncan_evaluate_no_add_multiplication
()
src/ch08b_open_recursion_evaluation.rs:242
Functioncan_evaluate_pair
()
src/ch07d_safer_pair_evaluation.rs:120
Functioncan_evaluate_pair
()
src/ch07c_pair_evaluation.rs:159
Functioncan_evaluate_pair
()
src/ch08b_open_recursion_evaluation.rs:248
Functioncan_evaluate_pair_projection
()
src/ch07d_safer_pair_evaluation.rs:141
Functioncan_evaluate_pair_projection
()
src/ch07c_pair_evaluation.rs:172
Functioncan_evaluate_pair_projection
()
src/ch08b_open_recursion_evaluation.rs:257
Functioncan_evaluate_subtract
()
src/ch01b_new_method.rs:51
Functioncan_evaluate_subtract
()
src/ch01a_before.rs:76
Functioncan_evaluate_subtract
()
src/ch01c_sad_face.rs:81
Functioncan_evaluate_ugly_expression
()
src/ch07b_generic_evaluation.rs:95
Functioncan_evaluate_ugly_expression
()
src/ch03_evaluation.rs:77
Functioncan_evaluate_ugly_expression
()
src/ch07d_safer_pair_evaluation.rs:87
Functioncan_evaluate_ugly_expression
()
src/ch07c_pair_evaluation.rs:130
Functioncan_evaluate_ugly_expression
()
src/ch04_smart_constructors.rs:81
Functioncan_evaluate_ugly_expression
()
src/ch08b_open_recursion_evaluation.rs:217
Functioncan_instantiate_ugly_expression
()
src/ch02_open_sum.rs:58
Functioncan_render_multiplication
()
src/ch05b_display.rs:96
Functioncan_render_ugly_expression
()
src/ch05b_display.rs:90
Functioncan_run_get
()
src/ch06_calculator_monad.rs:81
Functioncan_run_tick
()
src/ch06_calculator_monad.rs:73
Functioncannot_add_pairs
()
src/ch07d_safer_pair_evaluation.rs:166
Functioncannot_add_pairs
()
src/ch07c_pair_evaluation.rs:191
Functioncannot_project_integer
()
src/ch07d_safer_pair_evaluation.rs:156
Functioncannot_project_integer
()
src/ch07c_pair_evaluation.rs:184
Methodevaluate
(&self)
src/old.rs:96
Methodevaluate
(&self)
src/ch05a_multiplication.rs:33
Methodevaluate
(&self)
src/ch03_evaluation.rs:31
Methodevaluate
(&self)
src/ch08b_open_recursion_evaluation.rs:200
Methodevaluate
(&self)
src/ch01a_before.rs:33
Methodevaluate
(&self)
src/ch01c_sad_face.rs:43
Functionevaluate_any
This helper function will make things easier for us when we try to call our evaluate trait method. (We'll have to explicitly call out which value typ
src/ch07b_generic_evaluation.rs:32
Methodfirst
(self)
src/ch07d_safer_pair_evaluation.rs:61
Methodfmt
(&self, f: &mut fmt::Formatter)
src/ch01b_new_method.rs:25
Methodfmt
(&self, f: &mut fmt::Formatter)
src/ch05b_display.rs:26
Methodfrom
(left: L)
src/old.rs:60
Methodfrom
(x: X)
src/ch05a_multiplication.rs:57
Methodfrom
(value: Option<IntOrPair>)
src/ch07d_safer_pair_evaluation.rs:26
Methodfrom
(value: i64)
src/ch07c_pair_evaluation.rs:81
Methodfrom
(left: L)
src/ch04_smart_constructors.rs:39
Methodfrom
(x: X)
src/ch07a_pairs.rs:67
Methodfrom
(wrapped: ch01a_before::Expression)
src/ch01c_sad_face.rs:35
Functionget
This function (which doesn't appear in the paper) only needs the Recall operation, and as such, works with a non-mutable reference to the store.
src/ch06_calculator_monad.rs:61
Methodnew_left
(left: L)
src/old.rs:51
Methodnew_right
(right: R)
src/old.rs:54
Functionsecond
(pair: E)
src/ch07a_pairs.rs:47
Methodsecond
(self)
src/ch07d_safer_pair_evaluation.rs:68
Methodwrap
(sig: Self::Signature)
src/ch08a_expressions.rs:39