var searchIndex = {}; searchIndex["dyon"] = {"doc":"","items":[[3,"Error","dyon","",null,null],[12,"message","","",0,null],[12,"trace","","",0,null],[3,"Thread","","",null,null],[12,"handle","","",1,null],[3,"FnExternal","","",null,null],[12,"name","","",2,null],[12,"f","","",2,null],[12,"p","","",2,null],[3,"Module","","",null,null],[12,"source","","",3,null],[12,"functions","","",3,null],[12,"ext_prelude","","",3,null],[4,"Variable","","",null,null],[13,"Ref","","",4,null],[13,"Return","","",4,null],[13,"Bool","","",4,null],[13,"F64","","",4,null],[13,"Vec4","","",4,null],[13,"Text","","",4,null],[13,"Array","","",4,null],[13,"Object","","",4,null],[13,"UnsafeRef","","",4,null],[13,"RustObject","","",4,null],[13,"Option","","",4,null],[13,"Result","","",4,null],[13,"Thread","","",4,null],[4,"FnIndex","","",null,null],[13,"None","","",5,null],[13,"Loaded","","",5,null],[13,"External","","",5,null],[5,"run","","Runs a program using a syntax file and the source file.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"load","","Loads a source from file.",null,{"inputs":[{"name":"str"},{"name":"module"}],"output":{"name":"result"}}],[5,"error","","Reports and error to standard output.",null,{"inputs":[{"name":"result"}],"output":{"name":"bool"}}],[0,"ast","","",null,null],[3,"Function","dyon::ast","",null,null],[12,"name","","",6,null],[12,"file","","",6,null],[12,"args","","",6,null],[12,"block","","",6,null],[12,"ret","","",6,null],[12,"resolved","","",6,null],[12,"source_range","","",6,null],[3,"Arg","","",null,null],[12,"name","","",7,null],[12,"lifetime","","",7,null],[12,"ty","","",7,null],[12,"source_range","","",7,null],[12,"mutable","","",7,null],[3,"Block","","",null,null],[12,"expressions","","",8,null],[12,"source_range","","",8,null],[3,"Object","","",null,null],[12,"key_values","","",9,null],[12,"source_range","","",9,null],[3,"Array","","",null,null],[12,"items","","",10,null],[12,"source_range","","",10,null],[3,"ArrayFill","","",null,null],[12,"fill","","",11,null],[12,"n","","",11,null],[12,"source_range","","",11,null],[3,"Add","","",null,null],[12,"items","","",12,null],[12,"ops","","",12,null],[12,"source_range","","",12,null],[3,"Mul","","",null,null],[12,"items","","",13,null],[12,"ops","","",13,null],[12,"source_range","","",13,null],[3,"Pow","","",null,null],[12,"base","","",14,null],[12,"exp","","",14,null],[12,"source_range","","",14,null],[3,"Item","","",null,null],[12,"name","","",15,null],[12,"stack_id","","",15,null],[12,"static_stack_id","","",15,null],[12,"try","","",15,null],[12,"ids","","",15,null],[12,"try_ids","","",15,null],[12,"source_range","","",15,null],[3,"Go","","",null,null],[12,"call","","",16,null],[12,"source_range","","",16,null],[3,"Call","","",null,null],[12,"name","","",17,null],[12,"args","","",17,null],[12,"f_index","","",17,null],[12,"source_range","","",17,null],[3,"BinOpExpression","","",null,null],[12,"op","","",18,null],[12,"left","","",18,null],[12,"right","","",18,null],[12,"source_range","","",18,null],[3,"UnOpExpression","","",null,null],[12,"op","","",19,null],[12,"expr","","",19,null],[12,"source_range","","",19,null],[3,"Assign","","",null,null],[12,"op","","",20,null],[12,"left","","",20,null],[12,"right","","",20,null],[12,"source_range","","",20,null],[3,"Number","","",null,null],[12,"num","","",21,null],[12,"source_range","","",21,null],[3,"Vec4","","",null,null],[12,"args","","",22,null],[12,"source_range","","",22,null],[3,"Text","","",null,null],[12,"text","","",23,null],[12,"source_range","","",23,null],[3,"Bool","","",null,null],[12,"val","","",24,null],[12,"source_range","","",24,null],[3,"For","","",null,null],[12,"init","","",25,null],[12,"cond","","",25,null],[12,"step","","",25,null],[12,"block","","",25,null],[12,"label","","",25,null],[12,"source_range","","",25,null],[3,"ForN","","",null,null],[12,"name","","",26,null],[12,"start","","",26,null],[12,"end","","",26,null],[12,"block","","",26,null],[12,"label","","",26,null],[12,"source_range","","",26,null],[3,"Loop","","",null,null],[12,"block","","",27,null],[12,"label","","",27,null],[12,"source_range","","",27,null],[3,"Break","","",null,null],[12,"label","","",28,null],[12,"source_range","","",28,null],[3,"Continue","","",null,null],[12,"label","","",29,null],[12,"source_range","","",29,null],[3,"If","","",null,null],[12,"cond","","",30,null],[12,"true_block","","",30,null],[12,"else_if_conds","","",30,null],[12,"else_if_blocks","","",30,null],[12,"else_block","","",30,null],[12,"source_range","","",30,null],[3,"Compare","","",null,null],[12,"op","","",31,null],[12,"left","","",31,null],[12,"right","","",31,null],[12,"source_range","","",31,null],[4,"Expression","","",null,null],[13,"Object","","",32,null],[13,"Array","","",32,null],[13,"ArrayFill","","",32,null],[13,"Return","","",32,null],[13,"ReturnVoid","","",32,null],[13,"Break","","",32,null],[13,"Continue","","",32,null],[13,"Block","","",32,null],[13,"Go","","",32,null],[13,"Call","","",32,null],[13,"Item","","",32,null],[13,"BinOp","","",32,null],[13,"Assign","","",32,null],[13,"Text","","",32,null],[13,"Number","","",32,null],[13,"Vec4","","",32,null],[13,"Bool","","",32,null],[13,"For","","",32,null],[13,"ForN","","",32,null],[13,"Sum","","",32,null],[13,"Min","","",32,null],[13,"Max","","",32,null],[13,"Sift","","",32,null],[13,"Any","","",32,null],[13,"All","","",32,null],[13,"If","","",32,null],[13,"Compare","","",32,null],[13,"UnOp","","",32,null],[13,"Variable","","",32,null],[13,"Try","","",32,null],[4,"MulVar","","",null,null],[13,"Pow","","",33,null],[13,"Val","","",33,null],[4,"BinOp","","",null,null],[13,"Add","","",34,null],[13,"Sub","","",34,null],[13,"Mul","","",34,null],[13,"Dot","","",34,null],[13,"Cross","","",34,null],[13,"Div","","",34,null],[13,"Rem","","",34,null],[13,"Pow","","",34,null],[4,"UnOp","","",null,null],[13,"Not","","",35,null],[13,"Neg","","",35,null],[13,"Norm","","",35,null],[4,"Id","","",null,null],[13,"String","","",36,null],[13,"F64","","",36,null],[13,"Expression","","",36,null],[4,"AssignOp","","",null,null],[13,"Assign","",":=",37,null],[13,"Set","","=",37,null],[13,"Add","","+=",37,null],[13,"Sub","","-=",37,null],[13,"Mul","","*=",37,null],[13,"Div","","/=",37,null],[13,"Rem","","%=",37,null],[13,"Pow","","^=",37,null],[4,"CompareOp","","",null,null],[13,"Less","","",38,null],[13,"LessOrEqual","","",38,null],[13,"Greater","","",38,null],[13,"GreaterOrEqual","","",38,null],[13,"Equal","","",38,null],[13,"NotEqual","","",38,null],[5,"convert","","",null,null],[11,"clone","","",6,null],[11,"fmt","","",6,null],[11,"from_meta_data","","",6,{"inputs":[{"name":"arc"},{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"returns","","",6,null],[11,"resolve_locals","","",6,null],[11,"clone","","",7,null],[11,"fmt","","",7,null],[11,"from_meta_data","","",7,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"clone","","",8,null],[11,"fmt","","",8,null],[11,"from_meta_data","","",8,{"inputs":[{"name":"str"},{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",8,null],[11,"clone","","",32,null],[11,"fmt","","",32,null],[11,"from_meta_data","","",32,{"inputs":[{"name":"str"},{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"source_range","","",32,null],[11,"resolve_locals","","",32,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[11,"from_meta_data","","",9,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"key_value_from_meta_data","","",9,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",9,null],[11,"clone","","",10,null],[11,"fmt","","",10,null],[11,"from_meta_data","","",10,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",10,null],[11,"clone","","",11,null],[11,"fmt","","",11,null],[11,"from_meta_data","","",11,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",11,null],[11,"clone","","",12,null],[11,"fmt","","",12,null],[11,"from_meta_data","","",12,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"to_expression","","",12,null],[11,"clone","","",13,null],[11,"fmt","","",13,null],[11,"from_meta_data","","",13,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"to_expression","","",13,null],[11,"clone","","",33,null],[11,"fmt","","",33,null],[11,"from_meta_data","","",33,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"to_expression","","",33,null],[11,"clone","","",14,null],[11,"fmt","","",14,null],[11,"from_meta_data","","",14,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"clone","","",34,null],[11,"fmt","","",34,null],[11,"symbol","","",34,null],[11,"symbol_bool","","",34,null],[11,"clone","","",35,null],[11,"fmt","","",35,null],[11,"clone","","",36,null],[11,"fmt","","",36,null],[11,"source_range","","",36,null],[11,"resolve_locals","","",36,null],[11,"clone","","",15,null],[11,"fmt","","",15,null],[11,"from_variable","","",15,{"inputs":[{"name":"arc"},{"name":"range"}],"output":{"name":"item"}}],[11,"from_meta_data","","",15,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",15,null],[11,"clone","","",16,null],[11,"fmt","","",16,null],[11,"from_meta_data","","",16,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",16,null],[11,"clone","","",17,null],[11,"fmt","","",17,null],[11,"from_meta_data","","",17,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"named_from_meta_data","","",17,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",17,null],[11,"clone","","",18,null],[11,"fmt","","",18,null],[11,"resolve_locals","","",18,null],[11,"clone","","",19,null],[11,"fmt","","",19,null],[11,"from_meta_data","","",19,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",19,null],[11,"clone","","",20,null],[11,"fmt","","",20,null],[11,"from_meta_data","","",20,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",20,null],[11,"eq","","",37,null],[11,"clone","","",37,null],[11,"fmt","","",37,null],[11,"clone","","",21,null],[11,"fmt","","",21,null],[11,"clone","","",22,null],[11,"fmt","","",22,null],[11,"from_meta_data","","",22,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",22,null],[11,"clone","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",24,null],[11,"fmt","","",24,null],[11,"clone","","",25,null],[11,"fmt","","",25,null],[11,"from_meta_data","","",25,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",25,null],[11,"clone","","",26,null],[11,"fmt","","",26,null],[11,"from_meta_data","","",26,{"inputs":[{"name":"str"},{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",26,null],[11,"clone","","",27,null],[11,"fmt","","",27,null],[11,"from_meta_data","","",27,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"to_expression","","",27,null],[11,"clone","","",28,null],[11,"fmt","","",28,null],[11,"from_meta_data","","",28,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"clone","","",29,null],[11,"fmt","","",29,null],[11,"from_meta_data","","",29,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"clone","","",30,null],[11,"fmt","","",30,null],[11,"from_meta_data","","",30,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",30,null],[11,"clone","","",31,null],[11,"fmt","","",31,null],[11,"from_meta_data","","",31,{"inputs":[{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[11,"resolve_locals","","",31,null],[11,"clone","","",38,null],[11,"fmt","","",38,null],[11,"symbol","","",38,null],[0,"runtime","dyon","",null,null],[3,"Call","dyon::runtime","",null,null],[12,"fn_name","","",39,null],[12,"file","","",39,null],[12,"stack_len","","",39,null],[12,"local_len","","",39,null],[3,"Runtime","","",null,null],[12,"stack","","",40,null],[12,"call_stack","","name, file, stack_len, local_len.",40,null],[12,"local_stack","","",40,null],[12,"ret","","",40,null],[12,"rng","","",40,null],[12,"text_type","","",40,null],[12,"f64_type","","",40,null],[12,"vec4_type","","",40,null],[12,"return_type","","",40,null],[12,"bool_type","","",40,null],[12,"object_type","","",40,null],[12,"array_type","","",40,null],[12,"ref_type","","",40,null],[12,"unsafe_ref_type","","",40,null],[12,"rust_object_type","","",40,null],[12,"option_type","","",40,null],[12,"result_type","","",40,null],[12,"thread_type","","",40,null],[4,"Side","","Which side an expression is evalutated.",null,null],[13,"LeftInsert","","Whether to insert key in object when missing.",41,null],[13,"Right","","",41,null],[4,"Expect","","",null,null],[13,"Nothing","","",42,null],[13,"Something","","",42,null],[4,"Flow","","",null,null],[13,"Continue","","Continues execution.",43,null],[13,"Return","","Return from function.",43,null],[13,"Break","","Break loop, with optional label.",43,null],[13,"ContinueLoop","","Continue loop, with optional label.",43,null],[11,"eq","","",41,null],[11,"ne","","",41,null],[11,"clone","","",41,null],[11,"fmt","","",41,null],[11,"eq","","",42,null],[11,"clone","","",42,null],[11,"fmt","","",42,null],[11,"fmt","","",43,null],[11,"fmt","","",39,null],[11,"new","","",40,{"inputs":[],"output":{"name":"runtime"}}],[11,"pop","","",40,null],[11,"pop_vec4","","",40,null],[11,"var","","",40,null],[11,"var_vec4","","",40,null],[11,"push","","",40,null],[11,"push_vec4","","",40,null],[11,"expected","","",40,null],[11,"resolve","","",40,null],[11,"unary_f64","","",40,null],[11,"push_fn","","",40,null],[11,"pop_fn","","",40,null],[11,"expression","","",40,null],[11,"try","","",40,null],[11,"run","","",40,null],[11,"go","","",40,null],[11,"call","","",40,null],[11,"typeof_var","","",40,null],[11,"stack_trace","","",40,null],[0,"lifetime","dyon","",null,null],[4,"Op","dyon::lifetime","",null,null],[13,"Assign","","",44,null],[13,"Set","","",44,null],[5,"check","","Checks lifetime constraints and does type checking.\nReturns refined return types of functions to put in AST.",null,null],[0,"node","","",null,null],[3,"Node","dyon::lifetime::node","",null,null],[12,"kind","","The kind of node.",45,null],[12,"name","","The name.",45,null],[12,"ty","","The type.",45,null],[12,"mutable","","Whether the argument or call argument is mutable.",45,null],[12,"try","","Whether there is a `?` operator used on the node.",45,null],[12,"source","","The range in source.",45,null],[12,"parent","","The parent index.",45,null],[12,"children","","The children.",45,null],[12,"start","","The start index in meta data.",45,null],[12,"end","","The end index in meta data.",45,null],[12,"lifetime","","The lifetime.",45,null],[12,"declaration","","The declaration.",45,null],[12,"op","","Operation.",45,null],[12,"ids","","Number of ids.\nUsed to determine declaration of locals.",45,null],[12,"lts","","The argument lifetime constraints, one for each argument to a function.\nJust using an empty vector for nodes that are not functions.",45,null],[5,"convert_meta_data","","",null,null],[11,"fmt","","",45,null],[11,"print","","",45,null],[11,"find_child_by_kind","","",45,null],[11,"item_try_or_ids","","",45,null],[11,"lifetime","","",45,null],[6,"ArgNames","dyon::lifetime","Maps (function, argument_name) => (argument, index)",null,null],[11,"eq","","",44,null],[11,"clone","","",44,null],[11,"fmt","","",44,null],[0,"intrinsics","dyon","",null,null],[5,"standard","dyon::intrinsics","",null,{"inputs":[{"name":"hashmap"}],"output":null}],[5,"call_standard","","",null,{"inputs":[{"name":"runtime"},{"name":"call"},{"name":"module"}],"output":{"name":"result"}}],[0,"prelude","dyon","",null,null],[3,"PreludeFunction","dyon::prelude","Stores preloaded function constraints.\nThese are already checked.",null,null],[12,"lts","","",46,null],[12,"tys","","",46,null],[12,"ret","","",46,null],[3,"Prelude","","",null,null],[12,"functions","","",47,null],[4,"Lt","","Argument lifetime constraint.",null,null],[13,"Arg","","",48,null],[13,"Return","","",48,null],[13,"Default","","",48,null],[11,"eq","","",48,null],[11,"ne","","",48,null],[11,"clone","","",48,null],[11,"fmt","","",48,null],[11,"clone","","",46,null],[11,"new","","",46,{"inputs":[{"name":"function"}],"output":{"name":"preludefunction"}}],[11,"returns","","",46,null],[11,"from_module","","",47,{"inputs":[{"name":"module"}],"output":{"name":"prelude"}}],[0,"embed","dyon","",null,null],[5,"obj_field","dyon::embed","",null,{"inputs":[{"name":"runtime"},{"name":"object"},{"name":"str"}],"output":{"name":"result"}}],[8,"PopVariable","","Implemented by types that can be popped from the runtime stack.",null,null],[10,"pop_var","","Converts variable to self.\nThe variable should be resolved before call.",49,{"inputs":[{"name":"runtime"},{"name":"variable"}],"output":{"name":"result"}}],[8,"PushVariable","","Implemented by types that can be pushed to the runtime stack.",null,null],[10,"push_var","","Converts from self to variable.",50,null],[8,"ConvertVec4","","Implemented by types that can be converted to and from vec4.",null,null],[10,"from","","Converts vec4 to self.",51,null],[10,"to","","",51,null],[0,"typecheck","dyon","",null,null],[4,"Type","dyon::typecheck","",null,null],[13,"Void","","",52,null],[13,"Any","","",52,null],[13,"Bool","","",52,null],[13,"F64","","",52,null],[13,"Vec4","","",52,null],[13,"Text","","",52,null],[13,"Array","","",52,null],[13,"Object","","",52,null],[13,"Option","","",52,null],[13,"Result","","",52,null],[13,"Thread","","",52,null],[11,"eq","","",52,null],[11,"ne","","",52,null],[11,"clone","","",52,null],[11,"fmt","","",52,null],[11,"description","","",52,null],[11,"array","","",52,{"inputs":[],"output":{"name":"type"}}],[11,"object","","",52,{"inputs":[],"output":{"name":"type"}}],[11,"option","","",52,{"inputs":[],"output":{"name":"type"}}],[11,"result","","",52,{"inputs":[],"output":{"name":"type"}}],[11,"thread","","",52,{"inputs":[],"output":{"name":"type"}}],[11,"goes_with","","",52,null],[11,"add","","",52,null],[11,"mul","","",52,null],[11,"pow","","",52,null],[11,"from_meta_data","","",52,{"inputs":[{"name":"str"},{"name":"convert"},{"name":"vec"}],"output":{"name":"result"}}],[6,"Array","dyon","",null,null],[6,"Object","","",null,null],[6,"RustObject","","",null,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"clone","","",1,null],[11,"new","","",1,{"inputs":[{"name":"joinhandle"}],"output":{"name":"thread"}}],[11,"invalidate_handle","","Removes the thread handle from the stack.\nThis is to prevent an extra reference when resolving the variable.",1,{"inputs":[{"name":"runtime"},{"name":"variable"}],"output":{"name":"result"}}],[11,"fmt","","",1,null],[11,"clone","","",4,null],[11,"fmt","","",4,null],[11,"eq","","",4,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"clone","","",2,null],[11,"clone","","",3,null],[11,"new","","",3,{"inputs":[],"output":{"name":"module"}}],[11,"register","","",3,null],[11,"find_function","","",3,null],[11,"error","","",3,null],[11,"add","","Adds a new extended prelude function.",3,null]],"paths":[[3,"Error"],[3,"Thread"],[3,"FnExternal"],[3,"Module"],[4,"Variable"],[4,"FnIndex"],[3,"Function"],[3,"Arg"],[3,"Block"],[3,"Object"],[3,"Array"],[3,"ArrayFill"],[3,"Add"],[3,"Mul"],[3,"Pow"],[3,"Item"],[3,"Go"],[3,"Call"],[3,"BinOpExpression"],[3,"UnOpExpression"],[3,"Assign"],[3,"Number"],[3,"Vec4"],[3,"Text"],[3,"Bool"],[3,"For"],[3,"ForN"],[3,"Loop"],[3,"Break"],[3,"Continue"],[3,"If"],[3,"Compare"],[4,"Expression"],[4,"MulVar"],[4,"BinOp"],[4,"UnOp"],[4,"Id"],[4,"AssignOp"],[4,"CompareOp"],[3,"Call"],[3,"Runtime"],[4,"Side"],[4,"Expect"],[4,"Flow"],[4,"Op"],[3,"Node"],[3,"PreludeFunction"],[3,"Prelude"],[4,"Lt"],[8,"PopVariable"],[8,"PushVariable"],[8,"ConvertVec4"],[4,"Type"]]}; initSearch(searchIndex);