ghc

    1熱度

    1回答

    我不想禁用在Haskell中檢查伴隨綁定的函數。 我想這樣做的原因是能夠通過矛盾來實施證明。以下類型的簽名沒有任何約束力,不應該如此。 zeroDoesNotEqualOne :: Refl Z (S Z) -> Bottom Refl Z (S Z)類型沒有居民,因此應該沒有約束力。 在上面的代碼中的類型意味着你可以預料到的,使得S Z是皮亞諾自然的1和Refl只有類型的單個居民Refl a

    4熱度

    2回答

    有沒有辦法在O(1)的時間內得到ByteString中的第一個UTF-8 Char?我正在尋找類似 headUtf8 :: ByteString -> Char tailUtf8 :: ByteString -> ByteString 我還沒有限制使用嚴格或懶惰ByteString,但我更喜歡嚴格。對於懶惰的ByteString,我可以通過Text拼湊一些東西,但我不確定這是多高效(特別是空

    1熱度

    2回答

    是否可以在程序中設置RTS選項? 具體來說,我想要達到相同 ./my-prog +RTS -M4G 我知道哈斯克爾堆棧,你可以決定在編譯時的一些RTS選項。但我不想在編譯時修復這些選項,因爲我希望我的程序從配置文件中讀取這些選項,並讓它知道這些選項。 GHC可以嗎?

    2熱度

    2回答

    我正在解析同時具有<和<<的語言。在我的亞歷克斯定義我已經得到的東西,它包含類似 tokens :- "<" { token Lt } "<<" { token (BinOp Shl) } 所以每當我遇到<<,是被符號化的左移和不以低於的。這通常是一件好事,因爲我最終在標記後拋出空白,並且想區分1 < < 2和1 << 2。不過,還有其他的時候我希望<<已經被讀爲兩個<。例如,

    0熱度

    1回答

    我想進口splitOn不使用驚天動地或堆棧。那可能嗎?它GHCI拒絕importData.Text,Data.List.Split或Data.Split,什麼是不使用驚天動地或堆棧中的下一個步驟?是否可以直接從GHCi中導入? 謝謝。

    0熱度

    1回答

    我有這樣的依賴圖(忽略第三方模塊的依賴)引導模塊: Main: GSI.Util GSI.Value GSI.Result GSI.Eval GSI.ByteCode GSI.Thread GSI.Main: GSI.Value GSI.ByteCode GSI.Thread: GSI.Util

    0熱度

    2回答

    我正在使用yesod-simple模板構建一個簡單的web應用程序(稱爲pkb)。我需要一堆沒有LTS-6.25最新版本的庫(當前默認爲yesod-simple),所以我將解析器更改爲stack.yaml中的lts-7.9。我也看了this issue with GHC 8.0.1和它周圍的成功合作,加入 {-# LANGUAGE NoDisambiguateRecordFields #-} {

    5熱度

    3回答

    GHC重寫assert時優化只是id。或者,它的行爲可以通過編譯器標誌來改變。不過,我注意到trace也沒有發生同樣的情況。如果標誌未被設置或被設置,是否有trace的版本,最終結果爲id? 更一般地說,是否有方法根據用於編譯調用模塊的編譯器標誌(而不是用於編譯自身的標誌)來改變函數的行爲。就像assert一樣。或者這是GHC的魔法,只能發生在assert?

    0熱度

    1回答

    我不確定在Haskell中是否有內置的Date類型,但很難說,我也找不到任何文檔。 這裏是我的import語句 import Data.Aeson (FromJSON (..), ToJSON (..), Value, genericParseJSON, genericToJSON) import Data.Aeson.Types (Options (..), defaultOpti

    5熱度

    2回答

    我試圖從GHC分析器中理解。有一個相當簡單的應用程序,它使用werq和lens-aeson圖書館,並在瞭解GHC分析時,決定玩一下它。 使用不同的選項(time工具,+RTS -p -RTS和+RTS -p -h)我獲得了完全不同數量的我的內存使用情況。擁有所有這些數字後,我現在完全失去了試圖瞭解正在發生的事情以及應用程序實際使用的內存量。 這種情況讓我想起了Arthur Bloch的一句話:「有