鉴于我在purescript中有以下记录:
let name = {name: "Jim"}
let age = {age: 37}
Run Code Online (Sandbox Code Playgroud)
是否可以将这两个记录组合成一般的方式?就像是:
name 'comb' age
Run Code Online (Sandbox Code Playgroud)
这样我得到以下记录:
{name: "Jim", age: 37}
Run Code Online (Sandbox Code Playgroud)
不知怎的,似乎有可能使用Eff rowtype,但我很好奇是否可以使用'normal'记录.我是purescript的新手,也是它的记录语法.
非常感谢.
我正在尝试构建我的react-native项目并使用react-native-fbsdk.
我使用的是react-native@0.38.0和react-native-fbsdk@0.5.0.
当我构建我的项目时,我在执行屏幕上遇到了这个错误.
**Execution failed for task** ':react-native-fbsdk:processReleaseResources'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/sathish/Android/Sdk/build-tools/23.0.1/aapt'' **finished with non-zero exit value 1**
Run Code Online (Sandbox Code Playgroud) 我想安装hello world项目,purescript在NixOs和有对夫妇的问题,
purescript网站建议安装通过,npm但没有nixos.nodePackages.purescript,相反,我找到至少2个变种nixpkgs
有什么不同?
pulp和bower通过,npm但只有nodePackages.bower可用,并且没有证件psc-package.应该nix如何处理purescript包?
hello.purs)甚至没有编译,有这些错误.
$ purs compile hello.purs
Error found:
at hello.purs line 1, column 1 - line 1, column 1
Unable to parse module:
unexpected "import"
expecting "module"
Run Code Online (Sandbox Code Playgroud)
我添加module Hello到代码但仍然失败.
$ purs compile hello.purs
Error 1 of 2:
in module Hello
at hello.purs line …Run Code Online (Sandbox Code Playgroud) 试图(.)用于功能组合,但它不起作用.
import Data.String (length, trim)
trimmedLength :: String -> Int
trimmedLength = length . trim
Run Code Online (Sandbox Code Playgroud) 我正在尝试purescript-halogen与websockets结合使用,但经过多次尝试后,我无法让它们一起工作.
我已经在Thermite和websockets上看到了这个问题以及Phil关于这个Driver功能的答案.卤素也有一个Driver功能,但我需要运行Driver具有Aff效果的功能,同时purescript-websockets-simple使用Eff效果.
我不知道如何将websocket包的同步回调转换为在Affmonad中运行的异步代码.我需要使用AVar吗?我需要purescript-coroutines-aff吗?如果是这样,我如何将这些部件连接在一起?
提前感谢任何正确方向的指针!
我正在努力学习purescript.
我在某些HTML中有一个按钮,我正在尝试打印类名.我正在建设和browserifying使用pulp.
我正在使用的函数是querySelector:
import Web.DOM.ParentNode (querySelector)
Run Code Online (Sandbox Code Playgroud)
这会在两个"框"内返回我想要的项目Element:一个外部效果monad和一个嵌入的Maybe monad:
> :type querySelector
QuerySelector -> ParentNode -> Effect (Maybe Element)
Run Code Online (Sandbox Code Playgroud)
我的效果monad看起来像:
getBtn :: Effect Unit
getBtn = do
doc <- map toParentNode (window >>= document)
button <- querySelector (wrap "#btn") doc
... Need to extract class name from 'button' here
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过在外部效果monad上调用bind(>> =)来到内部.我的第一个攻击计划是使用可能的功能手动取消装箱.以下是如何为简单的Int执行此操作:
> maybe 0 (\x -> x) $ Just 7
7
Run Code Online (Sandbox Code Playgroud)
对于一个可能的元素,我认为它看起来像:
unboxMaybeElement :: Maybe Element -> Element
unboxMaybeElement …Run Code Online (Sandbox Code Playgroud) 阅读有关Eff语言的内容,我想知道是否有类似的想法已经在使用中.Eff-Language提到了一篇名为"推断代数效应"的论文,该论文描述了Eff用于推断效果的算法.有相似之处吗?
更新使用type作品定义的记录,如与Haskell的差异中所述
type PointRec = { x :: Number, y :: Number }
setX :: Number -> PointRec -> PointRec
setX val point = point { x = val }
Run Code Online (Sandbox Code Playgroud)
但是当使用data(并因此指定构造函数)定义时,它不会:
data PointRec = PointRec { x :: Number, y :: Number }
setX :: Number -> PointRec -> PointRec
setX val point = point { x = val }
Run Code Online (Sandbox Code Playgroud)
我从编译器得到的错误是
Could not match type
Run Code Online (Sandbox Code Playgroud)
和一些细节.
我能在这做什么?
我需要输出一个带前导零和六位数的数字.在C或Java中,我将使用"%06d"格式字符串来执行此操作.PureScript是否支持格式字符串?或者我将如何实现这一目标?
purescript ×10
android ×1
facebook ×1
halogen ×1
haskell ×1
html ×1
nix ×1
nixos ×1
react-native ×1
websocket ×1