問題タブ [acid-state]

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 に答える
485 参照

haskell - 酸状態:更新用のMonadStateインスタンス

私はしようとしていacid-stateます。ドキュメントには、それUpdate stがのインスタンスであると記載されていますMonadState st。私は別のことを試しましたが、私のコンパイラはそれを見たくありません:(私はHelloWorld.hsから試しましたが、同じ問題が発生しました:

私が間違っているのは何ですか?それを機能させる方法は?

acid-state-0.6.4、、 (amd64)ghc-7.4.2を 使用してい ますdebian-6.0.5

ありがとう、ユラス

追加: ghc-7.4.1では機能し、ghc-7.4.2では機能しないようです。誰か両方のコンパイラができますか?

acid-stateを再インストールしようとしましたが、役に立ちませんでした。ghc-7.4.2のバグか、環境IDが壊れています。

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

haskell - どうすればcabalにacid-stateをインストールさせることができますか?

私はHaskellの初心者で、酸状態ライブラリを試してみたかったのですが、インストールしようとすると次の出力が表示されます。

ありがとう!

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

haskell - 酸状態クエリからの純粋な値の取得

これは簡単なことのように思えますが、AcidState の Data.Acid.Memory.Pure モジュールを使用している場合、クエリから純粋な値を取得するにはどうすればよいでしょうか。「どうすれば Update モナドから値を取得できますか?」という質問を一般化できると思います。ご覧のとおり、次のありふれたタスクを実行するテストを作成しようとしています。

  • 純粋な AcidState をオブジェクトで更新します
  • IxSet を使用してそのオブジェクトの状態を照会します
  • クエリされたオブジェクトと Update によって返されたオブジェクトが等しいかどうかを比較します。

テストフレームワークとの統合を容易にするために、これから純粋な「Bool」が必要です。最初は単純に Control.Monad.State の runState を使用するだけだと思っていましたが、間違っていました (または正しく実行していませんでした)。私は何をすべきか?

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

haskell - スナップ、IOおよび酸状態

Snapで酸状態を使おうとすると、障害にぶつかりました。

これが私がこれまでに得たものです。

最初に私の酸状態関連のオブジェクト(これはisbn番号の付いたダミーの本です):

そして、それをSnapと統合する私の実際の試み。ご覧のとおり、文字列isbnを返す必要がある__doQuery__関数の定義に問題があります。

私が欠けているものについての助けをいただければ幸いです。不明な点がある場合はお知らせください。質問を更新します。

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

haskell - 酸状態のエラー例

プロジェクトでの使用を開始しようとしてacid-stateいますが、デモの実行で問題が発生しています。

このサンプルコレクションHelloWorld.hsから64ビットボックスで実行すると、エラーが発生します

同じことが起こりHelloWorldNoTH.hsます。どちらのエラーも32ビットシステムでは発生しません。ここで何が起こっているのかアイデアはありますか?必要なコンポーネントのインストールに失敗しましたか(または不適切にインストールしましたか)?

私はThe Glorious Glasgow Haskell Compilation System, version 7.4.164ビットのDebianWheezy(haskell-platformパッケージを介してインストールされた)でCabalを使用して""を実行しています0.14.0。マシン自体は64ビットのCorei3です。32ビットマシン(デモを正常に実行した)は、明白な方法で違いはありません。

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

haskell - Haskell Platform 2012.2.0.0 (Windows XP) で acid-state を cabal-install できない

cabal を使用して、acid-state を Haskell Platform 2012.2.0.0 (Windows XP) にインストールしようとしましたが、次のエラーが発生しました。

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

haskell - Acid State クエリの予期しない戻り値の型 (Happstack)

Happstack 短期集中講座のブログを拡張して、いくつかの機能を追加しようとしています: ホームページにすべてのタグのリストを表示します。

私のブログ記録は次のようになります。

次の方法でIDごとにブログ投稿を取得します(クラッシュコースからコピーペースト):

そして、それは問題なく動作します。

同様の方法ですべてのタグのクエリを実行しようとすると:

うまくいきません。エラー スタック トレースは次のとおりです。

の戻り値の型が であるはずなのに、なぜ なのかわかりquery'ませ[EventResult GetTags][Text]

このエラーの理由は何ですか? それを修正する方法はありますか?

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

haskell - AcidState 関数のあいまいな型変数

エラーが発生する Haskell Web プロジェクトで状況が発生しましたAmbiguous type variable

関連するコードは

エラーは特にクエリ関数であるinsertItemとについて不平を言っていますchangeItemStatusacid-state

withAccountデータベースからの戻り値をwithItem処理するのに役立つヘルパー関数です。Maybeそれらは次のように定義されています

よし、じゃあ。

Happstack クラッシュ コースの AcidState ドキュメントを何度か読みましたが、あまり役に立ちませんでした。彼らは、応答生成関数で直接クエリを使用します。

  • 試してみましたが、iteslfAmbiguous type variableの呼び出しを指していることを除いて、同じエラーが発生しました。query'
  • モデル/コントローラーコード
  • query'呼び出す関数の具体的な戻り値の型が表示されないため、特定の状況には役立ちません(応答を直接生成するため、update'それらの関数は allです)。AcidState DBName -> ServerPart Response

insertItem私は、式の一部を forとchangeItemStatusby usingの型シグネチャをまとめようとしました:tが、すべての試みで、No instance for (MonadIO m1)代わりに悪いエラーであると私が想定しているものを与えてくれました。

私はまだ特に熟達した Haskeller ではないので、他に試してみることができる唯一の方法は、ランダムなreturn $s をその場所にまき散らすことだと思いますが、それでは実際に問題を修正したり、教えたりする可能性が高いとは思えません。私は何でも。

私が実装しようとしている一般的な概念は、「この変更をDBに加えてから、現在のユーザーに関連する要素の(潜在的に変更された)リストを返す」です。

次に何を試すべきか、または具体的にどこが間違っているかについてのヒントはありますか? 私はこれについて完全に間違った方法で考えていますか? この件に関して私が参照できる他のドキュメントはありますか?

PS。上記のすべての関連コードと思われるものを含めましたが、完全なソースを見たい場合は、ここここにあります。

編集: 完全なタイプのエラー

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

haskell - HappstackでHSPとAcid-stateを形にまとめようとしている

私は Happstack Crash Course に従いましたが、今はさまざまなことをまとめようとしています。

「reform を使用したタイプ セーフなフォーム処理」( http://happstack.com/docs/crashcourse/Reform.html#reform ) から、この登録フォームをコーディングしました。

フォームが成功したときに登録ユーザーを追加したいと思います。この UserBase は、acid-state ( http://happstack.com/docs/crashcourse/AcidState.html#ixset )を使用してコーディングしました。

スニペットは別々に機能しますが、どこに挿入できinsertUser acid userますinsertAndRenderUserか?

あなたが私を助けてくれることを願っています
ありがとう
Flo