[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 04/25 05:23 / Filesize : 232 KB / Number-of Response : 786
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

関数型プログラミング言語Haskell Part17



1 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 22:19:28.26 ]
haskell.org
ttp://www.haskell.org/

日本語サイト
ttp://www.sampou.org/cgi-bin/haskell.cgi
ttp://www.shido.info/hs/

過去ログ
関数型プログラミング言語Haskell
Part1 ttp://pc.2ch.net/tech/kako/996/996131288.html
Part2 ttp://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 ttp://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 ttp://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 ttp://pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 ttp://pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 ttp://pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 ttp://pc11.2ch.net/test/read.cgi/tech/1193743693/
Part9 ttp://pc11.2ch.net/test/read.cgi/tech/1211010089/
Part10 ttp://pc12.2ch.net/test/read.cgi/tech/1231861873/
Part11 ttp://pc12.2ch.net/test/read.cgi/tech/1252382593/
Part12 ttp://hibari.2ch.net/test/read.cgi/tech/1272536128/
Part13 ttp://hibari.2ch.net/test/read.cgi/tech/1286706874/
Part14 ttp://hibari.2ch.net/test/read.cgi/tech/1299385928/
Part15 ttp://hibari.2ch.net/test/read.cgi/tech/1310199414/
Part16 ttp://toro.2ch.net/test/read.cgi/tech/1317958045/

152 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 15:15:52.21 ]
>>147
ghc-mod って、template haskell に対応してたっけ

たとえば、Template haskell のチュートリアルに

-------------------------------
module TupleReplicate where
import Language.Haskell.TH
tupleReplicate :: Int -> Q Exp
tupleReplicate n = do id <- newName "x"
return $ LamE (VarP id)
(TupE $ replicate n $ VarE id)
-------------------------------

という例がある

$(tupleReplicate 2) が a -> (a, a) という型の関数
$(tupleReplicate 3) が a -> (a, a, a) という型の関数
と ghc-mod は教えてくれる?

言っておくが、ghc-mod がクソとか役に立たんと言ってるわけではない

153 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 15:19:15.80 ]
>>152
やったことないです、、、
@kazu_yamamotoさんに聞いてみルトいいかも

154 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 15:25:29.61 ]
IDE有る無しで開発効率に影響するのなら、
もちろん言語選択時に考慮するだろ

155 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 15:27:02.91 ]
統合開発環境の「統合」って、最近流行った「絆」と同じセンスだよね

156 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 15:36:00.48 ]
C#とかは言語設計段階からIDEと相性良くなるように考えられてると感じる

157 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 15:40:42.17 ]
>>152
foo = $(tupleReplicate 2)と展開した上で名前に束縛すればfooについて当然型名がかえって来るけど
確かhaskellのインタプリタ(not ghci)が走ってるプロセスを持ってて
バッファの内容を食わせた上で指定した文字列でそいつに問い合わせてるから、
トップレベルで名前を持ってない定義だと上手く参照してくれないんじゃないかと思う


158 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 15:59:20.60 ]
勝って兜の緒を締めよ開発環境

159 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 17:11:37.66 ]
>>118
> よくわからんが、型を集合(Set圏の対象)と考える場合、HaskellのFunctorは
> 型から型(集合から集合)への対応で、Set圏で完結していると考えられるから
> 基本無理なんじゃない?

結局は、解釈、モデル化の仕方の問題だけど、
関数以外のArrowクラスのインスタンスを射として考えるならば、
それはHask圏=Set圏の射ではないから、
Hask圏の部分圏と考えることはできない圏を考えていることになる

