[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 01/22 12:07 / Filesize : 37 KB / Number-of Response : 134
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 13:03:13 ]
haskell.org
www.haskell.org/

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

過去ログ
関数型プログラミング言語Haskell
Part1 pc.2ch.net/tech/kako/996/996131288.html
Part2 pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 pc11.2ch.net/test/read.cgi/tech/1193743693/
Part9 pc11.2ch.net/test/read.cgi/tech/1211010089/
Part10 pc12.2ch.net/test/read.cgi/tech/1231861873/
・2chの仕様により、行頭の半角スペースは表示されません。
 コードをインデントしたいときは、代わりに または全角スペースを使うことができます。

32 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 15:38:48 ]
型 A に対して可能な演算と同類の演算を型 B に対してもできるようにする、
という事が既に Lifting になっているのでしょうか。

型 A に対して可能な演算と型 B に対して可能な同類の演算の名前が違っていても、
それは Lifting には変わりなく、ただ同じ名前の演算が定義されていた方が
より洗練された Lifting だということなのでしょうか。

33 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 09:08:38 ]
lift,liftってよく聞くけど、なんかあるの?
普通出会わないだろ。liftMぐらいじゃね?
なんなのliftって?

34 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 09:11:41 ]
処理系の設計に足をつっこむと
しょっぱなで出くわすのがlambda lifting

35 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:04:11 ]
lambda liftなんてあるのか。
でもいまの話ってtype lift(型持ち上げ)の話だろ。

36 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:10:02 ]
>>32
Payton JonesのImplementation of Functional Programming Languages
がどこかにpdfであったはず
13章を読むといいよ

37 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:13:04 ]
>>32じゃなくて>>35だった

38 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 11:23:12 ]
>>35
私が質問しているのは恐らく type lift の事だと思います。

もし type lift がどういうものか知っているのでしたら、
是非教えて頂きたいです。
172 ページを付近を飛ばしてとりあえず先に読み進んでみましたが、
やはり意味が分からず、内容が頭に入ってきません。
はっきりさせたいです。

39 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:39:45 ]
なんかすげー面白そうだな

40 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 06:08:41 ]
Liftingというコンセプトを理解したければ、
俺が知りたいのはtype liftingだ、lambda liftingなんて関係ない、
なんて言ってないで、関係あるものはさっさと読んだほうがいいぜ?

PJの説明はそう悪くないし。



41 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 07:33:17 ]
>>38
あんまり参考にならないだろうけど、型持ち上げはゲーデル(もしくはPM)にはじまる。
不完全性定理の証明に出てくる。
定義としては、
ある論理式aと別の論理式bがあるとして、
bがaの型持ち上げであるとは、bの全ての型のタイプ数を同じ数だけ
増加させると、bがaになることを指す。

というもの。PMがベースなのでそのままは適用できないけど、liftMを
使ってほぼ同じだと思われることは一応出来る。
a -> b => [a] -> [b]
みたいなの。

実は、自分もおなじことずっと調べていて、情報が欲しい。
そっちでなんか分かったら教えてくれると嬉しいかも。>>36も読んでみる。

42 名前:41 mailto:sage [2009/09/23(水) 07:44:25 ]
>a -> b => [a] -> [b]
じゃなかった。
a -> b -> (a,b) => [a] -> [b] -> [(a,b)]
だった。

タプルを作る関数を型持ち上げ=>直積を作る関数。
p x y = (x,y)
directProduct :: [a] -> [b] -> [(a,b)]
directProduct = liftM2 p

43 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:55:56 ]
>>40
ちょっと待って、飛躍しないで欲しい。
lambda liftingなんて関係ないなんて一言も言ってないし思ってもない。
そもそも、type lift と lambda lifting の違いすら今は全く分からない。

ただ、>>35 の言い方から、lambda lift は今回の話には繋がらないのか、
と推測しただけです(あの言い方ならそう推測してもおかしくないと思うが)。

で、私も「Implementation of Functional Programming Languages」を落としたので、
読んでみます。

44 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 12:57:40 ]
実際、全然関係ないぞ

45 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:51:05 ]
>>44
そうなんですか。
でも、やっぱりよく分かんないので、
とりあえず紹介された文献を読んでます。

まだ2章5節なんですけど、これはおもしろいですね。
ここまででもすごく勉強になります。
以前「Lambda-Calculus and Combinators an Introduction」を読んでいて、
p34 の不動点定理のところで意味が分からず挫折していたのですが、
ようやく意味が分かり、思わぬ収穫です。

