On 20/11/2010, at 12:33 AM, john skaller wrote:

> 
> On 20/11/2010, at 12:24 AM, john skaller wrote:
> 
>> 
>> CLIENT ERROR
>> [bind_exe: fun_return ] return of  index_8651<8651>[<T8648>, <T8649>]:
>> fun return type:
>> list[<T8648>] -> list[<T8649>]
>> must have same type as return expression:
>> list[<T8648>] -> (list[<T8648>] -> list[<T8649>])
>> In build/release-optimized/lib/std/list.flx: line 123, cols 1 to 3
>> 122:     return aux x Empty[U];
>> 123:   }
>>    ***
>> 124:
>> 
>> Clearly the same bug  .. why can't I see what it is?
> 
> 
> 
> Hmmm .... Here's the trick .. if a function f has index i, its
> return type is initially set to
> 
>       arg -> Ti
> 
> where Ti is a type variable. This allows forming a term
> based on the return type, and then solving for the 
> type variables of several function at once (think mutually
> recursive functions).
> 
> This is done by "do_unify". The variables are stored in state.syms.varmap.
> 
> They're both hashtables..
> 
> 
> type typevarmap_t = (Flx_types.bid_t, Flx_btype.t) Hashtbl.t
>  ticache : (bid_t, Flx_btype.t) Hashtbl.t;
> 
> 
> OMG .. same type, I just bet I mixed them up!


I just became a fan of labelled arguments!


(** Create the state needed for lookup. *)
let make_lookup_state print_flag counter varmap ticache sym_table =
  {

 let lookup_state = 
    Flx_lookup.make_lookup_state 
      syms.Flx_mtypes2.compiler_options.Flx_mtypes2.print_flag 
      syms.Flx_mtypes2.counter 
      syms.Flx_mtypes2.ticache
      syms.Flx_mtypes2.varmap
      sym_table 
  in

:)



--
john skaller
skal...@users.sourceforge.net





------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to