Vladislav Zavialov

Results 119 comments of Vladislav Zavialov

OK, I've reproduced this on another machine. Seems to be a non-deterministic failure, sensitive to build order. Could you try this sequence of commands? ``` $ cabal build happy-frontend $...

The `bootstrap` flag is turned on either way. You can also confirm this by specifying it manually ``` cabal build happy-frontend -f +bootstrap cabal build all -f +bootstrap ```

The failure seems to be caused by `cabal` extending the environment with `happy_backend_glr_datadir`, `happy_backend_lalr_datadir`, `happy_datadir`, and `happy_tabular_datadir`. I can reliably reproduce the failure as follows ``` happy_datadir="$(pwd)/./." cabal build happy-frontend...

Could it be a problem in cabal? Here's the version I have on the machine where the problem is reproducible ``` $ cabal --version cabal-install version 3.10.2.1 compiled using version...

> I can reliably reproduce the failure as follows No, I take that back. It does reproduce the problem on one machine but not on the other one. I'm lost...

> I then wonder what we need the "Oracle" parser for... The initial idea (in #170) was to avoid bootstrapping entirely, thus reducing the complexity of the build, and avoiding...

Here we go: https://github.com/haskell/happy/pull/277

> Error handling is not required to be fast Are you sure? GHC relies on the `error` token to implement the layout rule.

I have released `happy-2.0` as a set of package candidates. You can test them by adding the following lines to your `cabal.project`: ``` packages: https://hackage.haskell.org/package/happy-2.0/candidate/happy-2.0.tar.gz https://hackage.haskell.org/package/happy-grammar-2.0/candidate/happy-grammar-2.0.tar.gz https://hackage.haskell.org/package/happy-tabular-2.0/candidate/happy-tabular-2.0.tar.gz https://hackage.haskell.org/package/happy-codegen-common-2.0/candidate/happy-codegen-common-2.0.tar.gz https://hackage.haskell.org/package/happy-backend-glr-2.0/candidate/happy-backend-glr-2.0.tar.gz https://hackage.haskell.org/package/happy-backend-lalr-2.0/candidate/happy-backend-lalr-2.0.tar.gz...

Could we pick the entry size at code generation time? Use 8, 16, 32, or 64 bits depending on how many are needed.