问题标签 [purescript]

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 回答
870 浏览

purescript - 如何更新用`data`而不是`type`定义的PureScript记录?

更新用type作品定义的记录,如与 Haskell 的区别中所述

但是当使用data(并因此指定构造函数)定义时,它不会:

我从编译器得到的错误是

和一些细节。

我可以在这里做什么?

0 投票
1 回答
321 浏览

purescript - PureScript 是否支持 C / Java 等“格式字符串”?

我需要输出一个带有前导零和六位数的数字。在 C 或 Java 中,我会使用"%06d"格式字符串来执行此操作。PureScript 是否支持格式字符串?或者我将如何实现这一目标?

0 投票
1 回答
253 浏览

purescript - 如何正确解开`data`中的`data`?

我正在尝试访问嵌套数据(在下面的示例中为Foo.yinside Bar),但是想到的直接展开Foo内部的方法Bar不起作用。但是如何正确解包呢?

这是我的数据:

以下(当然)无法编译,错误是Could not match type { y :: Int } with type Foo- 就像BarFoo需要先解包:

所以我对以下内容寄予厚望,但可惜的是,编译器说“不”(Foo构造函数周围的括号没有帮助):

以下工作,使用辅助函数进行解包,但必须有更好的方法:

那么,如何进行嵌套的“展开”呢?

[编辑]

经过一两个小时的尝试后,我想出了这个,它有效:

这是惯用的方法吗?为什么不fn2工作fn3

0 投票
1 回答
418 浏览

node.js - 无法启动 psc-ide-server 进程。检查配置的端口号是否有效。psc-ide-服务器错误

我的最终目标是使用Purescript的 Atom IDE 插件,这给了我错误:

无法启动 psc-ide-server 进程。检查配置的端口号是否有效。psc-ide-服务器错误

我刚刚使用npm.

它应该有psc-ide-serverandpsc-ide-client吗?我在 purescript master 分支中看到了这些文件夹,并且发布文档提到它现在与编译器一起分发。我如何访问它?

在我的/usr/local/lib/node_modules/purescript/bin,我看到psc-bundle,psc-docs,psc-publish,psc, psci但没有psc-ide-serverpsc-ide-client

0 投票
1 回答
108 浏览

purescript - 奇怪的类型推理行为

我试图理解为什么在这个简单的代码purescript中无法正确推断参数的类型:map

这是我的错误信息:

但是,如果我手动指定类型,它会起作用:

为什么它不想自动推断这种类型,即使它已经在函数签名中提供?

0 投票
2 回答
1995 浏览

purescript - 在 Purescript 中合并记录

鉴于我在 purescript 中有以下记录:

是否有可能以一种通用的方式将这两个记录结合起来?就像是:

这样我得到以下记录:

不知何故,Eff 行类型似乎是可能的,但我很好奇“正常”记录是否可能。我是 purescript 的新手,它是记录语法。

非常感谢。

0 投票
2 回答
257 浏览

purescript - 如何创建具有多态数据的数组?

我正在尝试这样做

但是有一个错误

无法匹配类型

带类型

0 投票
1 回答
333 浏览

purescript - 如何在 Exists 中使用类型约束

我可以创建一个https://github.com/purescript/purescript-exists数组Exists

如何使用类型类?我想得到["0", "x"]

找不到类型类实例

实例头包含未知类型变量。考虑添加类型注释。

0 投票
2 回答
483 浏览

types - 如何统一这些类型?

我有来自 purescript-express 的以下代码(但问题更笼统)。

setHandler需要具有get定义为的给定签名

但是现在我想在其中使用以下功能setHandler

这会给我以下编译器错误

我知道getPointsSet有效地使用需要 setHandler 也成为 a Aff,但我无法将它与getthen 连接起来。

编辑

如果我尝试按照liftAff以下答案中的建议添加

我收到以下错误

我需要做什么来解决这个问题?

0 投票
1 回答
80 浏览

purescript - Purescript卤素组件功能:传递间隔参数而不是记录?

我在 PureScript 0.8.2 上。在 PureScript Halogen 中,该component函数具有签名:

在哪里

所以component期待一个记录。但在卤素模板项目中,component调用如下:

我在看两个不同的component功能吗?或者由空格分隔的参数是否被转换为记录?所以我尝试了以下方法psci