問題タブ [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 - javascriptからの継承を扱う慣用的な方法は何ですか?
たとえば、JavaScriptライブラリにはこの階層があります
そしてこの機能
PureScript でこの関数をどのように記述しますか?
arrays - 純粋なスクリプトで文字のリストを文字列に変換するにはどうすればよいですか
List Char -> String
Purescriptで関数を記述する慣用的な方法を探しています。
これは簡単なことのように思えますが、私は Purescript を初めて使用し、ドキュメントをしばらく閲覧していましたが、進展がありません!
背景情報: Haskell から Purescript に単純な関数を移植しています
これにより、指定された長さの文字列が生成されます。List Char
操作を使用するようにコードを変換するのは非常に簡単でした( Purescript のどこList
から)。Data.List
Haskell[Char]
では同じなので他の処理は必要ありませんが、PurescriptでネイティブにString
変換する関数が見つかりません!List Char
String
検索fromCharArray :: Array Char -> String
で inにたどり着きましたが、 から!Data.String
に変換する方法が見つかりませんでしList Char
た。Array Char
フォールド オーバーしてusingList Char
をビルドすることで手動で変換できますが、Purescript での基本的な文字列操作のように見える組み込みのソリューションが欠けているに違いありません。
Array Char
snoc
編集: fromList
any Unfoldable
(配列など) からList
. これを達成するためのより慣用的な方法がある場合に備えて、この質問はまだ開いたままにしておきます。
haskell - Purescript でフリー モナドを操作する
「ビュー」データ構造と関連する演算子などControl.Monad.Free
を非表示にするのはなぜですか?purescript-free
FreeView
toView
Free モナドの通常の定式化では -
そして、次のような Functor が与えられた -
チェーン化された PutStrLn 呼び出しを次のように折りたたむ単純な (醜い) コードをいくつか書くことができます -
実際のデータ コンストラクターを使用せずに、collapseChained
Purescript の によってエクスポートされた関数を使用することと同等のことは可能ですか?Control.Monad.Free
purescript - purescript 型署名はコンパイルに失敗し、コードはなくても正常に動作します。提案された署名が機能しない
次のコードでは、このエラーが発生します。
エラー:
の型シグネチャを省略してもdriver'
、期待どおり、コンパイラ エラーは発生しません。psc
(タイプを に置き換えて) 署名を求める場合_
は、次のように提案します。
これを元の型ではなくコードにカット アンド ペーストすると、エラーは上記と同じになります。
2 番目のケースでは、量指定子が a の新しいスコープを開き、main' のシグネチャでキャプチャする必要があるため、これは実際に意味があります。しかし、を削除してもforall a
、型エラーが残ります。
#purescript の garyb は、タイプ チェッカーのバグである可能性があると述べました。とにかく、それが確立された事実になるまで、私はこれをここに投稿しています.
ありがとう!(:
purescript - >>= は purescript で何を意味しますか?
私はpurescript wikido
を読んでいて、次のセクションを見つけまし>>=
た.
とは>>=
どういう意味ですか?
Do表記
do キーワードは、モナド式の単純な構文糖衣を導入します。
Maybe
型にモナドを使用した例を次に示します。
maybeSum
タイプの 2 つの値を取りMaybe Number
、どちらの数値も でない場合はそれらの合計を返しますNothing
。do 表記を使用する場合、戻り値の型に対応する Monad 型クラスのインスタンスが存在する必要があります。ステートメントの形式は次のとおりです。
a <- x
脱糖するx >>= \a -> ...
x
x >>= \_ -> ...
これが最後のステートメントである場合は、または単に xに脱糖します。- let バインディング
let a = x
。in
キーワードがないことに注意してください。例
maybeSum desugars to
::
purescript - Aff を削除する方法 (Eff の unsafePerformEff に似ています)?
Node.FS.Aff.readTextFile を介してファイルから読み取ったファイルのコンテンツを取得しようとしているため、非同期効果を使用しています。
しかし、私の質問はより一般的です。
Left
だから私はorRight
値を取得したい。Eff
代わりにAff
使用できる場合
ありがとう
purescript - PureScript でファイルを読み取る方法 (readFile)
テスト中に、ファイルをディスクから読み書きしたいと思います (JSON 入力、JSON 出力)。PureScript でこれを行うにはどうすればよいですか? Haskellには次のようなものがあります
readFile
fromを使用しようとするなど、これまでのすべての試みは失敗しましたimport Node.FS.Sync
。
ところで、JSON ファイルを読み取る他の (より良い) 方法があれば、お知らせください。(私は JavaScript の専門家ではありませんが、他の場所で使用できるように、厳密な Haskell コードを JS に移植したいと考えています。)