Различные результаты, полученные при использовании стека rungh c против стека ghci Haskell - PullRequest
0 голосов
/ 16 января 2020

Я пишу парсер, используя Megaparse c. По сути, основной файл открывает и читает содержимое файла, а затем анализирует его. При запуске основного файла в ghci все работало правильно img-1

Но когда я попытался запустить основной файл, используя стек rungh c - app / Main.hs, произошла странная ошибка синтаксического анализа: img-2

Вот проект на GitHub: https://github.com/phuongduyphan/dbml-parser-haskell

Может ли sb взглянуть и сказать мне Что я делаю неправильно ? Почему запуск одной и той же основной функции приводит к различным выводам из стека ghci и стека rungh c?

1 Ответ

1 голос
/ 16 января 2020

Я клонировал ваш репозиторий и попытался:

stack runghc -- app/Main.hs holistics.dbml

И получил:

Right 
( DBMLState 
    { tableS = fromList 
        [ 
            ( 0
            , NTable 
                { ntId = 0
                , ntGroupId = Nothing
                , ntName = "users" 
                , ntTableSettings = Nothing
                , ntFieldIds = [ 0 ]
                , ntIndexIds = []
                } 
            ) 
        ]
    , enumS = fromList []
    , refS = fromList []
    , tableGroupS = fromList []
    , fieldS = fromList 
        [ 
            ( 0
            , NField 
                { nfId = 0
                , nfTableId = 0
                , nfEnumId = Nothing
                , nfName = "id" 
                , nfType = "int" 
                , nfFieldSettings = Just [ FieldNote "abc" ]
                } 
            ) 
        ]
    , indexS = fromList []
    , endpointS = fromList []
    , tableIdCounter = 1
    , enumIdCounter = 0
    , refIdCounter = 0
    , tableGroupIdCounter = 0
    , fieldIdCounter = 1
    , indexIdCounter = 0
    , endpointIdCounter = 0
    } 
)

Проблема, скорее всего, связана с тем, как настроен стек или локальная среда разработки. Для справки, запуск

stack --version

дает мне

Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2

Обновление или переустановка стека может быть возможным решением.

...