On Tue, 2007-10-02 at 09:10 -0700, Erick Tryzelaar wrote: > On 10/2/07, skaller <[EMAIL PROTECTED]> wrote:
> > open Foo; > > > > doesn't work. > > Actually, It did work for me. I also used "open[T] Foo[T]", which > worked as well. Hmm .. I wonder why. Perhaps it automatically quantifies by unmentioned variables. > > > The first [T] is a universal quantifier: in a function: > > > > fun diag[T] (x:T)=>x,x; > > > > the [T] is misplaced, it should really be > > > > fun[T] diag(x:T)=> x,x; > > I thought about changing felix to use that previously. Should we move it? Not yet, but lets keep it in mind. Ditto for modules, typeclasses etc. There are some other nasties to solve. One peeve is this: f := { return x; }; Ok, so { .. } is a function unit -> T (possibly T is void). But this is so ugly: x := { return a + 1; } (); x := (fun ()={ return a + 1; }) (); UGGGG... :) Gcc allows this: ({ int y = foo (); int z; if (y > 0) z = y; else z = - y; z; }) which unfortunately conflicts with Felix. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language