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

Implement default instances of typeclasses. #56

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Commits on May 24, 2019

  1. Configuration menu
    Copy the full SHA
    03a54fd View commit details
    Browse the repository at this point in the history
  2. parser, analyzer: get rid of expression lists.

    Comma expressions shall be dead from this point onwards.
    griwes committed May 24, 2019
    Configuration menu
    Copy the full SHA
    df51c7b View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2019

  1. Configuration menu
    Copy the full SHA
    c0332ea View commit details
    Browse the repository at this point in the history
  2. analyzer: reimplement the parse of default() as a postfix-expr.

    This way the code in default_instance_expression can just become a function,
    and we have one AST node kind less to worry about.
    griwes committed Jun 13, 2019
    Configuration menu
    Copy the full SHA
    52f832f View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2019

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

Commits on Jul 17, 2019

  1. analyzer: make instances be keyed off types, not their expression rep…

    …resentation.
    
    Start building the instance selector functions.
    griwes committed Jul 17, 2019
    Configuration menu
    Copy the full SHA
    06615e5 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2019

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

Commits on Aug 26, 2020

  1. Rewrite name handling and finish default instances (at least for now).

    There's a few minor refactors in this commit as well, like finally
    making builtin_types return things that don't need unwrapping with get,
    but the title line is the soul of the changes.
    
    Name handling is now done top-down, not bottom-up; every layer knows its
    _full_ name as soon as it is possible. This simplified scope handling,
    removed the need for scope generators, and enabled default instances.
    Generally a lot of things are now how they should've been from the
    start.
    
    Anyway, it's now possible to import a default instance. Nice. Only...
    a... year? in the works.
    griwes committed Aug 26, 2020
    Configuration menu
    Copy the full SHA
    149266e View commit details
    Browse the repository at this point in the history