問題タブ [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.
purescript - `type` の代わりに `data` で定義された PureScript レコードを更新するには?
Haskell との違いtype
で説明されているように、works で定義されたレコードを更新する
ただし、で定義されている場合data
(したがってコンストラクターを指定している場合) は、次のようにはなりません。
コンパイラから得られるエラーは
そしていくつかの詳細。
ここで何ができますか?
purescript - PureScript は C / Java などの「フォーマット文字列」をサポートしていますか?
先頭にゼロを付けて 6 桁の数値を出力する必要があります。C または Java では"%06d"
、これを行うためのフォーマット文字列として使用します。PureScript はフォーマット文字列をサポートしていますか? または、どうすればこれを達成できますか?
purescript - 「データ」内の「データ」を正しくアンラップする方法は?
Foo.y
ネストされたデータ (以下の例の内部)にアクセスしようとしていますが、頭に浮かぶ内部Bar
をアンラップする簡単な方法は機能しません。しかし、それを正しくアンラップする方法は?Foo
Bar
ここに私のデータ:
次の (もちろん) はコンパイルされません。エラーはCould not match type { y :: Int } with type Foo
— のようBar
に、Foo
最初に展開する必要があります。
したがって、私は次のことを期待していますが、残念ながら、コンパイラは「いいえ」と言います (Foo
コンストラクターの括弧は役に立ちません)。
次の例では、ヘルパー関数を使用してアンラップを実行していますが、もっと良い方法が必要です。
では、ネストされた「アンラップ」を行うにはどうすればよいでしょうか?
[編集]
1〜2時間試してみた後、これを思いつきました。これはうまくいきます:
これは慣用的な方法ですか?なぜ仕事をしないfn2
のfn3
ですか?
node.js - psc-ide-server プロセスを開始できませんでした。構成されたポート番号が有効であることを確認してください。psc-ide-server エラー
私の最終目標は、 Purescript用の Atom IDE プラグインを使用することで、エラーが発生します。
psc-ide-server プロセスを開始できませんでした。構成されたポート番号が有効であることを確認してください。psc-ide-server エラー
を使用して Purescript 0.8.2 をインストールしましnpm
た。
psc-ide-server
とが必要psc-ide-client
ですか? これらのフォルダーは purescript マスター ブランチにあり、リリース ドキュメントには、現在コンパイラと共に配布されていることが記載されています。どうすればアクセスできますか?
私の/usr/local/lib/node_modules/purescript/bin
中で、私は見るpsc-bundle,psc-docs,psc-publish,psc, psci
が、いいえpsc-ide-server
、psc-ide-client
purescript - Purescript でレコードを結合する
純粋なスクリプトで次のレコードがあるとします。
これらの 2 つのレコードを一般的な方法で結合することは可能ですか? 何かのようなもの:
次のレコードを取得するように:
どうやら Eff の行タイプでは可能のようですが、「通常の」レコードで可能かどうか興味があります。私はピュアスクリプトが初めてで、それはレコード構文です。
どうもありがとう。
types - これらのタイプを統一する方法は?
purescript-express の次のコードがあります (ただし、質問はより一般的です)。
setHandler
get
として定義されているように、指定された署名が必要です
ただし、次の関数を使用したいsetHandler
次のコンパイラエラーが表示されます
getPointsSet
効果的に使用するには setHandler も になる必要があることを理解してAff
いますが、それを then に接続することはできませんget
。
編集
liftAff
以下の回答で提案されているように追加しようとすると
次のエラーが表示されます
それを解決するために私は何をする必要がありますか?