160 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 19:13:49.14 ]
震災前

     /::::::::::::::::::::::::::::::;;::ノ ヽ;::\
    /::::::::;;;;;;;;;,,,;;...-‐''"~    ヽ:;::l
     |:::::::::::|    岡田 異音    |ミ|
     |:::::::/     ,,,  ヽ,、   '|ミ|  
     '|:::::::l    '''""   ゙゙゙゙`   |ミ|
       |:::::|.  ,,r ‐、   ,, - 、  |/
     ,/⌒|  ノ ・ _), (. ・ `つ|
     | (   "''''"    |"'''''"  | 
      ヽ,,.        ヽ    |
       |       ^-^_,, -、   |   
         |    _,, --‐''~    ) |  マニフェストもう守れない。どうしよう・・・・ 
         'ヽ  (   ,r''''''‐-‐′ / 


震災後

     |:::::::::/            |ミ|
     |::::::::|   ,,,,,    ,,,,,   |ミ|
     |彡|.  '''"""''   ''"""'' |/
     /⌒|  -=・=‐,   =・=-  |
     | (    "''''"   | "''''"  |  
     .ヽ,,         ヽ    .|  キリッ
        |       ^-^    |
   .     |     ‐-===-   |   大震災が起こったのだからマニフェストの破綻も致し方ありません
         ,\.    "'''''''"   / 
朝鮮民主党
     おわり



161 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 20:15:30.30 ]
すっごい初心者ですまないんだけど

x=10
x=11

これってHaskellでどう書くの?

162 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 20:19:11.15 ]
書けない

163 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 20:36:13.49 ]
>>161
関数型は変数の意味が違うよ。適当な教科書を読んでみましょう

164 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 20:41:21.78 ]
こう書くんだよ

main = do
let x = 10
let x = 11
print x

165 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 21:27:31.04 ]
>>164
サンクス

166 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 23:34:33.20 ]
>>164をこう↓できると思ったんだけど無理だった、何故?
main =
 let x = 10 >>
 let x = 11 >>
 print x

167 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 00:08:36.44 ]
>>166
do
let ***
###

これは、プリプロセッサで次のように変換される

let *** in do ###

これを踏まえて考えれば・・・

168 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 07:53:20.13 ]
2-3 Finger Tree を閃いた奴、発想が良いな

169 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 09:41:18.37 ]
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している

野田内閣は過半数が帰化人

野田はどうだろうか
韓国人から賄賂を貰い、韓国人の集いに出席している野田は


170 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 15:47:47.65 ]
>>158
東郷開発環境wwwwwww



って誰か言ってくれると思ったのに。。。



171 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 19:42:08.90 ]
申し訳ありませんでした

東郷開発環境wwwwwww

172 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 20:31:46.91 ]
G13型トラクターか...

173 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 03:08:02.86 ]
東郷開発環境wwwwwww

174 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:47:00.09 ]
論理的な発想ができない連中がなぜHaskellのスレッドにいるのか不思議。

175 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:55:22.75 ]
論理的思考と等式推論を使えることに相関は無い

176 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:22:23.15 ]
>>167
こうか
main =
 let x = 10
 in let x = 13
    in print x

つーかこの式って(>>)か(>>=)を使って表現出来ないの?
副作用にはモナドを使うんじゃないの? わかんないです><

177 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:25:03.27 ]
>>175
勝手に変な方向に誘導するなよ
>>174 は論理的な思考ではなく「発想」と言っている

発想、つまり ヒラメキ☆ だ

178 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:25:13.02 ]
letはλ抽象でモナドを使った式は関数適用
ラムダ計算の項としてみたら全く別物

179 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:32:06.33 ]
>>176
そう

最後の print 関数が副作用を持っている
だから「この」 main関数の型は IO () だ

君はちゃんと副作用にはモナドを使っているんだよ
なにが分からん?

> つーかこの式って(>>)か(>>=)を使って表現出来ないの?

もしかして、こういうこと?

main = return 10 >> return 13 >>= print

180 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:20:24.86 ]

800 自分:名無し募集中。。。[] 投稿日:2012/01/08(日) 22:00:50.04 0
AKBブーム捏造の裏

サウンドスキャンの売り上げでさえほとんどが業者の自社買い他社買いで
資金洗浄した金額がオリコンの枚数×CDの価格って感じかね
livedoor.blogimg.jp/dqnplus/imgs/f/f/fff69a26.jpg





181 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 23:18:15.23 ]
>>176

同じことをC言語で書くとこんな感じ

void main() {
 const int x = 10; {
  const int x = 13; {
   printf("%d", x); }}}

副作用があるのは最後のprintfだけ。
途中のx=13は代入ではなくてたまたま名前が同じ新しい定数の定義。

182 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 23:52:21.03 ]
Haskellでオブジェクト指向ってどうやるの?

183 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 07:42:44.45 ]
オブジェクト指向のどの部分を真似したいかによる
(オブジェクト指向を直接的に支援する機構はない)

184 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 10:52:41.77 ]
HaskellでCを真似しながらCでオブジェクト指向を真似する
間接的ヒラメキ

185 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 11:51:38.40 ]
HaskellでOOPをやる方法
www.haskell.org/haskellwiki/OOP_vs_type_classes

186 名前:デフォルトの名無しさん [2012/01/12(木) 16:10:46.59 ]


2chやニコニコ動画に民主党から反日工作費が流れていることが知られるようになってきた。
民主党が用意した資金で工作員が2chを荒らしていることもだんだんと知られるようになってきた


187 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 21:48:47.06 ]
パッケージを cabal install する時に、
ghc にオプションを渡す方法ってありますか?

例えば -XFlexibleInstances とか

188 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 21:53:26.27 ]
cabal install --ghc-options=-XFlexibleInstances

189 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 22:08:16.42 ]
>>188
もしかして、cabal install --help で表示それるオプション リストの
--with-PROG=PATH や --PROG-options=OPTS などの PROG って、
ここに ghc や c2hs などのコマンド名を入れろって事か

どおりで --with-PROG=ghc なんてゃってもエラーが出るわけだ

やっと最後に表示されてる
The flags --with-PROG and --PROG-option(s) can be used
with the following programs:
の意味が分かったよ

ありがと

190 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 12:53:13.89 ]
型変数を伴うシグネチャを持つ関数を、
ある型で特殊化することはできるのでしょうか

たとえば元々 f :: [a] -> a という関数があったとして、
a が Int 型の時は別の計算をさせたいから f :: [Int] -> Int
という型の「同名の」関数も欲しい場合です

下記のように型クラスを作るしか方法はないでしょうか
そうすると、Int 型以外の型にも全て
インスタンスを宣言しないといけないので大変です

class F a where
f :: [a] -> a
f = 汎用的な計算

instance F Int where
f = 特殊な計算

instance F Bool
instance F Char
・・・



191 名前:デフォルトの名無しさん [2012/01/13(金) 13:59:50.39 ]
OverlappingInstances拡張を使って、instance F a

192 名前:質問です mailto:質問です [2012/01/13(金) 18:40:35.10 ]
モナドのデータ m a と 関数 f :: a -> m b を使って、
モナドのデータ m b を作り出すことがなんで『合成』なの?

193 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 18:47:24.24 ]
どこでそんな表現が使われてた


194 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 18:53:11.74 ]
複数の小さいデータを組み合わせて大きいデータを作るなら合成でいいんじゃね

195 名前:質問です mailto:sage [2012/01/13(金) 19:01:34.54 ]
>>193 ここです
tnomura9.exblog.jp/15241458/
>>= 演算子はMaybe型関数とMaybe型関数を
合成する演算子になる、とありました

196 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 19:21:57.88 ]
>>=は自然変換joinで自己関手を写像したものだから
Maybe圏からMaybe圏への関手だ、ぐらいの表現で良いのでは
合成と言うのは違う気がする

197 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 19:32:17.88 ]
>>191
OverlappingInstances拡張がどのようなものか見てきました
www.haskell.org/haskellwiki/GHC/AdvancedOverlap

なかなか難しいですね、がんばって解読してみます

ありがとうございました

198 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 21:08:33.18 ]
2つのモナドm1,m2の合成の自然な定義はあるのでしょうか?
直積?


199 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:01:33.65 ]
さいなら。

200 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:59:10.31 ]
野田改造内閣に早速疑惑浮上

@aritayoshifu 有田芳生
捜査当局が内偵を続けている農水疑惑。詳細な怪文書まで出回っている。3億円の
行方はどこに?

@minorucchu ジャーナリスト 田中稔
野田改造内閣を揺るがす、農水省3億円スキャンダルの怪文書。二人の議員名が浮上。
34分前 webから
https://twitter.com/#!/minorucchu/status/157687110562881537

鹿野と筒井らしい
自公は問責も視野に調査開始だって



201 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 09:49:15.55 ]
あれだけ他パラダイムをdisりまくったその口で
ハスケルはメタパラダイム言語だとか
ふざけんなってのw

202 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 09:54:29.57 ]
メタパラダイム言語って言葉の意味が分からないからなんとも言えない

203 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 10:24:18.99 ]
メタって便利な言葉だよな

204 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 10:50:14.56 ]
「そろそろパラダイムについて一言言っておくか」ってことだろ
バスに乗り遅れた奴が使う言葉

205 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 10:54:46.75 ]
マルチパラダイムと言いたかったのではないかと推測してみる

206 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:02:45.90 ]
CでOOPができるしJavaでFPができるだろ
HaskellでOOPもできるんだよ
ただしそのパラダイムの為に設計された言語ではないので
可読性落ちたりするから推奨されないというだけの話

207 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:04:31.60 ]
ぷでゆきさんは1年ぐらい前にマルチパラダイムは幻想とか言ってからそれはないだろうな

208 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 12:09:55.38 ]
人のいうことを鵜呑みにしていいのかい?

209 名前:デフォルトの名無しさん [2012/01/14(土) 16:46:37.25 ]

反日ネット工作員
朝日新聞社→社員約300人
民主党とその取り巻きの資金が入った反日工作会社→数社約450人

朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが
民主党が用意した反日工作会社はほぼ24時間体制で工作を行っている
工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。



210 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 20:55:07.12 ]
政治的なアナザー・ワールドの人がHaskellerってありえないよね?




211 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 20:59:45.86 ]
あの人、言うことコロコロかわるから。
OOは複雑すぎてわからないと言ってみたかと思ったら
OOはしょせんこの程度のモデルに過ぎないからと言ってみたり
全く参照透明ではないw

212 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 21:44:45.71 ]
>>206
推奨されないと言われても
禁止されているようなものだと思うか、禁止されていないと思うかで全く違う
推奨なんて中途半端なことをするから解釈がコロコロ変わる

213 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 00:17:59.85 ]
>>211
発言を時間の関数と思えば参照透明。
これがHaskell流だ

214 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 08:56:17.00 ]
>>201
「メタパラダイム言語」という言葉は、このスレが初出です。
「Haskellはメタパラダイム」というtweetの話をしているんですよね?

Haskellは○○
togetter.com/li/241437
>Haskellはメタパラダイム  tanakh 2012/01/13 17:38:41

もともとtanakhは「モナドはメタパラダイム」と主張しているので
モナドを取り込んだHaskellもメタパラダイムと考えたのでしょう。
モナドが様々なパラダイムを実現できると主張する事と
有用でないパラダイムをディスる事は別に矛盾してないのでは?

215 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:31:26.23 ]
民主党が惨敗した参院選直前の政党支持率(2010年7月11日投票)

FNN 2010年7月4日
民主党 29.9% 自民党 16.3%
ttp://sankei.jp.msn.com/politics/policy/100706/plc1007060530003-n1.htm
ttp://www.fnn-news.com/archives/yoron/inquiry100705.html

マスコミに、ダマされるなよ。



216 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:30:28.52 ]
VIPからきました
何から始めるんでしょうか

217 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:44:29.28 ]
テンプレ読むところからだろ。

218 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:45:25.41 ]
そりゃもっともで
読んできます


