问题标签 [catamorphism]

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 投票
2 回答
111 浏览

haskell - BST:如何根据变形折叠定义“插入”?

我有一个典型的二叉搜索树数据类型:

和变态

我尝试使用定义一个插入函数foldt并得到了一些有趣的结果:

当然,传统的插入方法的行为符合预期:

有没有办法定义insertfoldt或者我在这里吠错了树(ha)?

0 投票
1 回答
46 浏览

reactjs - 如何在 React 中使用 daggy 进行条件渲染

假设我有四个组件,我想根据type使用 daggy 的道具有条件地渲染它们:

在此示例中, typeprop 值可以是字符串a, b,cd

是一个有效的代码框示例

这按预期工作,但似乎有点复杂,我觉得我在这里遗漏了一些东西,我已经阅读了文档,但我无法真正理解如何将它应用于这个简单的示例。

我在互联网上找到的示例对于我想要实现的目标来说太复杂了,这只是根据道具使用 daggy 渲染组件。

这是一个使用 daggy 进行条件渲染的示例,不幸的是它使用了一个额外的库来实现这一点,它似乎比我的示例更复杂。

如果有另一种方法可以在不使用 daggy 的情况下以类似的方式实现条件渲染,它也可以解决我的问题。

有什么建议么?

0 投票
1 回答
108 浏览

java - 如何在 Java 中实现函子的不动点

我最近发现了如何以 某种迂回的方式在 Java 中模拟高阶类型,就像这样

这里H编码一个高阶类型,它接受一个类型参数F,它本身接受参数T

现在这让我想知道,我们可以用它来实现一些更高级的结构吗?例如,Haskell 中的 Fix等函子的不动点及其相应的变态