Module show_notes::e011 [] [src]

Once upon a type

Notes

Talking about type systems! A broad and wide-ranging discussion about type systems in general, with specific examples from languages like PHP, JavaScript, Python, C, C++, Java, C♯, Haskell, and Rust!

A comment on the C integer/character string addition example: what's actually happening there is that the character string is an array "under the covers," and as such has an address. C silently switches to using the memory address, which is of course just an integer, when you try to add the two together. As I said on the show: the result is nonsense (unless you're using this as a way of operating on memory addresses), but it's compileable nonsense. In a stricter and stronger type system, memory addresses and normal numbers shouldn't be addable!

Sponsors

Become a sponsor

Contact

Structs

TypeSystem

Look, we composed those enums into another type. How... droll.

Enums

Expressive

Is the thing "expressive", whatever that means?

StaticallyKnown

Is the thing statically known?

Strong

Is the thing strong?

Functions

describe_type_systems

An incredibly contrived function which just shows enums at work.