219 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:51:53.71 ]
なんでvipから来た奴ってわざわざ名乗るんだろうな

220 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:54:38.77 ]
>>219
vipperだから



221 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:57:17.93 ]
>>214
有用でないという証明がまるでできてないのに?
根拠らしきものは、難しくて理解できない、って発言ぐらいだけど…

222 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:00:31.21 ]
それ以前に逐次実行モデルっぽいことができるだけでメタパラダイムとかw
その理屈だとチューリング完全な言語はみなメタパラダイムになるぞww

223 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:30:52.32 ]
「モナドは値レベルでメタプログラミングをするための手段」
っていうのは適切な表現だと思うけどなぁ
継続や動的スコープが欲しくなったら処理系に手を入れずともモナドで実現できるわけだし
モナド変換子でそれらを組み合わせることもできる

224 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:54:23.52 ]
>>221
他パラダイムが有用でないという判断がでたらめでも
「Haskellはメタパラダイム」は別に矛盾しません。

>>222
「メタパラダイム言語」の次は「逐次実行モデルっぽいことができるだけで」ですか。
ソースを示さずに捏造を繰り返している事を自覚してください。

tanakhがモナドで逐次実行モデル以外も実装できると主張しているソース
tanakh.jp/pub/unisys-tech-2011-11-09.html#37
>モナドから見た命令型
>計算コンテクストの1つに過ぎない
>その他:
> ・論理型
> ・オブジェクト指向
> ・アスペクト, etc…
>これらはモナドのコンテクストとして実装できる

225 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 18:53:37.75 ]
チューリング完全な言語なら
どんなパラダイムだって実装できる

226 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 20:41:23.81 ]
>>225
モナドを使えば後付けのパラダイムを言語に取りこめるという話でしょう。
Lispのマクロでもできますが、チューリング完全だけでは無理です。

227 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 21:05:04.33 ]
パラダイムを言語に取り込めるとやらの定義は?
つーかモナドなんて手続き型言語でも簡単に実装できるが、Haskellを特別視する理由は?
まさかdo構文(ただの構文糖)の有無を特別視してるのか?

228 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 21:26:47.75 ]
bindはクロージャが無いと無理だし、静的型付けの言語でreturnを多相にするなら型クラスが居るよね

229 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 21:34:13.26 ]
俺は >>226 ではないが、言いたいことはわからんでもない。
要は抽象化の問題だろ。
手続型がどうとか言う話じゃない。

あるパラダイムをモナドの中に押し込めて隠すことが出来るという意味で「取りこめる」と言ってるんだと思う。
LISP もマクロで覆ってしまえばプログラマはそのライブラリを愚直に使うだけのこと。

抽象度がイマイチな言語でも、もちろん様々なパラダイムに基いたプログラムは書けるけれど、
それはプログラマが意識しながらプログラムを書くということであって、
言語の中に (ライブラリ等として) パラダイムを取込むとは言えないと思う。

ってことだと理解した。

230 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:08:51.73 ]
モナドは全部同じだろ。
具体的なインスタンスを比較しない限り同じに見えるはずだ。それが抽象化だ。
異なるパラダイムを取り込めるのではなく、なぜか同じだから取り込める。



231 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:15:50.51 ]
>>228
静的型付けの言語では、型クラスがないとreturnを多相にできないの?

232 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:24:00.26 ]
暗黙の引数を明示的に与えるようにすれば多相にできるよ
でもそれは、Cでも構造体と関数ポインタ使えばOOPできるよ、というのと同じような話なわけ
モナドをヘビーに使い込むようなスタイルのプログラミングをするなら、Haskellを特別視する理由になるよね

233 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:30:19.48 ]
>>232
型クラスが存在しない静的型付き言語において、
暗黙の引数を明示的に与えるようにする以外の方法では、returnを多相にできないの?

234 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:30:46.35 ]
抽象化をしたいなら特別視なんてやめたほうがいいと思う

