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

Functors iface tysyn #1459

Closed
wants to merge 70 commits into from
Closed

Functors iface tysyn #1459

wants to merge 70 commits into from

Commits on Jun 13, 2022

  1. New module system

    yav committed Jun 13, 2022
    Configuration menu
    Copy the full SHA
    6ab1470 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2022

  1. Don't crash on undefined names.

    When we resolve an undfined name we record error, but we continue
    processing things, so that we can report multiple errors.  As a result
    we need to generate some sort of fake "real" name for the undefined entity.
    
    Previously we used to generate a fake local name, but that confused parts
    of the code that expected certain things to always be defined at the top
    level.  So now we generate a fake name in the Cryptol prelude instead.
    yav committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    1e3ad37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3839b3a View commit details
    Browse the repository at this point in the history
  3. Remove unused things

    yav committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    ed90c0a View commit details
    Browse the repository at this point in the history
  4. Make the remote API compile

    yav committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    67b5bde View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2022

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

Commits on Jun 21, 2022

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

Commits on Jun 24, 2022

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

Commits on Jul 14, 2022

  1. Configuration menu
    Copy the full SHA
    2c179b1 View commit details
    Browse the repository at this point in the history
  2. fix remaining tests

    m-yac committed Jul 14, 2022
    Configuration menu
    Copy the full SHA
    2a8f755 View commit details
    Browse the repository at this point in the history
  3. Implement functor imports with instantiation.

    Fixes #1363
    yav committed Jul 14, 2022
    Configuration menu
    Copy the full SHA
    1419108 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    26121c9 View commit details
    Browse the repository at this point in the history
  5. Fix spacing in a test

    yav committed Jul 14, 2022
    Configuration menu
    Copy the full SHA
    488ceec View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    18e1b92 View commit details
    Browse the repository at this point in the history
  7. Update documentation

    yav committed Jul 14, 2022
    Configuration menu
    Copy the full SHA
    b76ec46 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f9cd75b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    510d185 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2022

  1. Configuration menu
    Copy the full SHA
    83f4575 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ece8bb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a2bc669 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2022

  1. Configuration menu
    Copy the full SHA
    694282e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ff30033 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2022

  1. Configuration menu
    Copy the full SHA
    62dddb0 View commit details
    Browse the repository at this point in the history
  2. Use more descriptive names for internally generated names.

    Also, for the names of the imported instances now
    use the location in the file to make them unique,
    rather than a synthetic counter,
    yav committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    5bf24a2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    84694d7 View commit details
    Browse the repository at this point in the history
  4. Clean up browsing of signatures

    yav committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    24b1ba6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9c9d0db View commit details
    Browse the repository at this point in the history
  6. Use simple language

    yav committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    180c90f View commit details
    Browse the repository at this point in the history
  7. Detailed help for interfaces.

    Still to do: modules and funcotrs
    yav committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    d413e35 View commit details
    Browse the repository at this point in the history
  8. Fix tests

    yav committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    5c1b0bc View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2022

  1. Configuration menu
    Copy the full SHA
    d5d9f42 View commit details
    Browse the repository at this point in the history
  2. Show fixities for value parameters.

    I am not sure that the parser can actually parse these,
    but if we add them, this should just work
    yav committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    ccb563c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6e8ab5a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    25f92f5 View commit details
    Browse the repository at this point in the history
  5. Fix more tests

    yav committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    a370845 View commit details
    Browse the repository at this point in the history
  6. Fix special cases for windows

    yav committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    3eae908 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2022

  1. Configuration menu
    Copy the full SHA
    5b801fc View commit details
    Browse the repository at this point in the history
  2. Merge branch 'master' into functors-merge

    # Conflicts:
    #	docs/RefMan/Modules.rst
    #	docs/RefMan/_build/doctrees/BasicSyntax.doctree
    #	docs/RefMan/_build/doctrees/BasicTypes.doctree
    #	docs/RefMan/_build/doctrees/Expressions.doctree
    #	docs/RefMan/_build/doctrees/Modules.doctree
    #	docs/RefMan/_build/doctrees/OverloadedOperations.doctree
    #	docs/RefMan/_build/doctrees/RefMan.doctree
    #	docs/RefMan/_build/doctrees/TypeDeclarations.doctree
    #	docs/RefMan/_build/doctrees/environment.pickle
    #	docs/RefMan/_build/html/Modules.html
    #	docs/RefMan/_build/html/_sources/Modules.rst.txt
    #	docs/RefMan/_build/html/searchindex.js
    yav committed Aug 4, 2022
    Configuration menu
    Copy the full SHA
    dfdbd12 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2022

  1. Merge remote-tracking branch 'origin/master' into functors-merge

    # Conflicts:
    #	cryptol-remote-api/src/CryptolServer/Exceptions.hs
    #	cryptol.cabal
    #	docs/RefMan/_build/doctrees/BasicSyntax.doctree
    #	docs/RefMan/_build/doctrees/BasicTypes.doctree
    #	docs/RefMan/_build/doctrees/Expressions.doctree
    #	docs/RefMan/_build/doctrees/Modules.doctree
    #	docs/RefMan/_build/doctrees/OverloadedOperations.doctree
    #	docs/RefMan/_build/doctrees/RefMan.doctree
    #	docs/RefMan/_build/doctrees/TypeDeclarations.doctree
    #	docs/RefMan/_build/doctrees/environment.pickle
    #	docs/RefMan/_build/html/Modules.html
    #	docs/RefMan/_build/html/searchindex.js
    #	src/Cryptol/ModuleSystem.hs
    #	src/Cryptol/ModuleSystem/Base.hs
    #	src/Cryptol/ModuleSystem/Env.hs
    #	src/Cryptol/ModuleSystem/InstantiateModule.hs
    #	src/Cryptol/ModuleSystem/Monad.hs
    #	src/Cryptol/Parser/Token.hs
    #	src/Cryptol/Transform/AddModParams.hs
    #	src/Cryptol/TypeCheck/Error.hs
    #	src/Cryptol/TypeCheck/Infer.hs
    #	src/Cryptol/TypeCheck/InferTypes.hs
    yav committed Aug 12, 2022
    Configuration menu
    Copy the full SHA
    f77e5cc View commit details
    Browse the repository at this point in the history
  2. Fix typo

    yav committed Aug 12, 2022
    Configuration menu
    Copy the full SHA
    bd55b96 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2022

  1. Remove unused functoion

    yav committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    516ad74 View commit details
    Browse the repository at this point in the history
  2. Resolve Has selectors for each nested module separately.

    This fixes #1439
    
    See the comment on the new function `selectorScope`
    for details.
    yav committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    ddcc67b View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2022

  1. Fix typos in comments

    yav committed Sep 24, 2022
    Configuration menu
    Copy the full SHA
    09b68e2 View commit details
    Browse the repository at this point in the history
  2. Don't try to get information for undefined names.

    When we find an undefined name we record an error,
    but we also generate a fake name, so that we can continue
    processing and report other errors.  It is important
    that we don't try to use this fake name.
    
    This commit corrects this behavior where we'd try to get
    information about an undefined intrface submodule.
    
    Fixes #1440
    yav committed Sep 24, 2022
    Configuration menu
    Copy the full SHA
    b72a5d9 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. Merge branch 'master' into functors-merge

    # Conflicts:
    #	docs/RefMan/_build/doctrees/BasicSyntax.doctree
    #	docs/RefMan/_build/doctrees/BasicTypes.doctree
    #	docs/RefMan/_build/doctrees/Expressions.doctree
    #	docs/RefMan/_build/doctrees/FFI.doctree
    #	docs/RefMan/_build/doctrees/Modules.doctree
    #	docs/RefMan/_build/doctrees/OverloadedOperations.doctree
    #	docs/RefMan/_build/doctrees/RefMan.doctree
    #	docs/RefMan/_build/doctrees/TypeDeclarations.doctree
    #	docs/RefMan/_build/doctrees/environment.pickle
    #	docs/RefMan/_build/html/.buildinfo
    #	docs/RefMan/_build/html/BasicSyntax.html
    #	docs/RefMan/_build/html/BasicTypes.html
    #	docs/RefMan/_build/html/Expressions.html
    #	docs/RefMan/_build/html/FFI.html
    #	docs/RefMan/_build/html/Modules.html
    #	docs/RefMan/_build/html/OverloadedOperations.html
    #	docs/RefMan/_build/html/RefMan.html
    #	docs/RefMan/_build/html/TypeDeclarations.html
    #	docs/RefMan/_build/html/_static/doctools.js
    #	docs/RefMan/_build/html/_static/fonts/Lato-Bold.ttf
    #	docs/RefMan/_build/html/_static/fonts/Lato-Regular.ttf
    #	docs/RefMan/_build/html/_static/js/modernizr.min.js
    #	docs/RefMan/_build/html/_static/searchtools.js
    #	docs/RefMan/_build/html/searchindex.js
    #	src/Cryptol/ModuleSystem.hs
    #	src/Cryptol/ModuleSystem/Base.hs
    #	src/Cryptol/ModuleSystem/InstantiateModule.hs
    #	src/Cryptol/Parser/AST.hs
    #	src/Cryptol/Parser/ParserUtils.hs
    #	src/Cryptol/REPL/Command.hs
    #	src/Cryptol/Transform/AddModParams.hs
    #	src/Cryptol/Transform/Specialize.hs
    #	src/Cryptol/TypeCheck/Infer.hs
    #	src/Cryptol/TypeCheck/InferTypes.hs
    #	src/Cryptol/Utils/Ident.hs
    yav committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    441e163 View commit details
    Browse the repository at this point in the history
  2. Fix tests

    yav committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    489ded4 View commit details
    Browse the repository at this point in the history
  3. Fix test

    yav committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    6fea305 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2022

  1. TraverseNames for EPropGuards

    yav committed Sep 28, 2022
    Configuration menu
    Copy the full SHA
    bed32f8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f8bc65 View commit details
    Browse the repository at this point in the history
  3. Update evaluator to account for TError of kind prop.

    At the moment this kind of representes "False" so we need
    to handle it.   In the future, we probaly should:
      * add an explicit `TFalse` to distinguish between malformed and False
      * Eliminate obviously false guards when instantiating a funcotr
    yav committed Sep 28, 2022
    Configuration menu
    Copy the full SHA
    58a351c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    29e71d1 View commit details
    Browse the repository at this point in the history
  5. Fix tests for Mac and Windows

    yav committed Sep 28, 2022
    Configuration menu
    Copy the full SHA
    12967c4 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2022

  1. Configuration menu
    Copy the full SHA
    39c6026 View commit details
    Browse the repository at this point in the history
  2. Squash yet another fake name issue

    See #1440
    yav committed Sep 29, 2022
    Configuration menu
    Copy the full SHA
    e1e3fe6 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2022

  1. Remove unused function

    yav committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    3dc316a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    043bd69 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    91dbed4 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2022

  1. Include one Ubuntu 20.04 configuration (#1447)

    PR #1403 accidentally removed our build coverage for an older Ubuntu LTS
    configuration. This patch adds in back and ensures that we don't accidentally
    run the tests on this configuration.
    RyanGlScott authored and yav committed Oct 13, 2022
    Configuration menu
    Copy the full SHA
    efc3fe7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fa3cc20 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0cefb92 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f35648c View commit details
    Browse the repository at this point in the history
  5. Merge remote-tracking branch 'origin/T1451' into functors-merge

    # Conflicts:
    #	src/Cryptol/TypeCheck/Sanity.hs
    yav committed Oct 13, 2022
    Configuration menu
    Copy the full SHA
    ab0d1c8 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2022

  1. Configuration menu
    Copy the full SHA
    b0ccbb7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b66d990 View commit details
    Browse the repository at this point in the history
  3. Add pretty printing instances for parameters.

    This is mostly for debugging.
    yav committed Oct 14, 2022
    Configuration menu
    Copy the full SHA
    8de5a79 View commit details
    Browse the repository at this point in the history
  4. Allow loading interfaces.

    When loaded an interface is treated like an empty functor.
    Adding this capability would also be useful if we generalize
    interfaces to allow for definitions, as discussed in #1457
    
    This also fixes #1456
    yav committed Oct 14, 2022
    Configuration menu
    Copy the full SHA
    8922877 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2022

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

Commits on Oct 21, 2022

  1. Add/improve haddocks

    yav committed Oct 21, 2022
    Configuration menu
    Copy the full SHA
    20f8a36 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c5e8662 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2022

  1. Have a go at allowing type synonyms in interfaces.

    Not at all tested.
    yav committed Oct 25, 2022
    Configuration menu
    Copy the full SHA
    dc4b344 View commit details
    Browse the repository at this point in the history