トップページtech
1001コメント379KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/11/07(火) 21:24:26
haskell.org
http://www.haskell.org/

日本語サイト
http://www.sampou.org/cgi-bin/haskell.cgi
http://shidot.dyndns.org/hs/

過去ログ
関数型プログラミング言語Haskell
Part1 http://pc.2ch.net/tech/kako/996/996131288.html
Part2 http://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 http://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 http://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 http://pc8.2ch.net/test/read.cgi/tech/1149263630/

関連スレは>>2
関連書籍は>>3

・2chの仕様により、行頭の半角スペースは表示されません。
 コードをインデントしたいときは、代わりに または全角スペースを使うことができます。
01111052006/11/26(日) 11:37:13
>>109
書き換えれば動くのは確かめたのですが、
処理系によって挙動が異なるので、仕様ではどうなっているのか気になっています。

>>110
ありがとうございます。
たしかに、ghcに--makeオプションを指定すると、うまくコンパイルできました。

hugsでは、このライブラリは利用できないのでしょうか?
hugsの実行時に+wオプションを使い、読み込まれるファイルを確認しました。
結果、メッセージは
...
Hugs session for:
...
/usr/lib/hugs/packages/base/System/Posix/Types.hs
/usr/lib/hugs/packages/base/System/Posix/Internals.hs
/usr/lib/hugs/packages/unix/System/Posix/Files.hs
hoge.hs
Type :? for help
Main> main
*** glibc detected *** hugs: free(): invalid pointer: 0x0965eb60 ***
======= Backtrace: =========
/lib/libc.so.6[0x4a74aefd]
/lib/libc.so.6(cfree+0x90)[0x4a74e550]
/usr/lib/hugs/packages/base/Foreign/Marshal/Alloc.so[0xd67616]
hugs[0x80771c6]
...
/lib/libc.so.6(__libc_start_main+0xdc)[0x4a6faf2c]
hugs[0x8049c51]
======= Memory map: ========
...4a8アボートしました
となり、異常終了してしまいます。
0112デフォルトの名無しさん2006/11/26(日) 12:55:55
if は else を省略してはいけない。仕様上、そう定義される。

特定のときにだけ実行するような場合は Monad (または Control.Monad) を
インポートして when か unless を使え。


あと和訳されてるんだし疑問を持ったら自分で仕様を読めば。
http://www.sampou.org/haskell/report-revised-j/exps.html
0113デフォルトの名無しさん2006/11/26(日) 13:15:46
>>111
仕様が気になるなら仕様書を読むしかない。

