On Fri, 2007-02-16 at 12:44 -0500, Chris King wrote: > On 2/16/07, Rhythmic Fistman <[EMAIL PROTECTED]> wrote: > > Mr Potential Developer... > > You just described my experience to a T. :)
One reason is that since the last release, most of the work has been on stuff like implementing typeclasses. So at this point, the language is a LOT different from the last released version, but still not stable enough to make another release .. So the web site has been ignored.. I can't implement major new features and also maintain all the other resources.. That's what this thread is about. I just can't do it. The current system requires about 10 active developers to maintain .. plus users to help set priorities. People come along and like some of the stuff they find out about quite a lot! Your ordinary programmer (who doesn't know Haskell or Ocaml .. ) is usually totally blown out by what it can do. i mean look at this in the lambda blog: ///////////////// Multi-methods = dynamic overloading In a nutshell, the basic idea of multi-methods is to unify overloading and dynamic dispatch into one concept, essentially by resolving overloading dynamically. An even more general concept are multi-parameter type classes, as found in implementations of Haskell. They allow you to dispatch not only on arguments, but on any portion of a type signature, including the return type of a function. This is because resolution is decoupled from values/objects and does not require the presence of representatives, as is the case in OO. By Andreas Rossberg at Sat, 2007-02-17 01:52 | reply ////////////////////// Hey .. Felix has multi-parameter type classes! Now check this out: typeclass Prim [t] { virtual fun isprim () => true; } instance Prim [int] {} instance Prim [int * int] { fun isprim () => false; } Understand it? It's run time type information: the virtual isprim can detect if a type is a primitive or not (as defined by the instances). Oh, and in Felix the choice doesn't actually require any type information and the result is entirely static. In other words .. this is conditional compilation! But it can't fail either.. :) Now for some time I see this: typematch .. with | _ * ?t => t | .. endmatch which maps types to types .. but wish I had this: typecase .. with | _ *t => "blah" .. endmatch which maps types to expressions... Hey wait! We can do that with typeclasses .. it's a bit messy but the Prim typeclass shows typeclasses can map types to values. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language