問題タブ [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 に答える
141 参照

purescript - javascriptからの継承を扱う慣用的な方法は何ですか?

たとえば、JavaScriptライブラリにはこの階層があります

そしてこの機能

PureScript でこの関数をどのように記述しますか?

0 投票する
2 に答える
1376 参照

arrays - 純粋なスクリプトで文字のリストを文字列に変換するにはどうすればよいですか

List Char -> StringPurescriptで関数を記述する慣用的な方法を探しています。

これは簡単なことのように思えますが、私は Purescript を初めて使用し、ドキュメントをしばらく閲覧していましたが、進展がありません!

背景情報: Haskell から Purescript に単純な関数を移植しています

これにより、指定された長さの文字列が生成されます。List Char操作を使用するようにコードを変換するのは非常に簡単でした( Purescript のどこListから)。Data.ListHaskell[Char]では同じなので他の処理は必要ありませんが、PurescriptでネイティブにString変換する関数が見つかりません!List CharString

検索fromCharArray :: Array Char -> Stringで inにたどり着きましたが、 から!Data.Stringに変換する方法が見つかりませんでしList Charた。Array Char

フォールド オーバーしてusingList Charをビルドすることで手動で変換できますが、Purescript での基本的な文字列操作のように見える組み込みのソリューションが欠けているに違いありません。 Array Charsnoc

編集: fromList any Unfoldable(配列など) からList. これを達成するためのより慣用的な方法がある場合に備えて、この質問はまだ開いたままにしておきます。

0 投票する
1 に答える
423 参照

haskell - Purescript でフリー モナドを操作する

「ビュー」データ構造と関連する演算子などControl.Monad.Freeを非表示にするのはなぜですか?purescript-freeFreeViewtoView

Free モナドの通常の定式化では -

そして、次のような Functor が与えられた -

チェーン化された PutStrLn 呼び出しを次のように折りたたむ単純な (醜い) コードをいくつか書くことができます -

実際のデータ コンストラクターを使用せずに、collapseChainedPurescript の によってエクスポートされた関数を使用することと同等のことは可能ですか?Control.Monad.Free

0 投票する
0 に答える
149 参照

purescript - purescript 型署名はコンパイルに失敗し、コードはなくても正常に動作します。提案された署名が機能しない

次のコードでは、このエラーが発生します。

エラー:

の型シグネチャを省略してもdriver'、期待どおり、コンパイラ エラーは発生しません。psc(タイプを に置き換えて) 署名を求める場合_は、次のように提案します。

これを元の型ではなくコードにカット アンド ペーストすると、エラーは上記と同じになります。

2 番目のケースでは、量指定子が a の新しいスコープを開き、main' のシグネチャでキャプチャする必要があるため、これは実際に意味があります。しかし、を削除してもforall a、型エラーが残ります。

#purescript の garyb は、タイプ チェッカーのバグである可能性があると述べました。とにかく、それが確立された事実になるまで、私はこれをここに投稿しています.

ありがとう!(:

0 投票する
1 に答える
755 参照

purescript - >>= は purescript で何を意味しますか?

私はpurescript wikidoを読んでいて、次のセクションを見つけまし>>=た.

とは>>=どういう意味ですか?

Do表記

do キーワードは、モナド式の単純な構文糖衣を導入します。

Maybe型にモナドを使用した例を次に示します。

maybeSumタイプの 2 つの値を取りMaybe Number、どちらの数値も でない場合はそれらの合計を返します Nothing

do 表記を使用する場合、戻り値の型に対応する Monad 型クラスのインスタンスが存在する必要があります。ステートメントの形式は次のとおりです。

  • a <- x脱糖するx >>= \a -> ...
  • xx >>= \_ -> ...これが最後のステートメントである場合は、または単に xに脱糖します。
  • let バインディングlet a = xinキーワードがないことに注意してください。

maybeSum desugars to::

0 投票する
1 に答える
248 参照

purescript - Aff を削除する方法 (Eff の unsafePerformEff に似ています)?

Node.FS.Aff.readTextFile を介してファイルから読み取ったファイルのコンテンツを取得しようとしているため、非同期効果を使用しています。

しかし、私の質問はより一般的です。

Leftだから私はorRight値を取得したい。Eff代わりにAff使用できる場合

ありがとう

0 投票する
2 に答える
2208 参照

purescript - PureScript でファイルを読み取る方法 (readFile)

テスト中に、ファイルをディスクから読み書きしたいと思います (JSON 入力、JSON 出力)。PureScript でこれを行うにはどうすればよいですか? Haskellには次のようなものがあります

readFilefromを使用しようとするなど、これまでのすべての試みは失敗しましたimport Node.FS.Sync

ところで、JSON ファイルを読み取る他の (より良い) 方法があれば、お知らせください。(私は JavaScript の専門家ではありませんが、他の場所で使用できるように、厳密な Haskell コードを JS に移植したいと考えています。)