Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LPGF: Linearisation-only PGF format #103

Draft
wants to merge 118 commits into
base: master
Choose a base branch
from
Draft

LPGF: Linearisation-only PGF format #103

wants to merge 118 commits into from

Commits on Jan 19, 2021

  1. Configuration menu
    Copy the full SHA
    8ad9cf1 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2021

  1. Configuration menu
    Copy the full SHA
    93b81b9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cd5881d View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2021

  1. Configuration menu
    Copy the full SHA
    f24c503 View commit details
    Browse the repository at this point in the history
  2. Make LPGF testsuite work (but still fails)

    stack test :lpgf
    johnjcamilleri committed Jan 25, 2021
    Configuration menu
    Copy the full SHA
    32b0860 View commit details
    Browse the repository at this point in the history
  3. Add binary instances

    johnjcamilleri committed Jan 25, 2021
    Configuration menu
    Copy the full SHA
    270e7f0 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2021

  1. Configuration menu
    Copy the full SHA
    6f622b4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cead0cc View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2021

  1. Use canonical GF in LPGF compiler

    Still contains some hardcoded values, missing cases.
    
    I notice now that LPGF and Canonical GF are almost identical, so maybe we don't need a new LPGF format,
    just a linearization-only runtime which works on canonical grammars.
    The argument for keeping LGPF is that it would be optimized for size and speed.
    johnjcamilleri committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    fe15aa0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a58500 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2021

  1. Configuration menu
    Copy the full SHA
    c94bffe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d09838e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    153bffd View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2021

  1. Minor cleanup

    johnjcamilleri committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    132f693 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    42b9e70 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    34f0fc0 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2021

  1. Configuration menu
    Copy the full SHA
    9c2d8eb View commit details
    Browse the repository at this point in the history
  2. Add FoodsSwe (fails)

    johnjcamilleri committed Feb 9, 2021
    Configuration menu
    Copy the full SHA
    d5f6897 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2021

  1. Configuration menu
    Copy the full SHA
    a12f58e View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2021

  1. Configuration menu
    Copy the full SHA
    8cfaa69 View commit details
    Browse the repository at this point in the history
  2. Add support for BIND

    johnjcamilleri committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    98f6136 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a58a6c8 View commit details
    Browse the repository at this point in the history
  4. Minors

    johnjcamilleri committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    d563abb View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2021

  1. Configuration menu
    Copy the full SHA
    1098226 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2021

  1. Add FoodsFre, fails because pre is not implemented

    Also an unhandled Projection case
    johnjcamilleri committed Feb 15, 2021
    Configuration menu
    Copy the full SHA
    4f0abe5 View commit details
    Browse the repository at this point in the history
  2. Add support for pre

    johnjcamilleri committed Feb 15, 2021
    Configuration menu
    Copy the full SHA
    4d1217b View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2021

  1. Configuration menu
    Copy the full SHA
    23e49cd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    21f14c2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d394cac View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    398b294 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7227ede View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4c06c3f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2d03b9e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    312cfeb View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d5cf00f View commit details
    Browse the repository at this point in the history
  10. Add and pass FoodsJpn

    johnjcamilleri committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    5be21db View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    29114ce View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    768c3d9 View commit details
    Browse the repository at this point in the history
  13. Minor tidying

    johnjcamilleri committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    236dbdb View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2021

  1. Configuration menu
    Copy the full SHA
    d3988f9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a7ead0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b4fce5d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8e1fa49 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9a26345 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7a5bc2d View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2021

  1. Configuration menu
    Copy the full SHA
    d8557e8 View commit details
    Browse the repository at this point in the history
  2. When projecting a non-existent field, return Prelude.False

    This seems to be GF's own behaviour, as exhibited by the canonical version of PhrasebookTha:
    
        NNumeral Numeral_0 = {s = Numeral_0.s; hasC = <>.hasC};
    johnjcamilleri committed Feb 18, 2021
    Configuration menu
    Copy the full SHA
    866a210 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e607952 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5240749 View commit details
    Browse the repository at this point in the history
  5. Force evaluation in benchmark linearisation

    BangPatterns only does WHNF which is not sufficient, previous benchmark results are thus wrong
    johnjcamilleri committed Feb 18, 2021
    Configuration menu
    Copy the full SHA
    625386a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    51e5438 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2021

  1. Configuration menu
    Copy the full SHA
    2b0493e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    023b505 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    505c12c View commit details
    Browse the repository at this point in the history
  4. Grammar and languages to run in testsuite can be specified by command…

    … line options, see README
    johnjcamilleri committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    9f3f413 View commit details
    Browse the repository at this point in the history
  5. Filter out record fields which don't exist in lintype

    This is to work around an inconsistency in the canonical representation
    johnjcamilleri committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    5ad5789 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2021

  1. Configuration menu
    Copy the full SHA
    dca2eba View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2021

  1. Configuration menu
    Copy the full SHA
    9942908 View commit details
    Browse the repository at this point in the history
  2. Pass missing unit test

    johnjcamilleri committed Feb 21, 2021
    Configuration menu
    Copy the full SHA
    b4a393a View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2021

  1. Configuration menu
    Copy the full SHA
    20290be View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2021

  1. Configuration menu
    Copy the full SHA
    8324ad8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a5d735 View commit details
    Browse the repository at this point in the history
  3. Reduce Params2 further

    johnjcamilleri committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    9785f83 View commit details
    Browse the repository at this point in the history
  4. WIP params

    johnjcamilleri committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    4771d9c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f42b5ec View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2021

  1. Configuration menu
    Copy the full SHA
    83bc3c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    33e0e98 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2021

  1. Remove LF prefix from constructors. Pass all unit tests and Foods aga…

    …in, but improvements/cleanup still necessary.
    johnjcamilleri committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    4c09e4a View commit details
    Browse the repository at this point in the history
  2. Use ErrorMonad instead of IOE

    It probably ends up being the same thing, but the code is a little cleaner for it.
    johnjcamilleri committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    997d7c1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a8e3dc8 View commit details
    Browse the repository at this point in the history
  4. Replace list comprehension lookups with maps. Halfway through transit…

    …ioning to new strategy for tables/params, see testsuite/lpgf/README.md.
    johnjcamilleri committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    3beed2c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    adc162b View commit details
    Browse the repository at this point in the history
  6. Extract token strings and put them in map which linfuns refer to by i…

    …ndex, to reduce LPGF sizes.
    johnjcamilleri committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    4082c00 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2021

  1. Also store Pre prefixes in token map. Introduce IntMapBuilder data st…

    …ructure.
    
    Storing of prefixes uses show/read, which isn't a great solution but avoids having yet another token map.
    johnjcamilleri committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    30b0160 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0ba0438 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f5886bf View commit details
    Browse the repository at this point in the history
  4. Add more tests to Params5 which cause it to fail again

    Originally found in PhrasebookFre
    johnjcamilleri committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    94f76b9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bca1e22 View commit details
    Browse the repository at this point in the history
  6. Improve base case in table handling, cleanup. Add run-phrasebook scri…

    …pt, current output:
    
    Bul ✗
    Cat ✗
    Chi ✓
    Dan ✓
    Dut ✓
    Eng ✓
    Est ✓
    Fin ✗
    Fre ✗
    Ger ✓
    Hin ✓
    Ita ✗
    Jpn ✓
    Lav ✓
    Nor ✓
    Pol ✓
    Ron ✓
    Snd ✗
    Spa ✗
    Swe ✓
    Tha ✓
    Urd ✓
    
    Passed 15 | Failed 7 | Total 22
    johnjcamilleri committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    70581c2 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2021

  1. Configuration menu
    Copy the full SHA
    575a746 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0d4659f View commit details
    Browse the repository at this point in the history
  3. Make removal of record fields recursive. Latest results with Phrasebook:

    Bul ✓
    Cat ✗
    Chi ✓
    Dan ✓
    Dut ✓
    Eng ✓
    Est ✓
    Fin ✓
    Fre ✗
    Ger ✓
    Hin ✓
    Ita ✗
    Jpn ✓
    Lav ✓
    Nor ✓
    Pol ✓
    Ron ✓
    Snd ✗
    Spa ✓
    Swe ✓
    Tha ✓
    Urd ✓
    
    Passed 18 | Failed 4 | Total 22
    johnjcamilleri committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    dbf369a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0f4b349 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2021

  1. Configuration menu
    Copy the full SHA
    785d606 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c76efcf View commit details
    Browse the repository at this point in the history
  3. Remove commented line

    johnjcamilleri committed Mar 8, 2021
    Configuration menu
    Copy the full SHA
    fd07946 View commit details
    Browse the repository at this point in the history
  4. Switch to 10000-tree Phrasebook treebank. All errors to do with missi…

    …ng functions, plus variants in German.
    johnjcamilleri committed Mar 8, 2021
    Configuration menu
    Copy the full SHA
    3e9d128 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    99abb9b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    126b61e View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2021

  1. Configuration menu
    Copy the full SHA
    8f5033e View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2021

  1. Configuration menu
    Copy the full SHA
    6c6a201 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c9f0867 View commit details
    Browse the repository at this point in the history
  3. Minors to LPGF readme

    johnjcamilleri committed Mar 12, 2021
    Configuration menu
    Copy the full SHA
    d9c37fc View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2021

  1. Configuration menu
    Copy the full SHA
    f900ea3 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2021

  1. Configuration menu
    Copy the full SHA
    2d06685 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f7df62a View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2021

  1. Make GF.Grammar.Canonical.Id a type synonym for GF.Infra.Ident.RawIdent

    This avoids a lot of conversion back and forth between Strings and ByteStrings
    johnjcamilleri committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    d0c27cd View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2021

  1. Configuration menu
    Copy the full SHA
    c1af405 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2021

  1. Merge branch 'master' into lpgf

    # Conflicts:
    #	gf.cabal
    #	src/compiler/GF/Compile/GrammarToCanonical.hs
    #	src/compiler/GF/Grammar/Canonical.hs
    #	src/compiler/GF/Infra/Option.hs
    johnjcamilleri committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    4bd26ea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2be54ff View commit details
    Browse the repository at this point in the history
  3. Merge branch 'master' into lpgf

    # Conflicts:
    #	gf.cabal
    #	src/compiler/GF/Grammar/Canonical.hs
    johnjcamilleri committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    045def6 View commit details
    Browse the repository at this point in the history
  4. Updates to cabal file

    johnjcamilleri committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    2b8d792 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7b06378 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2021

  1. Configuration menu
    Copy the full SHA
    d641608 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'master' into lpgf

    # Conflicts:
    #	gf.cabal
    johnjcamilleri committed Jul 8, 2021
    Configuration menu
    Copy the full SHA
    7dc396e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2315641 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    89a01d8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d6e26e0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c02a3e0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    639f1f0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e681e4d View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2021

  1. Configuration menu
    Copy the full SHA
    1b8a9b3 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2021

  1. Configuration menu
    Copy the full SHA
    e2ed512 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. Configuration menu
    Copy the full SHA
    42bdee1 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2021

  1. Configuration menu
    Copy the full SHA
    b96fa7e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    48dba4a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1ce1cea View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2021

  1. Configuration menu
    Copy the full SHA
    b47eb18 View commit details
    Browse the repository at this point in the history