On Thu, 2007-07-19 at 10:08 +0200, [EMAIL PROTECTED] wrote:
> Maybe you can try to delete the rules of Felix that are causing the
> ambiguity when csyntax is opened.
I'm not sure how to delete a rule. The function to delete
rules is more or less useless, because it requires you
keep an exact copy of the rule.
Felix doesn't create rules that way because it is effectively
impossible to get the type right. Type inference fails
due to recursion and polymorphic variants. This is normally
fixed by a full coercion, however that requires knowing
the full type name. I have no idea what the type should be.
I gave up on keeping 'compiled' rules.
The rules are bad .. they are applied to 'dyp' toolbox thing,
but they also *contain* a dyp toolbox thing .. circular type.
The variant type breaks the circularity .. but ONLY if you can
make a closed type, which includes the full type of the
toolbox also depending on the variant containing itself ...
APPLYing the rule like
dyp.add_rules <- rule ..
closes the recursion, but
let r = rule in
doesn't... Hope this waffle makes sense :)
Felix just keeps the rules 'as written' by the user,
and translates them when required.
The point is you can't delete the translated rule because
it is physically a different Ocaml term.
--
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 Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language