この作品 「OCamlちゃん」 は 「落書き」「OCaml」 等のタグがつけられた「hirekoke」さんのイラストです。 「大昔に描いた絵。本命はOCamlちゃん。」
qiitaに圏論について事実ではないことを書いたエントリが何個か挙げられています。本シリーズではその内容について吟味していこうと思います。 関数、値、圏論、モナド、評価戦略、純粋関数型、その辺りの「数学的基礎」を教えるの圏論について書かれている部分で、誤っている部分、正しい部分を解説していきます。 私が使う「評価」つまり「計算」っていう言葉遣いが、 ..中略.. そしてその彼らの理論的背景は数学だそうです。 圏論とか。 彼らがそう思っている数学的理論背景である「圏論」には、 もちろんそんな決意表明を後押しするような 理論、考え方なんてあるわけもなく、 「彼ら」の議論を追えていないのでコンテキストが不明ですが、引用した部分に関しては正しいです。圏論はプログラミング意味論を扱う分野ではありません。 圏論では「値」とか「関数」みたいな絶対的存在はありません。 「りんごは空を飛ばない」と同程度に無
http://oshiete.goo.ne.jp/qa/7896221.html にこういうのがあった: 情報系の大学3年生です。 僕は関数型言語に興味がありhaskellやlispを勉強しています。 ... 昨今のIT企業は新卒採用の際、学生時代に作ったプログラムを評価し採用の是非を決めると思います。 もし関数型言語で何か作っても評価されるのでしょうか。 僕ができることといえば、本やサイトに載ってあるサンプルを少し改良するぐらいです。 そんな作品を企業側が積極的に評価し、採用してくれるでしょうか。 ... 自分で考えるべきことでしょうが、調べるばかりで頭が混乱して日常生活に支障がでてきてます。 全文はリンク先を見て。 答えようと思ったが、ログインとかユーザ登録とか実にアホラシイのでここに書いておく。 関数型言語は実用的かどうかについて 関数型言語を実用に使っている人は、実用的だと思って使
三角コーンに擬態するヤドカリロボットを作ってみた【NT金沢】 先週末開催されたNT金沢にて、こんなものを持っていきました。 というわけで、#NT金沢 出展中です!今回の作品は「ヤドカリ・パイロン」。パイロンに擬態したヤドカリが、シャカシャカ歩き回ります。"つくる〜む海老名"ブースにて! pic.twitter.com/ZTTKCtSdKj— shikk…
■F#とは F#は、マイクロソフト社製のプログラミング言語で、Visual Studio 2010から標準搭載されている。まずは、F#がどのような言語なのかを見てみよう。 ●マルチパラダイム言語「F#」 F#は複数のパラダイムをサポートするマルチパラダイム言語だ。F#がサポートするパラダイムには、 手続き型 関数型 オブジェクト指向プログラミング などがある。 マルチパラダイム言語であるため、C#やVB(Visual Basic)といった従来の.NET言語を置き換える形でF#を使うこともできる。しかし、本記事ではF#のメインとなるパラダイムである「関数型」にフォーカスを当てて紹介していく。 ●関数型言語「F#」 F#は、静的型付けの関数型言語である「OCaml」に強い影響を受けている。そのため、F#の主となるパラダイムは関数型プログラミングになる。 さて、関数型言語とは何だろうか? この問
はじめに こんにちは、Python界の情弱です。ちょっと前にOCaml系のエントリを色々と眺めていたらYaron Minsky氏のエントリを見つけたので翻訳してみました。 OCaml for the Masses - ACM Queue Yaron Minsky氏はJane Streetで第一線で活躍されるエンジニアで、Jane Streetの技術ページをはじめ多くの場所でOCamlに関しての知見を語ってくださっています。 Jane Street Tech Blogs 本エントリはJohn Hughesの名エントリ「なぜ関数プログラミングは重要か」を受けてACM Queueに寄稿されたものの日本語訳です。 なぜ関数プログラミングは重要か Why the next language you learn should be functional YARON MINSKY, JANE STREE
Pemeliharaan Terjadwal: AllBet pada 07-Jul-2025 dari 06:00:00 sampai 11:30:00. Selama waktu ini, AllBet permainan tidak akan tersedia. Kami memohon maaf atas ketidaknyamanan yang mungkin ditimbulkan. Pemeliharaan Terjadwal: Spinix pada 01-Oct-2024 dari 23:00:00 sampai 31-Dec-2025 23:59:59. Selama waktu ini, Spinix permainan tidak akan tersedia. Kami memohon maaf atas ketidaknyamanan yang mungkin d
というタイトルの集まりが9月17日にありますので、皆様お誘いあわせの上ぜひお越しください。 函数プログラミングの集い 2011 in Tokyo 先日のこの集まりの打ち合わせの時に@ksknac氏がちらっとおっしゃっていたのが「関数型言語じゃなくて関数プログラミング」(超意訳です。しかも酔っていたので正しくないかも。) 確かに色々な機能を持つ言語を分類しても詮無い事ですし、C言語でオブジェクト指向的な事もできないわけではない訳で、特定のプログラミング手法というかスタイルがあって、それらと言語機能がかかわりあって存在しているという感じだと思えば、より正確で前向きな議論ができそうです。当然と言えば当然の話ですが、今後はこういう言い方を気をつけてしていこうかと思っている次第。 で、その関数プログラミングの手法とかスタイルとかって何なのか。もちろん定義がある訳ではないので、@kazu_yamamo
急ですが、6月8日(水)16時から、WIDEプロジェクトやMew,KAMEなどで有名な、(株) IIJ イノベーションインスティテュート 主幹研究員の山本和彦さんを講師としてお招きし、当社地下会議室にて関数型言語の勉強会を開催することになりました。 言語としては、Haskellの話題になる予定です。 きっかけは、先日内定を出した学生さんが関数型言語が大好きで、「それなら就職に関して山本さんに一度相談してみたら?」「今会っても,緊張しすぎて,何も話せないと思います」という感じで、「まあ、それなら当社でも関数型言語に興味があるメンバーはいるので、勉強会でも開催して、交流しましょうか?」ということになり、早速やることになりました。 当社メンバーだけではもったいないので、もし興味ある方がいれば、是非一緒にいかがでしょう?地下の会議室はそれほど広くはないのですが、10人くらいは余裕ですので。 タイ
関数型言語とオブジェクト指向は相容れない,という説をよく聞く。たしかに「オブジェクトは状態を持つ」「関数型プログラミングでは,できるだけ破壊的代入を行わない」とすれば,二つの概念は矛盾しているようにも思われる。また,技術的観点以外にも,「とかくシンプルさを好む多くの関数型言語プログラマが,何かと物事を複雑にする(と思われている)オブジェクト指向を嫌っている」という面があるかもしれない。 しかし,個人の好き嫌いはさておき,実際問題として,関数型言語とオブジェクト指向は大いに関係がある。むしろ,基礎理論については,ほとんど同じコミュニティの人たちが取り組んでいる,と言ってもいい。例えば,以下のような研究が,1980年代から現在に至るまで行われている。 関数型言語のモデルであるλ計算という体系において,オブジェクトを表現する研究(参考リンクなど) λ計算にならい,(プロトタイプベースの)オブジェ
私の前のボスのハーバードでの講演のビデオが公開されました: http://ocaml.janestcapital.com/?q=node/82 彼は早口ですが、まあ頑張って聞いてください。普通に判れば、アメリカで普通に仕事できます。判らなくても仕事できますから安心してください。 正直、この Effective ML 9ヶ条と Jane Street Core のソースコードを見れば、 Jane Street での関数型プログラミングの秘訣は大体抑えられると言ってよいでしょう。学問的には新しいことは何もありませんが、徒党を組んで関数型言語によるプロジェクトを行うには重要な物ばかりです。 この、Effective ML 9ヶ条をまとめておきました。これを見ながら視聴すると良いかもしれないです。オリジナルは 00:47:13 で見れますね。 コードライタよりもリーダの意見を尊重せよ。大体において
The Software Foundations series is a broad introduction to the mathematical underpinnings of reliable software. The principal novelty of the series is that every detail is one hundred percent formalized and machine-checked: the entire text of each volume, including the exercises, is literally a "proof script" for the Coq proof assistant. The exposition is intended for a broad range of readers, fro
Takashi Miyamoto @tmiya_ オブジェクト指向はOOPの他にOOA,OODなど上流工程向けの方法論があるのだが、関数型言語についてもFPの他にFA,FDがあるのだろうか?誰か適切な論文/教科書とか知りませんか? 2010-05-30 09:26:38 Ikegami Daisuke @ikegami__ 探してみます。でも強い型付けか、弱い型付けかで、まるっきり異なるでしょう RT @tmiya_: オブジェクト指向はOOPの他にOOA,OODなど上流工程向けの方法論があるのだが、関数型言語についてもFPの他にFA,FDがあるのだろうか?誰か適切な論文/教科書とか知りませんか? 2010-05-30 09:30:40 Ikegami Daisuke @ikegami__ @tmiya_ 個人的な感想ですが、強い型付けのプログラミング言語で開発を行う場合、実装の前に、全体
Javaな人から見ると、「Scalaって難しい」ってイメージがありますね。俺も最初はそう思ってました。今もですけど。 で、考えてみたんですが、何が難しいって考え方・イディオムになじみがないのが原因かと思ったんです。 ここでは、俺が今までScalaをやってきて得た考え方を紹介します。「Scalaをちょっとやってみたんだけど、とっつきにくくて…」と思われている方は、ぜひご一読ください。 参考資料: Scala入門 - Scalaで書きはじめたJava使い向け - Scala勉強会@東北 Dropbox - 404 神は言われた。「リストあれ。」 Lisperは、リストをどう作るかをまず考えるらしいです。適切なリストが出来たら、プログラムはもうできたも同然だと。同じ考え方は、Scalaでも通用すると思います。 大まかに、こんな流れで考えてます。(リストは最初から与えられることもあるでしょう) 「
ラムダ計算は, 多くのプログラミング言語, とくに関数型言語の原形になっています. ラムダ計算について理解しておくことは, 多くのプログラミング言語の習得に役立つでしょう. ラムダ計算はチューリング完全で, 計算能力としてはふつうのプログラミング言語と同じです. ラムダ計算で計算を書く訓練をしておくことは, 任意の計算を関数のみを使って(他の制御構文を用いずに)書くときに役立ちます. ふつうに書いたら煩雑な処理を, 関数型言語のやり方で書くとすっきりすることが多々あり, コードを自由自在に書くためには必須の考え方と言えるでしょう. 項 ラムダ計算の式を項(term)と言います. 項は変数, 抽象, 適用のいずれかです. 変数 変数(variable)はふつう1文字で書きます. 変数には関数内の束縛変数(bound variable)か自由変数(free variable)かという区別があり
OCaml は Haskell とは違って純粋でない関数型言語です。ML (Meta Language) という言語ファミリーの方言の一つで、フランスの INRIA という研究所で開発されています。速度を稼ぐために命令型のように書こうと思えば書けるし、遅延評価もデフォルトではしません。その分、practical なアプリケーションが書きやすくなっています。 他の言語をある程度知っている人はこれを読めば OCaml のとりあえずの基礎をマスターして OCaml を書くことができるようになります。多分。関数型言語の知識は仮定していません。C/C++ ぐらいの知識があれば読めると思います。元の Perl 基礎文法最速マスターではリファレンスぽい作りですが、チュートリアルぽくなってしまいました。 なお、読んでいると分かりますが、色々とめんどくさいことが多いように感じます。しかし、これをちゃんと書く
Agda is a dependently typed functional programming language. It has inductive families, i.e., data types which depend on values, such as the type of vectors of a given length. It also has parametrised modules, mixfix operators, Unicode characters, and an interactive Emacs interface which can assist the programmer in writing the program. Agda is a proof assistant. It is an interactive system for wr
うちの会社(有限会社ITプランニング)でやってきたOCamlを使ったシステム開発の概要を書いておきます。ふと思うと今までまとめて公開したことはなかったなと。別に隠す程のものじゃないし、もしこれからOCamlを使ったプロジェクトを始めてみたい人の参考になれば嬉しいです。 2006年 某証券会社のWebサービスの一部を担当 株価を解析して、その結果をWebAPIとして提供。OCaml + MySQL。HTTPベースで提供されるXMLファイルが生データだったので、この時初めてXMLのパースにxml-lightを使った。これはかなり便利。その後も使い続けている。nc(network cat)ライクなモジュールも作った。行列変換のためにC言語との連携もしたけど、特に問題なし。そういえば、この頃はmarshalingが好きで、DBへmarshalingデータをそのまま保存して「Objectデータベース
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く