3 ms·
The main difference is that Julia uses more complicated subtyping and specificity to let you express some useful more complicated relationships (e.g. diagonal d
by adgjlsfhk1 5y ago
The main difference is that Julia uses more complicated subtyping and specificity to let you express some useful more complicated relationships (e.g. diagonal dispatch).
Also, there is a major difference that in Julia all methods use multiple dispatch (and there isn't a performance cost to doing so). Multiple dispatch in Lisp was severely limited by people not using it for performance reasons.
- dreamcompiler 5y ago> Multiple dispatch in Lisp was severely limited by people not using it for performance reasons. What do you mean by this? In what ways do you find MD in Lisp "limited"?
- oscardssmith 5y agoI haven't used lisp a ton, so I might be missing something here, but as I understand it, multiple dispatch in lisp is opt in. The downside of this is that since it has a performance penalty, people didn't use multimethids for core functions like +, so you lose the benefits multiple dispatch offers.
- lispm 5y agoStill a Lisp system may have thousands of Generic Functions with ten thousands of methods. One Lisp implementation I use has that many out of the box. Incl. various I/O related code: streams, networking, graphics, user interface, development environment, ... Even though low-level numeric code might not be written with them, large parts of applications often are written using them.