Comment by itishappy
Altering python's core datatypes is not what I'd call minor.
They don't even mention the changes to `list`.
> Integers: Codon's int is a 64-bit signed integer, whereas Python's (after version 3) can be arbitrarily large. However Codon does support larger integers via Int[N] where N is the bit width.
> Strings: Codon currently uses ASCII strings unlike Python's unicode strings.
> Dictionaries: Codon's dictionary type does not preserve insertion order, unlike Python's as of 3.6.
> Tuples: Since tuples compile down to structs, tuple lengths must be known at compile time, meaning you can't convert an arbitrarily-sized list to a tuple, for instance.
https://docs.exaloop.io/codon/general/differences
Pretty sure this means the following doesn't work either:
config = { "name": "John Doe", "age": 32 }
Note: It looks like you can get around this via Python interop, but that further supports the point that this isn't really Python.
> Strings: Codon currently uses ASCII strings unlike Python's unicode strings.
wtf this is a supper big issue making this basically unusable for anything handling text (and potentially even just fixed indents, if you aren't limited to EU+US having non us-ascii idents in code or text is common, i.e. while EU companies most times code in english this is much less likely in Asia, especially China and Japan.
it isn't even really a performance benefit compared to utf-8 as utf-8 only using us-ascii letters _is_ us-ascii and you don't have to use unicode aware string operations