Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Even outside that context, though, I think their comments still have weight: having both signed and unsigned types does add complexity, and (from what I can tell) in many languages, conversions between the two are often poorly documented and/or poorly understood by programmers. Many languages just adopt the behaviour of C – so if the panellists' arguments are a good reason to avoid unsigned ints in C and C++, those same arguments may well apply to the new language. (E.g. Ocaml's "stdint" library library explicitly says that "the semantics of all operations is identical to the Int32, Int64 modules, C, C++, Java etc.") Other languages are unclear about how conversions work. In Haskell, for instance, the only documentation of the fromIntegral function is:
Related posts
- Austral: A systems language with linear types. (2021)
- Lolita: A tagless, dependently typed, self-aware programming language
- Semgrep – Find bugs and enforce code standards
- Toy autograd engine in OCaml with Apple Accelerate back end
- Application Security - Bridging Frontend and Cybersecurity: What is Application Security?