Os.ArchOS architectures.
The type for architecture identifiers. Unless you create them yourself these strings are normalized: non-empty, lowercase ASCII, with original '-' characters mapped to '_'.
The type for OS machine architectures.
Architectures are sorted into families. The datum of each family has the concrete architecture identifier.
Warning. Minor versions of the library may add new family enumerants or attach a family to an identifier previously classified as Other (moving between families should not happen, except to fix the odd bug). As such:
Other "…" constants is not recommended. If you need to select such an identifier start by pattern matching on id before dropping to pattern matching on this type._ rather than Other _.of_string s is an architecture determined by s normalized by ASCII lowercasing it and mapping '-' to '_'. Unrecognized architectures end up as Other with the normalized s. Strings printed by pp are guaranteed to parse (with the family as the identifier).
If family is provided, s is simply normalized and the family of family is used in the result.
val bits : t -> int optionbits arch determines the bitness of arch usually Some 32 or Some 64 or None if unknown.
These constants can be used as family representatives.
val arm32 : tarm32 is Arm32 "arm32".
val arm64 : tarm64 is Arm64 "arm64".
val ppc32 : tppc32 is Ppc32 "ppc32".
val ppc64 : tppc64 is Ppc64 "ppc64".
val riscv32 : triscv32 is Riscv32 "riscv32".
val riscv64 : triscv64 is Riscv64 "riscv64".
val x86_32 : tx86_32 is X86_32 "x86_32".
val x86_64 : tx86_64 is X86_32 "x86_64".
val unknown : tunknown is Other "unknown".
equal asserts equality by family, except for Other id values which are each their own distinct family.
pp formats architecture families for inspection. The concrete identifier is not printed.