Open Ericson2314 opened 1 month ago
Oh gosh I'd have to really go back and think about this. I believe the main issue is that we ought to be able to keep the 'base' scope as an existential, but for whatever reason, when I first wrote beam, the compiler was unable to match existentials and allow typechecking to pass. It probably does at this point.
Thanks for remembering, @tathougies.
On a similar note, here and a few other places in beam I would have used data kinds (don't need arbitrary types in our scopes do we?). Do you have thoughts on that?
Yeah, the scoping system could definitely be replaced with data kinds. Keep in mind Haskell looked a lot different when I first wrote beam :)
@tathougies I believe it, but I also think I don't know just how far back the prehistory of beam goes :).
Originally posted by @tathougies in https://github.com/haskell-beam/beam/issues/652#issuecomment-1439431041
What would this look like? More data kinds? Something more radical?