var searchIndex = {}; searchIndex["adapton"] = {"doc":"","items":[[0,"macros","adapton","",null,null],[3,"ProgPt","adapton::macros","",null,null],[12,"symbol","","",0,null],[5,"my_hash","","",null,{"inputs":[{"name":"t"}],"output":{"name":"u64"}}],[11,"hash","","",0,null],[11,"clone","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"fmt","","",0,null],[0,"adapton_sigs","adapton","",null,null],[3,"MutArt","adapton::adapton_sigs","TODO: Same scoping issue as `Art`; should be in `Adapton` trait.",null,null],[12,"loc","","",1,null],[12,"phantom","","",1,null],[3,"Cnt","","",null,null],[12,"dirty","","",2,null],[12,"eval","","",2,null],[12,"change_prop","","",2,null],[4,"Art","","The term "Art" stands for two things here: "Adapton return type",\nand "Articulation point, for 'articulating' incremental change".\nThe concept of an "Art" also abstracts over whether the producer\nis eager (like a ref cell) or lazy (like a thunk).",null,null],[13,"Rc","","",3,null],[13,"Loc","","",3,null],[4,"ArtIdChoice","","An `ArtId` is a symbolic identity for an articulation point made by\nAdapton::thunk. An ArtId is chosen by the programmer to identify\nthe point during evaluation (and simultaneously, to identify the\npoint during re-evaluation).\nAn `Eager` identity is special, and it means "do not introduce any\nlaziness/memoization overhead here"; when Eager is used, no thunk\nis created; rather, the computation eagerly produces an articulated\nvalue of the form Art::Rc(v), for some value v.",null,null],[13,"Eager","","",4,null],[13,"Structural","","",4,null],[13,"Nominal","","",4,null],[8,"Adapton","","The `Adapton` trait provides a language of\ndependence-graph-building operations based on the core calculus\ndescribed in ["Incremental Computation with Names", 2015](http://arxiv.org/abs/1503.07792)",null,null],[16,"Name","","",5,null],[16,"Loc","","",5,null],[10,"new","","",5,{"inputs":[],"output":{"name":"self"}}],[10,"name_of_usize","","",5,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"name"}}],[10,"name_of_string","","",5,{"inputs":[{"name":"self"},{"name":"string"}],"output":{"name":"name"}}],[10,"name_pair","","",5,{"inputs":[{"name":"self"},{"name":"name"},{"name":"name"}],"output":{"name":"name"}}],[10,"name_fork","","",5,null],[10,"ns","","Creates or re-enters a given namespace; performs the given computation there.",5,{"inputs":[{"name":"self"},{"name":"name"},{"name":"f"}],"output":{"name":"t"}}],[10,"structural","","Enters a special "namespace" where all name uses are ignored; instead, Adapton uses structural identity.",5,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"name":"t"}}],[10,"cnt","","",5,null],[10,"put","","Creates immutable, eager articulation.",5,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"art"}}],[10,"cell","","Creates a mutable articulation.",5,{"inputs":[{"name":"self"},{"name":"name"},{"name":"t"}],"output":{"name":"mutart"}}],[10,"set","","Mutates a mutable articulation.",5,{"inputs":[{"name":"self"},{"name":"mutart"},{"name":"t"}],"output":null}],[10,"thunk","","Creates an articulated computation.",5,{"inputs":[{"name":"self"},{"name":"artidchoice"},{"name":"progpt"},{"name":"rc"},{"name":"arg"},{"name":"spurious"}],"output":{"name":"art"}}],[10,"force","","Demand & observe arts (all kinds): force",5,{"inputs":[{"name":"self"},{"name":"art"}],"output":{"name":"t"}}],[11,"name_fork3","","# Derived fork functions:",5,null],[11,"name_fork4","","",5,null],[11,"read_only","","",5,{"inputs":[{"name":"self"},{"name":"mutart"}],"output":{"name":"art"}}],[8,"AdaptonData","","",null,null],[11,"clone","","",3,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"hash","","",3,null],[11,"clone","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"hash","","",1,null],[11,"clone","","",4,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"hash","","",4,null],[11,"clone","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"hash","","",2,null],[11,"fmt","","",2,null],[11,"sub","","",2,null],[11,"add","","",2,null],[11,"zero","","",2,{"inputs":[],"output":{"name":"self"}}],[0,"engine","adapton","",null,null],[3,"Name","adapton::engine","",null,null],[3,"Loc","","",null,null],[3,"Flags","","",null,null],[12,"ignore_nominal_use_structural","","",6,null],[12,"check_dcg_is_wf","","",6,null],[12,"write_dcg","","",6,null],[3,"Engine","","",null,null],[12,"flags","","",7,null],[11,"clone","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"hash","","",8,null],[11,"fmt","","",8,null],[11,"clone","","",9,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"hash","","",9,null],[11,"fmt","","",9,null],[11,"fmt","","",6,null],[11,"fmt","","",7,null],[11,"hash","","",7,null],[11,"eq","","",7,null],[11,"clone","","",7,null],[11,"new","","",7,{"inputs":[],"output":{"name":"engine"}}],[11,"name_of_string","","",7,{"inputs":[{"name":"engine"},{"name":"string"}],"output":{"name":"name"}}],[11,"name_of_usize","","",7,{"inputs":[{"name":"engine"},{"name":"usize"}],"output":{"name":"name"}}],[11,"name_pair","","",7,{"inputs":[{"name":"engine"},{"name":"name"},{"name":"name"}],"output":{"name":"name"}}],[11,"name_fork","","",7,null],[11,"structural","","",7,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"name":"t"}}],[11,"ns","","",7,{"inputs":[{"name":"self"},{"name":"name"},{"name":"f"}],"output":{"name":"t"}}],[11,"cnt","","",7,null],[11,"put","","",7,{"inputs":[{"name":"engine"},{"name":"t"}],"output":{"name":"art"}}],[11,"cell","","",7,{"inputs":[{"name":"engine"},{"name":"name"},{"name":"t"}],"output":{"name":"mutart"}}],[11,"set","","",7,{"inputs":[{"name":"self"},{"name":"mutart"},{"name":"t"}],"output":null}],[11,"thunk","","",7,{"inputs":[{"name":"engine"},{"name":"artidchoice"},{"name":"progpt"},{"name":"rc"},{"name":"arg"},{"name":"spurious"}],"output":{"name":"art"}}],[11,"force","","",7,{"inputs":[{"name":"engine"},{"name":"art"}],"output":{"name":"t"}}],[0,"naive","adapton","",null,null],[3,"Name","adapton::naive","",null,null],[3,"AdaptonFromScratch","","",null,null],[6,"Loc","","",null,null],[11,"eq","","",10,null],[11,"hash","","",10,null],[11,"clone","","",10,null],[11,"fmt","","",10,null],[11,"hash","","",11,null],[11,"fmt","","",11,null],[11,"eq","","",11,null],[11,"clone","","",11,null],[11,"new","","",11,{"inputs":[],"output":{"name":"adaptonfromscratch"}}],[11,"name_of_string","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"string"}],"output":{"name":"name"}}],[11,"name_of_usize","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"usize"}],"output":{"name":"name"}}],[11,"name_pair","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"name"},{"name":"name"}],"output":{"name":"name"}}],[11,"name_fork","","",11,null],[11,"ns","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"name"},{"name":"f"}],"output":{"name":"t"}}],[11,"structural","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"f"}],"output":{"name":"t"}}],[11,"cnt","","",11,null],[11,"put","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"t"}],"output":{"name":"art"}}],[11,"cell","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"name"},{"name":"t"}],"output":{"name":"mutart"}}],[11,"set","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"mutart"},{"name":"t"}],"output":null}],[11,"thunk","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"artidchoice"},{"name":"progpt"},{"name":"rc"},{"name":"arg"},{"name":"spurious"}],"output":{"name":"art"}}],[11,"force","","",11,{"inputs":[{"name":"adaptonfromscratch"},{"name":"art"}],"output":{"name":"res"}}],[0,"simple","adapton","",null,null],[5,"fact","adapton::simple","",null,{"inputs":[{"name":"a"},{"name":"u64"}],"output":{"name":"u64"}}],[5,"run_fact","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"u64"}}],[5,"run_fact_repeat","","",null,{"inputs":[{"name":"u64"},{"name":"u64"}],"output":{"name":"u64"}}],[0,"collection_traits","adapton","",null,null],[4,"Dir2","adapton::collection_traits","Lists are one-dimensional structures; movement admits two possible directions.",null,null],[13,"Left","","",12,null],[13,"Right","","",12,null],[8,"ListT","","",null,null],[16,"List","","",13,null],[10,"nil","","",13,{"inputs":[{"name":"a"}],"output":{"name":"list"}}],[10,"cons","","",13,{"inputs":[{"name":"a"},{"name":"elm"},{"name":"list"}],"output":{"name":"list"}}],[10,"name","","",13,{"inputs":[{"name":"a"},{"name":"name"},{"name":"list"}],"output":{"name":"list"}}],[10,"art","","",13,{"inputs":[{"name":"a"},{"name":"art"}],"output":{"name":"list"}}],[10,"rc","","",13,{"inputs":[{"name":"a"},{"name":"rc"}],"output":{"name":"list"}}],[10,"elim","","",13,{"inputs":[{"name":"a"},{"name":"list"},{"name":"nil"},{"name":"cons"},{"name":"name"}],"output":{"name":"res"}}],[10,"elim_move","","",13,{"inputs":[{"name":"a"},{"name":"list"},{"name":"arg"},{"name":"nil"},{"name":"cons"},{"name":"name"}],"output":{"name":"res"}}],[11,"singleton","","",13,{"inputs":[{"name":"a"},{"name":"elm"}],"output":{"name":"list"}}],[11,"is_empty","","",13,{"inputs":[{"name":"a"},{"name":"list"}],"output":{"name":"bool"}}],[8,"TreeListT","","Just like ListT, except with an additional constructor: `tree`",null,null],[10,"tree","","",14,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"dir2"},{"name":"list"}],"output":{"name":"list"}}],[10,"next_leaf","","",14,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"dir2"}],"output":{"name":"option"}}],[10,"next_leaf_rec","","",14,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"dir2"},{"name":"list"}],"output":{"name":"option"}}],[10,"tree_elim_move","","",14,{"inputs":[{"name":"a"},{"name":"list"},{"name":"arg"},{"name":"tree"},{"name":"nil"},{"name":"cons"},{"name":"name"}],"output":{"name":"res"}}],[8,"TreeT","","",null,null],[16,"Lev","","",15,null],[16,"Tree","","",15,null],[10,"lev","","",15,{"inputs":[{"name":"x"}],"output":{"name":"lev"}}],[10,"lev_of_tree","","",15,{"inputs":[{"name":"a"},{"name":"tree"}],"output":{"name":"lev"}}],[10,"lev_bits","","",15,{"inputs":[],"output":{"name":"lev"}}],[10,"lev_zero","","",15,{"inputs":[],"output":{"name":"lev"}}],[10,"lev_inc","","",15,{"inputs":[{"name":"lev"}],"output":{"name":"lev"}}],[10,"lev_add","","",15,{"inputs":[{"name":"lev"},{"name":"lev"}],"output":{"name":"lev"}}],[10,"lev_lte","","",15,{"inputs":[{"name":"lev"},{"name":"lev"}],"output":{"name":"bool"}}],[10,"lev_max_val","","",15,{"inputs":[],"output":{"name":"lev"}}],[11,"lev_max","","",15,{"inputs":[{"name":"lev"},{"name":"lev"}],"output":{"name":"lev"}}],[10,"nil","","",15,{"inputs":[{"name":"a"}],"output":{"name":"tree"}}],[10,"leaf","","",15,{"inputs":[{"name":"a"},{"name":"leaf"}],"output":{"name":"tree"}}],[10,"bin","","",15,{"inputs":[{"name":"a"},{"name":"lev"},{"name":"tree"},{"name":"tree"}],"output":{"name":"tree"}}],[10,"name","","",15,{"inputs":[{"name":"a"},{"name":"name"},{"name":"lev"},{"name":"tree"},{"name":"tree"}],"output":{"name":"tree"}}],[10,"art","","",15,{"inputs":[{"name":"a"},{"name":"art"}],"output":{"name":"tree"}}],[10,"rc","","",15,{"inputs":[{"name":"a"},{"name":"rc"}],"output":{"name":"tree"}}],[10,"elim","","",15,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"nilc"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[10,"elim_ref","","",15,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"nilc"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[10,"elim_move","","",15,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"arg"},{"name":"nilc"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[11,"fold_lr","","",15,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"res"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[11,"fold_rl","","",15,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"res"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[11,"fold_up","","",15,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"nilc"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[8,"SetT","","",null,null],[16,"Set","","",16,null],[10,"empty","","",16,{"inputs":[{"name":"a"}],"output":null}],[10,"update_elm","","",16,null],[10,"elim_move","","",16,{"inputs":[{"name":"a"},{"name":"set"},{"name":"arg"},{"name":"nilc"},{"name":"elmc"},{"name":"unionc"}],"output":{"name":"res"}}],[10,"is_mem","","",16,{"inputs":[{"name":"a"},{"name":"set"},{"name":"elm"}],"output":{"name":"bool"}}],[10,"is_empty","","",16,{"inputs":[{"name":"a"},{"name":"set"}],"output":{"name":"bool"}}],[8,"MapT","","",null,null],[16,"Map","","",17,null],[10,"empty","","",17,{"inputs":[{"name":"a"}],"output":null}],[10,"update_pt","","",17,null],[10,"elim_move","","",17,{"inputs":[{"name":"a"},{"name":"map"},{"name":"arg"},{"name":"nilc"},{"name":"elmc"},{"name":"unionc"}],"output":null}],[10,"rem","","",17,null],[10,"get","","",17,{"inputs":[{"name":"a"},{"name":"map"},{"name":"dom"}],"output":{"name":"option"}}],[8,"GraphT","","",null,null],[16,"Graph","","",18,null],[10,"empty","","",18,{"inputs":[{"name":"a"}],"output":null}],[10,"add_node","","",18,{"inputs":[{"name":"a"},{"name":"graph"},{"name":"node"}],"output":{"name":"graph"}}],[10,"add_edge","","",18,{"inputs":[{"name":"a"},{"name":"graph"},{"name":"node"},{"name":"node"}],"output":{"name":"graph"}}],[10,"add_succs","","",18,{"inputs":[{"name":"a"},{"name":"graph"},{"name":"node"},{"name":"nodeset"}],"output":{"name":"graph"}}],[10,"get_succs","","",18,{"inputs":[{"name":"a"},{"name":"graph"},{"name":"node"}],"output":{"name":"nodeset"}}],[11,"clone","","",12,null],[11,"eq","","",12,null],[11,"hash","","",12,null],[11,"fmt","","",12,null],[11,"opp","","",12,null],[11,"rand","","",12,{"inputs":[{"name":"r"}],"output":{"name":"dir2"}}],[11,"arbitrary","","",12,{"inputs":[{"name":"g"}],"output":{"name":"self"}}],[11,"shrink","","",12,null],[0,"collection_algo","adapton","",null,null],[5,"tree_reduce_monoid","adapton::collection_algo","",null,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"elm"},{"name":"binop"}],"output":{"name":"elm"}}],[5,"list_reduce_monoid","","",null,{"inputs":[{"name":"a"},{"name":"list"},{"name":"elm"},{"name":"binop"}],"output":{"name":"elm"}}],[5,"tree_filter","","",null,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"f"}],"output":{"name":"tree"}}],[5,"list_of_tree","","",null,{"inputs":[{"name":"a"},{"name":"tree"}],"output":{"name":"list"}}],[5,"rev_list_of_tree","","",null,{"inputs":[{"name":"a"},{"name":"tree"}],"output":{"name":"list"}}],[5,"vec_of_list","","",null,{"inputs":[{"name":"a"},{"name":"list"},{"name":"option"}],"output":{"name":"vec"}}],[5,"list_of_vec","","",null,{"inputs":[{"name":"a"},{"name":"vec"}],"output":{"name":"list"}}],[5,"rev_list_of_vec","","",null,{"inputs":[{"name":"a"},{"name":"vec"}],"output":{"name":"list"}}],[5,"tree_of_list","","",null,{"inputs":[{"name":"a"},{"name":"dir2"},{"name":"list"}],"output":{"name":"tree"}}],[5,"tree_of_list_rec","","",null,null],[5,"tree_of_treelist","","",null,{"inputs":[{"name":"a"},{"name":"dir2"},{"name":"list"}],"output":{"name":"tree"}}],[5,"tree_of_treelist_rec","","",null,null],[5,"list_merge","","",null,{"inputs":[{"name":"a"},{"name":"option"},{"name":"list"},{"name":"option"},{"name":"list"}],"output":{"name":"list"}}],[5,"list_merge_sort","","",null,{"inputs":[{"name":"a"},{"name":"list"}],"output":{"name":"list"}}],[5,"tree_merge_sort","","",null,{"inputs":[{"name":"a"},{"name":"tree"}],"output":{"name":"list"}}],[5,"tree_append","","",null,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"tree"}],"output":{"name":"tree"}}],[5,"tree_append__name_dropping","","",null,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"tree"}],"output":{"name":"tree"}}],[0,"collection","adapton","",null,null],[4,"List","adapton::collection","",null,null],[13,"Nil","","",19,null],[13,"Cons","","",19,null],[13,"Tree","","",19,null],[13,"Rc","","",19,null],[13,"Name","","",19,null],[13,"Art","","",19,null],[4,"Tree","","",null,null],[13,"Nil","","",20,null],[13,"Leaf","","",20,null],[13,"Bin","","",20,null],[13,"Name","","",20,null],[13,"Rc","","",20,null],[13,"Art","","",20,null],[11,"clone","","",19,null],[11,"hash","","",19,null],[11,"eq","","",19,null],[11,"ne","","",19,null],[11,"fmt","","",19,null],[11,"clone","","",20,null],[11,"hash","","",20,null],[11,"eq","","",20,null],[11,"ne","","",20,null],[11,"fmt","","",20,null],[11,"nil","","",19,{"inputs":[{"name":"a"}],"output":{"name":"list"}}],[11,"cons","","",19,{"inputs":[{"name":"a"},{"name":"elm"},{"name":"list"}],"output":{"name":"list"}}],[11,"name","","",19,{"inputs":[{"name":"a"},{"name":"name"},{"name":"list"}],"output":{"name":"list"}}],[11,"rc","","",19,{"inputs":[{"name":"a"},{"name":"rc"}],"output":{"name":"list"}}],[11,"art","","",19,{"inputs":[{"name":"a"},{"name":"art"}],"output":{"name":"list"}}],[11,"elim","","",19,{"inputs":[{"name":"a"},{"name":"list"},{"name":"nil"},{"name":"cons"},{"name":"name"}],"output":{"name":"res"}}],[11,"elim_move","","",19,{"inputs":[{"name":"a"},{"name":"list"},{"name":"arg"},{"name":"nil"},{"name":"cons"},{"name":"name"}],"output":{"name":"res"}}],[11,"tree","","",19,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"dir2"},{"name":"list"}],"output":{"name":"list"}}],[11,"next_leaf_rec","","",19,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"dir2"},{"name":"list"}],"output":{"name":"option"}}],[11,"next_leaf","","",19,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"dir2"}],"output":{"name":"option"}}],[11,"tree_elim_move","","",19,{"inputs":[{"name":"a"},{"name":"list"},{"name":"arg"},{"name":"treef"},{"name":"nil"},{"name":"cons"},{"name":"name"}],"output":{"name":"res"}}],[11,"lev","","",20,{"inputs":[{"name":"x"}],"output":{"name":"lev"}}],[11,"lev_of_tree","","",20,{"inputs":[{"name":"a"},{"name":"tree"}],"output":{"name":"lev"}}],[11,"lev_bits","","",20,{"inputs":[],"output":{"name":"lev"}}],[11,"lev_zero","","",20,{"inputs":[],"output":{"name":"lev"}}],[11,"lev_max_val","","",20,{"inputs":[],"output":{"name":"lev"}}],[11,"lev_add","","",20,{"inputs":[{"name":"lev"},{"name":"lev"}],"output":{"name":"lev"}}],[11,"lev_inc","","",20,{"inputs":[{"name":"lev"}],"output":{"name":"lev"}}],[11,"lev_lte","","",20,{"inputs":[{"name":"lev"},{"name":"lev"}],"output":{"name":"bool"}}],[11,"nil","","",20,{"inputs":[{"name":"a"}],"output":{"name":"tree"}}],[11,"leaf","","",20,{"inputs":[{"name":"a"},{"name":"leaf"}],"output":{"name":"tree"}}],[11,"bin","","",20,{"inputs":[{"name":"a"},{"name":"lev"},{"name":"tree"},{"name":"tree"}],"output":{"name":"tree"}}],[11,"name","","",20,{"inputs":[{"name":"a"},{"name":"name"},{"name":"lev"},{"name":"tree"},{"name":"tree"}],"output":{"name":"tree"}}],[11,"rc","","",20,{"inputs":[{"name":"a"},{"name":"rc"}],"output":{"name":"tree"}}],[11,"art","","",20,{"inputs":[{"name":"a"},{"name":"art"}],"output":{"name":"tree"}}],[11,"elim_move","","",20,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"arg"},{"name":"nilc"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[11,"elim","","",20,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"nilc"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[11,"elim_ref","","",20,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"nilc"},{"name":"leafc"},{"name":"binc"},{"name":"namec"}],"output":{"name":"res"}}],[0,"collection_edit","adapton","",null,null],[3,"ListZipper","adapton::collection_edit","Lists with a focus; suitable to implement `ListEdit`.",null,null],[12,"left","","Elements to the left of the focus, nearest to furthest.",21,null],[12,"right","","Elements to the right of the focus, nearest to furthest.",21,null],[4,"CursorEdit","","",null,null],[13,"Insert","","",22,null],[13,"Remove","","",22,null],[13,"Replace","","",22,null],[13,"Goto","","",22,null],[4,"ListTransf","","",null,null],[13,"Sort","","",23,null],[13,"Reverse","","",23,null],[4,"ListReduce","","",null,null],[13,"Sum","","",24,null],[13,"Max","","",24,null],[13,"Min","","",24,null],[13,"Median","","",24,null],[13,"Vec","","",24,null],[13,"Tree","","",24,null],[5,"eval_edit","","",null,{"inputs":[{"name":"a"},{"name":"cursoredit"},{"name":"state"},{"name":"usize"}],"output":{"name":"state"}}],[5,"demand_vec","","",null,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"listtransf"},{"name":"option"}],"output":{"name":"vec"}}],[5,"demand_tree","","",null,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"listtransf"},{"name":"option"}],"output":{"name":"vec"}}],[5,"eval_reduce","","",null,{"inputs":[{"name":"a"},{"name":"tree"},{"name":"listreduce"}],"output":{"name":"vec"}}],[8,"ExperimentT","","",null,null],[16,"ListEdit","","",25,null],[10,"run","","",25,{"inputs":[{"name":"a"},{"name":"vec"},{"name":"listreduce"}],"output":{"name":"vec"}}],[8,"ListEdit","","`ListEdit<A,X,L>` gives a simple notion of list-editing that is\ngeneric with respect to adapton implementation `A`, list element\ntype `X`, and list implementation `L`.",null,null],[16,"State","","The State of the Editor is abstract.",26,null],[10,"empty","","",26,{"inputs":[{"name":"a"}],"output":{"name":"state"}}],[10,"insert","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"x"}],"output":{"name":"state"}}],[10,"remove","","",26,null],[10,"replace","","",26,null],[10,"goto","","",26,null],[10,"observe","","",26,null],[10,"clr_names","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"state"}}],[10,"ins_name","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"name"}],"output":{"name":"state"}}],[10,"ins_cell","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"name"}],"output":{"name":"state"}}],[10,"rem_name","","",26,null],[10,"ins_tree","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"tree"},{"name":"dir2"}],"output":{"name":"state"}}],[10,"clear_side","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"state"}}],[10,"get_list","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"list"}}],[10,"get_tree","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"tree"}}],[11,"insert_optnm","","",26,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"option"},{"name":"x"}],"output":{"name":"state"}}],[11,"move_optnm","","",26,null],[11,"clone","","",22,null],[11,"eq","","",22,null],[11,"ne","","",22,null],[11,"hash","","",22,null],[11,"fmt","","",22,null],[11,"clone","","",23,null],[11,"eq","","",23,null],[11,"hash","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",24,null],[11,"eq","","",24,null],[11,"ne","","",24,null],[11,"hash","","",24,null],[11,"fmt","","",24,null],[11,"arbitrary","","",22,{"inputs":[{"name":"g"}],"output":{"name":"self"}}],[11,"shrink","","",22,null],[11,"clone","","",21,null],[11,"eq","","",21,null],[11,"ne","","",21,null],[11,"hash","","",21,null],[11,"fmt","","",21,null],[11,"clr_names","","",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"state"}}],[11,"ins_tree","","",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"tree"},{"name":"dir2"}],"output":{"name":"state"}}],[11,"ins_name","","",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"name"}],"output":{"name":"state"}}],[11,"ins_cell","","",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"name"}],"output":{"name":"state"}}],[11,"rem_name","","",21,null],[11,"empty","","",21,{"inputs":[{"name":"a"}],"output":{"name":"state"}}],[11,"insert","","",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"},{"name":"x"}],"output":{"name":"state"}}],[11,"remove","","",21,null],[11,"goto","","",21,null],[11,"observe","","",21,null],[11,"replace","","",21,null],[11,"clear_side","","",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"state"}}],[11,"get_list","","",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"list"}}],[11,"get_tree","","Creates a tree whose leaves hold the contents of the zipper, in order.\nWhen `dir=Left`, the tree's leaves are ordered from left-to-right, i.e., as (rev left) @ right.\nWhen `dir=Right`, the tree's leaves are ordered from right-to-left, i.e., as (rev right) @ left.",21,{"inputs":[{"name":"a"},{"name":"state"},{"name":"dir2"}],"output":{"name":"tree"}}],[14,"prog_pt!","adapton","",null,null],[14,"thunk!","","",null,null],[14,"memo!","","",null,null],[14,"eager!","","",null,null]],"paths":[[3,"ProgPt"],[3,"MutArt"],[3,"Cnt"],[4,"Art"],[4,"ArtIdChoice"],[8,"Adapton"],[3,"Flags"],[3,"Engine"],[3,"Name"],[3,"Loc"],[3,"Name"],[3,"AdaptonFromScratch"],[4,"Dir2"],[8,"ListT"],[8,"TreeListT"],[8,"TreeT"],[8,"SetT"],[8,"MapT"],[8,"GraphT"],[4,"List"],[4,"Tree"],[3,"ListZipper"],[4,"CursorEdit"],[4,"ListTransf"],[4,"ListReduce"],[8,"ExperimentT"],[8,"ListEdit"]]}; initSearch(searchIndex);