purescript

    3热度

    1回答

    我正在尝试使用purescript-pux和CodeMirror这个静态代码编辑器编写应用程序。 CodeMirror从text-area生成编辑器,但事件处理方式不同,因此我无法使用Pux.Html.Events中的onChange函数。 要处理的CodeMirror编辑器输入的变化,应该做这种方式: CodemirrorInstance.on('change',function(cMirror

    1热度

    1回答

    我想用一个依赖旧状态的函数来修改我的状态,但也会引入一些随机性。我的功能f看起来是这样的: f :: State -> Eff (random :: RANDOM) State 我想我的状态应该是纯洁的,我不知道如何摆脱掉Eff,除了使用unsafePerformEff,所以我这样做: eval :: Query ~> H.ComponentDSL State Query g eval (T

    0热度

    1回答

    我在使用包含运动的purescript信号构建Purescript游戏。用户按下左/右键移动左/右。最小的代码在下面。 看起来purescript正在评估信号的“从时间的开始”每一步,这让我感到莫名其妙。例如,如果我继续在开始处按右键,输出 m: 0 m: 0 m: 1 m: 0 m: 1 m: 2 m: 0 m: 1 m: 2 m: 3 而不是 m: 0 m: 1 m:

    8热度

    1回答

    XY问题 如何转换数组中PureScript列表? arrayToList :: forall a. Array a -> List a arrayToList = ??? 实际问题 必备我一定写这个功能呢? purescript-arrays也没有purescript-lists定义这样一个函数,这导致我想知道是否有一种习惯的方式来处理列表中的函数的上下文中的数组。 例如Matrix.ge

    0热度

    1回答

    我正在用PureScript写一个棋盘游戏,涉及一个确切大小为2x7的矩阵(在某些变化中它可以是4x7)。我正在使用的软件包有一个Matrix.getRow函数,它返回Maybe (Array a)。 什么是不必须处理Maybe返回时,我知道肯定Matrix.getRow 0总是要返回的第一行(因为矩阵是固定大小的2×7)最好的方法? 目前我有丑陋的代码来处理Maybes这显然不是很理想: not

    2热度

    1回答

    我的项目目前有一个编译器错误,但是这不应该打开一个交互式会话PureScript阻止我,但它的作用: $ pulp psci Error found: at /Users/srid/code/PS/Pallanguzhi/src/Board.purs line 41, column 50 - line 41, column 50 Unable to parse module:

    2热度

    1回答

    我是Purescript的新手,正在按照安装教程进行操作。 Purescript本身正在工作,我可以使用pulp psci启动CLI,但安装purescript-list会遇到麻烦。 已经输入的命令bower install purescript-lists --save,我得到的包名的一个长长的清单,但是当它到达purescript-eff和purescript-prelude我碰到一些版本冲突

    3热度

    1回答

    我在使用purescript-node-http库学习Purescript。如果我有一个类型是以下值: > :t f forall t3. Eff (http :: HTTP , console :: CONSOLE | t3 ) Request 我怎么能在PSCI评估这一点,并分配Request返回值的变量?

    1热度

    1回答

    我使用NEWTYPE作为记录的字段,和模式匹配的“父”类型来提取嵌套值是麻烦: newtype CityName = CityName String newtype City = City { name :: CityName } instance showCity :: Show City where show (City { name }) = case name o

    1热度

    1回答

    优秀PureScript book解释说, fullName :: forall r. Record (firstName :: String, lastName :: String | r) -> String fullName person = person.firstName <> " " <> person.lastName 的箭头,然后比较Eff单子 import Prelude