[Ur] Combinator Parsing in Ur: Anonymous function remains at code generation
orchidaceae phalaenopsis
orchid.hybrid at gmail.com
Thu Jul 17 22:19:00 EDT 2014
Hi! We're trying to implement Parsec in Ur/Web (following
http://research.microsoft.com/en-us/um/people/daan/download/papers/parsec-paper.pdf
). When trying to use our implementation we got "Anonymous function
remains at code generation".
The following parser was enough to cause the error:
_ <- char #"x";
_ <- char #"y";
return ()
When you only use a single char parser (one level of bind), it doesn't occur.
Here's a test case:
https://gist.github.com/yuuko273/1352059b69e71d7015dd . We think the
problem is the lambda inside bind - the rest of the code just serves
to demonstrate the error without it being optimized out.
This seems like a barrier that will stop combinator parser libraries
from being used in Ur, is there a workaround or some other way of
implementing this that would allow it to be used?
(N.B. for efficiency later on we would need to thunk the reply a
parameters of the consumed data type, it is possible that this would
trigger a similar issue)
More information about the Ur
mailing list