> Ur/Web programs that are moderately higher-order (on the server side) will often fail to compile
So it looks like if I want to implement a comenting system that allows user input markdown syntax or a wiki that allows syntax similar to mediawiki in Ur/Web I will have to call out to a perl script and use some kind of string -> xbody function that breaks the XSS guarantee? I don't want markup rendering to be done in the client-side. Has anyone tried retargetting a parser generator (like ml-yacc or something) to Ur, to get first-order parsers? >From your input I tried to implement a less higher order parser library, only a slight extension of state monad and there were two problems with this: * Same "Anonymous function remains at code generation" when I tried using it to parse arithmetic expressions (but it did allow me to parse char 'x' ; char 'y' unlike the parsec attempt) * When attempting to run a parser on the empty string: Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 1024 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 131072 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 262144 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 524288 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 1048576 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 2097152 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 4194304 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 8388608 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 16777216 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 33554432 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 67108864 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 134217728 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 268435456 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 536870912 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 1073741824 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 2147483648 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 4294967296 Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 8589934592 Segmentation fault I hope this data is useful to you in improving Ur/Web! https://github.com/enn/urweb-peg/tree/master On Fri, Jul 18, 2014 at 1:43 PM, Adam Chlipala <[email protected]> wrote: > I'm traveling now and don't have much time to look into details, but it is > expected that Ur/Web programs that are moderately higher-order (on the > server side) will often fail to compile. It may not be possible to use > parser combinators on the server side, though it should be fine in client > code. I'll hope to look at your test case next week. > > > On 07/17/2014 10:19 PM, orchidaceae phalaenopsis wrote: > > 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". > > > > _______________________________________________ > Ur mailing list > [email protected] > http://www.impredicative.com/cgi-bin/mailman/listinfo/ur > _______________________________________________ Ur mailing list [email protected] http://www.impredicative.com/cgi-bin/mailman/listinfo/ur
