Я смотрю эту страницу на optparse-generic.Haskell Optarse Общий пример сбоя на TypeOperators и DataKinds
с этой версией optparse:
$ stack install optparse-generic-1.1.4
optparse-generic-1.1.4: download
optparse-generic-1.1.4: configure
optparse-generic-1.1.4: build
optparse-generic-1.1.4: copy/register
Когда я пытаюсь запустить этот пример кода точно так, как Дано:
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-}
import Options.Generic
data Example = Example
{ foo :: Int <?> "Documentation for the foo flag"
, bar :: Double <?> "Documentation for the bar flag"
} deriving (Generic, Show)
я получаю:
<interactive>:10:14-56: error:
Illegal operator ‘<?>’ in type ‘Int <?> "Documentation for the foo flag"’
Use TypeOperators to allow operators in types
<interactive>:10:25-56: error:
Illegal type: ‘"Documentation for the foo flag"’
Perhaps you intended to use DataKinds
<interactive>:11:14-56: error:
Illegal operator ‘<?>’ in type ‘Double <?> "Documentation for the bar flag"’
Use TypeOperators to allow operators in types
<interactive>:11:25-56: error:
Illegal type: ‘"Documentation for the bar flag"’
Perhaps you intended to use DataKinds
λ>
Как вы можете видеть , У меня есть как DataKinds, так и TypeOperators. Как я могу отладить, что здесь происходит?
Как вы загружаете файл? '' частей сообщения об ошибке заставляет меня думать, что вы вводите пример в сеансе GHCI напрямую, уверены ли вы, что расширения включены? (Пример отлично работает при загрузке из файла на моем конце) –
adamse
Загрузил файл с частями над определением 'data Example'. Введена вторая часть в ghci. – Mittenchops
Если все в файле, все в порядке. Но я не могу проверить и определить эти типы данных в ghci? – Mittenchops