Recent submissions

Comment · 5 years ago
FWIW, Julia does segment its method tables into multiple layers depending upon size and type. Multiple dispatch is a strict superset of single-dispatch, and indeed the first layer is just a dictionary/hash table lookup on the first argument. If there's only one result there, you're done (and have the same ~cost for the same ~complexity).
Comment · 5 years ago
Is your home folder on a network drive?
Comment · 5 years ago
Comment · 5 years ago
That same format string is used in multiple places, and unfortunately I don't think the text engine they expose to us is smart enough to do the ordinal 1st 2nd 3rd thing.

Edit: oh, we can do that. Changed experimentally.

Comment · 5 years ago
Comment · 5 years ago
As an administrator at Julia's discourse, I'd be really curious if this was the reason. Discourse's default "short date" format is super problematic. By default, they display something from 5 days ago as `Mar 20` and something from a year ago as `Mar '20`. We've changed that to have the year+ old posts display as `Mar 2020`, but maybe we should also change the recent display to be something different; maybe `20 Mar`? The UI doesn't give us too much space, unfortunately.
Comment · 5 years ago
The feature I'm most excited about is the parallel — and automatic — precompilation. Combined with the iterative latency improvements, Julia 1.6 has far fewer coffee breaks.
Comment · 5 years ago
Comment · 5 years ago
Benefits are highly regional. Where I live, the current latest sunrise is 8:06 am on December 5. I can't imagine a sunrise after 9am being very fun.
Comment · 5 years ago
Sure, there is a subset of behaviors for which this style makes sense, but it's just as well supported by simply defining your own functions alongside the struct.
Comment · 5 years ago
Julia will be able to generate c-compatible .so/.dlls in a not so distant future.
Comment · 5 years ago
I actually find it far more linguistic, that is, more akin to natural languages.

In my view, it's not multiple dispatch per se that is the bigger departure from traditional OOP, it's the fact that methods are no longer contained in the classes. Julia draws a separation between data (structs: the nouns) and behaviors (functions: the verbs). Traditional OOP never really made sense to me; why should each class define and own its own methods? It feels far more sensible to me to just have global behaviors that are well defined. Those verbs can sometimes apply to _anything_ (leaning on more rudimentary operations that you need to define; duck-typing), and sometimes they require you to explicitly define your behavior, and sometimes you just want to add an additional optimization that's available in your particular situation.

Once you have that mental model down, multiple dispatch is just how Julia chooses which method to call... and it's really not much different from single-dispatch.

Comment · 5 years ago
Yeah, you (used to?) be able to do multi-room audio with the original Airplay, but it was only supported from Macs. iOS did not support it.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton