gracelang / minigrace

Self-hosting compiler for the Grace programming language
39 stars 22 forks source link

mirrors on blocks give incorrect list of methods #256

Closed apblack closed 5 years ago

apblack commented 6 years ago

Because of the way that blocks are implemented, using a mirror on a block will tell you that it implements apply with 0, 1, 2, ... ,10 arguments, as well as applyIndirectly(_). These are artifacts of the implementation, and should be hidden.

apblack commented 5 years ago

This has been fixed. Blocks now have a method apply(_,...) and a method matches(_, ...) with the same number of arguments as the block has parameters.