Skip to content

link to concepts in introduction

I consider myself a polyglot programmer, and -- maybe I misjudged myself -- but I find the following paragraph kind of challenging:

Rust is statically typed, with an algebraic type system. It supports generic types (parameterised types) and generic functions. Monomorphisation and dynamic despatch are both supported (chosen at the point where a generic type is referred to). Type inference is supported in some contexts, especially local variables.

Statically typed, okay. Algebraic type system... hum... is that like haskell? Generics, parametrized types, got it. Wait, what's monomorphisation and "dynamic despatch"? That is a typo right?

Point is: I think I know most of those concepts, but because they are just thrown in there in a bunch, it's not immediately clear what they refer to.

I think those should link to conceptual pages, either on the c2 wiki, wikipedia, rust documentation, or elsewhere, where the polyglot programmer can know if we're actually talking about the same thing.

(Interestingly, both https://en.wikipedia.org/wiki/Dynamic_dispatch and https://en.wikipedia.org/wiki/Static_dispatch have examples for rust, so it's actually not that clear to me which dispatch mechanism rust uses. ;) )

(Also, shouldn't this be thrown into a spell and link checker? :)

Good job otherwise, a bit dense, as you aptly describe (and I think it could do with a little better ordering to be less dense, but it's something i had been looking for for a while. Thanks!