1 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:49:54 ] 関数型言語MLについて語るスレッドです。 MLは、確固とした理論的背景を持つ言語でありながら、 現実的なソフトの開発にも使用できる実用性を備えた言語です。 また、プログラミングの初心者が最初に学習する言語としても優れています。 総本山 Standard ML www.smlnj.org/ Objective Caml caml.inria.fr/ocaml/ 前スレ 関数型言語ML(SML, OCaml, etc.), Part 4 pc11.2ch.net/test/read.cgi/tech/1133003340/
602 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 02:53:01 ] nilは空のリスト。 nullはListストラクチャーの、リストを受け取りnilかどうかをboolで返す関数。
603 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 03:21:30 ] nullp
604 名前:デフォルトの名無しさん [2008/11/02(日) 03:35:53 ] >>599 ウケ狙いなら、残念。もう一ひねりホシイ。
605 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 07:43:26 ] ウケ狙いならって・・・ 他に何があるというのか小1時間(ry
606 名前:デフォルトの名無しさん [2008/11/04(火) 06:30:51 ] 独学でSMLの本を使いながら関数言語を学んでいるのですが、上手くできない問題があり困っています。 replicate(4); と打つと、 val it = [1,2,2,3,3,3,4,4,4,4] : int list といった感じに1を一つ,2を二つ、3を三つ、4を四つといったリストを 出力されるSMLのリカーシブメソッドを書きたいのですが、上手く行きません。分かる方教えていただけると助かります。
607 名前:デフォルトの名無しさん [2008/11/04(火) 07:09:08 ] うまくいかなかったやつを載せてみてよ。
608 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 08:14:40 ] >>606 リカーシブメソッドっていうのが何を差してるのか分からないけど、 入力: 自然数n 出力: 要素が全てnで長さnのリスト とするサブ関数使えばいいんじゃない?
609 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 08:21:09 ] n [1,2,3,...,n] [1,22,333,...,n,n,n,n,] の二行目から三行目で>>608 使えばいいな。
610 名前:デフォルトの名無しさん [2008/11/04(火) 09:16:29 ] recursive 再帰だな。
611 名前:608 mailto:sage [2008/11/04(火) 09:29:59 ] とりあえず作ってみた。 >>609 のやりかたとは違います。 ↓にあっぷしてみたので、ご参考までに。 ttp://www2.uploda.org/uporg1765562.txt.html (パスは sml です) 入力は自然数(0以上)を仮定しています。
612 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 12:47:57 ] あー、答えちゃったの?どう読んでも宿題なんだから、自分で考えさせてあげなきゃ。
613 名前:608 mailto:sage [2008/11/04(火) 18:17:23 ] >>612 やっぱそうだよねぇ。 「独学で」なんて書いてるから、 にっちもさっちも行かなくなったと思っちゃったんだよね。 やっぱ、寝ないとだめだな。
614 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 23:34:42 ] >>612 >>613 良く寝て頭を休めろ。
615 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 00:11:55 ] SMLならメソッドじゃなくてファンクションだろ、とどうでもいい突っ込み。 再帰関数はn-1番目からn番目を導出する定義をそのまま書くのがコツ。 もう>>606 は見てないだろうけど。
616 名前:デフォルトの名無しさん [2008/11/05(水) 00:43:05 ] 宿題でも独学でもどっちでもいいのでは。
617 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 00:55:48 ] xy.yu.to/ 始終荒れまくりの海外サーバ絵チャだ 一人の神プログラマーが強すぎてマクロ荒しが全く太刀打ちできてない。 荒しプログラマーは全員退散!! 誰か倒してくれwwwwww
618 名前:デフォルトの名無しさん [2008/11/05(水) 01:15:09 ] >>611 わざわざお答え頂ありがとうございます。 一応こちらもパターンマッチングでない、if - elseの方法で出来ました。ネストしたループのfunctionの前にletが抜けていただけでした。 参考になりました。
619 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 04:09:40 ] >>618 こういう課題は論理型の方がすっきりした定義になるね。
620 名前:デフォルトの名無しさん [2008/11/09(日) 12:02:17 ] すんません教えてください。 (int -> int -> int) -> int という関数の定義例が分かりません。 (int -> int) -> int -> int なら たとえば let func = fun f x -> (f 2) * x;; でいいことが分かるのですが、 (int -> int -> int) -> int だとわからなくなります。 『二つのintを引数とし、intを返す関数』を一つの引数としてとり intを返す関数というふうに理解してます。 コードはどのように考えればよいんでしょうか?
621 名前:デフォルトの名無しさん [2008/11/09(日) 12:48:12 ] なんでもいいけど let func f = (f 1 2) + 3;;
622 名前:デフォルトの名無しさん [2008/11/09(日) 14:05:34 ] >>621 ありがとうございます。 理解しました。
623 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 03:10:20 ] ふと気づいたらOCaml3.11.0キテター
624 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 10:16:58 ] おお。 Mozartの64bit版も来ないかなぁ・・・クリスマスプレゼントに
625 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 13:35:35 ] mac leopardにsmlインストールしようと長いこと奮闘しているのですが、どうにも上手くいきません。 どなたか導入に関してわかりやすいサイトありましたら、教えてください。
626 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:39:09 ] Macports使えよ
627 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:31:58 ] >626 やっと入れられた。ありがとう。
628 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:34:37 ] >>625 なんだ、お前も最近増えてきたにわかマカか
629 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 13:04:14 ] >>628 人生にお疲れのようですね。
630 名前:デフォルトの名無しさん [2009/01/01(木) 23:05:22 ] 引く手あまたのプログラミング言語は? slashdot.jp/developers/article.pl?sid=08/04/06/2313251 --- Java(16479件)、C++(8080件)、C#(7780件)、JavaScript(6749件)、 Perl(5710件)、PHP(2641件)、Python(1408件)、COBOL(1207件)、 Ruby(769件)、Lisp(33件)といった感じらしい。 とりあえずJavaとC/C++/C#、あとJavaScriptを覚えれば、 当分仕事には困らないようである。COBOLのしぶとさも目立つ。 ちなみにHaskellやOCamlの求人は10以下だったそうだ。 ---
631 名前:デフォルトの名無しさん [2009/01/03(土) 03:15:13 ] 当然だ。HaskellやOcamlの素晴らしさを理解できる人種は 限られているからな。JavaやC++みたいな糞言語を使う糞グ ラマがいる限り日本のIT産業の生産性は低いままだろう。 今必要とされているのは我々のような高い能力をもつエンジ ニアであるにも関わらずスーツ族にはそりがわからんのですよ。 うはwテラガンダムwww俺自重www こうですかわかりません
632 名前:デフォルトの名無しさん [2009/01/03(土) 05:18:13 ] パラダイムシフトはある日突然のように起こる
633 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 11:20:18 ] >>631 職業プログラマは免許制にすればいいんじゃね?
634 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 11:43:11 ] >>633 情報処理技術者試験の実務への役立ち度を考えると・・・
635 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 12:03:45 ] プログラマの能力なんて知ってる知らないでは計れない。圧倒的多数の凡グラマーとごく一部の神グラマーww
636 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 13:21:35 ] >>634 試験は基本中の基本の事柄が出てくるだけだよ。 実務には直接関係ないかもしれないが、その程度のことも知らないようでは 応用性がなくて35歳で定年を迎えるだけ。 ソフトウェア開発を一生仕事にできるのは基本を知っている人間だけだよ。
637 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 13:42:15 ] >>636 へえー
638 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 16:58:45 ] ソフ開で午後八割くらい午前四割くらいのおれは生きててはだめということですね。わかります
639 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 17:58:29 ] >>633 盲目的に試験勉強する人間はもううんざりだな。
640 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 18:06:33 ] >>639 たとえばプログラマでも東大院卒と公立高校卒とでは、やはり東大卒のほうが優秀な奴が多いよ。
641 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 18:59:38 ] そりゃそうだ スタートは同じでも高卒と大卒では行き着く先が違う
642 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 19:50:26 ] で、高卒は35歳で定年退職です
643 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 07:25:19 ] >>642 私のように35才でPrologを始めて、それでプログラマになれたというケースは どう考えればいいのかな。大学一年で中退してるから、高卒だけど。
644 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 08:44:37 ] 年齢といい、言語といいそれなりにレアケースかと。 まぁ35ではじめてもいけるとは思うけどね。多分それまでに理論的な思考が身についてないときついと思うが。
645 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 09:20:24 ] 論理型とか関数型を裏にある数学的な背景も併わせて押えとけば 手続き型でやるより長生きできるのかなーとか思ったり
646 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 10:09:45 ] PrologとMLがそんなに差があるわけもないのであって、 40才から始めても大丈夫って言わなくちゃいけないのではないか。 関数型のスレで高卒限定でも35才定年はないと思うよ。
647 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 12:15:36 ] >>643 辞めた理由による。 高卒と大学中退は若干違う。
648 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 18:35:36 ] 35歳でプログラミング始めるのは全然無理ではないし、 業界未経験でPrologのみ扱える35歳が職業プログラマとして入り込めるのも、この業界w かつての業界成長期にはタクシー運転手や大工から転職してきた人も珍しくなかった。
649 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 18:57:38 ] >>648 それはIT土方。アメリカ的に言えばコーダー。 ちゃんと計算機科学を勉強した人間の仕事じゃない。
650 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 20:22:11 ] >>648 今だって、エリクソンかなんかでErlangばかりやってて、日本に帰ってきて、 この言語だけは精通していますと言ったら、就職困らないでしょ。希少価値が あれば、なんとかなるのは今も同じ。
651 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 21:34:51 ] >>650 困る困る大いに困る
652 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 21:46:50 ] >>651 変だな。Erlangもそうだが、Scalaなんて、書けるって言ったら、 引く手数多だろう。
653 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 21:54:09 ] 俺なんかErlangもHaskellもScalaもFortranもCobolもJavaも一通り何らかのプロジェクトで携わったことがあるけどニートだよ?
654 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 21:58:09 ] C PHP Ruby もやったな。 ほとんどオープンソースプロジェクトと大学のTAやってたころに問題作成・採点やってたころの経験だな
655 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:02:16 ] とある大学の研究のために作られたハードウェアを制御するデバドラとかも書いたことあるし、 技術は結構あると思うんだけど 人格障害&口下手だから誰も俺なんか雇わないんです。
656 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:34:27 ] >>652 需要はあるところにはあるんだろうがどこにでもあるわけじゃない。 需要のあるところと縁がなければ(ほとんどないわけだが)どうにもならん。
657 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:46:14 ] >>656 クリーク・アンド・リバーのような所はプログラマは対象に していなのかな。アーティスト主体とは聞いたが。
658 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:52:59 ] >>657 秘密裡に話を進めたい求人っていうのは確かにあるね。
659 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:06:09 ] >>649 スレの流れを読め。 計算機科学を勉強した人間を前提とした話じゃないだろ。
660 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:25:33 ] >>657 その会社ググってみたが、HP何ともセンスねぇな・・・
661 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 05:14:07 ] Erlangにしても、Scala、ML、どれもヘッドハンティングの対象になる 案件ではないかな。ところで話は変わるが、高齢者向きの関数型言語 というと何になるのかな。Windowsアプリを書きたいなんて言わない 人達。
662 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 09:00:13 ] 1977年に論文発表のFPでいいと思うよ
663 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 09:12:48 ] 検索すれば、60歳からhaskellを始めたって人の日記とか見つかるよ
664 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 12:05:06 ] >>659 IT土方というのは専門性を持たずに手を動かすのが仕事の作業員のことで、 呼び名こそプログラマでも、専門知識を携えたプログラマとは大きく異なる。 土掘りしようがレンチ握ろうがキーボード叩こうが一緒の連中。 主に派遣。
665 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 12:50:14 ] >>664 「頭寒足熱腹八分」。翻訳すると「気取らず、怠けず、欲張らず」くらいになるかな。 1970年代以降の社会では専門知識は現場で帰納的に身につけるもの。仮に前身が、 タクシー運転手であろうと、大工であろうと、あるいは雲助であってもね。
666 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 12:54:21 ] 頭破七部
667 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 15:50:42 ] ML言語で書かれた数式処理ソフトってあるのでしょうか? 今はmaximaをcommon lispから使ってるのですが maximaよりも機能が豊富だったりするのでしょうか?
668 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 16:22:17 ] maximaに勝てるフリーのものなんてないよ
669 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:44:34 ] >>665 それは好景気の浮かれた古い時代、どんどん経営拡大して人材が追いつかなかった時代の話。 現代は人材にもっとシビアになってきている。 それに〜1995年ごろまではソフトウェア的にはそれほど目覚しい進歩がなかったから、 覚えた知識や技術の劣化が遅かったから専門基礎教育を受けない現場叩き上げだけでも何とかやっていけた。 ところが1995〜1999年ごろに爆発的に情報技術が進歩しはじめ、 それまで現場でソフトウェア開発に携わってきた"叩き上げプログラマ"は新技術についていけずに、 プログラマ35歳定年説の元になったわけだ。 現在の大学の情報学科や情報工学科などはそういった経験を元にして教育カリキュラムを組んでいるわけだよ。
670 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:55:04 ] >>669 もっともらしい大嘘乙 プログラマ35歳定年説ってもっと前からあったろうに。
671 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 18:04:39 ] CSで学んだようなことが生きるようなタイプの「開発現場」って日本にあんの? 日本のSIとかがやってるのは、今でも右から左にデータを動かすだけの ユーザプログラミングの代行であり、コンサル業務でしょ 上流にいる奴は業務知識や営業力、調整力が重要で 下流にいる奴は、SQLだの5年も経てば古びるようなフレームワークだの 製品だのの泡沫知識、アジャイルだのデザパタだのについていける程度の オツムを持っていることだけが重要で、 そこには本物のCSなど影も形も無いように思えるよ
672 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 18:11:34 ] >>671 あるよw それがなかったら日本のIT沈没w
673 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 18:14:11 ] >>672 それって研究所系でなくて? 不景気だと、すぐゼニカネにつながらないところは切られがちだよね? ゲーム屋は、まだSIよりはまともに「開発」だろうとは思うが
674 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 18:56:13 ] SIだってソフトウェア工学とかを無視して仕事はできん。 無視して沈没した例もあるし。
675 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:45:20 ] ソフトウェア工学なんて学問じゃないだろ。 残念だけど、その道の人からは下に見られてるよ。
676 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:12:15 ] ふざけんな。計算機科学の立派な一分野です。
677 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:19:30 ] ソフトウェア工学なんて俗学だよ。 数学やらないようなものは科学じゃないよ。
678 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:14:37 ] おいおいScienceとEngineeringの違いが解ってないのがいるのかよ…
679 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:22:33 ] >>678 明確な違いはないよ。 特に情報工学と計算機科学の間には。
680 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:56:26 ] 違いはあるが、境界が曖昧。 二つ合わせるとそのくらい幅が広くなる。
681 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 14:45:40 ] FP の話をしてくれ
682 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:15:02 ] FP?興味ないね
683 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 07:03:14 ] 関数型プログラミングのことじゃないの?
684 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 09:18:11 ] バッカスのFPじゃないの?
685 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 12:49:43 ] Floating Point
686 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 12:54:32 ] FPでぐぐると上の方に出てくるのはfinancial plannerばかりだな function pointというのもある
687 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 13:57:12 ] 下着のサイズッて後ろのフォックで分るんだって!!! 知ってた? A~Bだとフォックが1個 C~Dだと2個 F~だと3個なんだって... ホント? 自称アゲチンが言ってたんだ。
688 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:44:08 ] 俺FP2級持ってるぞ
689 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:09:13 ] >>678 ,679 情報工学と計算機科学はEngineeringとScienceと言うより EngineeringとMathmaticsと言うべきではなかろうか。 MathmaticsをScienceには含まないとした場合だが。 計算機科学はScience即ち自然科学や社会科学と比較して研究対象と 研究行為の相対位置が異なると言える。 >>675-677 また、所謂"ソフトウェア工学"はソフトウェアではなくソフトウェア開発 という人の営みを研究対象にしている点で情報工学と異なると言える。 むしろ既存のソフトウェアおよびその開発過程を"観察"するという点で ソフトウェア工学は上に挙げたScienceに近いとも言える。
690 名前:osiire [2009/01/09(金) 11:33:59 ] ML(主にocamlだけど)で仕事したい人はうちの会社(www.itpl.co.jp)に来てくださーい。 computer science分かってる人も歓迎ですよぉ。 お給料はご相談ですが。
691 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 11:46:44 ] >>687 飯島愛乙!
692 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 12:09:20 ] >>690 61才でもいいかい?
693 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 12:28:52 ] >>690 理学博士のニートですがいいですか
694 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 12:35:02 ] 年寄りがITに疎いって? 「世界最速のインターネット回線を持っているのは75才のおばあちゃん」なんだぜwwwww111111”!!!W
695 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 12:43:13 ] 年寄りってコンピュータもろくにさわれない人も多いし、そもそもコンピュータの存在にすら気づいていない人も多いよね。 パソコンってなに?みたいな
696 名前:osiire [2009/01/09(金) 12:57:01 ] >>692 年齢による差別はしませんので、大丈夫です。 >>693 理学博士と言う時点でかなりポイント高いと思います。
697 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 13:50:11 ] >>690 給料悪いし待遇悪いじゃん さらにページにヒラギノフォント指定ってのがウザ過ぎる Winにヒラギノ入れてる人のブラウザでヒラギノ表示したら悲惨なことになるの分かっててやってるのか?
698 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 14:11:49 ] OCamlってのがな・・・オブジェクト指向で開発させられそう ほのかに香るブラック臭
699 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 14:46:44 ] ニートって掘り出し物多いんじゃないかなって最近思うよ オープンソースプロジェクトの大半はニートがいないと成り立たないらしいし、 技術力は下手な職業プログラマ以上だったりするんだよな。 おまけに他の企業色に染まっていない。 もしその気にさせることができれば質の高い人材が発掘できそうだね。
700 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 19:24:56 ] FX とかこええええええええええええええええええええええ
701 名前:osiire [2009/01/09(金) 21:38:20 ] >>697 まぁ、給料・待遇についてはご相談という事で。ヒラギノは改善してみます。 >>698 OCamlを使いながらオブジェクト指向を強制する事は無いですよ。 >>700 FXとはいえ相手が大手ばかりなので普通です。ご安心を。
702 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 22:58:03 ] >>700 質問です FXはどうして怖いんですか?