4 ms·
I don't think Julia is (or has ever claimed to be) the first system to make extensive use of multiple dispatch. But it seems to be first one to have gotten att
by kkylin 6y ago
I don't think Julia is (or has ever claimed to be) the first system to make extensive use of multiple dispatch. But it seems to be first one to have gotten attention, if not widespread adoption, from the broader community beyond its first intended audience, i.e., scientific computing.
Others mention CLOS, which I don't know too much about. MIT Scheme also supports multiple dispatch (https://www.gnu.org/software/mit-scheme/documentation/stable/mit-scheme-sos/Generic-Procedures.html#Generic-Procedures https://www.gnu.org/software/mit-scheme/documentation/stable...). IIRC this is widely used in ScmUtils, the software library used in SICM (https://mitpress.mit.edu/books/structure-and-interpretation-classical-mechanics-second-edition https://mitpress.mit.edu/books/structure-and-interpretation-...).
- ssivark 6y agoJulia’s definitely not the first, but I don’t see too many examples where they took the idea seriously enough as a design principle to build the language around it (that’s what I meant by “run with it”). I’ve seen Dylan often credited as one of the inspirations for Julia. While many other languages might support multiple dispatch, my impression is that they’re somewhat “patched on”, thereby limiting the benefits.
- kkylin 6y agoAbsolutely. I guess I was trying to say (not very clearly) that ScmUtils was the only other example I know of that "ran with it." Though SICM is relatively well known at this point, I suspect ScmUtils is not very widely used.
- deleted 6y ago[deleted]