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

Type classes #13

Open
2 tasks
jparoz opened this issue Feb 25, 2023 · 0 comments
Open
2 tasks

Type classes #13

jparoz opened this issue Feb 25, 2023 · 0 comments
Labels
feature Adds a new feature to the language.
Milestone

Comments

@jparoz
Copy link
Owner

jparoz commented Feb 25, 2023

Implement type classes, similar to those found in Haskell and other languages.

These could be implemented as a new type of Constraint, and integrated into the existing constraint solver; or possibly something more similar to ExplicitTypeConstraint with a separate constraint queue, if the solving doesn't need to be interleaved with the existing type inference constraints.

  • Do notation
    • Is this notation tied to a Monad typeclass, or Applicative, or some other more abstract thing (e.g. it uses whichever >>= and >> operators that are in scope)? Needs more investigation

Interesting paper from SPJ: Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell

@jparoz jparoz added the feature Adds a new feature to the language. label Feb 25, 2023
@jparoz jparoz added this to the 0.5.0 milestone Feb 25, 2023
@jparoz jparoz mentioned this issue Feb 25, 2023
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Adds a new feature to the language.
Projects
Status: Todo
Development

No branches or pull requests

1 participant