Our great sponsors
-
iso_3166
Discontinued ISO Standard references for Ada such as ISO 1366 country codes. [Moved to: https://github.com/ada-iso/ada_iso]
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
rust_iso3166
ISO 3166 is a standard published by the International Organization for Standardization (ISO) that defines codes for the names of countries, dependent territories, special areas of geographical interest, and their principal subdivisions (e.g., provinces or states). The official name of the standard is Codes for the representation of names of countries and their subdivisions.
But the most difficult decision here is not to use String. The library doesn't stay in a vacuum. Perhaps it will be used as part of some information system. Using String in a information system would be a pain. The user won't be able to have country name together with emoji! This not acceptable nowadays! Wide_(Wide_String) as well as other standard string types (Unbounded_*, Bouded_*) are not good too. Perhaps it's good time to switch to something else, like VSS.
For the package itself, a little background: I plan on creating more implementations of the ISO standards later on based on this, such as ISO 4217 (currency codes, admittedly the reason I started this) and potentially ISO 639 (language codes), and I wanted some consistency across them. I was looking at what other existing libraries were doing and drawing on them for inspiration, such as C#, Rust, and Ruby. And since I was hoping to start with ISO 3166-1, with the possibility of including ISO 3166-2 and ISO 3166-3, I opted to go with `ISO_3166_1` as the data type. (I also thought of creating an overarching `ISO` and then release packages such as `ISO.ISO_3166` and `ISO.ISO_417`, but I would need to be certain they can be released separately in Alire).