2014-08-05 2 views
1

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

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

GHC говорит «Квалифицированное имя в положении связывания: Data.Array.Unboxed.UArray»

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

+1

использование 'типа точки = Data.Array.Unboxed.UArray Int Double';) – Carsten

+0

Для псевдонимов типа используйте' type' , а не 'данные'. –

+0

OMG, как я мог пропустить это! – ToZo

ответ

4

Вы должны использовать ключевое слово 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 
Смежные вопросы