Skip to content

Instantly share code, notes, and snippets.

@poscat0x04
Last active June 18, 2020 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save poscat0x04/c0fb82fde3e2a478f45a09812c201f24 to your computer and use it in GitHub Desktop.
Save poscat0x04/c0fb82fde3e2a478f45a09812c201f24 to your computer and use it in GitHub Desktop.
  1. Crappy record system: no constructor/field overloading, no dot syntax, no row polymorphism
  2. Crappy module system There's backpack, apparently
  3. CPP -- this could be solved by pragmas
  4. Crappy dependent type support
    1. Boilerplate & Code duplication
    2. No totality checking
    3. Crappy type system (Type :: Type, Weak type-level functions)
    4. Barely usable typed holes, extreamly bad editor integration
    5. Weird behaviors when checking GADTs
  5. Over restrictive typeclass resolution (no backtracking, crappy termination checking leading to unnecessary use of UndecidableInstances)
  6. No automated theorem prover like Agda's Agsy (C-c C-a) or Isabelle's sledgehammer
  7. [Char] , FilePath ...
  8. no native effect system (there's too much magic in IO)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment