haskell-ja > Archives > 2011/06/10

2011/06/10 06:50:00 UTCcutsea110
#
きいてくれよ。
#
yesod-0.8.2でscaffoldしたコードはStaticFiles.hsやらSettings.hsがconfigディレクトリの下にあるんだが、
#
これまで通り、プロジェクトのトップディレクトリのController.hsとかをemacsでC-cC-lしようとすると…わかるよな
#
こういうのどう設定すればいいの?
#
config/StaticFiles.hsとかを探させるには?
#
つか、そもそもそんなファイルの置き方っていいのかとか。
2011/06/10 06:55:53 UTCmaoe
#
~/.ghciに:set -i./configと書いておけばOKです。
2011/06/10 06:57:43 UTCcutsea110
#
おお、なるほど。助かりました。
#
ちなみにこの.ghciってカレントディレクトリにあってもOKそうね?
#
じゃあプロジェクトをscaffoldした時に含んでた方がうれしそうだ。
#
configなんてyesodでscaffoldしたコードに特化した話だし。
#
http://www.kotha.net/ghcguide_ja/latest/ghci-dot-files.html
#
やっぱりそうだ。カレントのやつを最初に見るっぽい。
#
ただし、これはもしかしてホームにあるやつとかをシャドウしちゃうのかな。
#
とすると誰にでも便利だからscaffoldコードに入れてくれよっていいづらいな。
#
そもそもsnoymanはvi使ってそうだし
2011/06/10 07:16:57 UTCmaoe
#
存在しないディレクトリを指定しても特に問題ないので、僕は~/.ghciに./config ./src ./binの3つを指定してしまっています。
2011/06/10 07:17:40 UTCcutsea110
#
なるほど
2011/06/10 07:22:15 UTCkazu
#
C-cC-l って、どうして必要なんですか? flymake を使っていれば、不要ではありませんか?
2011/06/10 07:26:36 UTCcutsea110
#
エラーメッセージが読みにくいもの。。。
#
C-cC-lで出しておいて見たいのよ。
#
それはそうとC-cC-tで型情報がミニバッファにでると思うけど
2011/06/10 07:28:00 UTCkazu
#
エラーを一覧表示したいんですか?
2011/06/10 07:28:03 UTCcutsea110
#
もしかしてTemplateHaskellつかってるコードはダメ?
#
一覧というか赤になっているところでマウスカーソルあわせるとツールチップでエラーメッセージがでますけど
2011/06/10 07:29:00 UTCkazu
#
M-? で、別のEmacsウインドウに出ますよ。
#
M-n でエラーに行って、M-? とします。
2011/06/10 07:29:25 UTCcutsea110
#
あ、そうなんだ
#
やってみます。
2011/06/10 07:30:05 UTCkazu
#
TemplateHaskell でうまく行かない例はどんなのがありますか?
#
言い忘れましたが、ghc-mod は最新にして下さい。Yesod に対応しています。
2011/06/10 07:32:44 UTCcutsea110
#
今はscaffoldしたコードでController.hsのtoDynとかどこでやってもダメそうです。
#
0.5.5だからなか?
#
だからかな?
2011/06/10 07:34:27 UTCkazu
#
ghc-mod 0.6.0 から yesod に対応しています。例の config/ 問題解決です。
2011/06/10 07:35:12 UTCcutsea110
#
む?なんかM-?ってESCして?ですよね?
#
たしか。
2011/06/10 07:35:34 UTCkazu
#
それでも OK です。
2011/06/10 07:35:43 UTCcutsea110
#
ダメだな。なぜだろう。
#
もしかしてVMWare上でESCが食われてるのか?だったらそれで?とかnとかが入力されてもよさそうだが。
2011/06/10 07:36:49 UTCkazu
#
メタキーでも OK です。
2011/06/10 07:37:00 UTCcutsea110
#
メタキーないっす。
#
ダメですなぁ。
2011/06/10 07:37:52 UTCkazu
#
ESC 取られるなら、そもそも Emacs が使えないじゃないですか!
2011/06/10 07:38:46 UTCcutsea110
#
なぜです?
#
ああM-xはいけるな。
#
使えない機能が大幅にはでてくるけど使えないことはないはず。
2011/06/10 07:39:30 UTCkazu
#
M-d さえ、使えないから。。。
2011/06/10 07:40:13 UTCcutsea110
#
M-dも効いてるっぽい。
2011/06/10 07:40:52 UTCkazu
#
Yesod ではない、HS ファイルで試して下さい。main = undefined とかすると、main に型が無いので色がつきますよね?
#
M-n でエラーの上に行けます。M-? でエラーメッセージが表示されます。
2011/06/10 07:43:01 UTCcutsea110
#
お、いけますねー
#
M-?で出ました。
2011/06/10 07:43:24 UTCkazu
#
Yesod でうまくやるには、ghc-mod をバージョンアップするしかないです。
2011/06/10 07:43:28 UTCcutsea110
#
じゃあscaffoldしたファイルがダメなのか。0.6にアップカナ。
2011/06/10 07:44:14 UTCkazu
#
ghc-mod は attoparsec を使うんですが、attoparsec 0.9.0.0 はバグっているという噂があります。
2011/06/10 07:44:23 UTCcutsea110
#
GHC-6.12.3でもOKですか?
#
HP-2010-2.0.0なんですが。
2011/06/10 07:44:56 UTCkazu
#
OK のはずです。
2011/06/10 07:45:02 UTCcutsea110
#
やってみます。
2011/06/10 07:49:39 UTCcutsea110
#
いけました。
#
もしかしてelファイルをelcにコンパイルしてないとそもそもダメとかあります?
2011/06/10 07:50:14 UTCkazu
#
これでも、C-cC-l したい気分になったら、理由を教えて下さい。
2011/06/10 07:50:19 UTCcutsea110
#
この前環境作り直した時にmakeせずにコピーしたらしく
2011/06/10 07:50:21 UTCkazu
#
いいえ。
2011/06/10 07:50:42 UTCcutsea110
#
うーん。じゃあ0.6にしたことでいけるようになったのかな。
2011/06/10 07:50:42 UTCkazu
#
el さえあれば OK です。
2011/06/10 07:50:48 UTCcutsea110
#
ですよねぇ。
2011/06/10 07:51:10 UTCkazu
#
elc がある場合は、el よりも新しい(その el を元にコンパイルされている)ことを確認して下さい。
2011/06/10 07:51:12 UTCcutsea110
#
というか最初に使われるときにコンパイルされるものだと思ってた
#
さっきghc-mod-0.6にする時にディレクトリを確認したらelしかなくて、
#
ロード時に勝手にコンパイルされてelcが作られるものと思ってたので
#
もしかしてこれかな?とか思ったのですが面倒なのでとりあえずmakeして0.6をつっこんで
#
問題解消しました。
#
ああ、テンプレートのデバッグがやっぱり分りにくいのでそのあたりを支援できないですかね?
2011/06/10 07:54:59 UTCkazu
#
どう展開されるのか表示するとかですか?
2011/06/10 07:55:07 UTCcutsea110
#
-ddump-splicesでしたっけ
2011/06/10 07:55:33 UTCkazu
#
はい。それに相当する GHC API を叩けば、行けるのではないかと。
2011/06/10 07:55:34 UTCcutsea110
#
どうなるのが一番嬉しいかは分らないんですが、どこまで取れるかもしらないし。
#
とりあえず、あれで展開して、
#
エラーメッセージのあるシンボル名ですかね。
2011/06/10 07:56:19 UTCkazu
#
あと、maoe さんにはローカル関数の型が知りたいと言われています。
2011/06/10 07:56:20 UTCcutsea110
#
lispで言うgensymされたんだろうなーってやつ、あれにフォーカスするとか。
#
ああ、それも欲しいです。取れるのか?とか思ってんですけど。
#
ローカル環境の型は確かに知りたいな。
2011/06/10 07:57:22 UTCkazu
#
どうやるのか分かっていませんが、scion ではできるそうです。
2011/06/10 07:57:45 UTCcutsea110
#
じゃあ何か方法があるのかな。
2011/06/10 07:57:48 UTCkazu
#
エラーメッセージのあるシンボル名ってなんですか?
2011/06/10 07:58:06 UTCcutsea110
#
なんかね、テンプレート中でエラーになるとyesodであれば、
#
エラー発生行はテンプレートファイルを読み込んでる場所が差されるんですよね。
#
$(hamletFile "hoge.hamlet")
#
この部分。
#
で、エラーメッセージとしてはu[aj4qv]とかそういうのが出るんですよ。
#
こいつがどうもddump-splicesでダンプしたやつの中に含まれてたりして、その近辺からどのあたりかを推測して解消したことがあるんですが、
#
そうだな、一番嬉しいのはテンプレートファイルのここがおかしいってところにフォーカスしてくれるのがいいかなー
2011/06/10 08:00:48 UTCkazu
#
ああ、まぁ、どういうエラーか分かればいいんですよね。
2011/06/10 08:00:49 UTCcamlspotter@twitter
#
++ RT cutsea110: ローカル環境の型は確かに知りたいな。 http://bit.ly/jxLVdN
2011/06/10 08:01:07 UTCkazu
#
展開したコードと,
#
そのコードのどの部分がエラーかぐらいは、表示できるかもしれません。
#
僕に時間が許されればの話ですが。。。
2011/06/10 08:02:09 UTCcutsea110
#
そっか。じゃあタスクに積んでおいてもらって(^^)
#
きっとテンプレートのデバグが楽になれば皆超幸せになると思う。
#
ikegamiさんもテンプレートのホゲは俺もよくわからんとおっしゃってた。
2011/06/10 08:04:08 UTCkazu
#
scion は読みたいのですが、使ったことないので、grep するキーワードが分からないんです。maoe さんと会ったときに、デモしてもらおうかと考えています。
#
maoe さんを 100% ghc-mod に染めるのが目標。:)
#
ghc-mod から Hoogle 引けると嬉しいですか?
#
あと、だれか HaRe を解説して下さい。
#
リファクタリング支援が向上すれば、「どうして君たちはIDEなんか使うの?」と若者にいばれるでしょう。:)