我目前正在为 xmonad 编写配置。 我想制作一个可变的颜色主题配置,所以我将每个颜色主题设为一个类型,例如data Dracula = Dracula和一个颜色类型 class 现在我想更改颜色主题,然后使用 dmenu 脚本,该脚本会将所选颜色主题名称写入文本文件,每个名称都是主题类型名称的 ...
我目前正在为 xmonad 编写配置。 我想制作一个可变的颜色主题配置,所以我将每个颜色主题设为一个类型,例如data Dracula = Dracula和一个颜色类型 class 现在我想更改颜色主题,然后使用 dmenu 脚本,该脚本会将所选颜色主题名称写入文本文件,每个名称都是主题类型名称的 ...
我有一个使用 Hasql.TH 在 Hasql 中运行的查询,我遇到了一个我以前从未见过的错误(见下文)。 我看到这个 SO question/answer引用了vector的版本,但是(a)我正在使用stack所以这些事情应该得到解决(对吗?); (b) vector的版本没有在错误中突出显示, ...
假设我有一个具有许多构造函数和一些模式同义词的类型。 我想使用模式同义词来替换一些构造函数。 我怎样才能编写必要的COMPLETE pragma(s) 而不必手动写出所有构造函数并且如果添加更多构造函数会落后? ...
在浏览 Yesod Book 的示例时,我遇到了以下代码段的问题: (在 598 页的第 124 页; 路线 arguments ) 第 11 行的实例声明引发以下错误: 可以通过将该行移动到定义路由的mkYesod块下方来修复它。 我试图理解为什么会这样。 这是否意味着在编译时模板 Haskel ...
我可以弄清楚大多数文字用ppr表示的内容,例如WordPrimL 7 = 7## 、 CharPrimL 'x' = 'x'#等。我唯一不知道的构造函数是BytesPrimL :λ> bytes <- mallocForeignPtrArray @Word8 5 λ> let b ...
我有一个用 Haskell 编写的 web 应用程序(在客户端使用 ghcjs,在服务器端使用 ghc),我需要一种方法来收集分布在整个模块中的 CSS 值。 目前我使用的技术涉及CssStyle class 和模板 haskell。 When a module needs to export s ...
我不明白为什么DuplicateRecordFields语言编译指示会在模板 haskell 拼接中导致编译时错误。 例子: 当我删除DuplicateRecordFields杂注时,编译时错误消失了。 I am using the DuplicateRecordFields pragma bec ...
我正在使用模板 Haskell 生成有关类型的数据。 出于多种原因,我需要将要使用的类型“规范化”。 所以它不应该是类型别名/同义词。 我真的不想禁止在构造中使用类型别名,因为使用的某些类型可能会变得很大。 所以现在我有一个问题,当用户指定一个类型时,它与我期望的类型不匹配。 例如,如果我有这个定义 ...
我正在尝试安装特定版本template-haskell-2.17.0.0 。 我运行此命令,但在依赖项解析期间出现错误: 我正在使用最新的 cabal 版本: ...
我有一个电话myFun @m @d 。 现在我想为我的模板 Haskell 编码。我试试let myFunCall = AppTypeE (VarE $ mkName "myFun") (AppT (VarT $ mkName "m") (VarT $ mkName "d")) 但它是无效的,因 ...
我有一个“QuasiQuoter”,它在 Haskell 的源代码中很有用,但也可以作为独立应用程序使用。 所以,我需要能够运行 QuasiQuoter 在 Haskell 的编译期间 - [myGrammar|someCommand|] In runtime(运行时编译) in shell - ...
我想列出 Quasiquote monad 中的所有固定性声明,以便我能够将所有中缀运算符从 Haskell 语法传递到我的 Quasiquote 语法。 template-haskell中有什么方法可以让我这样做吗? 我找不到任何。 谢谢。 ...
通常在 Haskell 中,不允许长度为 1 的元组 (AFAIK)。 但是,当弄乱模板 Haskell 时,我得到了这个:oneElementTuple = $(do{ x <- newName "x"; return $ LamE [VarP x] ...
我可以写一个实例-- In Data.Sequence.Internal instance Lift a => Lift (Seq a) where ... 让用户将完全实现的序列提升到拼接中。 但是假设我想要一些不同的东西来构建用于创建序列的函数?sequenceCode :: Qu ...
非常具体的用例:我正在构建一个自动测试系统,学生可以在其中提交他们的作业,这是自动标记的。 但是,VSCode 经常会插入伪造的导入,这在测试机上无法解决。 但是,这些模块从未使用过。 你是一种忽略错误并强制编译的方法吗? 这是那种错误,我可以强行忽略它,只有在无法解析符号时才抛出吗?: ...
在学习带有Optics包的 Haskell 镜头时,我遇到了以下示例: data Person = Person { _name :: String , _age :: Int } makeLenses ''Person makePrisms 'Person Name类型的值代表 ...
我正在使用singletons和singletons-th库,并且我想(如果可能)在文件之间拆分单例定义。 我尝试创建一个数据系列,但我收到一个Declaration cannot be promoted错误。 data family Field data family SField :: Fiel ...
我正在实现一个基于使用标准 haskell 函数/组合器来构建数据库查询的 DSL。 从实现 POV 中,我决定在查询中表示变量,如下所示:newtype Variable = Var { fromVar :: Text } 然而,这迫使用户经常写Var "something" ,所以我决定编写一 ...
假设我有一个Default像 Default 有一种直接的方法可以为也具有Monoid实例的类型定义实例,例如 但由于重叠问题,为了使这个更可控,可能会提供一个 TH 宏。 (是的,我知道我们可以使用-XDerivingVia ,我对这里的这种解决方案不感兴趣。) 这可以通过引用类型轻松调用,例 ...
我正在演奏音符名称,其目标是不混淆等音等号,即我想让临时记号(升号和降号)正确。 即使Fs和Gb是钢琴键盘上的同一个键,音符B上方的完美五度音符必须是Fs而不是Gb 。 我还希望在 haskell 程序中方便地编写 ee Fs ,没有空格、引号或额外的 function 。 我最终定义了 35 个构 ...