Similar to Dylan's experience, sadly Apple canned it and it never got that much uptake afterwards.
However there is OpenDylan for anyone that would like a go at it, including the old book describing the language.
However there is OpenDylan for anyone that would like a go at it, including the old book describing the language.
I feel like Julia is pretty great, and has a good amount of inertia behind it in the domains that I frequent, but I’m curious about (Open)Dylan from the perspective of someone who’s used both.
> The parameterising complicates the subtyping relationships needed to specify how multiple dispatch works.
I don't think it adds all that much complication actually, and it adds a ton of extra expressive power. For instance, our arrays are parameterized by their element type and their dimensionality, so
Array{Int, 1}
is a 1D (vector) array of Ints whereas Array{Complex{Float64}, 2}
is a 2D (matrix) of Complex Float64s. This is really important for making the most of multiple dispatch imo because I can write methods which take advantage of as much type information as possible. This isn't just helpful for performance, but also helpful for just expressing your algorithm in a clear and general way.