问题标签 [overloaded-lists]

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.

0 投票
1 回答
110 浏览

haskell - 顶级 OverloadedLists 字面量

我有一个用于重构练习的测试套件,我希望它Data.ListData.List.NonEmpty. 练习由一个函数组成,foo :: [Foo] -> Foo测试套件有一些

为了使测试套件具有多态性OverloadedLists,我尝试了

但这给了我错误

我想将IsList list约束移动到Case数据类型,就像这样

但这给了我错误

我不确定这里最简单的方法是什么。有什么提示吗?

0 投票
1 回答
44 浏览

c++ - 通过重载方法和运算符使用和接受不同大小的文字数组常量的一种优雅或至少可行的方式

所以我有这个测试用例,我试图不必进行一百万个运算符重载或处理重载冲突或复杂性。我希望能够处理带有运算符重载的文字数组常量。这是为预期库创建易用性的一种要求(此测试用例朝着相同的方向发展。)

我正在寻找一种能够添加、减去可变长度的数组文字常量的解决方案。我有一些解决方案,一个可行但前提是 C_COORDS 和 N_COORDS 都不止一个。我使用定义而不是模板来简化测试用例,但这些定义将在最后一小时被模板替换。

欢迎任何建议。请注意,我确信我可以更清楚地说明这一点,但目前看不出如何。30 年前,我曾经做过很多 C 编程。但是从那以后没有太多接触CPP,是的,我主要了解CPP以及它与旧C之间的区别,但还没有太多经验。我只是注意到,因为我确信我错过了一些明显的东西。谢谢。我的测试用例如下......

0 投票
1 回答
156 浏览

haskell - 为什么 IsList 需要 toList?

使用-XOverloadedStrings时可以实现IsString只需要一个函数fromString。现在,如果您想使用字符串文字进行模式匹配,您还必须实现Eq,这是有道理的:

但是为什么使用的IsList类型类-XOverloadedLists需要你实现toList呢?在wiki中,唯一提到的用例toList是模式匹配。我知道这Eq对于列表模式匹配是不够的。但是toList应该在一个不同的类型类中,只有你想使用与你的类型匹配的列表模式时才需要,就像不需要IsString一样。 Eq

对我来说,令人讨厌的事情是fromList . toList = id必须满足条件,但这对于某些类型(例如无序集合)根本无法保证,它不能保证元素的顺序保持不变。

这似乎非常不一致。

0 投票
0 回答
63 浏览

haskell - 有没有办法使用语法糖来构建存在类型列表?

考虑一个类似列表的类型:

我希望能够使用语法糖来构建这些列表,如下所示:

但即使使用RebindableSyntaxand OverloadedLists,我似乎仍然无法通过内置列表类型,试图统一所有元素的类型,这让我很困惑:

有什么办法可以解决这个问题,还是我坚持写这些不加糖?