問題タブ [happstack]
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.
haskell - Problems trying out happstack-tutorial
I've been reading about Happstack and decided to give it a shot. I'm running xubuntu 9.10 and got to this page in the tutorial which told me to do cabal install
in the tutorial folder. When I did this, I got the following errors:
Is this telling me that some packages need <2 and others need >=2 ?
I tried to install both 1 and 2 via apt-get but it does not work. I get the same errors. If anyone can provide suggestions, I'd appreciate it.
haskell - Happstack.State メソッドを QuickCheck する良い方法はありますか?
QuickCheck を使用してテストしたい Happstack.State MACID メソッドのセットがありますが、それを達成するための最もエレガントな方法を見つけるのに苦労しています。私が直面している問題は次のとおりです。
Ev
モナド計算を評価する唯一の方法は、またはIO
を介してモナド内で行うことです。query
update
- 純粋にインメモリ MACID ストアを作成する方法はありません。これは設計によるものです。したがって、
IO
モナドで実行するということは、各テスト後にクリーンアップする一時ファイルがあることを意味します。 initialValue
状態を除いて、新しい MACID ストアを初期化する方法はありません。Arbitrary
ステート ホールセールを置き換えるアクセス メソッドを公開しない限り、生成することはできません。- 上記のすべてに対処するということは、
MonadReader
or ( の機能のみを使用するメソッドを記述し、 orの代わりにMonadState
テストを実行することを意味します。これは、メソッド定義内でorなどを使用しないことを意味します。Reader
State
Ev
getRandom
getEventClockTime
私が見ることができる唯一のオプションは次のとおりです。
- 使い捨てのディスク上の MACID ストアでメソッドを実行し、各テスト後にクリーンアップし、毎回開始するように調整し
initialValue
ます。 - ほとんどのコードが
MonadReader
orで実行されるようにメソッドを記述し (テストがより簡単です)、必要に応じてorMonadState
を呼び出す、その周りの少量の QuickCheck 不可の接着剤に依存します。getRandom
getEventClockTime
私が見落としているより良い解決策はありますか?
database - Happstack-状態の概念とドキュメント?
Haskellウェブサーバーを作り始めています。HappstackとHappstack-stateから始めることにしました。そして、Happstack-stateの概念と属性を理解するのが難しいと感じています。新しい種類のデータベースですか?またはシステムのようなオブジェクトグラフ?
その概念と属性(特にACIDについて、ディスク上のデータを永続化する方法について!)を説明できますか、それともドキュメントで説明されていますか?
haskell - Haskell Web フレームワーク
Haskell を使用して簡単な Web アプリケーションを作成しています。最初は前に Snap を使用し、アプリケーションを実行できましたが、アプリケーションにユーザー入力を追加したいと考えています。
関数へのユーザー入力パラメーターを取得する方法が見つかりませんでした。どうすればそれを行うことができますか?
他にも、Happstack フレームワークも使用していましたが、「Happstack.Server」をインポートできません。私は cabal インストール構成 Happstack を使用します。正常にインストールされましたが、「Happstack.Server」にインポートしようとすると、エラーが発生します。
を使用してプログラムを実行するghc --make HelloWorld.hs -v
と、次のようになります。
haskell - Haskell/HappStackの構文と型署名に関する初心者の質問
どうしてできないの?
しかし、私はこれを行うことができますか?
私はHaskellの初心者ですこれは私がGHCiで試していることです:
haskell - HappStack の Haskell モナド msum
から
http://happstack.com/docs/crashcourse/HappstackState.html
サーバーを実行すると、ピークカウンターが増加します
- 覗いたら1
- 2 のぞかないとき
問題の関連コードは次のとおりです。
ただし、次のように変更すると
カウンターが増える
- 覗いたら0
- 1 のぞかないとき
それは意図した動作ですか?のぞいても、msum の 2 番目のモナドが「漏れている」ように感じます。
haskell - happstack で HTML ファイルをテンプレートとして使用する
happstack で blitz やその他のコンパイル時テンプレート ライブラリを使用する方法に関するドキュメントはたくさんありますが、html ファイルをテンプレートとして使用する方法を知りたいです。
haskell - このHappstackフォームコードの一部をリファクタリングする方法はありますか?
HappstackチュートリアルのGETとPOSTを1つのハンドラー関数にまとめようとしているので、常に一緒になっています。これは、私が達成したことですが、見苦しいようです。
変更したいのは次のとおりです。
methodM GET
ただの失敗ではなく、明示的に呼びかけます。冗長な
ok $ toResponse
ものを引き出して、1か所だけにします。できれば、POSTでHTMLも返すようにしてください。より多くの経験を持つ人には「オフ」に見える他のもの。何か案は?
更新:#1を理解しました。do methodM GET
上に追加しても問題ありok $ toResponse $ ...
ませんが、私のような初心者が注意するのは、垂直に並べる必要があることです。つまり、 minはoinmethodM
の真上にある必要がありますok
。うまくいけば、これは誰かの欲求不満の時間を節約します。
更新2:#3はかなり簡単でした-POSTの最後の行を更新するだけですok $ toResponse $ html $ do B.body $ toHtml $ user ++ ...
haskell - happstack チュートリアル コードの冗長性を減らす
happstack チュートリアルには、次のサンプルが用意されています。
ここでok $
は冗長なようです.3回msum
書く必要がないように、それを取り除く方法はありますか? ok $
私は次のことを試しましたが、コンパイルさえしません:
ok $ "You did a "
これを行う正しい方法はありますか (またはさらに良いことに、 andの全体を引き出します".\n"
)、または単に不可能ですか?
私はまだ Haskell でモナドがどのように機能するかについて理解を深めていますが、上記が不可能な場合は、なぜこれを機能させる合理的な方法がないのか、または何を変更する必要があるのかを大まかに説明していただけますか?可能にするには?ここでできることとできないことについて頭を抱えようとしているだけです。