-Search.setIndex({docnames:["index","joy","lib","library","notebooks/0. This Implementation of Joy in Python","notebooks/4. Replacing Functions in the Dictionary","notebooks/Advent of Code 2017 December 1st","notebooks/Advent of Code 2017 December 2nd","notebooks/Advent of Code 2017 December 3rd","notebooks/Advent of Code 2017 December 4th","notebooks/Advent of Code 2017 December 5th","notebooks/Advent of Code 2017 December 6th","notebooks/Developing","notebooks/Generator Programs","notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators","notebooks/Newton-Raphson","notebooks/Quadratic","notebooks/Trees","notebooks/Zipper","notebooks/index","parser","pretty","stack"],envversion:52,filenames:["index.rst","joy.rst","lib.rst","library.rst","notebooks/0. This Implementation of Joy in Python.rst","notebooks/4. Replacing Functions in the Dictionary.rst","notebooks/Advent of Code 2017 December 1st.rst","notebooks/Advent of Code 2017 December 2nd.rst","notebooks/Advent of Code 2017 December 3rd.rst","notebooks/Advent of Code 2017 December 4th.rst","notebooks/Advent of Code 2017 December 5th.rst","notebooks/Advent of Code 2017 December 6th.rst","notebooks/Developing.rst","notebooks/Generator Programs.rst","notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators.rst","notebooks/Newton-Raphson.rst","notebooks/Quadratic.rst","notebooks/Trees.rst","notebooks/Zipper.rst","notebooks/index.rst","parser.rst","pretty.rst","stack.rst"],objects:{"joy.joy":{joy:[1,1,1,""],repl:[1,1,1,""],run:[1,1,1,""]},"joy.library":{"void":[3,1,1,""],BinaryBuiltinWrapper:[3,1,1,""],DefinitionWrapper:[3,2,1,""],FunctionWrapper:[3,1,1,""],SimpleFunctionWrapper:[3,1,1,""],UnaryBuiltinWrapper:[3,1,1,""],add_aliases:[3,1,1,""],app1:[3,1,1,""],app2:[3,1,1,""],app3:[3,1,1,""],b:[3,1,1,""],branch:[3,1,1,""],choice:[3,1,1,""],clear:[3,1,1,""],concat:[3,1,1,""],cons:[3,1,1,""],dip:[3,1,1,""],dipd:[3,1,1,""],dipdd:[3,1,1,""],divmod_:[3,1,1,""],drop:[3,1,1,""],dup:[3,1,1,""],dupd:[3,1,1,""],dupdip:[3,1,1,""],first:[3,1,1,""],floor:[3,1,1,""],genrec:[3,1,1,""],getitem:[3,1,1,""],help_:[3,1,1,""],i:[3,1,1,""],id_:[3,1,1,""],ifte:[3,1,1,""],infra:[3,1,1,""],initialize:[3,1,1,""],inscribe:[3,1,1,""],loop:[3,1,1,""],map_:[3,1,1,""],max_:[3,1,1,""],min_:[3,1,1,""],over:[3,1,1,""],parse:[3,1,1,""],pm:[3,1,1,""],pop:[3,1,1,""],popd:[3,1,1,""],popdd:[3,1,1,""],popop:[3,1,1,""],pred:[3,1,1,""],remove:[3,1,1,""],rest:[3,1,1,""],reverse:[3,1,1,""],rolldown:[3,1,1,""],rollup:[3,1,1,""],select:[3,1,1,""],sharing:[3,1,1,""],shunt:[3,1,1,""],sort_:[3,1,1,""],sqrt:[3,1,1,""],stack_:[3,1,1,""],step:[3,1,1,""],succ:[3,1,1,""],sum_:[3,1,1,""],swaack:[3,1,1,""],swap:[3,1,1,""],take:[3,1,1,""],times:[3,1,1,""],tuck:[3,1,1,""],uncons:[3,1,1,""],unique:[3,1,1,""],unstack:[3,1,1,""],warranty:[3,1,1,""],words:[3,1,1,""],x:[3,1,1,""],zip_:[3,1,1,""]},"joy.library.DefinitionWrapper":{add_def:[3,3,1,""],add_definitions:[3,3,1,""],parse_definition:[3,3,1,""]},"joy.parser":{ParseError:[20,4,1,""],Symbol:[20,2,1,""],text_to_expression:[20,1,1,""]},"joy.utils":{pretty_print:[21,0,0,"-"],stack:[22,0,0,"-"]},"joy.utils.pretty_print":{TracePrinter:[21,2,1,""]},"joy.utils.pretty_print.TracePrinter":{viewer:[21,5,1,""]},"joy.utils.stack":{expression_to_string:[22,1,1,""],iter_stack:[22,1,1,""],list_to_stack:[22,1,1,""],pick:[22,1,1,""],pushback:[22,1,1,""],stack_to_string:[22,1,1,""]},joy:{joy:[1,0,0,"-"],library:[3,0,0,"-"],parser:[20,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","classmethod","Python class method"],"4":["py","exception","Python exception"],"5":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:classmethod","4":"py:exception","5":"py:method"},terms:{"0b11100111011011":12,"0th":4,"10m":14,"10n":14,"4ac":16,"5bkei":17,"\u03b5":15,"abstract":[4,17],"boolean":[2,3,4,17],"break":[4,11],"byte":12,"case":[2,3,4,5,7,11,14,22],"class":[3,4,20,21],"default":[3,10,13],"export":[3,4,20],"final":[2,8,14],"float":[3,4,18,20],"function":[0,1,5,6,7,8,9,10,12,13,15,18,19,20,21,22],"g\u00e9rard":18,"import":[2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],"int":[4,8,13,14,18,20],"new":[2,3,4,5,8,13,14,17],"return":[1,3,4,5,7,8,10,11,12,14,16,17,20,22],"short":16,"static":2,"switch":2,"true":[2,3,7,8,12,14,17],"try":[4,8,13,14],"void":[0,3,4],"while":[3,4,8,10,11,20],Adding:[4,19],And:[4,6,8,12,13,14,15,17,18],But:[0,4,7,12,14,17],For:[2,3,4,6,7,8,9,10,13,14,17,22],Going:7,Has:3,Its:3,Not:8,One:[2,4],RHS:17,TOS:[2,3,14],That:[4,12,14,17],The:[0,1,2,3,5,6,7,8,9,10,13,15,16,18,19,20,22],Then:[2,3,7,10,16,17],There:[0,4,8,10,14,17],Use:[3,14],Using:[8,14,17],With:[6,14],_pars:4,aaa:9,abbrevi:17,about:[0,4,8,10,17,18,22],abov:[0,5,8,12,15,16,17],abs:[8,15],absolut:[4,8],accept:[1,2,3,4,12,14,17,18],access:[8,10],accomplish:16,accordingli:17,accumul:12,across:[8,10],action:[4,18],actual:[2,4,8,12,17],add:[3,4,6,7,8,12,13,16,21],add_alias:3,add_def:3,add_definit:[3,10,14,17],add_if_match:6,add_valu:10,added:17,adding:8,addit:[0,2,3,4,10,12,14,17],admit:8,advantag:14,after:[4,6,8,10,12,13],afterward:4,again:[2,3,4,8,10,12,17],against:[7,8],aggreg:[3,4,18],aka:18,albrecht:0,algebra:17,algorithm:4,alia:3,alias:[3,4],align:4,all:[3,4,6,7,12,13,14,15,17],alloc:8,allow:[14,17],almost:17,alon:15,along:[4,14],alphabet:3,alreadi:[5,8,18],also:[0,4,12,14],altern:17,although:[6,17],altogeth:13,alwai:[8,12,14],amort:17,amount:8,analysi:19,anamorph:4,ani:[4,10,12,17,18,20],annual:4,anonym:17,anoth:[6,14,17],answer:8,anyth:[2,3,4],aoc20017:7,aoc20173:8,aoc2017:[6,7,8,9,10,11],app1:[3,4],app2:[3,4,5,7,16],app3:[3,4],app:4,appear:[2,9,12,17],append:[4,10],appli:[2,3,7,12,15,17],applic:13,approach:12,archiv:0,aren:18,arg:[2,3],argument:[2,3,4,13,14,22],arithmet:2,ariti:2,around:[4,12,22],arrai:10,arrang:10,arriv:[13,17],articl:0,ask:[8,13],aspect:[0,8],assembl:10,assert:[8,11],assign:[4,22],associ:17,assum:[6,7,9,10],asterisk:17,attack:4,attempt:[0,1],attribut:3,automat:[14,19],avail:[0,9],averag:[4,5],avoid:17,awar:2,awkward:17,back:[8,10,17],backward:[4,17],bad:4,bag:4,banana:[14,17],bank:11,barb:14,base:[2,3,7,11,14],basic:[1,2,3,4,6,8,17],bear:10,beat:10,becaus:[2,3,4,6,7,8,10,14,17,18],becom:[4,6,16,17,22],been:[14,17,18],befor:[4,7,10,13,14,17],begin:[8,14,17],behavior:17,behaviour:[0,1],behind:10,being:0,belong:10,below:[2,3,8,12,13,15,17,18],bespok:4,best:0,better:[8,12,13,17],between:[0,7,8,12],biannual:4,big:[8,10,17],binari:[0,4,13,17],binary_search_tre:17,binarybuiltinwrapp:3,bind:4,bingo:18,bit:[8,12,13,17],block:[11,12],bodi:[2,4,17],body_text:3,bool:[7,14],both:[2,4,5,8,10,12,14,15],bottom:13,boundari:8,bracket:[4,8,20],branch:[3,4,6,7,10,12,13,15,17],breakpoint:4,bring:[4,12],btree:19,buck:17,bug:[0,4],build:[4,14,17,18],built:14,bundl:[2,3],burgeon:4,calcul:8,call:[2,4,14],caller:17,came:[10,17],can:[0,2,3,4,5,6,7,8,12,13,14,15,16,18,22],candid:7,captur:4,card:4,care:[4,8,12,22],carefulli:[17,18],carri:[6,8,14],catamorph:5,ccon:17,ceil:8,certain:[4,22],certainli:17,chang:[2,8,10,17,18],charact:18,chat:4,chatter:0,cheat:11,check:[7,13,14],checksum:7,child0:17,childn:17,children:17,choic:[3,4,14],choos:17,circular:[6,17],cite_not:17,classmethod:3,clear:[3,4,8,12],cleav:[4,5,6,7,9,16],close:[0,1,4],clunki:12,cmp:19,cmp_:17,code:[0,1,4,14,15,17],collaps:14,collect:[4,13],column:8,combin:[0,3,4,9,12,13,18,19],come:[4,8,10],command:[4,6,17],common:[2,12,14],compar:8,comparison:0,compil:[2,4,10,14],complex:[3,18],compos:14,compound:17,comput:[2,4,7,8,10,12,19],con:[3,4,7,10,11,12,13,14,16,18,22],concat:[3,4,6,13,14,17],concatin:[3,22],concis:8,concret:14,concurr:2,condit:[4,10],condition:7,confid:8,conflict:17,cons2:17,consecut:13,consid:[10,12,13,14,17,18],consist:[2,4,8,17],constant:17,constitu:14,consum:[7,14],contain:[0,2,3,4,8,9,13,14],context:2,continu:[0,7,14,18],control:4,convert:[4,5,14,17,20,22],cook:14,cool:17,copi:[2,3,6,12,14,17],copyright:4,corner:8,correct:8,correctli:17,could:[2,4,8,10,12,14,17,18],count:[3,8,9,13],count_stat:11,counter:12,cours:[8,10,12,14,17],cover:8,cpu:8,crack:17,crap:19,crash:17,creat:[0,2,3,6,12,13,14,17],crude:[17,20],csp:4,current:[2,3,4,10,14,18],cycl:[12,13],cython:4,dai:[4,14],data:[2,3,4,8,19],datastructur:[2,4,14,18,20,22],datatyp:[4,22],ddididi:18,deal:[0,6,17],debugg:14,decid:17,decor:3,decoupl:14,decreas:8,decrement:3,deduc:12,deeper:0,def:[3,4,5,8,10,11,14,16,17,22],defi:3,defin:[2,3,4,6,7,8,9,10,11,12,13,14,15,18],definit:[2,3,4,5,9,10,12,13,14,17,19],definitionwrapp:[3,10,14,17],deleg:4,delet:19,demonstr:14,depend:[14,17],deposit:17,dequot:[6,14],deriv:[2,3,4,6,7,12,19],descend:7,describ:[3,4,14,17,20],descript:[4,12,17],design:[2,3,7,17],desir:[4,8,17],destruct:17,detail:[4,8,17],detect:[7,13,14,17],determin:[7,8],develop:[0,4,13,19],diagram:12,dialect:1,dict:[1,3],dictionari:[1,3,4,5,16,17],did:8,didn:14,differ:[0,7,9,12,14,17],dig:18,digit:[6,12],dimension:8,dinfrirst:4,dip:[3,4,5,7,8,10,11,12,13,14,15,16,17],dipd:[3,4,10,13,14,16,17,18],dipdd:[3,4,17],direco:11,direct:4,directli:[4,8,12,17,22],disappear:2,discard:[3,13,14,15,17],discov:7,disenstacken:[4,17],disk:4,displac:2,distanc:8,distribut:11,ditch:17,div:[3,4],dive:17,divid:7,divis:[7,17],divisor:7,divmod:[3,7],divmod_:3,doc:[2,3,4],document:20,doe:[0,1,4,7,8,10,14,19,21],doesn:[4,6,10,12,14,17,22],dog:17,doing:[4,8,12,14,18],domain:8,don:[7,8,10,12,17],done:[2,4,12,13],doodl:8,door:4,doubl:12,down:[2,3,8,10,18],down_to_zero:4,downward:10,dozen:4,draft:11,dream:4,drive:13,driven:12,driver:13,drop:[3,6,17],dudipd:4,due:6,dummi:7,dup:[3,4,6,7,8,10,11,12,13,14,15,16,17,18,22],dupd:[3,4],dupdip:[3,4,7,8,12,14,16,17],duplic:[3,9,14,17],durat:2,dure:[2,5,14],each:[2,3,4,5,6,7,8,10,12,14,17],easi:[0,8,15,17,18],easier:[3,6,17],effect:[2,3,4,18],effici:[8,10,18],either:[1,2,3,7,14,17],eleg:[4,10,16,17],element:[2,3],elif:4,els:[2,3,4,6,7,10,11,14],embed:[17,18],empti:[3,4,7,22],enabl:4,encapsul:4,enclos:4,encod:[10,13],encount:10,end:[4,8,10,12,14,22],endless:13,enforc:[2,4],engend:4,enlarg:8,enough:[4,8,14,16],enstacken:[4,13],ensur:9,enter:4,entri:[3,18],equal:12,equat:[4,8,15],ergo:[8,14,17],err:[15,17],error:[4,8,19,20],escap:10,essai:0,estim:15,etc:[3,8,18,20],euler:19,evalu:[1,2,3,4,5,6,14,17],even:10,evenli:7,eventu:8,everi:13,everyth:[3,17],exactli:14,exampl:[0,3,4,6,7,8,9,10,12,13,14,17,20,22],exce:13,except:[4,17,20],execut:[0,1,2,3,4,5,7,15,18],exit:10,expect:[2,3,4,7,14,15,17,22],experi:4,experiment:8,explan:4,explor:4,express:[0,1,2,3,4,5,14,17,18,21,22],expression_to_str:[4,22],extend:8,extra:[4,6,7,12],extrem:4,extrememli:4,facet:0,facil:4,fact:[17,20],factor:[2,4,12,19],fail:[2,3,7,17,20],fals:[2,3,7,11,12,14],far:[10,14,17],fascin:0,fast:8,faster:8,fear:17,feel:8,few:[4,8,12],fewer:[3,4],fib:13,fib_gen:13,figur:[2,3,8,17],filter:17,fin:12,find:[2,3,6,7,12,13,17,19,22],fine:[0,12,17],first:[3,4,5,6,7,8,10,11,13,14,16,17,18,19],fit:[4,12,16],five:[4,12,14],fix:[2,3],flag:7,flatten:[4,17],flexibl:17,floor:[3,8],floordiv:[4,12],flow:4,follow:[0,2,3,4,7,10,14,18],foo:17,form:[2,3,4,7,9,12,13,19,22],forman:4,format:21,formula:[0,8,12,19],forth:[4,6,10,17],fortun:10,forum:0,forward:[7,10],found:[4,10,11,17],four:[2,3,4,8,10,12,13,17],fourteen:12,fourth:[2,3,6,17],fractal:4,fraction0:4,fraction:[2,4],fragment:15,frame:4,framework:4,free:[4,17],freeli:[2,8],from:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,22],front:[2,3],full:[9,12],fun:8,functionwrapp:[3,17],funtion:17,further:19,futur:16,garbag:4,gari:17,gcd:4,gen:11,gener:[2,3,4,8,10,15,19],genrec:[3,4,7,10,14,15,17],geometr:12,geometri:17,get:[2,4,5,7,8,12,13,14,15,19],get_valu:10,getdoc:4,getitem:[3,4],getsourc:4,give:[4,8,12,14,22],given:[2,3,5,6,7,8,10,11,12,13,18],glue:4,goal:10,going:[7,8,10,17,18],good:[10,12,17],grab:3,grammar:20,grand:4,graph:8,great:[0,4,6,8],greater:8,grid:8,group:[0,8],guard:[7,8],had:[12,18],haiku:4,half:[12,18],half_of_s:6,halfwai:6,hand:[4,5,17],happen:[4,8,17],hard:[15,18],hardli:14,has:[0,2,4,7,8,10,13,14,17,18,22],have:[2,3,4,6,7,8,10,11,12,13,14,17,18],head:[4,7,14,22],help:[4,5,9,14,17],help_:3,helper:[3,7],herd:4,here:[8,12,13,14,15,17,18],heterogen:17,heurist:[6,10],hide:17,higher:[4,17],highest:7,highli:[4,17],hindsight:7,hmm:17,hog:17,hoist:3,hold:12,hood:10,hope:[0,4,12],how:[0,8,9,10,14,17,18],html:[2,3,13,16],http:[4,17],huet:18,hugh:[15,17],human:4,hypothet:2,id_:3,idea:[4,12,17],ident:[3,14],identifi:8,ift:[3,4,6,7,10,14,15,17],ignor:[3,17],illustr:14,imagin:18,immedi:[10,14],immut:[4,17],imper:14,implement:[0,1,2,3,4,8,11,14,16,17],impli:7,implicit:4,includ:9,inclus:12,incom:[4,22],incr_at:10,incr_step_count:10,incr_valu:10,increas:[8,10,12],increment:[3,12],index:[0,4,8,11],index_of:11,indexerror:4,indic:17,infil:17,infinit:8,inform:3,infra:[3,4,5,13,14,16],infrastructur:3,init:10,init_print:8,initi:[2,3,4,5,7,8,9,10,17],inlin:17,inner:7,input:[1,6,7,8,9,14],inscrib:3,inspect:4,instal:0,instead:[8,12,13,14,17,18],instruct:10,integ:[2,3,4,6,7,8,9,10,13,14],integr:3,intend:[0,4],interact:4,interest:[0,8,12,13,17],interlock:8,interlud:19,intermedi:14,intern:0,interpret:[0,14,20],interrupt:4,interv:12,invari:3,invers:3,ipf:4,ipynb:13,isinst:4,isn:[14,18],item:[2,3,4,6,7,11,14,17,22],iter:[1,3,4,8,14,19,22],iter_stack:[4,5,11,22],its:[0,2,3,4,7,8,12,14,17,22],itself:[0,2,4,10,17],j05cmp:[2,3],jenni:17,job:10,john:[15,17],joi:[2,5,6,7,9,10,11,16,17],join:4,joypi:[10,11,14,17,18],jump:10,jupyt:0,just:[0,2,3,4,6,7,8,10,13,14,18],keep:18,kei:19,kevin:0,key_n:17,keyerror:17,kind:[2,4,8,10,14,17],kleen:17,know:[8,12,14,17],lambda:14,lambdifi:8,languag:[4,17],larg:8,larger:8,largest:[3,7,10],last:[6,10,12,14],lastli:[13,14],later:[4,10,15],law:2,lcm:12,lead:[4,10],leaf:17,lean:4,learn:[0,11],least:[2,4,8,10,12,14,22],least_fract:4,leav:[7,8,10,12,13,15,17],left:[4,8,13,14,18,22],leftov:14,legendari:10,legibl:10,len:11,length:[3,12],lens:14,less:[4,12,13,14],lesser:8,let:[4,6,7,8,10,13,14,15,16,17,18],level:17,librari:[0,5,8,10,11,16,17],lieu:17,like:[2,3,4,7,8,11,12,14,16,20],line:[3,4,7,10,14,17],linear:22,link:0,linux:0,list:[0,3,6,7,9,10,11,12,18,19],list_to_stack:[4,10,11,22],liter:[1,17,18,20],littl:[8,10,17,19],lkei:17,load:[4,12],locat:[2,8],log_2:17,logic:[0,12],longer:17,look:[4,8,13,17],lookup:[4,17],loop:[1,3,12],lot:[4,16,17,18],love:12,lower:12,lowest:7,lshift:4,machin:[0,17],machineri:17,macro:4,made:[0,4,7,17,18],mai:[2,4,10,14,17],mail:0,main:[0,3,4,6,18],maintain:18,make:[2,3,4,5,6,12,14,18],make_distributor:11,manfr:[0,2,3],manhattan:8,mani:[0,4,8,9,10,13,14],manipul:8,manual:[8,14],map:[1,3,4,12,14,17],map_:3,mark:[8,10],marker:4,mask:[12,13],match:[0,1,6],materi:0,math:[0,4,8,10,17],mathemat:[4,8],matter:[6,12,14,15,17],max:[7,8,11],max_:3,maximum:[3,17],maxmin:7,mayb:[14,17],maze:10,mean:[4,7,12,14,17,22],meant:[4,14,17],meantim:10,mem:10,member:[2,3,8],memori:8,mental:4,mention:2,mercuri:0,merg:17,meta:[4,17],methink:17,method:[0,3,4,8,19,21],mfloor:8,midpoint:12,might:[6,13,14,17],million:13,min:[4,7],min_:3,mind:10,minimum:3,minu:[3,16],mirror:0,miscellan:[0,19],mistak:11,mix:4,mnemon:6,mod:[3,4],model:4,modern:0,modif:13,modifi:[4,10,18],modul:[0,1,3,4,20],modulu:4,monkei:8,month:4,more:[0,3,4,5,9,10,12,13,14,16,17,20,22],most:[4,17],mostli:0,move:[6,8,10],movement:2,mrank_of:8,much:[4,8,10,12,14,17],muck:17,mul:[4,16,18,21],multi:3,multipl:[14,19],must:[2,3,7,8,9,12,14],mutabl:10,n_kei:17,n_rang:13,n_valu:17,nail:10,name:[1,3,4,5,6,18,19,20,22],natur:[12,13,17],navig:18,need:[2,3,6,7,8,10,11,12,13,14,15,17],neg:[3,4,10,16],nest:[4,17,18],network:4,newton:[0,19],next:[5,6,7,8,10,12,14,15,17],nice:[0,4,6,8,14,22],niether:2,node:19,non:[7,17],none:[1,3,4],normal:[9,14],notat:[4,17],note:[2,4,8,12,17,22],notebook:[0,4,12,18],notebook_preambl:[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18],noth:[2,4,17],notic:12,now:[4,5,6,7,8,12,13,14,15],nth:[3,22],nullari:[4,7,10,11,15,17],number:[1,2,3,5,7,12,13,19,22],object:20,observ:12,obviou:[13,15],obvious:[7,9,10],occur:17,odd:[12,13],off:[2,3,8,12,13,18],offset:10,offset_of:8,old:[2,5],old_siz:5,old_sum:5,omit:14,onc:[3,9,16,17],one:[2,3,4,6,7,8,9,10,12,13,14,17,22],ones:13,onli:[2,3,4,6,7,8,10,12,14,17,18],onto:[1,2,3,4,22],open:[4,9],oper:[3,4,7,14,17,22],oppos:6,option:1,order:[2,3,4,6,7,14,19],org:[4,17],origin:[0,1,2,3,6,17,18],other:[0,2,3,4,7,8,14,17,22],otherwis:[3,4,7,12,13,17],our:[4,6,7,8,12,13,14],ourselv:14,out:[2,3,4,8,12,13,14,17,18],outcom:17,output:[8,14],outsid:10,outward:8,over:[3,4,6,8,12,13,16,17],overhead:8,overkil:14,overshadow:8,own:[8,17],pack:[4,17,22],packag:[0,4],page:[0,16,17],pair:[2,3,6,7,12,13],pair_up:6,palidrom:12,palindrom:12,pam:4,paper:[4,8,14,17,18],parallel:2,paramet:[1,2,3,10,14,20],paranthes:17,parenthes:[4,10,17,22],pariti:13,pars:[0,3,4,17],parse_definit:3,parseerror:[4,20],parser:0,part:[2,3,7,10,14,17],partial:[8,14],particular:18,particularli:10,pass:[0,17,21],passphras:9,path:8,pattern:[8,12,17],payoff:14,pe1:[12,13],pe2:13,pearl:18,pend:[3,4,14,18],per:[4,8],perform:10,perhap:13,period:4,permit:[4,10,22],persist:17,phase:2,pick:[12,13,22],pickl:4,pictur:17,piec:14,pip:0,pita:11,place:[3,4,8,10,12,14],plai:0,plain:10,plane:8,plu:[3,8,16],plug:[13,14,17],point:[4,8,14,17],pointless:2,pop:[3,4,5,6,7,10,11,12,13,14,16,17,22],popd:[3,4,5,10,15],popdd:[3,4,7,13,16],popop:[3,4,6,7,10,11,12,13,14,15,17],port:8,posit:[3,4,10,12,14],possibilit:17,possibl:[7,17],post:[4,17],potenti:3,pow:4,power:4,pragmat:12,pre:[10,14,17],precis:[0,1,15],pred:[3,4],predic:[2,7,13,14,15],prefer:14,prefix:14,prep:[7,17],prepar:[10,14],preprocessor:14,present:17,pretti:[4,8,15,16,17,21,22],pretty_print:0,prevent:14,previou:[4,8,10],prime:7,primit:[2,3,5,10,15,16],primrec:[3,4,7,10,11,13,14,15],print:[1,2,3,8,14,21,22],probabl:[4,6,13,17],problem:[4,8,19],proc_curr:17,proc_left:17,proc_right:17,proce:[6,12],process:[4,10,14],processor:17,produc:[6,12,14,17],product:4,program:[0,2,3,4,6,7,8,10,13,15,18],project:19,prompt:4,proper:[2,3],properli:10,properti:0,provid:[0,3,4],prune:17,pun:[0,4],pure:[4,17],purely_functional_data_structur:4,puriti:4,purpos:4,push:[2,3,4,14,18,22],pushback:[4,17,22],put:[1,2,4,13,22],puzzl:[6,7,8,9],pypi:0,pyramid:8,python:[0,2,3,5,8,10,14,16,17,18,20,22],quadrat:[0,8,19],queri:17,queu:14,quit:[0,1,8],quot:[0,1,3,5,13,14,17,18,20],quotat:[2,3],quotient:3,rais:[4,17,20],random:10,rang:[4,8,14],range_sum:14,range_to_zero:4,rank_and_offset:8,rank_of:8,raphson:15,rather:[4,12,14,17],ratio:4,reach:[10,12,13,14],read:[0,1,12,13,17,18],readabl:5,real:17,realiz:[6,10,17],realli:[5,8],rearrang:[2,14],reason:[4,8,12],rebuild:18,rec1:[2,3],rec2:[2,3],recogn:20,record:4,recur:14,recurs:[2,3,4,7,10,11,13,15,19,22],recusr:17,redistribut:[3,4],reduc:2,redund:[4,22],reexamin:17,refactor:[4,14],refer:[0,2],refin:15,regist:2,regular:20,rel:[10,16],relev:8,rem:4,remain:[2,3,4],remaind:[3,4],remind:14,remov:[3,4,8,17],renam:17,render:[17,19],repeat:[6,8,12],repeatedli:12,repl:[0,1],replac:[2,3,4,13,14,15,18,22],repositori:0,repres:[2,4,17,20],represent:4,reprod:13,request:8,requir:[4,8,22],resembl:4,respect:12,rest:[3,4,7,11,12,13,17,18,22],restor:2,result:[1,2,3,7,12,13,14,16,17,18],resum:4,retir:2,retri:4,reus:17,revers:[3,4,6,7,12,13,14,18],rewrit:[4,10],rewritten:4,richard:17,right:[4,8,13,14,22],rightmost:12,rkei:17,role:17,roll:[3,4,7,9,10,14,16,17],rolldown:[3,4],rollup:[3,4],root:[3,8,19],rotate_seq:6,round:6,row:[7,8],row_valu:8,rshift:4,run:[0,1,3,4,8,12,14,17,18],runtim:[4,8],sai:17,same:[2,4,12,14,17,22],sandwich:[2,3],save:[2,4,12],scan:3,scanner:[4,20],scenario:18,scheme:17,scope:[6,17],search:[0,8,17],second:[3,4,6,7,14,17,22],secur:9,see:[0,4,5,8,13,14,17,18],seem:[0,4,11,12,17],seen:18,select:[3,4,8],semant:[2,3,4,17],semi:4,send:4,sens:[0,2,12,18],separ:4,sequenc:[0,1,2,3,5,6,7,9,10,11,12,17,18,20],seri:[8,12,13,14,17,18],serv:14,set:[2,3,14],seven:[12,13],sever:[0,4],shadow:5,share:[3,4,8],shelf:2,shift:[12,13],shine:10,shortest:8,should:[2,4,7,12,14,15,17],shouldn:4,show:[8,17,18],shunt:[3,4,18],side:17,sign:8,signal:7,signifi:[4,17],silli:17,similar:17,simon:4,simpl:[4,8,14,22],simplefunctionwrapp:[3,5,10,11,16],simplest:19,simplifi:[8,12,17,18],sinc:[2,8,12,16,17],singl:[3,4,5,13,20],situ:17,situat:17,six:[4,12,13],sixti:[12,13],size:[4,6,9,10,11],skeptic:4,skip:[8,10],slightli:[14,17],small:[6,17],smallest:[3,7],smart:[10,14],sneaki:8,softwar:4,solei:2,solut:[8,12],solv:8,solvabl:4,some:[0,2,3,4,7,8,10,13,14,17,22],somehow:17,someth:[2,6,10],sometim:17,somewher:[14,17],sophist:8,sort:[3,4,7,14,17],sort_:3,sourc:[0,1,3,20,21,22],space:[8,12],span:12,special:[13,14,17],specif:0,speed:[5,8,10],spiral:8,spirit:[0,1,17],split_at:6,spreadsheet:7,sqr:[4,15,16,18],sqrt:[3,4,8,16],squar:[3,4,8,19,20],stack:[0,1,3,5,7,10,11,12,13,14,15,16,17,18,21],stack_:3,stack_to_str:[4,22],stage:17,stai:[0,1],standard:4,star:17,stare:17,start:[4,7,8,10,11,12,13,14,17],state:[4,7,10],step:[3,4,5,6,7,8,9,12,16,17,18],step_zero:[6,7,9],still:[8,10,14],stop:17,storag:[12,14,17],store:[8,12,14],stori:14,str:20,straightforward:[1,6,8,13,19],strang:10,stream:12,string:[1,2,3,4,6,18,20,22],strip:8,structur:[4,14,17,18,22],stuff:17,style:0,sub:4,subject:18,subract:8,substitut:[8,14],subtract:[7,8,12],succ:[3,4],suffici:[10,14],suggest:[7,17],suitabl:[3,12],sum:[3,4,6,7,13,14,17],sum_:[3,5],summand:12,suppli:[4,14,17,20],support:[4,8,21],sure:[8,14],suspect:2,swaack:[3,4,5,14,16,17,18],swap:[3,4,5,6,7,8,9,11,12,13,14,17,18],swon:[3,4,11,13,14,17,18],swoncat:[4,10,11,13,14,17],symbol:[2,3,4,8,18,20],symmetr:12,syntact:4,syntax:[4,22],sys:8,system:[4,8,9,17],tail:[4,7,17,22],take:[3,4,6,8,10,12,13,16,17,22],taken:10,talk:[4,17,22],target:[8,18],task:8,technic:2,techniqu:18,technolog:2,teh:17,temporari:18,ten:12,term:[1,2,4,7,10,11,14,20,22],termin:[2,3,7],ternari:4,test:[2,3],text:[0,1,3,4],text_to_express:[4,20],textual:4,than:[0,3,4,8,9,12,13,16],thei:[2,4,5,7,8,12,13,14,17,18,20,22],them:[2,3,4,5,7,8,12,13,14,17,18],theori:[2,3],therefor:[13,17],thi:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15,18,20,21,22],thing:[2,4,7,8,10,13,14,17,18,20,22],think:[2,4,10,12,14,17],third:[3,4,6,7,13,17],thirti:12,those:[2,3,7,8,10,14,17],though:[12,13,17],thought:4,thousand:12,thread:2,three:[2,3,4,10,12,17],through:[1,4,12,18,22],thu:6,thun:[2,3],thunder:4,tied:17,tile:8,time:[3,4,8,10,11,12,14,17,18],tini:17,to_set:17,todai:4,todo:[19,20],togeth:[4,13],tok:4,token:[4,20],tommi:17,too:[14,17],took:8,tool:4,top:[2,3,4,22],total:[6,8,12],total_match:6,trace:[0,4,16,18],traceprint:21,track:18,tracker:0,trade:8,transform:14,translat:[8,14],travers:[18,19],treasur:0,treat:[0,2,3,19],treatment:13,tree:[0,4,19],treemap:14,tri:12,trick:[12,17],tricki:[8,10],trivial:[7,10,17],trobe:0,trove:0,truediv:[4,16],truthi:[3,4],ts0:[14,17],ts1:[14,17],tuck:[3,4,7,15,17],tupl:[3,4,22],turn:[2,3,8],twice:[8,14,17],two:[2,3,4,7,8,12,14,15,17,18,22],type:[4,14,19,20],typic:[2,3],unari:[4,10,14,15],unarybuiltinwrapp:3,unbalanc:[4,20],unclos:4,uncon:[3,4,6,7,13,14,17,18],under:[2,3,4,10],understand:[0,8,17],undocu:4,uniqu:[3,9,17],unit:[4,6,14,17],univers:[0,4],unless:[8,14],unlik:14,unnecessari:19,unpack:[2,3,4,22],unpair:12,unquot:[4,14,17],unstack:[3,4],untangl:[13,14],until:[7,8,10,13],unus:12,unusu:17,upward:10,usag:4,use:[0,2,3,4,5,8,10,12,13,16,17,18,22],used:[3,4,14,17,18,20,22],useful:[0,15],user:8,uses:[2,7,12,14],using:[3,7,8,13,14,17,18],usual:[0,2],util:[0,4,5,10,11,17],valid:9,valu:[2,3,4,5,7,8,12,14,15,19,22],value_n:17,vanilla:10,variabl:[14,19],variat:14,varient:17,varieti:4,variou:0,vener:[4,22],veri:[0,1,4,8,17,22],versa:[2,4],version:[0,1,2,13,18,19],via:4,vice:2,viewer:[1,4,21],vise:4,von:[0,2,3],wai:[0,2,3,4,6,8,10,12,14,15,17],walk:17,wall:8,want:[2,8,10,12,13,15,17],warranti:[3,4],wash:4,wast:4,websit:[0,12],welcom:4,well:[0,4,6,7,8,17,20],were:[4,8,10,14,18],what:[2,3,4,7,10,11,14,16,17,21],whatev:[2,3,4,13,17],when:[4,12,13,14,17,18,20,22],where:[2,3,4,6,7,10,14,17,22],whether:14,which:[0,1,3,4,7,8,10,12,14,17,18,22],whole:[2,3,7,12,17],whose:13,why:[8,15,17],wiki:[4,17],wikipedia:[0,4,17,18],wildli:4,wind:4,winner:8,wire:14,wit:10,within:[4,15,17],without:[2,17],won:17,word:[0,3,4,6,7,9,12,13,17,18],work:[0,4,6,7,8,10,12,13,14,17,18],worth:[8,12],would:[2,4,7,8,9,10,11,12,13,14,17,18,22],wouldn:10,wrap:[3,8],write:[4,6,8,10,13,14,17,18,19],written:[0,1,5,10,22],wrong:2,wtf:14,wtfmorphism:14,xor:4,year:4,yet:[4,10,14,17,18],yield:[2,3,4],you:[0,2,3,4,5,7,8,10,12,13,14,17,18],your:[2,3,4,6,7,8,9],yourself:[4,17],zero:[3,7,8,10,14,17,20,22],zip:[4,6,12],zip_:3,zstr:18},titles:["Thun 0.1.1 Documentation","Joy Interpreter","Functions Grouped by, er, Function with Examples","Function Reference","Joypy","Preamble","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","Developing a Program in Joy","Using <code class=\"docutils literal notranslate\"><span class=\"pre\">x</span></code> to Generate Values","Hylomorphism","Newton\u2019s method","Quadratic formula","Treating Trees","Preamble","Essays about Programming in Joy","Parsing Text into Joy Expressions","Tracing Joy Execution","Stack or Quote or Sequence or List\u2026"],titleterms:{"1st":6,"2nd":7,"3rd":8,"4th":9,"5th":10,"6th":11,"case":[15,17],"final":7,"function":[2,3,4,11,14,16,17],"long":5,"void":2,"while":2,Adding:17,One:13,The:[4,12,14,17],Use:17,Using:13,about:19,abov:14,add:[2,10,17],adding:17,address:18,advent:[6,7,8,9,10,11],aka:4,all:[8,10],ana:14,analysi:[8,12],anamorph:[2,14],app1:2,app2:2,app3:2,appendix:14,approxim:15,automat:17,averag:2,base:[15,17],befor:11,better:14,binari:2,block:7,branch:2,breakdown:10,btree:17,can:17,cata:14,catamorph:14,chatter:2,check:16,child:17,choic:2,clear:2,cleav:2,cmp:17,code:[6,7,8,9,10,11],codicil:16,combin:[2,14,17],compar:17,comparison:2,compil:[5,13],comput:15,con:[2,17],concat:2,continu:4,count:[10,11],crap:17,current:17,data:17,datastructur:17,decemb:[6,7,8,9,10,11],defin:[16,17],definit:16,delet:17,deriv:[14,16,17],determin:18,develop:12,dialect:0,dip:[2,18],dipd:2,dipdd:2,direco:13,disenstacken:2,div:2,document:0,doe:17,down:7,down_to_zero:2,drive:11,drop:2,dup:2,dupd:2,dupdip:2,els:17,empti:17,enstacken:2,epsilon:15,equal:17,error:15,essai:19,etc:4,euler:[12,13],eval:4,even:13,exampl:[2,15],execut:21,express:20,extract:[14,17],factor:[14,17],factori:14,fibonacci:13,filter:12,find:[8,14,15],first:[2,12],five:13,flatten:2,floordiv:2,form:[14,17],formula:16,four:14,from:14,ftw:6,fun:14,further:12,fusion:14,gcd:2,gener:[11,12,13,14,17],genrec:2,get:[10,17],getitem:2,given:[14,17],gotten:10,greater:17,group:2,help:2,host:0,how:[11,12,13],hylo:14,hylomorph:14,ift:2,increment:10,index:10,indic:0,inform:0,infra:[2,17,18],initi:15,integ:12,interlud:17,intern:20,interpret:[1,4],isn:17,item:18,iter:[12,17],joi:[0,1,3,4,8,12,14,18,19,20,21,22],joypi:4,just:[12,17],kei:17,languag:0,law:14,least_fract:2,left:17,less:17,let:12,librari:[3,4],like:17,list:[2,4,14,17,22],littl:12,logic:2,loop:[2,4,7],lshift:2,make:17,mani:[11,12],map:2,math:2,method:15,min:2,miscellan:[2,17],mod:2,modif:17,modulu:2,mul:2,multipl:[12,13],must:17,name:[16,17],nativ:16,neg:2,newton:15,node:[14,17],now:[10,17],nullari:2,number:[8,14,15],offset:8,order:17,osdn:0,our:17,out:7,over:2,pack:12,pam:2,paper:7,para:14,paramet:17,parameter:[14,17],paramorph:14,pars:[2,20],parser:[4,20],pass:4,path:18,pattern:14,per:17,piec:7,pop:2,popd:2,popop:2,pow:2,power:13,preambl:[5,10,14,18],pred:2,predic:[10,12,17],pretty_print:21,primrec:2,print:4,problem:[12,13],process:17,product:2,program:[11,12,14,16,17,19],project:[0,12,13],put:[8,17],python:4,quadrat:16,quick:0,quot:[2,4,22],rang:[2,12],range_to_zero:2,rank:8,read:4,recal:11,recur:[15,17],recurs:[14,17],redefin:17,refactor:[6,12,17],refer:3,rem:2,remaind:2,remov:2,render:12,repeat:11,repl:4,replac:5,rescu:8,reset:13,rest:[2,14],revers:2,right:[17,18],roll:2,rolldown:2,rollup:2,root:15,rshift:2,run:[2,13],sat:7,second:2,select:2,sequenc:[4,13,22],set:[10,17],shunt:2,simplest:12,simplifi:16,size:[2,5],slight:17,sqr:2,sqrt:2,squar:15,stack:[2,4,22],start:0,state:11,step:[2,10,14],straightforward:16,style:4,sub:2,succ:2,sum:[2,5,12],swaack:2,swap:2,swon:2,swoncat:2,symbol:14,sympi:8,tabl:0,tail:14,take:2,term:[12,13,17],ternari:2,text:20,than:[14,17],thi:17,think:7,third:2,three:13,thun:0,time:[2,13],todo:17,togeth:[8,10,17],toi:17,trace:[5,21],traceprint:4,travers:17,treat:17,tree:[14,17,18],treestep:[14,17],triangular:14,tricki:7,truediv:2,truthi:2,tuck:2,two:13,type:17,unari:2,uncon:2,unfinish:14,unit:2,unnecessari:12,unquot:2,unstack:2,use:14,usual:14,util:[21,22],valu:[10,13,17],variabl:16,version:[5,8,12,17],view:4,want:7,word:2,write:16,xor:2,zero:13,zip:2,zipper:18}})
\ No newline at end of file
+Search.setIndex({docnames:["index","joy","lib","library","notebooks/0. This Implementation of Joy in Python","notebooks/4. Replacing Functions in the Dictionary","notebooks/Advent of Code 2017 December 1st","notebooks/Advent of Code 2017 December 2nd","notebooks/Advent of Code 2017 December 3rd","notebooks/Advent of Code 2017 December 4th","notebooks/Advent of Code 2017 December 5th","notebooks/Advent of Code 2017 December 6th","notebooks/AlsoNewton","notebooks/Categorical","notebooks/Developing","notebooks/Generator Programs","notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators","notebooks/Newton-Raphson","notebooks/NoUpdates","notebooks/Quadratic","notebooks/Trees","notebooks/Zipper","notebooks/index","parser","pretty","stack"],envversion:52,filenames:["index.rst","joy.rst","lib.rst","library.rst","notebooks/0. This Implementation of Joy in Python.rst","notebooks/4. Replacing Functions in the Dictionary.rst","notebooks/Advent of Code 2017 December 1st.rst","notebooks/Advent of Code 2017 December 2nd.rst","notebooks/Advent of Code 2017 December 3rd.rst","notebooks/Advent of Code 2017 December 4th.rst","notebooks/Advent of Code 2017 December 5th.rst","notebooks/Advent of Code 2017 December 6th.rst","notebooks/AlsoNewton.rst","notebooks/Categorical.rst","notebooks/Developing.rst","notebooks/Generator Programs.rst","notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators.rst","notebooks/Newton-Raphson.rst","notebooks/NoUpdates.rst","notebooks/Quadratic.rst","notebooks/Trees.rst","notebooks/Zipper.rst","notebooks/index.rst","parser.rst","pretty.rst","stack.rst"],objects:{"joy.joy":{joy:[1,1,1,""],repl:[1,1,1,""],run:[1,1,1,""]},"joy.library":{"void":[3,1,1,""],BinaryBuiltinWrapper:[3,1,1,""],DefinitionWrapper:[3,2,1,""],FunctionWrapper:[3,1,1,""],SimpleFunctionWrapper:[3,1,1,""],UnaryBuiltinWrapper:[3,1,1,""],add_aliases:[3,1,1,""],app1:[3,1,1,""],app2:[3,1,1,""],app3:[3,1,1,""],b:[3,1,1,""],branch:[3,1,1,""],choice:[3,1,1,""],clear:[3,1,1,""],concat:[3,1,1,""],cons:[3,1,1,""],dip:[3,1,1,""],dipd:[3,1,1,""],dipdd:[3,1,1,""],divmod_:[3,1,1,""],drop:[3,1,1,""],dup:[3,1,1,""],dupd:[3,1,1,""],dupdip:[3,1,1,""],first:[3,1,1,""],floor:[3,1,1,""],genrec:[3,1,1,""],getitem:[3,1,1,""],help_:[3,1,1,""],i:[3,1,1,""],id_:[3,1,1,""],ifte:[3,1,1,""],infra:[3,1,1,""],initialize:[3,1,1,""],inscribe:[3,1,1,""],loop:[3,1,1,""],map_:[3,1,1,""],max_:[3,1,1,""],min_:[3,1,1,""],over:[3,1,1,""],parse:[3,1,1,""],pm:[3,1,1,""],pop:[3,1,1,""],popd:[3,1,1,""],popdd:[3,1,1,""],popop:[3,1,1,""],pred:[3,1,1,""],remove:[3,1,1,""],rest:[3,1,1,""],reverse:[3,1,1,""],rolldown:[3,1,1,""],rollup:[3,1,1,""],select:[3,1,1,""],sharing:[3,1,1,""],shunt:[3,1,1,""],sort_:[3,1,1,""],sqrt:[3,1,1,""],stack_:[3,1,1,""],step:[3,1,1,""],succ:[3,1,1,""],sum_:[3,1,1,""],swaack:[3,1,1,""],swap:[3,1,1,""],take:[3,1,1,""],times:[3,1,1,""],tuck:[3,1,1,""],uncons:[3,1,1,""],unique:[3,1,1,""],unstack:[3,1,1,""],warranty:[3,1,1,""],words:[3,1,1,""],x:[3,1,1,""],zip_:[3,1,1,""]},"joy.library.DefinitionWrapper":{add_def:[3,3,1,""],add_definitions:[3,3,1,""],parse_definition:[3,3,1,""]},"joy.parser":{ParseError:[23,4,1,""],Symbol:[23,2,1,""],text_to_expression:[23,1,1,""]},"joy.utils":{pretty_print:[24,0,0,"-"],stack:[25,0,0,"-"]},"joy.utils.pretty_print":{TracePrinter:[24,2,1,""]},"joy.utils.pretty_print.TracePrinter":{viewer:[24,5,1,""]},"joy.utils.stack":{expression_to_string:[25,1,1,""],iter_stack:[25,1,1,""],list_to_stack:[25,1,1,""],pick:[25,1,1,""],pushback:[25,1,1,""],stack_to_string:[25,1,1,""]},joy:{joy:[1,0,0,"-"],library:[3,0,0,"-"],parser:[23,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","classmethod","Python class method"],"4":["py","exception","Python exception"],"5":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:classmethod","4":"py:exception","5":"py:method"},terms:{"0b11100111011011":14,"0th":4,"10m":16,"10n":16,"4ac":19,"5bkei":20,"\u03b5":[12,17],"abstract":[4,20],"boolean":[2,3,4,20],"break":[4,11],"byte":14,"case":[2,3,4,5,7,11,16,25],"class":[3,4,23,24],"default":[3,10,15],"export":[3,4,23],"final":[2,8,16],"float":[3,4,21,23],"function":[0,1,5,6,7,8,9,10,12,13,14,15,17,18,21,22,23,24,25],"g\u00e9rard":21,"import":[2,4,5,6,7,8,9,10,11,14,15,16,17,19,20,21],"int":[4,8,15,16,21,23],"new":[2,3,4,5,8,15,16,18,20],"public":18,"return":[1,3,4,5,7,8,10,11,14,16,19,20,23,25],"short":19,"static":[2,18],"switch":2,"true":[2,3,7,8,14,16,20],"try":[4,8,15,16],"void":[0,3,4],"while":[3,4,8,10,11,23],Adding:[4,22],And:[4,6,8,12,14,15,16,17,20,21],But:[0,4,7,13,14,16,20],For:[2,3,4,6,7,8,9,10,15,16,20,22,25],Going:7,Has:3,Its:3,Not:8,One:[2,4],RHS:20,TOS:[2,3,16],That:[4,14,16,20],The:[0,1,2,3,5,6,7,8,9,10,12,13,15,17,18,19,21,22,23,25],Then:[2,3,7,10,19,20],There:[4,8,10,16,20],These:22,Use:[3,12,16],Using:[8,12,16,20],With:[6,16],_pars:4,aaa:9,abbrevi:20,abl:19,about:[0,4,8,10,20,21,25],abov:[0,5,8,14,17,19,20],abs:[8,12,17],absolut:[4,8],accept:[1,2,3,4,14,16,20,21],access:[8,10],accomplish:19,accordingli:20,accumul:14,across:[8,10],action:[4,21],actual:[2,4,8,14,20],adapt:22,add:[3,4,6,7,8,14,15,19,24],add_alias:3,add_def:3,add_definit:[3,10,16,20],add_if_match:6,add_valu:10,added:[13,20],adding:[8,18],addit:[0,2,3,4,10,14,16,20],admit:8,advantag:16,after:[4,6,8,10,14,15],afterward:4,again:[2,3,4,8,10,14,20],against:[7,8],aggreg:[3,4,21],aka:21,albrecht:0,algebra:20,algorithm:4,alia:3,alias:[3,4],align:4,all:[3,4,6,7,14,15,16,17,20],alloc:8,allow:[16,18,20],almost:20,alon:17,along:[4,16,19],alphabet:3,alreadi:[5,8,12,21],also:[0,4,14,16],altern:[13,20],although:[6,13,20],altogeth:15,alwai:[8,14,16,18],amort:20,amount:8,analysi:[13,22],anamorph:4,ani:[4,10,13,14,18,20,21,23],annual:4,anonym:20,anoth:[6,16,20],answer:8,anyth:[2,3,4],aoc20017:7,aoc20173:8,aoc2017:[6,7,8,9,10,11],api:18,app1:[3,4],app2:[3,4,5,7,19],app3:[3,4],app:4,appear:[2,9,13,14,20],append:[4,10],appli:[2,3,7,14,17,20],applic:15,approach:[14,19],approxim:12,archiv:0,aren:21,arg:[2,3],argument:[2,3,4,15,16,25],arithmet:2,ariti:2,around:[4,14,25],arrai:10,arrang:10,arriv:[15,20],articl:[0,13],ask:[8,13,15],aspect:[0,8],assembl:10,assert:[8,11],assign:[4,25],associ:20,assum:[6,7,9,10,12],asterisk:20,attack:4,attempt:[0,1],attribut:3,automat:[13,16,22],avail:[0,9],averag:[4,5],avoid:20,awar:2,awkward:20,azur:22,back:[8,10,20],backward:[4,18,20],bad:4,bag:4,banana:[16,20],bank:11,barb:16,base:[0,2,3,7,11,16,18],basic:[1,2,3,4,6,8,20],bear:10,beat:10,becaus:[2,3,4,6,7,8,10,16,20,21],becom:[4,6,19,20,25],been:[12,16,18,20,21],befor:[4,7,10,15,16,20],begin:[8,16,20],behavior:[18,20],behaviour:[0,1],behind:10,being:0,belong:10,below:[2,3,8,14,15,17,20,21],bespok:4,best:0,better:[8,14,15,20],between:[0,7,8,14],biannual:4,big:[8,10,20],binari:[0,4,15,20],binary_search_tre:20,binarybuiltinwrapp:3,bind:4,bingo:21,bit:[8,14,15,20],block:[11,14],bodi:[2,4,20],body_text:3,bool:[7,16],both:[2,4,5,8,10,14,16,17,19],bottom:15,boundari:8,bracket:[4,8,23],branch:[3,4,6,7,10,14,15,17,20],breakpoint:4,bring:[4,14],btree:22,buck:20,bug:[0,4],build:[4,16,20,21],built:[16,19],bundl:[2,3],burgeon:4,calcul:8,calculu:13,call:[2,4,16,18,19],caller:20,came:[10,20],can:[0,2,3,4,5,6,7,8,13,14,15,16,17,18,19,21,22,25],candid:7,captur:4,card:4,care:[4,8,14,25],carefulli:[20,21],carri:[6,8,16],cartesian:13,catamorph:5,categor:[0,19,22],categori:13,ccc:13,ccon:20,ceil:8,certain:[4,25],certainli:20,chang:[2,8,10,18,20,21],charact:21,chat:4,chatter:0,cheat:11,check:[7,15,16],checksum:7,child0:20,childn:20,children:20,choic:[3,4,16],choos:[18,20],circuit:13,circular:[6,20],cite_not:20,classmethod:3,clear:[3,4,8,14],cleav:[4,5,6,7,9,19],close:[0,1,4,13],clunki:14,cmp:22,cmp_:20,code:[0,1,4,13,16,17,20],collaps:16,collect:[4,13,15],column:8,combin:[0,3,4,9,12,14,15,19,21,22],come:[4,8,10],command:[4,6,19,20],common:[2,14,16],compar:[8,13],comparison:0,compel:13,compil:[2,4,10,13,16],complet:13,complex:[3,21],compos:16,compound:20,comput:[2,4,7,8,10,13,14,19,22],con:[3,4,7,10,11,14,15,16,19,21,25],conal:13,concat:[3,4,6,15,16,20],concaten:0,concatin:[0,3,25],concis:8,concret:16,concurr:2,condit:[4,10],condition:7,confid:8,conflict:20,cons2:20,consecut:15,consid:[10,14,15,16,20,21],consist:[2,4,8,20],constant:20,constitu:16,consum:[7,16],contain:[0,2,3,4,8,9,15,16],context:2,continu:[0,7,16,21],control:4,conveni:13,convert:[4,5,16,20,23,25],cook:16,cool:20,copi:[2,3,6,14,16,20,22],copyright:4,corner:8,correct:8,correctli:20,correspond:13,could:[2,4,8,10,13,14,16,18,20,21],count:[3,8,9,15],count_stat:11,counter:14,cours:[8,10,14,16,20],cover:8,cpu:8,crack:20,crap:22,crash:20,creat:[0,2,3,6,14,15,16,20],crude:[20,23],csp:4,current:[2,3,4,10,16,21],custom:18,cycl:[14,15],cython:4,dai:[4,16],data:[2,3,4,8,22],datastructur:[2,4,16,21,23,25],datatyp:[4,25],ddididi:21,deal:[0,6,20],debugg:16,decid:20,decor:3,decoupl:16,decreas:8,decrement:3,deduc:14,deeper:0,deepli:13,def:[3,4,5,8,10,11,16,19,20,25],defi:3,defin:[2,3,4,6,7,8,9,10,11,13,14,15,16,17,18,21],definit:[2,3,4,5,9,10,14,15,16,18,20,22],definitionwrapp:[3,10,16,20],deleg:4,delet:22,demonstr:[13,16],depend:[16,20],deposit:20,dequot:[6,16],deriv:[2,3,4,6,7,14,22],descend:7,describ:[3,4,13,16,20,23],descript:[4,14,20],design:[2,3,7,20],desir:[4,8,20],destruct:20,detail:[4,8,20],detect:[7,15,16,20],determin:[7,8],develop:[0,4,15,22],diagram:14,dialect:1,dict:[1,3],dictionari:[1,3,4,5,19,20],did:8,didn:16,differ:[0,7,9,12,13,14,16,19,20],differenti:13,dig:21,digit:[6,14],dimension:8,dinfrirst:4,dip:[3,4,5,7,8,10,11,12,14,15,16,17,19,20],dipd:[3,4,10,15,16,19,20,21],dipdd:[3,4,20],direco:11,direct:4,directli:[4,8,14,20,25],disappear:2,discard:[3,12,15,16,17,20],discov:7,disenstacken:[4,20],disk:4,displac:2,distanc:8,distribut:11,ditch:20,div:[3,4],dive:20,divid:7,divis:[7,20],divisor:7,divmod:[3,7],divmod_:3,doc:[2,3,4],document:[22,23],doe:[0,1,4,7,8,10,13,16,22,24],doesn:[4,6,10,14,16,18,20,25],dog:20,doing:[4,8,13,14,16,21],domain:[8,13],don:[7,8,10,14,20],done:[2,4,14,15,18],doodl:8,door:4,doubl:14,down:[2,3,8,10,12,21],down_to_zero:4,downward:10,dozen:4,draft:[11,13,18],dream:4,drive:15,driven:[12,14],driver:15,drop:[3,6,20],dudipd:4,due:6,dummi:7,dup:[3,4,6,7,8,10,11,14,15,16,17,19,20,21,25],dupd:[3,4],dupdip:[3,4,7,8,14,16,19,20],duplic:[3,9,16,20],durat:2,dure:[2,5,16],each:[2,3,4,5,6,7,8,10,13,14,16,20],easi:[0,8,17,20,21],easier:[3,6,20],easili:13,edit:22,effect:[2,3,4,21],effici:[8,10,21],either:[1,2,3,7,16,20],eleg:[4,10,19,20],element:[2,3],elif:4,elliott:13,els:[2,3,4,6,7,10,11,16],embed:[13,20,21],empti:[3,4,7,25],enabl:4,encapsul:4,enclos:4,encod:[10,15],encount:10,end:[4,8,10,14,16,25],endless:15,enforc:[2,4],engend:4,enlarg:8,enough:[4,8,16,19],enstacken:[4,15],ensur:9,enter:4,entri:[3,21],epsilon:12,equal:14,equat:[4,8,17],ergo:[8,16,20],err:[17,20],error:[4,8,22,23],escap:10,essai:0,estim:17,etc:[3,8,21,23],euler:22,evalu:[1,2,3,4,5,6,12,16,19,20],even:10,evenli:7,eventu:[8,19],everi:15,everyth:[3,20],evolv:18,exactli:16,exampl:[0,3,4,6,7,8,9,10,14,15,16,20,23,25],exce:15,except:[4,20,23],execut:[0,1,2,3,4,5,7,17,21],exist:13,exit:10,expect:[2,3,4,7,16,17,20,25],experi:4,experiment:8,explan:4,explor:4,express:[0,1,2,3,4,5,13,16,20,21,24,25],expression_to_str:[4,25],extend:8,extra:[4,6,7,14],extrem:4,extrememli:4,facet:0,facil:4,fact:[20,23],factor:[2,4,14,22],fail:[2,3,7,20,23],fals:[2,3,7,11,14,16],far:[10,16,20],fascin:0,fast:8,faster:8,favorit:19,fear:20,feel:8,few:[4,8,14],fewer:[3,4],fib:15,fib_gen:15,figur:[2,3,8,20],filter:20,fin:14,find:[2,3,6,7,14,15,20,22,25],finder:12,fine:[0,14,20],finish:19,first:[3,4,5,6,7,8,10,11,12,15,16,19,20,21,22],fit:[4,14,19],five:[4,14,16],fix:[2,3],flag:7,flatten:[4,20],flexibl:20,floor:[3,8],floordiv:[4,14],flow:4,follow:[0,2,3,4,7,10,16,18,21],foo:[18,20],foo_ii:18,form:[2,3,4,7,9,13,14,15,22,25],forman:4,format:[22,24],formula:[0,8,14,22],forth:[4,6,10,20],fortun:10,forum:0,forward:[7,10],found:[4,10,11,20],four:[2,3,4,8,10,14,15,20],fourteen:14,fourth:[2,3,6,20],fractal:4,fraction0:4,fraction:[2,4],fragment:17,frame:4,framework:4,free:[4,13,20],freeli:[2,8],from:[0,1,2,3,4,5,6,7,8,9,10,11,12,14,15,17,19,20,21,22,25],front:[2,3],full:[9,14],fun:8,functionwrapp:[3,20],funtion:20,further:[12,22],futur:19,garbag:4,gari:20,gcd:4,gen:11,gener:[2,3,4,8,10,12,13,17,22],genrec:[3,4,7,10,16,17,20],geometr:14,geometri:20,get:[2,4,5,7,8,13,14,15,16,17,22],get_valu:10,getdoc:4,getitem:[3,4],getsourc:4,ghc:13,give:[4,8,13,14,16,25],given:[2,3,5,6,7,8,10,11,12,14,15,21],glue:4,goal:10,going:[7,8,10,20,21],good:[10,14,20],grab:3,grammar:23,grand:4,graph:8,great:[0,4,6,8,22],greater:8,grid:8,group:[0,8],guard:[7,8],had:[14,21],haiku:4,half:[14,21],half_of_s:6,halfwai:6,hand:[4,5,19,20,22],handi:12,happen:[4,8,20],hard:[17,21],hardli:16,hardwar:13,has:[0,2,4,7,8,10,12,15,16,18,20,21,25],haskel:13,have:[2,3,4,6,7,8,10,11,14,15,16,18,20,21,22],head:[4,7,16,25],help:[4,5,9,16,20],help_:3,helper:[3,7],herd:4,here:[8,14,15,16,17,19,20,21],heterogen:20,heurist:[6,10],hide:20,higher:[4,20],highest:7,highli:[4,20],hindsight:7,hmm:20,hog:20,hoist:3,hold:14,hood:10,hope:[0,4,14,22],host:22,how:[0,8,9,10,13,16,20,21],html:[2,3,15,19,22],http:[4,20],huet:21,hugh:[12,17,20],human:4,hypothet:2,id_:3,idea:[4,13,14,20],ident:[3,16],identifi:8,ift:[3,4,6,7,10,16,17,20],ignor:[3,20],illustr:16,imagin:21,immedi:[10,16],immut:[4,20],imper:16,implement:[0,1,2,3,4,8,11,13,16,18,19,20],impli:7,implicit:4,includ:[9,13],inclus:14,incom:[4,25],incompat:18,incr_at:10,incr_step_count:10,incr_valu:10,increas:[8,10,14],increment:[3,13,14,18],index:[0,4,8,11],index_of:11,indexerror:4,indic:20,infil:20,infinit:8,inform:3,infra:[3,4,5,15,16,19],infrastructur:3,init:10,init_print:8,initi:[2,3,4,5,7,8,9,10,20],inlin:20,inner:7,input:[1,6,7,8,9,16],inscrib:3,inspect:4,instal:0,instanti:13,instead:[8,14,15,16,20,21],instruct:10,integ:[2,3,4,6,7,8,9,10,15,16],integr:3,intend:[0,4],interact:[4,22],interest:[0,8,14,15,20],interlock:8,interlud:22,intermedi:16,intern:0,interpret:[0,13,16,18,23],interrupt:4,interv:[13,14],introduc:18,invari:3,invers:3,investig:19,ipf:4,ipynb:15,isinst:4,isn:[16,21],item:[2,3,4,6,7,11,16,20,25],iter:[1,3,4,8,16,22,25],iter_stack:[4,5,11,25],its:[0,2,3,4,7,8,13,14,16,20,25],itself:[0,2,4,10,20],j05cmp:[2,3],jenni:20,job:[10,22],john:[12,17,20],joi:[2,5,6,7,9,10,11,13,18,19,20],join:4,joypi:[10,11,16,20,21],jump:10,jupyt:22,just:[0,2,3,4,6,7,8,10,15,16,18,21],keep:21,kei:22,kevin:0,key_n:20,keyerror:20,kind:[2,4,8,10,13,16,20],kleen:20,know:[8,14,16,20],known:13,labda:13,lambda:[13,16],lambdifi:8,languag:[4,13,18,19,20],larg:8,larger:8,largest:[3,7,10],last:[6,10,14,16],lastli:[15,16],later:[4,10,17],law:2,lazili:12,lcm:14,lead:[4,10],leaf:20,lean:4,learn:[0,11],least:[2,4,8,10,14,16,25],least_fract:4,leav:[7,8,10,14,15,17,20],left:[4,8,15,16,21,25],leftov:16,legendari:10,legibl:10,len:11,length:[3,14],lens:16,less:[4,14,15,16],lesser:8,let:[4,6,7,8,10,15,16,17,19,20,21],level:[13,20],librari:[0,5,8,10,11,19,20],lieu:20,like:[2,3,4,7,8,11,14,16,19,23],line:[3,4,7,10,16,20],linear:25,link:0,linux:0,list:[0,3,6,7,9,10,11,12,14,21,22],list_to_stack:[4,10,11,25],liter:[1,20,21,23],littl:[8,10,20,22],live:22,lkei:20,load:[4,14],locat:[2,8],log_2:20,logic:[0,14],longer:20,look:[4,8,12,15,20],lookup:[4,20],loop:[1,3,14],lot:[4,19,20,21],love:14,low:13,lower:14,lowest:7,lshift:4,machin:[0,20],machineri:20,macro:4,made:[0,4,7,20,21],mai:[2,4,10,16,20],mail:0,main:[0,3,4,6,21],mainloop:18,maintain:21,major:18,make:[2,3,4,5,6,13,14,16,21],make_distributor:11,manfr:[0,2,3,13],manhattan:8,mani:[0,4,8,9,10,15,16],manipul:8,manual:[8,16],map:[1,3,4,14,16,18,19,20],map_:3,mark:[8,10],marker:4,mask:[14,15],match:[0,1,6],materi:0,math:[0,4,8,10,20],mathemat:[4,8],matter:[6,12,14,16,17,20],max:[7,8,11],max_:3,maximum:[3,20],maxmin:7,mayb:[16,20],maze:10,mean:[4,7,12,13,14,16,20,25],meant:[4,16,19,20],meantim:10,mem:10,member:[2,3,8],memori:8,mental:4,mention:2,mercuri:0,merg:20,meta:[4,20],methink:20,method:[0,3,4,8,22,24],mfloor:8,midpoint:14,might:[6,13,15,16,20],million:15,min:[4,7],min_:3,mind:10,minimum:3,minu:[3,19],mirror:0,miscellan:[0,22],mistak:11,mix:4,mnemon:6,mod:[3,4],model:[4,13],modern:0,modif:15,modifi:[4,10,21],modul:[0,1,3,4,23],modulu:4,monkei:8,month:4,more:[0,3,4,5,9,10,12,13,14,15,16,19,20,23,25],most:[4,20],mostli:0,move:[6,8,10],movement:2,mrank_of:8,much:[4,8,10,14,16,20],muck:20,mul:[4,19,21,24],multi:3,multipl:[16,22],must:[2,3,7,8,9,14,16,18],mutabl:10,n_kei:20,n_rang:15,n_valu:20,nail:10,name:[1,3,4,5,6,18,21,22,23,25],natur:[14,15,20],navig:21,need:[2,3,6,7,8,10,11,14,15,16,17,18,20],neg:[3,4,10,19],nest:[4,20,21],network:4,never:18,newton:[0,22],next:[5,6,7,8,10,12,14,16,17,20],nice:[0,4,6,8,16,25],niether:2,node:22,non:[7,20],none:[1,3,4],normal:[9,16],notat:[4,20],note:[2,4,8,12,14,20,25],notebook:[4,14,21,22],notebook_preambl:[2,5,6,7,8,9,10,11,14,15,16,17,19,20,21],noth:[2,4,20],notic:14,now:[4,5,6,7,8,14,15,16,17,22],nth:[3,25],nullari:[4,7,10,11,17,20],number:[1,2,3,5,7,14,15,22,25],object:23,observ:14,obviou:[15,17],obvious:[7,9,10],occur:20,odd:[14,15],off:[2,3,8,14,15,21],offset:10,offset_of:8,old:[2,5],old_siz:5,old_sum:5,omit:16,onc:[3,9,18,19,20],one:[2,3,4,6,7,8,9,10,14,15,16,19,20,25],ones:15,onli:[2,3,4,6,7,8,10,14,16,20,21],onto:[1,2,3,4,25],open:[4,9],oper:[3,4,7,16,20,25],oppos:6,option:1,order:[2,3,4,6,7,16,22],org:[0,4,20],origin:[0,1,2,3,6,20,21],other:[0,2,3,4,7,8,13,16,20,25],otherwis:[3,4,7,14,15,20],our:[4,6,7,8,14,15,16],ourselv:16,out:[2,3,4,8,13,14,15,16,20,21],outcom:20,output:[8,16],outsid:[10,13],outward:8,over:[3,4,6,8,13,14,15,19,20,22],overhead:8,overkil:16,overshadow:8,own:[8,20],pack:[4,20,25],packag:[0,4],page:[0,19,20],pair:[2,3,6,7,14,15],pair_up:6,palidrom:14,palindrom:14,pam:[4,19],paper:[4,8,13,16,20,21],parallel:2,paramet:[1,2,3,10,16,23],paranthes:20,parenthes:[4,10,20,25],pariti:15,pars:[0,3,4,20],parse_definit:3,parseerror:[4,23],parser:0,part:[2,3,7,10,16,19,20],partial:[8,16],particular:21,particularli:10,pass:[0,20,24],passphras:9,path:8,pattern:[8,14,20],payoff:16,pe1:[14,15],pe2:15,pearl:21,pend:[3,4,16,21],peopl:22,per:[4,8],perform:10,perhap:15,period:4,permit:[4,10,25],persist:20,phase:2,pick:[14,15,25],pickl:4,pictur:20,piec:16,pip:0,pita:11,place:[3,4,8,10,14,16],plai:0,plain:10,plane:8,plu:[3,8,19],plug:[15,16,20],point:[4,8,13,16,20],pointless:2,pop:[3,4,5,6,7,10,11,14,15,16,19,20,25],popd:[3,4,5,10,12,17],popdd:[3,4,7,15,19],popop:[3,4,6,7,10,11,12,14,15,16,17,20],port:8,posit:[3,4,10,14,16],possibilit:20,possibl:[7,20,22],post:[4,20],potenti:3,pow:4,power:4,pragmat:14,pre:[10,16,20],precis:[0,1,17],pred:[3,4],predic:[2,7,15,16,17],prefer:16,prefix:16,prep:[7,20],prepar:[10,16],preprocessor:16,present:20,preserv:13,pretti:[4,8,17,19,20,24,25],pretty_print:0,prevent:16,previou:[4,8,10],prime:7,primit:[2,3,5,10,17,19],primrec:[3,4,7,10,11,12,15,16,17],print:[1,2,3,8,16,24,25],probabl:[4,6,15,20],problem:[4,8,22],proc_curr:20,proc_left:20,proc_right:20,proce:[6,14],process:[4,10,16],processor:20,produc:[6,14,16,20],product:4,program:[0,2,3,4,6,7,8,10,12,15,17,21],project:22,prompt:4,proper:[2,3],properli:10,properti:0,provid:[0,3,4,13],prune:20,pun:[0,4],pure:[0,4,20],purely_functional_data_structur:4,puriti:4,purpos:4,push:[2,3,4,16,21,25],pushback:[4,20,25],put:[1,2,4,15,25],puzzl:[6,7,8,9],pypi:0,pyramid:8,python:[0,2,3,5,8,10,16,19,20,21,23,25],qed:[],quadrat:[0,8,22],queri:20,queu:16,quit:[0,1,8],quot:[0,1,3,5,15,16,19,20,21,23],quotat:[2,3],quotient:3,rais:[4,20,23],random:10,rang:[4,8,16],range_sum:16,range_to_zero:4,rank_and_offset:8,rank_of:8,raphson:17,rather:[4,14,16,20],ratio:4,reach:[10,14,15,16],read:[0,1,14,15,20,21],readabl:5,real:20,realiz:[6,10,13,20],realli:[5,8],rearrang:[2,16],reason:[4,8,14],rebuild:21,rec1:[2,3],rec2:[2,3],recogn:23,record:4,recur:16,recurs:[2,3,4,7,10,11,15,17,22,25],recusr:20,redistribut:[3,4],reduc:2,redund:[4,25],reexamin:20,refactor:[4,16,18],refer:[0,2],refin:17,regist:2,regular:23,rel:[10,19],releas:18,relev:8,rem:4,remain:[2,3,4,18],remaind:[3,4,12],remind:16,remov:[3,4,8,20],renam:20,render:[20,22],repeat:[6,8,14],repeatedli:14,repl:[0,1],replac:[2,3,4,15,16,17,21,25],repositori:0,repres:[2,4,20,23],represent:4,reprod:15,request:8,requir:[4,8,25],resembl:4,respect:14,rest:[3,4,7,11,14,15,20,21,22,25],restor:2,result:[1,2,3,7,14,15,16,19,20,21],resum:4,retir:2,retri:4,reus:20,revers:[3,4,6,7,14,15,16,21],rewrit:[4,10],rewritten:4,richard:20,right:[4,8,15,16,25],rightmost:14,rkei:20,role:20,roll:[3,4,7,9,10,12,16,19,20],rolldown:[3,4],rollup:[3,4],root:[3,8,12,19,22],rotate_seq:6,round:6,row:[7,8],row_valu:8,rshift:4,run:[0,1,3,4,8,12,14,16,20,21],runtim:[4,8],sai:20,same:[2,4,13,14,16,20,25],sandwich:[2,3],save:[2,4,14],scan:3,scanner:[4,23],scenario:21,scheme:[19,20],scope:[6,20],search:[0,8,20],second:[3,4,6,7,16,20,25],secur:9,see:[0,4,5,8,15,16,18,20,21],seem:[0,4,11,14,20],seen:21,select:[3,4,8],semant:[2,3,4,18,20],semi:4,send:4,sens:[0,2,14,21],separ:4,sequenc:[0,1,2,3,5,6,7,9,10,11,14,20,21,23],seri:[8,14,15,16,20,21],serv:16,set:[2,3,16],seven:[14,15],sever:[0,4,13],shadow:5,share:[3,4,8],shelf:2,shift:[14,15],shine:10,shortest:8,should:[2,4,7,14,16,17,20],shouldn:4,show:[8,13,20,21],shunt:[3,4,21],side:20,sign:8,signal:7,signifi:[4,20],silli:20,similar:20,simon:4,simpl:[4,8,16,25],simplefunctionwrapp:[3,5,10,11,19],simplest:22,simpli:13,simplifi:[8,14,20,21],sinc:[2,8,14,19,20],singl:[3,4,5,15,23],situ:20,situat:20,six:[4,14,15],sixti:[14,15],size:[4,6,9,10,11],skeptic:4,skip:[8,10],slightli:[16,20],small:[6,20],smallest:[3,7],smart:[10,16],sneaki:8,softwar:4,solei:2,solut:[8,14],solv:8,solvabl:4,some:[2,3,4,7,8,10,15,16,20,22,25],somehow:20,someth:[2,6,10,18],sometim:20,somewher:[16,20,22],sophist:8,sort:[3,4,7,16,19,20],sort_:3,sourc:[0,1,3,23,24,25],space:[8,14],span:14,special:[15,16,20],specif:[0,13],speed:[5,8,10],sphinx:22,spiral:8,spirit:[0,1,20],split_at:6,spreadsheet:7,sqr:[4,17,19,21],sqrt:[3,4,8,19],squar:[3,4,8,12,22,23],stack:[0,1,3,5,7,10,11,12,14,15,16,17,19,20,21,24],stack_:3,stack_to_str:[4,25],stage:20,stai:[0,1],stand:13,standard:4,star:20,stare:20,start:[4,7,8,10,11,14,15,16,19,20],state:[4,7,10],step:[3,4,5,6,7,8,9,14,19,20,21],step_zero:[6,7,9],still:[8,10,16],stop:20,storag:[14,16,20],store:[8,14,16],stori:16,str:23,straightforward:[1,6,8,15],strang:10,stream:14,string:[1,2,3,4,6,21,23,25],strip:8,structur:[4,16,20,21,25],stuff:20,style:[0,13],sub:[4,18],subject:21,subract:8,substitut:[8,16],subtract:[7,8,14],succ:[3,4],success:12,suffici:[10,16],suggest:[7,13,20],suitabl:[3,13,14],sum:[3,4,6,7,15,16,19,20],sum_:[3,5],summand:14,suppli:[4,16,20,23],support:[4,8,24],sure:[8,16],suspect:2,swaack:[3,4,5,16,19,20,21],swap:[3,4,5,6,7,8,9,11,14,15,16,20,21],swon:[3,4,11,15,16,20,21],swoncat:[4,10,11,15,16,20],symbol:[2,3,4,8,19,21,23],symmetr:14,sympi:19,syntact:4,syntax:[4,25],sys:8,system:[4,8,9,20],tail:[4,7,20,25],take:[3,4,6,8,10,12,14,15,19,20,25],taken:10,talk:[4,20,25],target:[8,21],task:8,tast:13,technic:2,techniqu:[13,21],technolog:2,teh:20,temporari:21,ten:14,term:[1,2,4,7,10,11,12,16,23,25],termin:[2,3,7],ternari:4,test:[2,3],text:[0,1,3,4],text_to_express:[4,23],textual:4,than:[0,3,4,8,9,12,14,15,19],thei:[2,4,5,7,8,14,15,16,20,21,23,25],them:[2,3,4,5,7,8,14,15,16,20,21,22],theori:[2,3],therefor:[15,20],thi:[0,1,2,3,4,5,6,7,8,10,11,13,14,15,16,17,19,21,23,24,25],thing:[2,4,7,8,10,15,16,19,20,21,23,25],think:[2,4,10,14,16,20],third:[3,4,6,7,15,20],thirti:14,those:[2,3,7,8,10,16,20,22],though:[14,15,20],thought:4,thousand:14,thread:2,three:[2,3,4,10,14,20],through:[1,4,14,21,25],thu:6,thun:[2,3,13,18],thunder:4,tied:20,tile:8,time:[3,4,8,10,11,14,16,20,21],tini:20,to_set:20,todai:4,todo:[22,23],togeth:[4,15],tok:4,token:[4,23],toler:12,tommi:20,too:[16,20],took:8,tool:4,top:[2,3,4,25],total:[6,8,14],total_match:6,trace:[0,4,19,21],traceprint:24,track:21,tracker:0,trade:8,transform:[13,16],translat:[8,13,16],travers:[21,22],treasur:0,treat:[0,2,3,22],treatment:15,tree:[0,4,22],treemap:16,tri:14,trick:[14,20],tricki:[8,10],trivial:[7,10,20],trobe:0,trove:0,truediv:[4,19],truthi:[3,4],ts0:[16,20],ts1:[16,20],tuck:[3,4,7,17,20],tupl:[3,4,25],turn:[2,3,8],twice:[8,16,20],two:[2,3,4,7,8,12,14,16,17,20,21,25],type:[4,13,16,22,23],typic:[2,3],unari:[4,10,16,17],unarybuiltinwrapp:3,unbalanc:[4,23],unclos:4,uncon:[3,4,6,7,15,16,20,21],under:[2,3,4,10],understand:[0,8,20],undocu:4,uniqu:[3,9,20],unit:[4,6,16,20],univers:[0,4],unless:[8,16],unlik:16,unnecessari:22,unpack:[2,3,4,25],unpair:14,unquot:[4,16,20],unstack:[3,4],untangl:[15,16],until:[7,8,10,15],unus:14,unusu:20,updat:[0,22],upward:10,usag:4,use:[0,2,3,4,5,8,10,13,14,15,18,19,20,21,25],used:[3,4,13,16,20,21,23,25],useful:[0,17],user:8,uses:[2,7,14,16],using:[3,7,8,15,16,19,20,21],usual:[0,2],util:[0,4,5,10,11,20],valid:9,valu:[2,3,4,5,7,8,14,16,17,22,25],value_n:20,vanilla:10,variabl:[16,22],variat:16,varient:20,varieti:[4,13],variou:0,vener:[4,25],verbos:13,veri:[0,1,4,8,13,20,25],versa:[2,4],version:[0,1,2,15,18,19,21,22],via:4,vice:2,view:22,viewer:[1,4,18,24],vise:4,von:[0,2,3,13],wai:[0,2,3,4,6,8,10,13,14,16,17,20],walk:20,wall:8,want:[2,8,10,14,15,17,20],warranti:[3,4],wash:4,wast:4,websit:[0,14],welcom:4,well:[0,4,6,7,8,13,20,23],were:[4,8,10,16,21],what:[2,3,4,7,10,11,13,16,19,20,24],whatev:[2,3,4,12,15,20],when:[4,14,15,16,20,21,23,25],where:[2,3,4,6,7,10,16,20,22,25],whether:16,which:[0,1,3,4,7,8,10,12,14,16,19,20,21,25],whole:[2,3,7,14,20],whose:15,why:[8,12,17,20],wiki:[4,20],wikipedia:[0,4,20,21],wildli:4,wind:4,winner:8,wire:16,wit:10,within:[4,17,20],without:[2,20],won:20,word:[0,3,4,6,7,9,14,15,20,21],work:[0,4,6,7,8,10,14,15,16,20,21],worth:[8,14],would:[2,4,7,8,9,10,11,14,15,16,20,21,25],wouldn:10,wrap:[3,8],write:[4,6,8,10,13,15,16,20,21,22],written:[0,1,5,10,19,25],wrong:2,wtf:16,wtfmorphism:16,xor:4,year:4,yet:[4,10,16,20,21],yield:[2,3,4],you:[0,2,3,4,5,7,8,10,14,15,16,18,20,21],your:[2,3,4,6,7,8,9],yourself:[4,20],zero:[3,7,8,10,16,20,23,25],zip:[4,6,14],zip_:3,zstr:21},titles:["Thun 0.1.1 Documentation","Joy Interpreter","Functions Grouped by, er, Function with Examples","Function Reference","Joypy","Preamble","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","Advent of Code 2017","<code class=\"docutils literal notranslate\"><span class=\"pre\">within</span></code>","Categorical Programming","Developing a Program in Joy","Using <code class=\"docutils literal notranslate\"><span class=\"pre\">x</span></code> to Generate Values","Hylomorphism","Newton\u2019s method","No Updates","Quadratic formula","Treating Trees","Preamble","Essays about Programming in Joy","Parsing Text into Joy Expressions","Tracing Joy Execution","Stack or Quote or Sequence or List\u2026"],titleterms:{"1st":6,"2nd":7,"3rd":8,"4th":9,"5th":10,"6th":11,"case":[12,17,20],"final":7,"function":[2,3,4,11,16,19,20],"long":5,"void":2,"while":2,Adding:20,One:15,The:[4,14,16,20],Use:20,Using:15,about:22,abov:16,add:[2,10,20],adding:20,address:21,advent:[6,7,8,9,10,11],aka:4,all:[8,10],ana:16,analysi:[8,14],anamorph:[2,16],app1:2,app2:2,app3:2,appendix:16,approxim:17,automat:20,averag:2,base:[12,17,20],befor:11,better:16,binari:2,block:7,branch:2,breakdown:10,btree:20,can:20,cata:16,catamorph:16,categor:13,chatter:2,check:19,child:20,choic:2,cleanup:19,clear:2,cleav:2,cmp:20,code:[6,7,8,9,10,11],combin:[2,16,20],compar:20,comparison:2,compil:[5,15],comput:17,con:[2,20],concat:2,continu:4,count:[10,11],crap:20,current:20,data:20,datastructur:20,decemb:[6,7,8,9,10,11],defin:[19,20],definit:19,delet:20,deriv:[16,19,20],determin:21,develop:14,dialect:0,dip:[2,21],dipd:2,dipdd:2,direco:15,disenstacken:2,div:2,document:0,doe:20,down:7,down_to_zero:2,drive:11,drop:2,dup:2,dupd:2,dupdip:2,els:20,empti:20,enstacken:2,epsilon:17,equal:20,error:17,essai:22,etc:4,euler:[14,15],eval:4,even:15,exampl:[2,17],execut:24,express:23,extract:[16,20],factor:[16,20],factori:16,fibonacci:15,filter:14,find:[8,16,17],first:[2,14],five:15,flatten:2,floordiv:2,form:[16,20],formula:19,four:16,from:16,ftw:6,fun:16,further:14,fusion:16,gcd:2,gener:[11,14,15,16,20],genrec:2,get:[10,20],getitem:2,given:[16,20],gotten:10,greater:20,group:2,help:2,host:0,how:[11,14,15],hylo:16,hylomorph:16,ift:2,increment:10,index:10,indic:0,inform:0,infra:[2,20,21],initi:17,integ:14,interlud:20,intern:23,interpret:[1,4],isn:20,item:21,iter:[14,20],joi:[0,1,3,4,8,14,16,21,22,23,24,25],joypi:4,just:[14,20],kei:20,languag:0,law:16,least_fract:2,left:20,less:20,let:14,librari:[3,4],like:20,list:[2,4,16,20,25],littl:14,logic:2,loop:[2,4,7],lshift:2,make:20,mani:[11,14],map:2,math:2,method:17,min:2,miscellan:[2,20],mod:2,modif:20,modulu:2,mul:2,multipl:[14,15],must:20,name:[19,20],nativ:19,neg:2,newton:17,node:[16,20],now:[10,20],nullari:2,number:[8,16,17],offset:8,order:20,osdn:0,our:20,out:7,over:2,pack:14,pam:2,paper:7,para:16,paramet:20,parameter:[16,20],paramorph:16,pars:[2,23],parser:[4,23],pass:4,path:21,pattern:16,per:20,piec:7,pop:2,popd:2,popop:2,pow:2,power:15,preambl:[5,10,16,21],pred:2,predic:[10,12,14,20],pretty_print:24,primrec:2,print:4,problem:[14,15],process:20,product:2,program:[11,13,14,16,19,20,22],project:[0,14,15],put:[8,20],python:4,quadrat:19,quick:0,quot:[2,4,25],rang:[2,14],range_to_zero:2,rank:8,read:4,recal:11,recur:[12,17,20],recurs:[16,20],redefin:20,refactor:[6,14,20],refer:3,rem:2,remaind:2,remov:2,render:14,repeat:11,repl:4,replac:5,rescu:8,reset:15,rest:[2,16],revers:2,right:[20,21],roll:2,rolldown:2,rollup:2,root:17,rshift:2,run:[2,15],sat:7,second:2,select:2,sequenc:[4,15,25],set:[10,12,20],shunt:2,simplest:14,simplifi:19,size:[2,5],slight:20,sqr:2,sqrt:2,squar:17,stack:[2,4,25],start:0,state:11,step:[2,10,16],style:4,sub:2,succ:2,sum:[2,5,14],swaack:2,swap:2,swon:2,swoncat:2,symbol:16,sympi:8,tabl:0,tail:16,take:2,term:[14,15,20],ternari:2,text:23,than:[16,20],thi:20,think:7,third:2,three:15,thun:0,time:[2,15],todo:20,togeth:[8,10,20],toi:20,trace:[5,24],traceprint:4,travers:20,treat:20,tree:[16,20,21],treestep:[16,20],triangular:16,tricki:7,truediv:2,truthi:2,tuck:2,two:15,type:20,unari:2,uncon:2,unfinish:16,unit:2,unnecessari:14,unquot:2,unstack:2,updat:18,use:16,usual:16,util:[24,25],valu:[10,15,20],variabl:19,version:[5,8,14,20],view:4,want:7,within:12,word:2,write:19,xor:2,zero:15,zip:2,zipper:21}})
\ No newline at end of file