问题标签 [overloaded-strings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 为什么 ByteString 不自动转换为 FilePath?
我将 a (strict) 传递ByteString
给期望 a 的东西System.IO.FilePath
,它被声明为type FilePath = String
. 我也在用{-# LANGUAGE OverloadedStrings #-}
。我已经在某些地方自动进行了转换,但这里没有。我做错了什么?
haskell - 使用 postgresql-simple 查询字符串的类型错误
与这个问题相关,我有一个使用interpolate
包构建的查询模板,然后我试图将其传递给query_
/execute_
函数postgresql-simple
。但编译器拒绝,并出现错误
postgresql-simple 的文档页面中值得注意的一段话是,“要最轻松地构建查询,请启用 GHC 的OverloadedStrings
语言扩展并将您的查询编写为普通的文字字符串。” 因此,看起来以下应该有效:
但这不会编译,如上所述:
是什么赋予了?为什么不在OverloadedStrings
这里工作?
haskell - 如何在 ihaskell 笔记本中设置 OverloadedStrings?
我从示例笔记本中了解到,我应该能够启用和禁用扩展,如下所示:
但是,当我使用 OverloadedStrings 尝试此操作时,我看不到任何成功。您可以从下面看到 T.lines 正在寻找 String 而不是 Text。为什么?
我有什么误解或做错了什么?
haskell - 为什么 IsList 需要 toList?
使用-XOverloadedStrings
时可以实现IsString
只需要一个函数fromString
。现在,如果您想使用字符串文字进行模式匹配,您还必须实现Eq
,这是有道理的:
但是为什么使用的IsList
类型类-XOverloadedLists
需要你实现toList
呢?在wiki中,唯一提到的用例toList
是模式匹配。我知道这Eq
对于列表模式匹配是不够的。但是toList
应该在一个不同的类型类中,只有当你想使用与你的类型匹配的列表模式时才需要,就像不需要IsString
一样。 Eq
对我来说,令人讨厌的事情是fromList . toList = id
必须满足条件,但这对于某些类型(例如无序集合)根本无法保证,它不能保证元素的顺序保持不变。
这似乎非常不一致。