Keean Schupke
Keean Schupke
So do we agree it is okay to infer principal typings, so that code can be reasoned about locally, with compulsory type annotations at module boundaries?
@shelby3 I agree, if there turns out to be some problem due to the combination of types then we can go to all top-level functions must have a type, but...
@shelby3 your concerns are noted, however if inference can't do something you can always add annotations. I'm not worried, I have done this before :-)
Rust used symbols for different kinds of references and borrows and they have changed to words like 'Ref' etc because it is more readable.
I have been arguing that it is precisely because type systems do not differentiate between values and containers, that language semantics get very opaque and complex, for example C/C++ have...
Personally I don't like the hieroglyphics, it certainly makes it hard for occasional users to understand (like all the symbols in PL1, APL or perl). Most people can transfer knowledge...
There's a bit of a straw man there, as the type doesn't make sense (you wouldn't have a read-only exclusive borrow, as read only is a reference, and a borrow...
This: ⊖Atype⁉️ makes it hard to understand the nesting, for example is it a reference to a nullable "type", or a nullable reference to a type? You would not only...
Don't forget with GC you often need Weak and Strong references, where a strong reference prevents the referenced object from being garbage collected, whereas with a weak reference the referenced...
You also need to distinguish variable binding from mutation. A value like '3' is immutable, but we can rebind variables like: x = 3; x = x + 1. The...