Skip to content

Latest commit

 

History

History
64 lines (39 loc) · 1.87 KB

TODO.md

File metadata and controls

64 lines (39 loc) · 1.87 KB

[lang] compile_node_pattern_list [lang] compile_node_pattern

[net] net_pattern_t -- has local_name_set -- to have a stable order

[lang] function_ctx_form_net_pattern

[vm] mod_define_rule -- create net_pattern_t for each occurrence of node in node_pattern_list

[lang] execute -- handle STMT_DEFINE_RULE_STAR

[lang] test net_matcher

[lang] execute -- handle STMT_DEFINE_RULE

[lang] test running net

[vm] vm_print -- should call activity_print

more examples

[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

primitive value

[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

not sure

[lang] compile_exp -- EXP_AP -- should not get arity from list_length(exp->ap.arg_list)

  • should compute arity from each exp

    • exp_arity -- for arg output arity
    • exp_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

debug

[debug] 尝试使用真实的物理学来实现 force [debug] node_physics_simulate -- move by velocity and clear force for every node_model [debug] remove node_physics_fake_simulate

module system

支持简单的 import name,同时支持修改 name 以避免冲突

parallelism

learn linux thread shared memory parallel execution of inet projects/others/HigherOrderCO/HVM/paper/HVM2.pdf