do構文が絡んだ場合のインデントについてまとめてあるのを見つけた。
http://en.wikibooks.org/wiki/Haskell/Indentation
0114デフォルトの名無しさん2006/11/26(日) 13:16:47
>>108
if..then..elseは単なる式であって、doの文にするなら一文に収めないといけない。
そのコードだとif...then...とelse...で二文に分かれているので、エラーになるのが正しいはず。
手元のHugs May 2006では
ERROR "test.hs":2 - Syntax error in expression (unexpected `;', possibly due to bad layout)
というエラーになった。
01151142006/11/26(日) 13:30:35
なぜかWindows版だと通るな。
Hugsのバグかも。
0116デフォルトの名無しさん2006/11/26(日) 13:34:21
>>105
明らかにライブラリまたはHugsの問題。コードは悪くない。
0117932006/11/26(日) 17:50:31
>>94-95
ありがとうございました。
0118デフォルトの名無しさん2006/11/26(日) 17:56:23
ttp://oss.timedia.co.jp/show/Haskell/Emacs
に書かれている設定で Emacs の haskell-mode を入れてみたんですが、
インデントが正しくなりません。たとえば Yet Another Haskell Tutorial
の p.32 の例を入力すると、

module Main
  where

   import IO

main = do
 hSetBuffering stdin LineBuffering
        putStrLn "Please enter your name: "
             name <- getLine
                 putStrLn ("Hello, " ++ name ++ ", how are you?")

となってしまいます。(半角スペース 2 つを全角空白文字に変換しています。)
何か設定がおかしいんでしょうか? それともこういうもの?
0119デフォルトの名無しさん2006/11/26(日) 19:05:30
tabを何回か叩くとインデント位置の候補をローテートしない?
01201052006/11/26(日) 19:14:27
>>112-116
ありがとうございます。
0121デフォルトの名無しさん2006/11/26(日) 23:15:09
圏論やりながらHaskellやっているのって主にどこの大学でやっているんですか?
それともみんな個人レベルで圏論とHaskellをやっているんですかね・・・
01221182006/11/26(日) 23:59:42
>>119
おおー、なるほど。ありがとうございました。
0123デフォルトの名無しさん2006/11/27(月) 00:24:10
>>121
いろんなところでやってるでしょ。代表的なのはオックスフォードだけど。
0124デフォルトの名無しさん2006/11/27(月) 00:44:00
http://groups.google.co.jp/group/categories/browse_thread/thread/849f8c9e9fad74c4/fe103333ccb23843
orz
0125デフォルトの名無しさん2006/11/27(月) 01:04:05
うぉ。
ていうかこれ去年か。
0126デフォルトの名無しさん2006/11/27(月) 01:07:32
京都産業大学か
0127デフォルトの名無しさん2006/11/28(火) 17:33:23
本物のプログラマをHaskellを使う
0128デフォルトの名無しさん2006/11/28(火) 18:48:09
本物のプログラマでHaskellを扱き使う。
0129デフォルトの名無しさん2006/11/28(火) 20:13:56
あなたをHaskellです
0130デフォルトの名無しさん2006/11/28(火) 20:20:06
目的語指向言語のスレはここですか?
0131デフォルトの名無しさん2006/11/28(火) 23:56:32
Haskellがすでに失敗している10の理由
ttp://d.hatena.ne.jp/m-a-o/20061123#p2
0132デフォルトの名無しさん2006/11/29(水) 00:01:57
>>131
HelloWorldしか書けない初心者の俺がみても
10個中10個が失敗した理由になってねーよw

人気でない10の理由ってんなら少しはわかるが

0133デフォルトの名無しさん2006/11/29(水) 00:07:45
元ネタを貼らないのは公平じゃないと思った
ttp://www.audioholics.com/news/editorials/10reasonsHDDVDsfailed.php
ttp://tabesugi.net/memo/cur/b2.html#192215
0134デフォルトの名無しさん2006/11/29(水) 00:58:53
ttp://www014.upp.so-net.ne.jp/tetryl/llw2004/ll-samurai.txt

> 残念!
> 「Hello worldさえブラックボックス」
> 斬り

古いネタだけど吹いたw
0135デフォルトの名無しさん2006/11/29(水) 02:08:20
>>134
ごめん全部読んだけど、面白くなかった。
何かお笑い芸人のネタみたい。
0136デフォルトの名無しさん2006/11/29(水) 05:31:54
ギター侍を知っていることが前提のネタだから仕方がない
0137デフォルトの名無しさん2006/11/29(水) 23:10:29
>3. 型推論も遅延評価も飛躍的な進歩というわけじゃない。

遅延評価はパラダイム的にはものすごい進歩だとおもうけど。プログラム言語内に無限概念を取り込むことに成功している。

数学チックにいうと
遅延評価のない言語=代数的
遅延評価のある言語=超越的
とでもいうか・・・。
遅延評価は何気にHaskellの一番の利点だと思う。(パラダイム的に)
型推論なんて比べ物にならね。(比べるものではないが、ていうか比べられないけど)
0138デフォルトの名無しさん2006/11/29(水) 23:16:31
あんまりよく読んでなかったorz
0139デフォルトの名無しさん2006/11/29(水) 23:25:33
遅延評価はHaskellの一番の欠点だと思う。
言語に組込みで持つには(計算機アーキテクチャから見て)複雑過ぎるし、
オーバーヘッドが大きすぎるし、空間効率の予測が難しすぎる。

たしかに遅延リストや遅延木は便利だけど、
それは言語に遅延評価を組み込む理由にはならない。
例えば遅延リストはOCamlやSchemeでも扱えるはず(違ってたらごめん)。

型推論とどっちを取るかといわれたら、俺なら間違いなく型推論をとる。
0140デフォルトの名無しさん2006/11/29(水) 23:29:05
おめーら
専門用語きんし

↓以後ひらがな+説明文添付必須
0141デフォルトの名無しさん2006/11/29(水) 23:29:54
結局は好みだよな。
だけど、言語機能として一貫して遅延させるのと単に遅延評価を扱えるってのとでは話が違ってくる事柄なので、
そういった形での比較はナンセンスだと思う。
遅延評価は遅延評価なりのメリットがあるので別に要らない場面ではOCamlでもSchemeでも使ってりゃいいんでね?
0142デフォルトの名無しさん2006/11/29(水) 23:31:39
常に!つかえば
0143デフォルトの名無しさん2006/11/29(水) 23:37:50
>そういった形での比較はナンセンスだと思う。
あー確かに議論が混乱してたかも。すまん。

>別に要らない場面ではOCamlでもSchemeでも使ってりゃいいんでね?
**が欲しいなら**言語を使え、というのは余計なお世話だ。
Haskellにあってその二言語にない特徴なんて遅延評価以外にもいくらでもあるわけで。
0144デフォルトの名無しさん2006/11/29(水) 23:46:41
遅延評価=>ε-δ論法
すなわちHaskellは無限概念を内包しているのだ!


といってみる。
0145デフォルトの名無しさん2006/11/29(水) 23:48:43
てめー記号まで使うな
よめないぞ
0146デフォルトの名無しさん2006/11/29(水) 23:50:16
つーかIOモナドも遅延評価なかったら使えないだろ。
0147デフォルトの名無しさん2006/11/29(水) 23:53:40
>>146
なんで?

確かに
main = putStrLn "foo" >> main
みたいなのは書けなくなるけど、
main = putStrLn "foo" >>= (\_ -> main)
と書けばいいので問題ないと思うんだが。
0148デフォルトの名無しさん2006/11/29(水) 23:54:42
C++で書いてると、たまにHaskellが恋しくなります。
Haskellで書いてると、たまにC++を頼もしく感じます。
修行が足りない?
0149デフォルトの名無しさん2006/11/29(水) 23:55:24
遅延評価無いとモナド使うのマンドクサ。

例外モナドがMaybe aではなく() -> Maybe aだったとすると

do
foo
bar



do
(\_ -> foo)
(\_ -> bar)

って書かないといけなくなる。
0150デフォルトの名無しさん2006/11/29(水) 23:56:06
>>147
実装上の問題。正格では実装できない。おそらくね。
全然違うかもしれんが。
0151デフォルトの名無しさん2006/11/30(木) 00:02:22
>>149
それは気づかなかった。
その例だとdoを展開するときに>>でなく>>=を使うようにするだけで十分だけど、
類似の例がもっとあるといやだな。

>>150
newtype IO a = IO (() -> a)
で十分なはず。
C++でIOモナドを書いてみたら一応動いたのでたぶん問題ない。
0152デフォルトの名無しさん2006/11/30(木) 00:03:44
>>151
なぬ。馬鹿な。
0153デフォルトの名無しさん2006/11/30(木) 00:04:05
>>143
Haskellにとって遅延評価は基盤であり、その他の便利な特徴もそれを前提としているものが少なくない。

>>139の「それは言語に遅延評価を組み込む理由にはならない。」
というのがあるから嫌なら特に必要ない限り他の選択肢を選べばいいんでね?
という程度の考えだった。

逆に言えばHaskellの特徴の便利な部分をOCamlやSchemeでは実現しえないものか?
できないならやっぱHaskellの遅延評価とそのほかの特徴は切り離せないものと割り切るしかなかろう。
0154デフォルトの名無しさん2006/11/30(木) 00:13:39
>>153
遅延評価がないと難しそうなもの(where節とか)もあるけど
そうでもなさそうなもの(型クラスとか純粋さとかインデントによる構文とか)も結構あると思う。
0155デフォルトの名無しさん2006/11/30(木) 00:33:51

    スーパーモ゛ナ゛ードッ!!

      ヽ/\ , ,
    | \ヾ   // |, ,
   ヾ         //,,
  \    ∧/|,//_  /"
  ヾ   ヾ,ヘヘ / ,/ /,
 \   ヾ|/|/ヽノ/,/  /"
  丶   (`∀´ ∨   /,
  \  d    つ   /"
  ヽ   |  |  |   /,,
  \__,,,(_(__),,,_/"
0156デフォルトの名無しさん2006/11/30(木) 00:53:46
遅延リストってジェネレータで代替えできるしなぁ
0157デフォルトの名無しさん2006/11/30(木) 01:17:54
haskellのソースって結局Monad使って手続き的に書いている場合が多い希ガス

ttp://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme%3aLazyEvaluation
ここでnobson氏とShiro氏がSchemeで遅延評価にいろいろ挑戦しているみたいだけど
やっぱり完ぺきに実現するのは無理っぽいね
0158デフォルトの名無しさん2006/11/30(木) 12:17:46
無限概念の話、無視しないで・・・。
0159デフォルトの名無しさん2006/11/30(木) 12:44:01
>>158
BASIC でも無限ループが書ける。
0160デフォルトの名無しさん2006/11/30(木) 16:54:46
>>156
遅延リスト(無限リスト)とジェネレータ(ストリーム)は
本質的に異なる構造を持っているので、理論上代替は不可能。

実用上はだいたい代替できるんだけどね。
理論屋としては別物として考えておきたい。
0161デフォルトの名無しさん2006/11/30(木) 19:02:29
同じ終代数を持ちそうだがな
0162デフォルトの名無しさん2006/11/30(木) 21:41:56
>>148
俺もだ。
だれかHaskellとC++とDとMerdとRubyとNemerleの良いとこ取りした言語
作ってくれないかな。
0163デフォルトの名無しさん2006/11/30(木) 21:49:01
アセンブリを関数型で書いたりできないの?
0164デフォルトの名無しさん2006/11/30(木) 21:56:20
Lambda, the Ultimate Label?
0165デフォルトの名無しさん2006/11/30(木) 21:58:39
>>162
C++3xはそれらを全て取り込んだ究極言語になるらしいよ。
0166デフォルトの名無しさん2006/11/30(木) 22:08:55
3xワラタ
言語仕様が10巻本で出そうだな。
0167デフォルトの名無しさん2006/12/01(金) 00:31:39
>>139
>遅延評価はHaskellの一番の欠点だと思う。

遅延評価を実装することが、Haskellおよびその祖先のそもそもの目的だったのよ
遅延評価がHaskellの存在意義なの
0168デフォルトの名無しさん2006/12/01(金) 01:31:50
最近Haskellの勉強始めたんだけど全然わかんね。
ラムダ計算や圏論とかモナドって考え方がさっぱりだ。
これって計算機科学や数学を勉強しなきゃならんね。
情報系の学部ってこんなんやってんの?
0169デフォルトの名無しさん2006/12/01(金) 01:39:42
>>168
プログラミングは計算機科学じゃないから。
0170デフォルトの名無しさん2006/12/01(金) 01:40:53
「情報工学」とかになるとプログラミングに関する事もやってたりするけど。
0171デフォルトの名無しさん2006/12/01(金) 11:05:07
>>168
>ラムダ計算や圏論とか

haskell使うだけなら必要ない。
もしhaskellの入門本にラムダ計算や圏論が説明されていてもそこはすっとばしていい。
0172デフォルトの名無しさん2006/12/01(金) 14:37:21
現時点で最強の関数型言語はエクセルです。
すべてにおいて
エクセル>>>>>ハスケル

ハスケル厨は勘違いしないように。

名前自体パクりっぽいよな。
0173デフォルトの名無しさん2006/12/01(金) 14:38:09
だれか.NETに乗っけてくれ。
そうすれば必要なところではHaskell、あとはC#ですむ。
0174デフォルトの名無しさん2006/12/01(金) 19:38:41
Haskell.netはあったはずだが…
0175デフォルトの名無しさん2006/12/01(金) 22:55:47
>>171
そうなのか?俺も初心者だけど
そこを理解してこそ、Haskellを勉強する価値があるんじゃないのか?
0176デフォルトの名無しさん2006/12/01(金) 22:59:42
http://en.wikipedia.org/wiki/Levenshtein_distance#Haskell

やっぱり Haskell だよね。
0177デフォルトの名無しさん2006/12/01(金) 23:20:53
>>175
それは何のためにHaskellを勉強しているかに依るだろ。
俺は数学的背景をほとんど知らないけど、Haskellで
快適にコーディングができる程度には「使え」るし、
Haskellを勉強して得たものは非常に大きいと思う。

もちろん、背景を理解すると見えるものが一変する、という可能性は
否定できないけど。
0178デフォルトの名無しさん2006/12/01(金) 23:23:52
>>176
そのコードを自動でメモ化する処理系なんてあるのか?
さすがにそれを効率的だと言うのは誇張かと。
0179デフォルトの名無しさん2006/12/02(土) 00:44:09
>>173

なぜか3つもあるHaskell.NET
http://www.dotnetpowered.com/languages.aspx
0180デフォルトの名無しさん2006/12/02(土) 13:56:21
WinHugsどうやって削除すればいいですか?
直接レジストリ消そうと思うんだけど、どれ消せばいいのかわからない
Software以外に関係してるとこあるのかな
0181デフォルトの名無しさん2006/12/02(土) 14:32:53
>>180
インストール時の選択によって違う。
詳しくは>>70のgetRegsを読んでくれ。
0182デフォルトの名無しさん2006/12/02(土) 16:46:14
HKEY_LOCAL_MACHINE hKEY_LOCAL_MACHINE SOFTWARE\\Haskell
HKEY_CURRENT_USER  hKEY_CURRENT_USER  Software\\Haskell
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\WinHugs
hKEY_CLASSES_ROOT hugs_haskell
hKEY_CLASSES_ROOT hugs_haskell

この4つ消してあとはフォルダごとゴミ箱つっこめばOKかな?
0183デフォルトの名無しさん2006/12/02(土) 18:18:11
>>182
>HKEY_LOCAL_MACHINE hKEY_LOCAL_MACHINE SOFTWARE\\Haskell
>HKEY_CURRENT_USER  hKEY_CURRENT_USER  Software\\Haskell
中身がhugsだけでないなら消すとまずい。
0184デフォルトの名無しさん2006/12/02(土) 18:28:39
あ、そっか
GHCとかもその下に含まれてるね

その下のHugsってのだけ削除すればいいか
0185デフォルトの名無しさん2006/12/02(土) 22:13:19
>>171
逆にその辺の知識を勉強したいと思った場合どこから手を付ければいいんだろう?
高校レベルまでしか数学知識ない状態で。
0186デフォルトの名無しさん2006/12/03(日) 08:22:32
Jacobの黄色い本なんかがいいんじゃないか
0187デフォルトの名無しさん2006/12/03(日) 21:24:57
>>185
現実的に言って働いている社会人だとほとんど不可能だと思う。
理由としては。
1.時間が馬鹿みたいに必要。(日常生活に確実に侵食してくる)
2.難しいのでモチベーションが続かない。(理系は視野が狭いというが狭い視野じゃなきゃやってられねぇ。)
3.自己流だと確実に変な方向に行ってしまう(数学基礎論にはまってしまってその考えから抜け出せなくなってしまうのがよくあるオチ。数学は記号論理学じゃない。)
0188デフォルトの名無しさん2006/12/03(日) 21:26:04
まともにやろうと思えばだけれど。
0189デフォルトの名無しさん2006/12/03(日) 21:32:09
>1.時間が馬鹿みたいに必要。(日常生活に確実に侵食してくる)
貯金が溜まりますねー
01901712006/12/03(日) 23:13:30
>>175

>>171

>haskell使うだけなら

という限定つき。
たとえば、チューリングマシン知らなくてもC言語は使えるようになるし。
むしろ、基礎理論をうまく隠蔽できないなら、プログラミング言語の設計としては失敗といえるかも。
0191デフォルトの名無しさん2006/12/03(日) 23:32:41
>>187
> 3.自己流だと確実に変な方向に行ってしまう(数学基礎論にはまってしまってその考えから抜け出せなくなってしまうのがよくあるオチ。数学は記号論理学じゃない。)

そんな奴みたことない。
それに、この分野、まだまだみんな自己流じゃないの。
数学や物理のように確立されたカリキュラムもないし。
0192デフォルトの名無しさん2006/12/04(月) 09:53:06
>>191
そこからは自己流だがそこまで行くための基礎的な部分までの話。
基礎ができないと応用はできない。
0193デフォルトの名無しさん2006/12/04(月) 15:20:35
GHCってhaskellで書いたソースをCに変換させてコンパイルさせているのでしょうか?
haskellソース→Cソース→アセンブラソース・・・
それとも直接アセンブラのソースに行くのでしょうか?
haskellソース→アセンブラソース・・・
0194デフォルトの名無しさん2006/12/04(月) 16:12:18
上のほう
でも当然読めるようなCじゃない
0195デフォルトの名無しさん2006/12/04(月) 16:15:20
場合によっては直接アセンブリを生成する。これは-fvia-Cと-fasmで制御できる。
0196デフォルトの名無しさん2006/12/04(月) 16:32:04
>>191
1ヶ月でできるお勧めカリキュラム

1週目 λ計算。とりあえずD∞ modelあたりまでやる
2週目 型理論。ざざっとSystem Fまでやる
3週目 圏論。1,2週目の理解をもとにCCC modelまで。
4週目 記号論理学。LKLJNKNJの規則をながめる。

この後は興味に応じて論文を読み漁ればok
0197デフォルトの名無しさん2006/12/04(月) 17:42:23
そのカリキュラム、相当ヒマで相当モチベーションの高い人間でも
こなすのが辛いような気がするんだが。
0198デフォルトの名無しさん2006/12/04(月) 18:10:44
まあ進度は時間と能力に応じて変わるかも。
でも、この辺の分野は親切な入門書もたくさんあるし、自己流の罠? にはまることもないと思う。
0199デフォルトの名無しさん2006/12/04(月) 20:24:18
社会人で独学で勉強していておかしな方向に行っている俺様が来ましたよ。

つーか。196は社会人なめとんのかい。
社会人の場合、一日にかけられる勉強時間でせいぜい30分とか
1時間だぞ。その時間をとれないことも多い。

しかも環境も劣悪で電車の中とか、仕事で疲れた状態だとか、あんまり
頭に入るような状況ではない。

こういう話を聞くとまた、過酷な勤務の底辺DQNプログラマか、と思う奴も
いるだろうけど(DQNなのはあっているが)、社会人で9時6時で帰れるような
職場はありません。9時ぐらいまでで帰れる職場でも同じで、それは一般的
には楽な職場と言われている。

しかもカリキュラムがいきなりλ計算。
高校卒業程度の数学力と言っているのにλ計算以前に勉強することが
あるだろうと小一時間...。つーか、記号論理学とかはλ計算以前に
やるべきだと思うがどうか。

むしろ独習の場合、自分のペースで学習が進んでかつ理解度を試される
ことがないので、解った気になって先に行ってしまうのがあらぬ
方向に進んでしまう気がするがどうか。早くカリキュラムを進める
理解力より、ゆっくり物になるまで粘る忍耐力の方が重要な気がするけど、どう。


0200デフォルトの名無しさん2006/12/04(月) 20:47:03
>>196
やってみます。お薦めの本を教えてください。洋書でもいいです。
0201デフォルトの名無しさん2006/12/04(月) 21:14:18
来週からλ計算開講だお
0202デフォルトの名無しさん2006/12/05(火) 01:18:01
>>201
頼むぞホント
高卒でもわかるように説明できないようじゃ価値ねーからな
0203デフォルトの名無しさん2006/12/05(火) 01:31:58
>>201
おい、何レス使うつもりだ
0204デフォルトの名無しさん2006/12/05(火) 02:50:07
>>194,195
有り難う。
んじゃ、Cで関数書いて呼び出したり
アセンブラで書いた関数をCで呼び出して
その関数をさらにhaskellで呼び出すことも可能なのでしょうか?
0205デフォルトの名無しさん2006/12/05(火) 04:12:04
>>204
もちろんできる。
そもそもForeign Function InterfaceというのがHaskell98の追補にあって、
たぶん全ての実装で利用できる。
http://www.cse.unsw.edu.au/~chak/haskell/ffi/
0206デフォルトの名無しさん2006/12/05(火) 04:35:51
ふーん、そこまで機能がそろっているのに
なぜ誰もOSを書こうとしないの?
アセンブラとCが使えるならOS作れそうな気が
するのだけれど。
0207デフォルトの名無しさん2006/12/05(火) 04:52:36
検索したら見付かったが。

http://programatica.cs.pdx.edu/House/
>House is a demo of software written in Haskell, running in a standalone environment.
0208デフォルトの名無しさん2006/12/05(火) 14:54:22
そういう車輪の再発明っていうか、単に言語間の移植は、作ってるうちに空しくなるんだよ
0209デフォルトの名無しさん2006/12/05(火) 21:13:27
ghcでアセンブラの勉強できないの?
02101872006/12/06(水) 11:24:57
>>199
>つーか、記号論理学とかはλ計算以前に
>やるべきだと思うがどうか。
やるとしてもかなり初歩の部分だけでいいと思う∀、∃、とかの意味をちゃんと「理解して使える」ようになればいいと思う。
あんまり込み入ったところは使わないしおそらく必要性もないと思う。
というかかなりごちゃごちゃしていてやる気がしないはず。(俺はしなかった)

>むしろ独習の場合、自分のペースで学習が進んでかつ理解度を試される
>ことがないので、解った気になって先に行ってしまうのがあらぬ
>方向に進んでしまう気がするがどうか。早くカリキュラムを進める
>理解力より、ゆっくり物になるまで粘る忍耐力の方が重要な気がするけど、どう。
理解度を試されるというところもそうなのだけれど、根本的に数学を理解するということを勘違いしていることが多い(勘違いしていました。)
数学は語学です。

おそらくもっともいい方法は圏論勉強会に一回だけでも出てしまうのがいいと思う。(ちなみに俺は行った事ない)
なんとなく方向性はつかめるんじゃないかと勝手に思う。
■ このスレッドは過去ログ倉庫に格納されています