08/04/17 21:39:09
>>777
厳格な型付けをする言語では避けて通れないんじゃないの。むしろ、それを望む人には
必要不可欠かと。
783:デフォルトの名無しさん
08/04/17 22:47:46
空気読まずに失礼しますが、
runhaskellの引数にプログラムを書いて実行する方法はありますか?
たとえばrubyだと
$ ruby -e "print 'abc'"
のように書くことが出来ますよね。
同じような使い方をHaskellでしたいんです。
784:デフォルトの名無しさん
08/04/18 05:22:47
ghc -e 'putStrLn "abc"'
Hugsだと多分無理
785:デフォルトの名無しさん
08/04/19 20:56:38
>>781
かわいいw
786:デフォルトの名無しさん
08/04/19 23:48:13
Types and Programming Languages
と
Introduction to Functional Programming Using Haskell
カバーしてる内容全然違う?
787:デフォルトの名無しさん
08/04/20 00:32:17
はい、上は型理論の入門書です。
数学分からない人は絶対に読むべきじゃないです。
788:デフォルトの名無しさん
08/04/20 00:36:37
>>787
ここ数年の少年ジャンプの面白さを
発見するよりは簡単なはずだが?
789:デフォルトの名無しさん
08/04/20 00:44:07
>>788
「型推論のHindley-Milner type inference」とかでピンと来るならいいんじゃね。
790:デフォルトの名無しさん
08/04/20 00:46:08
数学界ってネタ切れなんかね
791:デフォルトの名無しさん
08/04/20 05:25:06
TAPLに数学なんか関係あったか? どのへん?
792:デフォルトの名無しさん
08/04/20 07:19:16
数学は万物と関係があります
793:デフォルトの名無しさん
08/04/20 08:26:36
確かにそうだが随分とアバウトな答え方だね
794:デフォルトの名無しさん
08/04/22 09:45:15
本の最初のLessonで
main = do cs <- getContents
putStr cs
というサンプルがあったのだが,このまま打ち込んでも
The last statement in a 'do' construct must be an expression
と出る.どうすれば...?
795:デフォルトの名無しさん
08/04/22 12:09:38
>>794
二行目の先頭にちょうど10個のスペースを入れてる?
796:デフォルトの名無しさん
08/04/22 15:58:12
>>794
URLリンク(www.ice.nuie.nagoya-u.ac.jp)
797:デフォルトの名無しさん
08/04/22 20:41:46
>>795-796
Emacsを使ってるのですが,するとEmacsの自動インデント
機能に難ありということなのでしょうか...
798:デフォルトの名無しさん
08/04/22 22:51:23
>>797
Emacsはよく知らんが、Tabをスペースにかえればいいんでないの?
799:デフォルトの名無しさん
08/04/22 22:55:19
関数型プログラミング言語Haskell Part7
スレリンク(tech板)
213 :デフォルトの名無しさん:2007/04/07(土) 18:00:15
すいません。emacsのhaskell-modeでプログラムしているんですが、
インデントの方法に関して質問があります。
例えば、次の様なソースがあった時、
import System
import System.IO
main = do
putStrLn $ "Woud you like some coffee?(y/n)."
hFlush stdout
c <- getChar
if c == 'y'
then putStrLn "Yes,please."
else putStrLn "No,thank you."
thenやelseの前でTabキーを押すと、if式と同じインデントになってしまうのですが、
それだとコンパイルエラーになってしまいます。なので、今はスペースでインデントを
付けています。Tabキーで正しくインデントさせる方法がありますでしょうか?
800:デフォルトの名無しさん
08/04/22 22:56:16
関数型プログラミング言語Haskell Part7
スレリンク(tech板)
215 :デフォルトの名無しさん:2007/04/07(土) 19:31:19
>213
明示的に {} を使うという方法はあるにはあるが。
do { putStrLn $ "Woud you like some coffee?(y/n)."
; hFlush stdout
; c <- getChar
; if c == 'y'
then putStrLn "Yes,please."
else putStrLn "No,thank you."
}
のようにすると綺麗にインデントできる。
まぁ私は手で空白を入れたり一行にしちゃったりする方が多いけれど。
216 :デフォルトの名無しさん:2007/04/08(日) 17:57:02
>>215
レスありがとうございます。
{}を使う方法か、手動でインデントをあわせる方法の2通りという事ですね。
他の方はどうやってインデントさせているのか疑問に思っていたのですが、
その疑問が解消されました。
801:デフォルトの名無しさん
08/04/24 02:56:48
Tabをもう一回押すんだよ。
802:デフォルトの名無しさん
08/04/24 03:05:24
URLリンク(www.fobj.com)