13章にはほど遠いので、
lifting の意味はまだ全く分かんないですけど。
おもしろい文献の紹介、ありがとうございます。

46 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:00:51 ]
10年前にmonadと出会って以来、何千回と挫折してきた俺がついに悟った!

これは

単なる

イディオムだ


47 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:43:42 ]
最中どう?どうもなか?最中どう?どうもなか?最中どう?どうもなか?最中ど
う?どうもなか?最中どう?どうもなか?最中どう?どうもなか?最中どう?ど
うもなか?最中どう?どうもなか?もなかどう?どうもなか?もなかどう?どう
もなか?もなかどう?どうもなか?もなかどう?どうもなか?もなかどう?どう
もなか?もなかどう?どうもなか?もなかどう?どうもなか?もなどどう?どう
もなど?もなかどう?どうもなか?もなかどう?どうもなか?もなかどう?どう
もなか?もなかどう?どうもなか?もなかどう?どうもなか?もなかどう?どう
もなか?もなかどう?どうもなか?最中どう?どうもなか?最中どう?どうもな
か?最中どう?どうもなか?最中どう?どうもなか?最中どう?どうもなか?最
中どう?どうもなか?最中どう?どうもなか?最中どう?どうもなか?最中どう?


48 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:13:51 ]
WINDOWS VISTA 環境に以下を参考にghcを導入した。

d.hatena.ne.jp/coppieee/20090416/1239903149
導入したEclipse SDKはVersion: 3.3.2
Eclips用のHaskell モジュールが最新のEclips 3.5に未対応な為
リンク先の
>> 5. Windw -> Preferences -> Functional Programming -> Haskell -> Compiler -> GHC compiler -> Browseボタンでインストールしたghcのコンパイラ選択。
に有るように、正確にGHCの場所を指定しなくても動作する
ただし、インタープリタGHCiの場所を認識しないので、ghcの場所は正確に指定し
インタープリタghciの接待タブでghcの場所設定を利用するにチェックを入れる。

Eclipsの日本語化はmergedoc.sourceforge.jp/ を参考にどうぞ

少し疲れたw

49 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 16:19:33 ]
>>32
元の構造は保たないと。
ファンクタなんで。

50 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 18:50:01 ]
函手じゃなくて自然変換じゃないか。
一意に決定しないと使い物にならない。



51 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 19:34:22 ]
函手って見ると
ハルヒの射手座の日を思いだす

理由はよくわからない

52 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:04:26 ]
slashdotのコメント欄はわかってないヤツが多いな。
slashdot.jp/developers/09/09/24/039226.shtml

こういう連中がいる会社は最悪だろうな。まさに老害。

53 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:21:28 ]
どういう連中か目に浮かぶようだ

54 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:30:38 ]
Agdaって今世界でもっとも難しい言語の1つだよね?
極めれば即仙人になれる難しさだよね?

俺写像定義するだけで投げたレベルだからあれだけど

55 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:33:40 ]
ほんとか!ちょっとAgda勉強しにいってくる。

56 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:48:37 ]
魔法使い卒業検定には使えますか?

57 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:49:59 ]
卒業なんてない。
死ぬまで学徒。

58 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 11:46:48 ]
real world agda が出てから勉強する!

59 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 12:49:36 ]
>>54
別に難しくないじゃん。
数学系ならさほど障害は無いと思う。

60 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 13:00:42 ]
>>54
Coqよりだいぶマシ



61 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 22:47:02 ]
darcsからbzrに乗り換えるか悩む

62 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 22:55:22 ]
darcsって正直Haskell製以外にメリットなくない?不安定でたまにプロセスが止まったり、パフォーマンスもあんまよくないし。
git/bzrメインに乗りかえたらすごい快適になった。Haskell製ってことで期待しすぎたのかもしれないが、
正直最近はdarcsなリポジトリみるとウンザリする。

63 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 00:51:45 ]
darcs 2.0.2だと実行ファイル単品で動いてたからインストールとか楽だったんだけど、
それ以降の奴ってdllが増えててやだなぁと思って使ってない。

git/bzr使おうかなぁとか思ったりもするけどmsysやらなんやら周辺のファイルの多さが気に入らない。

64 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 17:11:53 ]
All About Monadsの原文のページが
例のおねーちゃんに乗っ取られてる

sampou.orgにあるから別にいいんだけど
なかのひとがどうしているのか気になる

