Псевдоним типа Haskell побежден ошибочным именем в позиции привязки

Как новичок в Haskell, я пытаюсь использовать ключевое слово «данные» для определения псевдонима типа. Это мой простой файл:

import qualified Data.Array.Unboxed
data Point = Data.Array.Unboxed.UArray Int Double

GHC говорит: «Полное имя в позиции привязки: Data.Array.Unboxed.UArray»

Почему я не могу использовать квалифицированное имя? Как мне тогда определить свой псевдоним типа?


person ToZo    schedule 05.08.2014    source источник
comment
используйте 1_ ;)   -  person Random Dev    schedule 05.08.2014
comment
Для псевдонимов типов используйте type, а не data.   -  person n. 1.8e9-where's-my-share m.    schedule 05.08.2014
comment
ОМГ, как я мог пропустить это!   -  person ToZo    schedule 05.08.2014
comment
Пожалуйста, кто-нибудь, закройте этот мой глупый вопрос.   -  person ToZo    schedule 07.08.2014


Ответы (1)


Вы должны использовать ключевое слово type, которое объявляет псевдоним типа. Ключевое слово data объявляет новый пользовательский тип данных. Таким образом, вы можете сделать что-то вроде

data Point = MkPoint (Data.Array.Unboxed.UArray Int Double)
--           ^ The constructor name

Но вы, кажется, только хотите

type Point = Data.Array.Unboxed.UArray Int Double
--           ^ No custom constructor for type alias
person bheklilr    schedule 05.08.2014