Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> https://en.wikipedia.org/wiki/Multiple_dispatch (includes example from NGS too)

Learn something new every day. Seen (and used) this methodology before but wasn't aware it was called that. I'd always heard of it as "overloading" which is conceptually similar but not identically the same.

> mmm. I see the support but looking at documentation at https://murex.rocks/docs/apis/Unmarshal.html , I see it's not exposed into the Murex language, it's in Go. Is this correct?

It's APIs written in Go (for performance and convenience -- you wouldn't want to write a YAML marshaller in a shell scripting language). So the methods are exposed as builtins. However you can add method written in murex if you wanted.

The idea being get 99.9% right by default but leave some flexibility for the user to customise if they want.

Murex builtins are also written in a way that they're all optional includes into the core project. Thus you can easily write your own builtins, marshallers, etc in Go if you want performance and then call them from your shell script (or you could write them in Python, Java, Perl, etc and run them as an external executable if you wanted too. But if you do that you lose access to murex's typed pipelines. Which is where the really interesting stuff happens (I haven't yet figured out a non-shitty way to send typed data over POSIX pipes to external executables).

> sorry, running out of time, to be continued :)

Any time :) I'm finding this conversation really interesting and educational



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: