New library: open multi-methods

Jean-Louis Leroy via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Jul 17 15:46:02 PDT 2017


On Monday, 17 July 2017 at 21:31:20 UTC, jmh530 wrote:
> On Monday, 17 July 2017 at 20:41:05 UTC, Jean-Louis Leroy wrote:
>> Thinking about it, 'openmethods' would probably be a better 
>> module/package name than just 'methods'. It emphasizes the #1 
>> feature, i.e. polymorphism outside of classes.
>
> Googling `multimethods` brought up more programming-related 
> topics than `openmethods`.

Yeah, I know, but I can imagine someone casually browsing the 
registry, coming across the module and saying "multi-methods? 
yeah, cool, but I don't remember ever needing such a thing". 
Indeed "multi" is nice, but IMO "open" is much more important. It 
is still much more frequent to have only one virtual argument. 
Take the awful Visitor pattern, for example. It can be neatly 
replaced with an open method taking only one virtual argument 
(barring other considerations).

'openmultimethods' is another option but again it emphasizes 
'multi'.

Anyway, if I go for just 'openmethods', there are enough mentions 
of 'multi-methods' in the docs.

I think I will rename 'methods' to 'openmethods' for the time 
being, but the discussion remains open. Not renaming the repo yet.

Thinking about it, I should add a Visitor replacement example...

J-L


More information about the Digitalmars-d-announce mailing list