235 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:35:55.76 ]
>>233
できないんじゃない?
戻り値の型の情報はどこからとってくるの?

236 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:47:24.22 ]
型というか、型によって選択された実装をどこからとってくるか、だった。ごめんね
多相というのは、つまりoverloading(アドホック多相)のことね

237 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:54:06.87 ]
つまりad-hoc polymorphismを実現する手段として型クラスは必要条件ではないと思った
型クラスはad-hoc polymorphismと型推論を両立するためにless ad-hocにする手段で
型推論を捨てるなりすれば型クラスはなくても多相はできるでしょうと

238 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 23:29:31.36 ]
モナドであることの利点と型クラスの利点を切り分けられていない人が多い。
モナド則の有難味を感じるのはIOくらい。

239 名前:デフォルトの名無しさん [2012/01/15(日) 23:54:42.51 ]
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している
野田内閣は過半数が帰化人

野田はどうだろうか
韓国人から賄賂を貰い、韓国人の集いに出席している野田は

首になった蓮○はシャブで逮捕歴のある人間と仲が良いな。蓮○自身はやってんの?
い-6-1
テレビが言えない民主党のスポンサー=韓国北朝鮮
あとはもうわかるよな



240 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 07:38:13.19 ]
wxHaskell でバイト配列のポインタ (Ptr Word8) から Image 型を作る方法はありませんか



241 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 07:41:22.96 ]
>>240
すいません、解決しました

Graphics.UI.WXCore.Image や Graphics.UI.WXCore.Draw 辺りばかり見ていましたが、
Graphics.UI.WXCore.WxcClassesAL に望むものがありました

242 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 08:39:44.77 ]
>>232
> Cでも構造体と関数ポインタ使えばOOPできるよ、というのと同じような話なわけ

Haskellでもモナドと型クラス使えばOOPできるよ、というのと同じような話なわけだね
OOPを簡潔に書けないからね

243 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 08:43:19.87 ]
OOPと同じ手段は使えないけどOOPで実現したいことは簡潔に書ける(ドヤ

244 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 09:33:47.83 ]
>>242
今、他の言語がtype classみたいな機能を導入検討中ですぜ?

245 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 12:01:33.44 ]
>>232
>モナドをヘビーに使い込むようなスタイルのプログラミングをするなら、Haskellを特別視する理由になるよね
「モナド」と「Haskell」を他の組み合わせにすればどんな言語についても言えることだろ。モナド(Haskell)を特別視する理由に全くなってない

246 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 12:39:05.61 ]
>>232
IOモナドをヘビーに使い込むようなスタイルのプログラミングをするなら、正格評価をする言語を特別視する理由になるよね

こういうことですか?

247 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:11:15.74 ]
多相=アドホック多相だと思ってるハスケル脳は
多相=サブタイプ多相だと思ってるOO脳と同類だな

248 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:29:56.98 ]
Haskellはadhoc多相だけではないので念の為。

249 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 19:02:10.12 ]
手続き型言語でも簡単に実装できるが、Haskellを特別視する理由、に対する返答なんだからそれはおかしいんでは
モナドの利点は>>223 >>224 >>226など(>>226はモナドというより、後付けでインスタンスを追加できる型クラスの利点?)

250 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 19:08:13.39 ]
モナドなんか使わなくたって処理系実装すればいいだろ
他パラダイムを実装する枠組みがモナドである必然性はゼロ。
参照透明である必然性もゼロ。型クラスを使う必然性もゼロ。



251 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 19:12:22.89 ]
材木を見たら釘を打ちたくなる症候群のハスケル厨が
モナドを使って他パラダイムのエミュレートができると気付いただけ

他パラダイムのエミュレートにモナドが不可欠ではないし
モナドが他パラダイムにベストな解法であるわけでもない
単に、モナドで表現すること「も」できるね、ということでしかない



252 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 22:44:00.17 ]
where や let 内で定義する関数には INLINE プラグマは付けられない?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<232KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef