add notes for executor
This commit is contained in:
parent
2689fd9d1b
commit
a0fcf3a3e8
@ -19,5 +19,30 @@ pub fn run_program(module: Module) -> Result<()> {
|
||||
};
|
||||
|
||||
println!("main {:?}", main);
|
||||
|
||||
// loop through all variables and check if
|
||||
// runtime computation should be executed
|
||||
// actually a big problem and should be done later
|
||||
// this requires dependency tree (DAG) of lazy variables
|
||||
|
||||
// in the mean time, we can use the logic of lazy evaluation
|
||||
// (Haskell). By only execute the variable when a computation
|
||||
// requires. However, we might not cache the result.
|
||||
|
||||
// type checks, everything should be checked because this is
|
||||
// a statically typed language. We do not tolerate any type errors.
|
||||
// this will be implemented in another package "type"
|
||||
|
||||
// the whole context will be intialized and passed through each
|
||||
// computation.
|
||||
|
||||
// We allow for callable objects, these include closure, partial
|
||||
// application. This will be reflected in the runtime by replacing
|
||||
// variable values into the Expression and when fully apply,
|
||||
// the Expression is evaluated to get the result.
|
||||
|
||||
// Advanced features will be designed and implemented at a later
|
||||
// stage into development.
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user