65 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:37:25 ]
GHC-6.12.1からSystem.IOが内部エンコーディング<->ローカルエンコーディングと
改行コードの自動変換をするらしい。

ttp://ghcmutterings.wordpress.com/2009/09/30/heads-up-what-you-need-to-know-about-unicode-io-in-ghc-6-12-1/

66 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 00:50:12 ]
Haskell のカーネルって基本的にLispと同じだよね?
ガベージコレクタがあって
8ビットCPUの時代Lispのインタープリタは4kbyteほどしかなかった気がする
Haskellのフロントはhaskellのカーネルに食わせるために単純な演算塊に展開してやると
で、Haskellの基本的部分はかなりコンパクトに実装できるのかな?と思った。

67 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 07:28:42 ]
>>66
> Haskell のカーネルって基本的にLispと同じだよね?

違う

68 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:35:49 ]
チューリング完(ry

69 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 18:57:28 ]
haskell.g.hatena.ne.jp/taninsw/

qsort[]=[]
qsort(x:xs)=qsort larger ++ [x]++ qsort smaller
where
smaller = [a|a<-xs,a <=x]
larger = [b|b<-xs,b>x]

What would be the effect of replacing <= by < in the definiton of qsort? Hint:consider the example qsort[2,2,3,1]
改変されたqsortをqsort'だと仮定する

qsort[2,2,3,1]=qsort [2,1] ++[2]++qsort [3]=(qsort[1]++[2]++qsort[])++[2]++(qsort[]++[3]++qsort[])
=((qsort[]++[1]++qsort[])++[2]++[])++[2]++([]++[3]++[])
=[]+[1]+[]+[2]+[]+[]+[2]+[]+[3]+[]=[1,2,2,3]

qsort'[2,2,3,1]=qsort [1] ++ [2] ++ qsort[3]=qsort[]++[1]++qsort[]++[2]++qsort[]++[3]++qsort[]
=[]++[1]++[]++[2]++[]++[3]++[]

つまり、同じ値が複数あるときは、ひとつを残して消えてしまう。
−−−−−−−−−
で、値が消えないんだけど文意を取り違えているのかどうなんだろう
消える様に改変しろなのかな?
smaller = [a|a<-xs,a <=x]をsmaller = [a|a<-xs,a <x]すると消えるけど

70 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:14:47 ]
>>69
「改変したらどうなるか?」ってのが問いで、「値が消える」が答え

What would be the effect of replacing <= by < in the definiton of qsort? Hint:consider the example qsort[2,2,3,1]
qsortの定義の中の<=を<に変えたとすると、何が起きるだろうか。ヒント qsort[2,2,3,1]という例で考えてみよ



71 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:15:16 ]
晒しているのか、まじ質問なのか、判断できん。

前者なら死ね。
後者ならどんだけ自分に自信がないんだ。君はできる子だよ。

72 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:17:46 ]
>>67
どう違うのか簡潔な説明が欲しいけど
”違う”の一言で終わりそうな感じなのであきらめます。

73 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:21:27 ]
Lisp系の場合はほんのわずかな特殊なものを除いて、
インタープリタ込みの構造になってる。
そして動的型付け。


74 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 20:44:23 ]
いや、元Lisperなんでスレ違いだがおもわず。
それSchemeじゃない?Lispだと大抵コンパイラ込みで、宣言型型付けだろ。


75 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 21:23:36 ]
実装による。
しかし、コンパイラでもマクロ展開を考えたら実質的にはインタプリタみたいなものは入ってなきゃだめだろう。
(CommonLisp でも Scheme でも。)
型については CommonLisp では型宣言できるけど、最適化のヒントでしかない。
型に応じて言語が何かしてくれるということはぜんぜん無い。
まぁ、「Lisp系」ってのは幅が広いので、ひとまとめで語るのが無茶だよ。

76 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 22:21:30 ]
> 型に応じて言語が何かしてくれるということはぜんぜん無い。
型が宣言できるなら実装がなにかしてくれるかもしれないのでは?

77 名前:76 mailto:sage [2009/10/04(日) 22:22:55 ]
しまった、Haskellスレか。関数型言語スレかとおもった。ごめん無視して。

78 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:46:11 ]
言葉足らずですまないです。
Haskellをインタープリタだけ実装した場合lispに似てるのかな思ったので
言語仕様上は短精度、倍精度実数とか文字列とかあるけど
中身はリストさえclassとして実装している面白そうな物だなとか

