Почему Data.Word в Haskell назвал это?

Почему в Haskell называется "Word" неподписанным интегральным типом? "Ord" означает "порядковый номер"?

Вот документация по Data.Word: http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-Word.html#t:Word

Это очень сложный вопрос для google!

Ответы

Ответ 1

От wikipedia:

Термин "слово" используется для небольшой группы бит, которые обрабатываются одновременно процессорами конкретной архитектуры. Размер слова, таким образом, зависит от процессора. Использовались разные размеры слов, в том числе 6-, 8-, 12-, 16-, 18-, 24-, 32-, 36-, 39-, 48-, 60- и 64-разрядные. Поскольку он является архитектурным, размер слова обычно задается первым процессором в семействе, а не характеристиками более позднего совместимого процессора. Значения терминов, полученных из слова, такие как longword, doubleword, quadword и halfword, также зависят от процессора и ОС.

Короче говоря, слово представляет собой группу битов фиксированной длины, которые процессор может обрабатывать. Обычно мы работаем со словами, обладающими двумя полномочиями, поскольку современные процессоры отлично справляются с этим. A word в частности, не является действительно числом, хотя мы рассматриваем его как таковое для большинства целей. Вместо этого просто подумайте об этом как о фиксированном количестве бит в ОЗУ, с которым вы можете манипулировать. Обычное использование для чего-то вроде Word8 - это, например, реализация строк ASCII C-style. Реализация Haskell рассматривает типы WordN как целые числа без знака, которые реализуют Num среди других классов типов.


Существует модуль под названием Data.Ord, где "Ord" означает "Ordering". Он имеет дополнительные функции для работы со сравнением типов данных и где определяется тип Ordering типа данных и Ord. Он не связан с Data.Word.