{"responseHeader":{"status":0,"QTime":4,"params":{"q":"{!q.op=AND}id:\"102087\"","hl":"true","hl.simple.post":"","hl.fragsize":"5000","fq":"!embargo_tdt:[NOW TO *]","hl.fl":"ocr_t","hl.method":"unified","wt":"json","hl.simple.pre":""}},"response":{"numFound":1,"start":0,"docs":[{"file_name_t":"Mishra-Static_Inference.pdf","thumb_s":"/61/a7/61a7fb2f5011c7defc19e4c2c72abe94b6a6f774.jpg","oldid_t":"compsci 10200","setname_s":"ir_computersa","restricted_i":0,"format_t":"application/pdf","modified_tdt":"2016-05-25T00:00:00Z","file_s":"/84/13/8413be093dec6df880228a38d3fe8ca9a1994540.pdf","title_t":"Page 113","ocr_t":"function constructor is continuous in its second argument we have I I (?r . -> I I E.) = I I (?r . -> E.). - I -I - I I 3. COMB : & is a continuous function. 4. APP : By inductive assumption A. 1- f:6 . -> p . is continuous in A.; I I I I hence so is Ai 1- fe : pi . 5. INST1,1NST2,DEF,GEN 1 ,GEN2: : directly from inductive hypothesis. 101 The meaning of a recursive function definition f = e [ f] is taken to be the fix-point of the function transformer e. A unique fix-point exists (the least) and is given by /imne\"[.i]. In computing the type of a recursive function we take a related approach. The definition f = e[f] is reinterpreted over the domain of types. We show e induces a continuous transformation over the domain TYPE. The type of a recursive definition is then simply the least-fixed point of the this transformation. Definition 16: Let p;.e be a clause with free- variable f; define the map T: [clause,id] ~ Type~ Type to be: T:[p;.e[f],f] cr1 = cr2 iff f:cr 1 1- p;. e[f] : cr2 Theorem 17: T :[p;.e[f],f] is a continuous function over the c.p.o. of function types. Proof: The proof follows from the observation that each of our type-inference rules are continuous from theorem 15. The type of a recursive definition letrec f = clis[ f] is now clear. Ex-tending T to act on sequences of clauses, its type is precisely lim\"T: [clis[f] ,f]\" V a.{J.a ~ {3; this extension to a sequence of clauses is well-behaved from the continuity of & and the expression above is precisely the least-fix point of the type-transformation. Further, at each step we are com-puting the principal type of an approximant to the function; in the limit we also arrive at the principal type of the limit of the approximants. Figure 32 shows the first three approximations to the type of append: Figure 33 illustrates how our treatment of erroneous functions fits smoothly with the clausal style of definition. The first clause is well-typed, while","id":102087,"created_tdt":"2016-05-25T00:00:00Z","parent_i":102129,"_version_":1679953745267392515}]},"highlighting":{"102087":{"ocr_t":[]}}}