a (n+1) = n で
a 1 を実行すると 0
a 2 を実行すると 1
a 0 を実行するとエラーになって思わず仰け反ったり、油断ならね〜

GHCのガベージコレクタは優秀とか言われているけどどうやっているのか興味が沸いたり
プログラムが関数の定義塊なのに、c系統のつもりで読んでパニック起こしたり
快感と言うかグッ来るものがある

79 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:50:57 ]
やっぱりなにが言いたいのかよく分からない

80 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 01:04:25 ]
>>78
Yhcのソースでも読んで見りゃいいんじゃない?
www.haskell.org/haskellwiki/Yhc



81 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 06:18:40 ]
>>74
Haskellとの比較だから、コンパイラあるのは違う点に入らない。
実行時に型宣言ないlambda式生成できるので、
動的型付け必須で、データをunboxing出来ない。

82 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 08:43:13 ]
Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine でも読んだら?

83 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 09:34:34 ]
実際は Lisp でも型宣言したら静的型付けと同じように、
その型に応じた演算がされるから SBCL とか結構速い

84 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 19:18:36 ]
>>83 >>82を読め

85 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:44:42 ]
>>82
ps落としてきたんだけど、gvでエラーになっちゃう

86 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:55:43 ]
>>85
GhostScript を使って読むとか ps2pdf ってコマンドが同梱されているから pdf に変換するとかすればいいと思うよ

87 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:22:05 ]
>>86
d

88 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:51:24 ]
>>84
え、何で俺?

89 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 08:34:16 ]
Lispの型宣言と違い、Haskellの型宣言は、Haskellで書かれたコード全てに
強く強制されるから、コンパイラは、型的に正しいコードしか存在しないことを
仮定してコード生成ができる。

90 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 12:32:51 ]
構造化プログラミングのAlgol
オブジェクト指向プログラミングのSmalltalk
そして関数型プログラミングのHaskell

10年後くらいにはこんな感じの認識になってるんじゃないかと思う




91 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 12:33:48 ]
そしてC++のポジションにはScalaが座っていると

92 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 13:08:14 ]
C++のポジション → みんなから罵詈雑言を浴びせられ続ける……ってこと?

93 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 13:38:26 ]
>>89
Lispは逆のアプローチじゃなかったかなあ
最適化に必要な型や仮定をプログラマが与える
コードが適切な振る舞いをすることは、型システムでなくてプログラマが保証する

94 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 19:48:53 ]
オライリージャパン早くしろよ

95 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 20:19:23 ]
RWH待ち遠しいな


96 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 21:02:30 ]
kazuさんのブログ面白いよね

97 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 00:39:22 ]
cabal-installってユーザ単位の環境の作成管理がデフォだったっけ?
前は普通に/usr/local以下を管理してくれたと思ったが

98 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:26:46 ]
userとglobalでprefixが$HOMEと/usr/localでなんちゃら

99 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:47:44 ]
ttp://shootout.alioth.debian.org/
なんか前よりhaskellのランクが落ちてるような。他が良くなったのか。

100 名前:デフォルトの名無しさん [2009/10/08(木) 08:17:56 ]
Haskellの.NET実装ってある?

IronHaskellとかH#みたいな。



101 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 09:32:21 ]
Haskell.NETってのが…計画倒れ?
php.cin.ufpe.br/~haskell/haskelldotnet/

102 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 12:10:57 ]
F#「椅子はひとつよ♡」

103 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 16:00:31 ]
F#はHaskellじゃないし

正格なんだっけ?

104 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 20:56:47 ]
Programming in Haskellの翻訳はいつ出ますか?

105 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 21:46:22 ]
どこからでるんだろね

106 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 16:41:29 ]
shootout.alioth.debian.org/u32/shapes.php

Ocamlに圧倒的に負けてるね。とくに簡潔さで。
Haskellの記述力が弱いのか?

107 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:39:03 ]
shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=ghc&lang2=ocaml

によると、source sizeで一番Ocamlに差をつけられているのがregex-dnaというプログラム

Haskell GHCのコード
shootout.alioth.debian.org/u32/benchmark.php?test=regexdna&lang=ghc

Ocamlのコード
shootout.alioth.debian.org/u32/benchmark.php?test=regexdna&lang=ocaml

詳しい人解説プリーズ、と思ったらそもそもOcamlのコード動いてねえ!

108 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 18:06:07 ]
>>106
人が何に対して、何を基準にして簡潔さを感じるか、の違いだと思う。

