とにかく進むねん。
勉強サークルのブログです。 もがきながらでも進むこと。 これがモットーです。
ブログ内検索
リンク
管理画面
新しい記事を書く
カレンダー
03
2025/04
05
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
アーカイブ
2012 年 12 月 ( 3 )
2012 年 11 月 ( 11 )
2012 年 10 月 ( 4 )
2012 年 09 月 ( 5 )
2012 年 08 月 ( 4 )
プロフィール
HN:
betweens
性別:
非公開
カウンター
カテゴリー
宿題 ( 10 )
colinux 設定 ( 16 )
colinux network設定 ( 4 )
検索エンジン付き合い方 ( 9 )
C++ ( 2 )
未選択 ( 102 )
shell script ( 1 )
code golf ( 66 )
Haskell ( 14 )
Python Challenge ( 2 )
Project Euler ( 2 )
Python Study ( 3 )
英語 ( 1 )
JAVA ( 3 )
ゴミ情報 ( 1 )
RSS
RSS 0.91
RSS 1.0
RSS 2.0
最新CM
無題
[11/07 betweens]
無題
[11/07 元左席人]
無題
[08/30 betweens]
無題
[08/30 元左席人]
無題
[10/02 元左席人]
最新TB
最新記事
anarchy golf (Haskell) [Number lines]
(12/13)
anarchy golf (Haskell) [spirals] 【Vol.4】
(12/06)
anarchy golf (Haskell) [ two kinds of digit ] 読解
(12/05)
anarchy golf (Haskell) [Reduce fractions]
(11/13)
anarchy golf (Haskell) [Fill in the blanks]
(11/11)
最古記事
宿題 [2008.01a] colinux をインストールしよう
(05/10)
[2008.01a] colinux をインストールしよう(解答編1)
(05/15)
[2008.01a] colinux をインストールしよう(解答編2)
(05/17)
[2008.01a] colinux をインストールしよう(解答編3)
(05/18)
Google のノウハウ
(05/19)
フリーエリア
2025
04,18
23:29
[PR]
CATEGORY[]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
2009
08,27
21:05
Ocaml 初心者
CATEGORY[未選択]
Ocaml なんて、難しくて きっとやれないよ。。。
だが、インストールはする。
localhost ~ # emerge -vp ocaml
localhost ~ # emerge dev-lang/ocaml
インストールが長そうなので、ちょっとネット漁ってみた。
F# とか、Windows でもあるのか。へー。
http://www.i.kyushu-u.ac.jp/~bannai/ocaml-intro/intro.html
初心者の僕には、上記はとっても読みやすかった。
副作用かー。以前 よく聞いたけど、初めて頭に落ちてきた。
でも、参照渡しとかポインタ渡しって良くないってこと?
http://pauillac.inria.fr/~xleroy/
この人が Ocaml の作者?
何も分からないままに、さっそく Hello, World やってみた♪
=========================================
【hello.ml】
Pervasives.print_string"Hello, world!"
=========================================
【実行結果】
user@localhost ~ $ ocamlc hello.ml -o hello
user@localhost ~ $ ./hello
Hello, world!user@localhost ~ $
=========================================
今日はこの辺で勘弁してやるか(汗)
PR
コメント[3]
TB[]
<<
Ocaml 初心者2
|
HOME
|
高階関数
>>
コメント
無題
>参照渡しとかポインタ渡し
C++では関数を使う側からすると,「渡したモノに何されるかわかんないのがイヤだということで良くない」と.値渡しかconst参照渡しになっているなら渡しても何もできないので使ってもまぁ安心というカンジです.コピーのコストがあるのでconst参照にしとけば大体無難かと.可能な限り参照透過な部分を極大化するように努め,副作用が必要な部分は極小(できれば最も外側の部分,HaskellだとIOモナドみたいな感じ)に閉じ込められるような設計にすると,わかりやすい良質なコードになるハズです.
>OCaml
そういう意味だとOCamlは純粋関数型ではないので,副作用もマゼマゼに書けちゃいます.私も初OCamlでしたが勝手が(というかそもそも文法が)わからないカンジです.あの問題はksk氏作だけあってシンプルだけどイヤらしい問題になっていました.油断するとアッサリとスタックが枯渇したりタイムアウトしたりします.他の言語で書いても結構イヤらしいハズです.
【2009/08/3002:58】||元左人#92caae1d33[
編集する?
]
無題
コメント どうもありがとうございます。
ようやく副作用を抑えるためのconst参照というイメージが出来てきました。
Ocaml 以外では Lisp も純粋じゃないという情報があったけど
副作用自体が猛毒というわけではないというわけですかね。
まあ、haskell の記述の難解さを考えると副作用も必要悪ということなのかなあ。。。
【2009/08/3023:37】||betweens#99021dc2a4[
編集する?
]
無題
>副作用自体が猛毒というわけではない
ツキナミですが,一番危ないのは,危うさを理解しないままに使うコトなのかなぁと.生兵法はなんとやら.危険とわかってれば危険が無い(あるいは少ない)ように使う方法もまたわかるハズということで.
>haskell の記述の難解さ
お約束なので「そんなに難解ですか?」と.
【2009/08/3123:48】||元左人#92caae1d33[
編集する?
]
コメント投稿
NAME:
MAIL:
URL:
COLOR:
Black
LimeGreen
SeaGreen
Teal
FireBrick
Tomato
IndianRed
BurlyWood
SlateGray
DarkSlateBlue
LightPink
DeepPink
DarkOrange
Gold
DimGray
Silver
SUBJECT:
COMMENT:
PASS:
trackback
トラックバックURL
<<
Ocaml 初心者2
|
HOME
|
高階関数
>>
忍者ブログ
[PR]