opened
rspeele
username_0
The included example project, Examples.SQLite, takes 25 seconds to compile on my PC. Most F# projects compile in 1-2 seconds.

This also makes Intellisense extremely sluggish. Finally, third party tools using F# compiler services, such as the F# Power Tools extension for Visual Studio, take ages to perform simple tasks.
Parsers using this library compile very slowly
issue
created
rspeele
username_0
Version 0.3.0 reworks the DefaultParsers implementation to be more friendly to the compiler.

This reduces the Examples.SQLite project compile time from 25 down to 7 seconds for me -- still slower than a typical F# project, but tolerable.

In terms of type signatures, the API is now very different. However, it should be almost entirely code-compatible. The changes that are actually likely to break code are:

* You can no longer use any old `Parser<'a, 'u> seq` as the argument to `%` or in a pipeline to get an implicit `choice` of the parsers in the sequence. You must now use a `Parser<'a, 'u> list`.
* The tuple `(int * Parser<'a, 'u>)` no longer has a default parser translating it to `parray count parser`. Use `(qty.[count] * parser)` instead, which now returns an array rather than a `ResizeArray`.
comment
closed
rspeele
username_0
issue