問題タブ [leksah]
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 - Haskell モジュールのインポート
私はHaskellが初めてです。Days
から使用しようとすると、次のData.Time
エラーが発生します。
Data.List と Control.Monad をインポートしていますが、どちらもこのエラー メッセージを表示しませんが、コードでは表示されますimport Data.Time
。
私は何が欠けていますか?
助けてくれてありがとう!
編集:使用すると、同様のエラーメッセージが表示されます:import Directory
みんなありがとう、あなたの答えは私を軌道に乗せました!
haskell - haskell leksah ハローワールド
今朝の悪いニュースですが、Haskell の学習を続けるために Leksah (ちなみに見栄えの良いアプリケーション) を試してみようと思っていました。
leksah tutorialを読んで見つけた「Hello World」の例をコンパイルできませんでした。
compilation-error: src\Main.hs:16:5: parse error on input
='`
と
compilation-error: src\Main.hs:1:0: The main function
main' はモジュールによってエクスポートされませんMain'
何か他のことを試すように私に何をアドバイスしますか?
重要な編集: Leksah には Main.hs ファイルが同梱されています。このファイルは、leksah を初めて起動したときに直接読み込まれ、完全に機能する Hello World ミニ プロジェクトが含まれています。また、最小限の単体テスト カウンター パーツもあります。初心者に最適:-)
haskell - 複数のファイル間でhaskellパッケージを整理する
もう一度、HaskellとLeskahについての私からの全くの初心者の質問。
(まず、Haskell愛好家への主観的な褒め言葉:Haskellの学習セッションに戻ってくるたびに、私はそれがますます好きになります。これが長く続くことを願っています:-)。最新の喜びは、記号を数学に自動変換するためのレスカの砂糖です。それはコードを本当に見栄えよくします。しかし、それは重要ではありません...)
学習者パッケージをいくつかのファイルに整理したかったのです。しかし、他の定義を含む2番目のファイル(Second.hsなど)を現在のパッケージビルドユニットに追加することに成功しませんでした。Leskah / Edit Package /ExtraFilesに追加しました。しかし、これは仕事をしていないようです。さらに、この方法で(Leskah / Edit Package / Extra Filesを介して)新しいファイルをそれぞれ追加するのは少し厄介だと感じています。
とにかく結果として、構築されるのはまだ私のMain.hsのコンテンツだけです。私は確かにいくつかのポイントを逃していますか?!
もう1つの質問は、C ++では、namespace
オブジェクト定義をサブジェクト/ゴールでソートするために頻繁に使用します。Haskellの名前空間に相当するものは何ですか?モジュール?パッケージ ?
browser - Leksahシステムスコープモジュールブラウザが空です
ユーザーマニュアルに従ってleksahをインストールしました。マニュアルには、Leksahを初めて起動する前にghc-pkgの再キャッシュを実行する必要があると記載されています。そうしないと、システムスコープに空のモジュールブラウザが表示される場合があります。私の問題は、再キャッシュを行ったにもかかわらず、これが私が見ているものであるということです。
基本的に、私のセットアッププロセスは次のとおりです。Leksahのインストール->ghc-pkgrecache->Leksahの起動。次に、Leksahがインストール済みパッケージのメタデータを収集してダウンロードすることを通知する画面が表示され、時間がかかる可能性があることを警告します。そこで推奨されるデフォルトを使用すると、約5秒間プログレスバーが表示され、その後Leksahが起動します。これらのデフォルトは次のとおりです。
- haskellパッケージソースへのパスはありません。
- ビルド前のメタデータURL: http: //www.leksah.org。
- 取得してからビルドします。
- サーバーポート:11111。
- 最後の接続でサーバーを終了します。
マニュアルを読むと、テストしたいだけの場合は、haskellパッケージソースの場所を省略でき(デフォルトでした)、後で場所を入力できると書かれています。これにより、Haskellのソースパスが欠落していることが問題であると私は信じていますが、Haskellのソースがどこにあるのかわかりません。それらはHaskellプラットフォームフォルダにないようです。誰かがこれを解決する方法を知っていますか?
役立つかもしれない他のもの:
- マニュアルで指定されているように、パスとwgetにgrepがあります。
- ghc-pkgrecacheコマンドには約1秒かかります。もっとあるべきかどうかはわかりません。
- メタデータの再構築を行うと、update_toolbarに0から1までの数字がたくさんあるコンソールが表示され、「サーバーの起動」->「メタデータコレクターは何もしません」->「メタデータの収集が終了しました」がたくさん表示されます。
私のセットアップ:
- xpsp3に勝つ
- ghc 6.12.3
- Leksah 0.8.0.6
- GNU grep 2.5.4
- GNU wget 1.5.3.1
詳細をお知らせします。ありがとうございました。
haskell - HaddockのドキュメントがHackageに表示されないのはなぜですか?
ハドックで生成されたドキュメントを含むパッケージがHackageにありますが、Hackageページに表示されません。すべてを正常にアップロードできますが、ドキュメントが表示されません。
LeksahIDEを使用してcabal haddock
またはでドキュメントを生成します。Package > Build Documentation
Leksahに行くとPackage > Open Doc
、探しているので見つかりませんdist/doc/html/hspec/hspec/index.html
が、生成されたファイルはにありdist/doc/html/hspec/index.html
ます。ハッカゲも同じ場所を見ていると思います。
ソースファイルが期待した場所にないのではないかと思いますが、他にどうあるべきかわかりません。
ソースとディレクトリの構造はhttps://github.com/trystan/hspecにあります。
networking - TCPはGHCiで動作し、Leksahでコンパイルされたプログラムでプログラムが終了するまでバッファリングされます
開発中のサーバーにコマンドを送信するために、この単純なプロトタイプクライアントを作成しました。GHCiで完全に動作しますが、コンパイルされたバージョンは、「quit」と入力してプログラムが終了するまで、入力されたすべてのものをバッファリングします。その時点で、すべての入力テキストが送信されます。
私は何が間違っているのですか?そして、コンパイルするとなぜ違うのですか?
更新:を使用してコンパイルすると、期待どおりに機能しghc Main.hs
ます。この問題は、[パッケージ]->[ビルド]を介してLeksahでコンパイルすると発生します。Leksahが使用しているコマンドラインを取得する方法を知っている人はいますか?
システム情報:OSX 10.6、GHC 7.0.3、ネットワーク2.3.0.2
haskell - Haskell(GHC)の「if ... then ... else ...」キーワードを削除するにはどうすればよいですか?
if ... then ... else ...
Haskellに言語/DSLを埋め込んでいるので、キーワードを削除したいと思います。if
、then
そしてelse
多くのドメインで多くの意味を伝えます。言語/ドメインの性質を反映するようにそれらを再定義(または未定義のまま)できれば素晴らしいと思います。
Googleとstackoverflowで検索しましたが、何も見つかりませんでした。if ... then ... else ...
( Haskellにキーワードとして含まれている理由についての古いスレッドを見つけました。)
私のIDEはLeksahにあり、キーワードを削除できる場合は、キーワードをif ... then ... else ...
通常のフォント/色/太字に戻す設定があると便利です。
if'
forなどの命名規則をすでに試しましif
た。特に、とを定義したい場合は、とを定義する必要があり、代わりに、またはとを定義する必要がある場合は、それほど気分が良くありません。両方の存在とも混乱を招く可能性があります。(DSLのユーザーはHaskellプログラマーであるため、私の状況では混乱はそれほど深刻な問題ではありませんが、他の状況でも役立つと思います)。if
if'
if'
if''
if1
if2
if'
if
これまでの回答の要約:
RebindableSyntax
GHCの拡張機能を使用します。キーワードを削除するほど一般的ではありません。Haskellのif-then-elseの構文は保持されます。(フレリッヒ・ラーベ)- 回避策:を使用して、非常によく似た単語/名前を使用します
data Conditional b a = If b (Then a) (Else a)
(一部のコンテキストでのみ適用可能)。(CAマッキャン)
が比較的新しい機能である場合RebindableSyntax
、少なくとも次のバージョンのGHCまでは、より一般的な方法を見つけることはほとんどありません。
haskell - readLn などを使用するプログラムで Leksah デバッガーを使用する
私は最近 Leksah (Windows 7 64 ビットでは 0.10.0.4) をインストールしました。これは、Haskell の興味深い IDE のようです。ただし、プログラムを使用するときのプログラムへのユーザー入力に関しては、明らかに何かを見落としています。
私は非常に単純です
私のコードでブロックします。デバッガーが readLn に到達すると、どこかに入力を提供できると期待します。ただし、入力ウィンドウが見つかりません。最初はログ ウィンドウが有効になっているのではないかと思っていましたが、プログラムを操作する場所が見つかりません。GHCi での実行はすべて期待どおりなので、コードではないことは確かです。
さらに、「パッケージ->実行」を実行しただけでは、他のログ出力(再構築など)が到着するまでプロンプトが表示されません。
過去に Linux で Haskell モードで Emacs を使用したことがあるので、Haskell のトピックについて Windows プログラマーと交流できるように、よりユーザー フレンドリーなエクスペリエンスを期待していました。何か不足していますか?