[英]How to force Stack to re-compile when a text file read using template haskell changes?
我目前正在為 xmonad 編寫配置。 我想制作一個可變的顏色主題配置,所以我將每個顏色主題設為一個類型,例如data Dracula = Dracula和一個顏色類型 class 現在我想更改顏色主題,然后使用 dmenu 腳本,該腳本會將所選顏色主題名稱寫入文本文件,每個名稱都是主題類型名稱的 ...
[英]How to force Stack to re-compile when a text file read using template haskell changes?
我目前正在為 xmonad 編寫配置。 我想制作一個可變的顏色主題配置,所以我將每個顏色主題設為一個類型,例如data Dracula = Dracula和一個顏色類型 class 現在我想更改顏色主題,然后使用 dmenu 腳本,該腳本會將所選顏色主題名稱寫入文本文件,每個名稱都是主題類型名稱的 ...
[英]No instance for (Data.Vector.Generic.Base.Vector ...) when using Hasql.TH
我有一個使用 Hasql.TH 在 Hasql 中運行的查詢,我遇到了一個我以前從未見過的錯誤(見下文)。 我看到這個 SO question/answer引用了vector的版本,但是(a)我正在使用stack所以這些事情應該得到解決(對嗎?); (b) vector的版本沒有在錯誤中突出顯示, ...
[英]How can I write COMPLETE pragmas for types with many constructors?
假設我有一個具有許多構造函數和一些模式同義詞的類型。 我想使用模式同義詞來替換一些構造函數。 我怎樣才能編寫必要的COMPLETE pragma(s) 而不必手動寫出所有構造函數並且如果添加更多構造函數會落后? ...
[英]Evaluation of template haskell in Yesod
在瀏覽 Yesod Book 的示例時,我遇到了以下代碼段的問題: (在 598 頁的第 124 頁; 路線 arguments ) 第 11 行的實例聲明引發以下錯誤: 可以通過將該行移動到定義路由的mkYesod塊下方來修復它。 我試圖理解為什么會這樣。 這是否意味着在編譯時模板 Haskel ...
[英]What does `BytesPrimL` represent?
我可以弄清楚大多數文字用ppr表示的內容,例如WordPrimL 7 = 7## 、 CharPrimL 'x' = 'x'#等。我唯一不知道的構造函數是BytesPrimL :λ> bytes <- mallocForeignPtrArray @Word8 5 λ> let b ...
[英]How to collect values spread throughout a Haskell codebase
我有一個用 Haskell 編寫的 web 應用程序(在客戶端使用 ghcjs,在服務器端使用 ghc),我需要一種方法來收集分布在整個模塊中的 CSS 值。 目前我使用的技術涉及CssStyle class 和模板 haskell。 When a module needs to export s ...
[英]DuplicateRecordFields causes Template Haskell 'Illegal variable name' error
我不明白為什么DuplicateRecordFields語言編譯指示會在模板 haskell 拼接中導致編譯時錯誤。 例子: 當我刪除DuplicateRecordFields雜注時,編譯時錯誤消失了。 I am using the DuplicateRecordFields pragma bec ...
[英]Template Haskell resolve type aliases
我正在使用模板 Haskell 生成有關類型的數據。 出於多種原因,我需要將要使用的類型“規范化”。 所以它不應該是類型別名/同義詞。 我真的不想禁止在構造中使用類型別名,因為使用的某些類型可能會變得很大。 所以現在我有一個問題,當用戶指定一個類型時,它與我期望的類型不匹配。 例如,如果我有這個定義 ...
[英]Why can't I cabal install template-haskell-2.17.0.0?
我正在嘗試安裝特定版本template-haskell-2.17.0.0 。 我運行此命令,但在依賴項解析期間出現錯誤: 我正在使用最新的 cabal 版本: ...
[英]How to "encode" this simple expression in template Haskell?
我有一個電話myFun @m @d 。 現在我想為我的模板 Haskell 編碼。我試試let myFunCall = AppTypeE (VarE $ mkName "myFun") (AppT (VarT $ mkName "m") (VarT $ mkName "d")) 但它是無效的,因 ...
[英]How to compile QuasiQuoter during runtime?
我有一個“QuasiQuoter”,它在 Haskell 的源代碼中很有用,但也可以作為獨立應用程序使用。 所以,我需要能夠運行 QuasiQuoter 在 Haskell 的編譯期間 - [myGrammar|someCommand|] In runtime(運行時編譯) in shell - ...
[英]Listing all fixity declarations in Quasiquote monad
我想列出 Quasiquote monad 中的所有固定性聲明,以便我能夠將所有中綴運算符從 Haskell 語法傳遞到我的 Quasiquote 語法。 template-haskell中有什么方法可以讓我這樣做嗎? 我找不到任何。 謝謝。 ...
[英]What is the Unit type?
通常在 Haskell 中,不允許長度為 1 的元組 (AFAIK)。 但是,當弄亂模板 Haskell 時,我得到了這個:oneElementTuple = $(do{ x <- newName "x"; return $ LamE [VarP x] ...
[英]How can I use Template Haskell to build structures polymorphically?
我可以寫一個實例-- In Data.Sequence.Internal instance Lift a => Lift (Seq a) where ... 讓用戶將完全實現的序列提升到拼接中。 但是假設我想要一些不同的東西來構建用於創建序列的函數?sequenceCode :: Qu ...
[英]Haskell ignore unresolved imports
非常具體的用例:我正在構建一個自動測試系統,學生可以在其中提交他們的作業,這是自動標記的。 但是,VSCode 經常會插入偽造的導入,這在測試機上無法解決。 但是,這些模塊從未使用過。 你是一種忽略錯誤並強制編譯的方法嗎? 這是那種錯誤,我可以強行忽略它,只有在無法解析符號時才拋出嗎?: ...
[英]What is the difference between single double qoute/apostrophe in template-haskell?
在學習帶有Optics包的 Haskell 鏡頭時,我遇到了以下示例: data Person = Person { _name :: String , _age :: Int } makeLenses ''Person makePrisms 'Person Name類型的值代表 ...
[英]Spread Haskell Singleton definition among modules
我正在使用singletons和singletons-th庫,並且我想(如果可能)在文件之間拆分單例定義。 我嘗試創建一個數據系列,但我收到一個Declaration cannot be promoted錯誤。 data family Field data family SField :: Fiel ...
[英]Using a declaration quoter in a where statement
我正在實現一個基於使用標准 haskell 函數/組合器來構建數據庫查詢的 DSL。 從實現 POV 中,我決定在查詢中表示變量,如下所示:newtype Variable = Var { fromVar :: Text } 然而,這迫使用戶經常寫Var "something" ,所以我決定編寫一 ...
[英]Is there an easy way to quote a type with constrained parameters?
假設我有一個Default像 Default 有一種直接的方法可以為也具有Monoid實例的類型定義實例,例如 但由於重疊問題,為了使這個更可控,可能會提供一個 TH 宏。 (是的,我知道我們可以使用-XDerivingVia ,我對這里的這種解決方案不感興趣。) 這可以通過引用類型輕松調用,例 ...
[英]How to define all musical note names .. Cbb Cb C Cs Css .. as constructors in Haskell
我正在演奏音符名稱,其目標是不混淆等音等號,即我想讓臨時記號(升號和降號)正確。 即使Fs和Gb是鋼琴鍵盤上的同一個鍵,音符B上方的完美五度音符必須是Fs而不是Gb 。 我還希望在 haskell 程序中方便地編寫 ee Fs ,沒有空格、引號或額外的 function 。 我最終定義了 35 個構 ...