私が感じる簡潔さはあのグラフでは表現されない。
私には Haskell は Ocaml に対して簡潔さにおいて圧倒的に負けてるとは思えない。

109 名前:デフォルトの名無しさん [2009/10/10(土) 18:23:59 ]
くやしいのうwwwwwwwくやしいのうwwwwwwwww

110 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:10:15 ]
>>107
ワロタw

オライリージャパンの近刊情報にRealWorldHaskellがあるけど
組み込みLinux〜とかとちがって発売日不明だし、十月は無理くさいね
ttp://www.oreilly.co.jp/catalog/soon.html



111 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:55:55 ]
関数言語系の日本語の本は誤字脱字とかミスがひどいのが多いから
きっとRWHもそれで必死に校正してるんだろうな

112 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:19:30 ]
>>107

> Fatal error: exception Failure("Buffer.add: cannot grow buffer")

バッファオーバーフローみたいなもの?
N=500,000(オリジナルの1/10)では動くらしい
Ocamlはメモリマネジメントがあまりうまくないのかな

113 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 14:14:21 ]
質問なのですが、型変換ってどうやったらいいのでしょうか?
Word8 -> Word みたいなことをやりたいのですが

114 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 14:42:59 ]
fromIntegral :: (Integral a, Num b) => a -> b
fromIntegral = fromInteger . toInteger
でいいんじゃないか。

115 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:16:36 ]
>>114
それでいけました
質問にお答え頂きありがとうございました

116 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:32:19 ]
>>89
何かレベルの低い話っぽかったから見てなかったわ…

>型的に正しいコードしか存在しないことを
>仮定してコード生成ができる。

Lisp でも (declaim (optimize (safety 0) ... )) とかすれば、
型的に正しいコードしか存在しないことを仮定してコード
生成が出来るんだぜ。

117 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:36:27 ]
それって正しい型宣言をするのはプログラマの責任で、型チェックはあっても処理系依存じゃん。
ミスがあったら実行時にエラーになっちゃう。Haskellのように安全かつ完全な型検査はできるわけじゃない。
そもそもスレ違い。

118 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:46:21 ]
そりゃ、違う言語なんだから違う部分を探せば幾らでもあるさ。
そんなことを言って何が面白いのか知らんが。

119 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 16:22:01 ]
>>118
いや、おまえは型検査がまるでわかっていない。

120 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 16:28:14 ]
そうやって妄想するのは良いけど勝手に決めつけるなよ。
自分だけが知った気になってる奴が一番面倒くさいんだよな。



121 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 16:48:35 ]
そもそも俺はこれ↓が間違いだと言ってるだけなんだがなあ。

>>81
>実行時に型宣言ないlambda式生成できるので、
>動的型付け必須で、データをunboxing出来ない。

Haskell のスレだが、Lisp について間違った認識をしている
人が居たから訂正したまでだよ。

122 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 16:55:52 ]
>>121
言い訳はそれで終わりか?
学部の授業受けなおしたらどうだ?

123 名前:デフォルトの名無しさん [2009/10/12(月) 16:59:25 ]
どちらが正しいか俺にはわからんが、
>>121>>122なら>>121の方に分があるように見える。

>>122のように無意味な誹謗を始めたら負けだ。

124 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 16:59:34 ]
そういう煽り切ったら勝ちみたいなのは下らないから止めた方が良いと思うぜ。
>>121に異論が無いなら終わりだよ。

125 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 17:00:24 ]
あ、スマソ。>>124>>122向けです。

126 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 17:51:20 ]
型安全に関する理解が浅いのを
話題を煽り論争にスリ替えようとしているのが
あまりにもミエミエで笑った!

127 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 18:16:07 ]
そもそも、最適化した Lisp の型に関する安全性を主張している訳じゃないことを
理解できてないだけでしょう。

単に煽りたいだけなのはミエミエだけどなあ。煽ればレスが貰えるみたいな、
レス乞食は面倒くさいから勘弁ね。ずっと笑ってなよ。

128 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 18:25:03 ]
λ < スレ違いはもうやめて

129 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:28:37 ]
オライリージャパン早くしろよ!

130 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:34:44 ]
6.12.1-rc1キター



131 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 22:18:00 ]
realWorld、24日発売みたいですね。
で、Tシャツって4k以上だから、もう一冊買わないとダメなんですかね。
やるなー、オライリー

132 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 22:38:31 ]
宣伝はやめください

133 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 04:48:08 ]
>>131
ktkr






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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