parapluu / encore

The Encore compiler.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What traits do we provide in the standard library?

EliasC opened this issue · comments

We already have Eq and Id as traits for allowing checking of equivalence and identity respectively. We should think about what other traits we want to provide. We have at least talked about the following traits:

  • Show, for things that can be printed
  • Ord, for things that have an order)
  • Hash, for things that can be hashed
  • Actor, for active classes that can e.g. run closures

One could imagine traits for things that have a size, can be called, are indexable, can be created using a generator etc. This has possible connections to #591.

If you can think of other traits that should be in the standard library, please include them below!

Could Actor be called Runner or something else to avoid confusion with actors (which we call active classes).

Monad.

Hash has been introduced, calls Hashable in Hash.Hashable.