[command] run_command
-- remove log_level support
[lang] write the arity checker like a type checker
- choose good names in the problem domain
[vm] vm_print
-- should call activity_print
[value] xvoid
-- so that every function can return one value
[lang] check arity -- compute arity from exp
[lang] compile_exp -- EXP_AP -- should not get arity
from list_length(exp->ap.arg_list)
-
should compute
arity
from each expexp_arity
-- for arg output arityexp_target_arity
-- for target input arity- need to infer output arity of function
[lang] apply_function -- supplement wire if arity is short
-
[stack] stack_pop_list
-
[stack] stack_push_list
-
use stack_pop_list and stack_push_list to save arguments by arity
[example] examples/cellular-automata.lisp -- 1997-interaction-combinators.pdf [example] examples/lambda.lisp -- use interaction combinators to implement lambda [example] examples/turing.lisp -- coding turing machine -- 2008-the-annotated-turing.djvu
[design] node ports can store any value -- not only wire, but also primitive values
[design] the most important primitive value is function (closure)
[design] write list-map
as example that uses function
[design] use explicit copy
-- keep linear variable like simple
[debug] 尝试使用真实的物理学来实现 force
[debug] node_physics_simulate
-- move by velocity
and clear force
for every node_model
[debug] remove node_physics_fake_simulate
支持简单的 import name,同时支持修改 name 以避免冲突
learn linux thread shared memory parallel execution of inet projects/others/HigherOrderCO/HVM/paper/HVM2.pdf