タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとProgrammingとfunctionalに関するjjzakのブックマーク (208)

  • OCamlのまなびかた - まぁ、そんなもんでしょう。

    いけがみさんが素晴しいエントリをあげてらっしゃいます。Inemuri nezumi diary(2009-05-03)。そこで「OCamlのまなびかた」について思うところを改めて書きます。 まず、Web上のチュートリアルを読めば、ざっくりOCamlがどういう言語なのか分かるかと思います。次の二つがお勧めです。 http://www.ocaml-tutorial.org/jaObjective Caml 入門 一緒にOCamlをインストールして使ってみながら学べば、より効率的です。 $ sudo apt-get install ocaml; sudo apt-get install ocaml-mode lennyのパッケージは3.10系でバージョンが一つ古いので、こだわる人はLatest Objective Caml releaseからソースを取って来てコンパイルして下さい。./confi

  • 少年オッカムル - 序 - - 暗号、数学、時々プログラミング

    少年オッカムル | 17:56 | 「それで、キミは大学に入ったら何を学びたいと思ってるの?」 と、リンダさんは言った。彼女は僕の通うK塾のチューターだ。地元国立大2年。現役合格らしいからハタチってトコか?結構ファンも多いらしい。ちなみに美人というよりも可愛い系。正直、白衣はあんまり似合ってない。それで、今は高2の僕が来年ドコのクラスに所属するか?を考えるための面談中だ。 「えっと、、聞いてる?」と、少し困った顔のリンダさん。「あ、ああ。はい。」と僕。大学ね。。大学生活とかって、あんまりイメージ沸かないんだよなぁ、、、 流れる沈黙。 「・・・うーん。。。プログラミング、、とか?」黙ってるのもアレだし、何か適当に思いついた事を言ってみる。「へぇ!」 何だかちょっと嬉しそうなリンダさん。あー、怒られないみたいで良かった。「キミ、プログラミングとか興味あるんだ? なに?やっぱりゲームとか好きなわ

    jjzak
    jjzak 2009/06/21
    数学ガール風のOCaml入門記事
  • Clojure Programming - Wikibooks, open books for an open world

    People come to Clojure from a variety of backgrounds. The purpose of this book is to help everyone get the most out of the Clojure language. It is not meant as a replacement for the documentation, found at the Clojure site. Please do not copy material from there to here! Feel free to post your own code, written in the Clojure language, here. However, please do not post excerpts, patches or other m

  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • 第16回 すべてのものは関数である

    すべてのものは…である SmalltalkやRubyなど,いわゆる生粋のオブジェクト指向言語では,「すべてのものはオブジェクトである」(everything is an object)と言われることがある。JavaC++などと異なり,整数の「123」や浮動小数の「4.56」といった,基データ型の値もオブジェクトとして扱うことができるからだ(ちなみに,現在のJavaには自動ボックス化という機能があり,基データ型からオブジェクト型への変換が自動で行われる場合も多い。しかし,両者の差異が全くなくなったわけではない。例えば123.toString()のようなメソッド呼び出しはできない)。 では,オブジェクト指向言語のまねをして,関数型言語において「すべてのものは関数である」と言うことはできるだろうか? もちろん,オブジェクト指向と違って,関数型プログラミングはあくまで「数学的な(=副作用のな

    第16回 すべてのものは関数である
  • Why Ruby is an acceptable LISP (2005) | Random Hacks

    Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur. You're welcome to contact me! Dec 03, 2005 • by Eric Kidd Years ago, I looked at Ruby and decided to ignore it. Ruby wasn’t as popular as Python, and it wasn’t as powerful as LISP. So why should I bother? Of course, we could turn those criteria around. What if Ruby were more popular t

  • 正規表現を超える - あどけない話

    まずは、Audrey さんが言った Haskell の殺し文句を思い出して頂きたい。 正規表現ベースのパーサはメンテナンスしにくいのに気づいた? Parsec を使って 15分で Perl6 の完全なパーサを書く方法を勉強しましょう。 15分というのは誇張が入っていると思うが、正規表現が保守しにくく、Haskell の Parsec は強力で保守し易いのは事実だ。その理由を Perl と Haskell のコードを示しながら説明してみたいと思う。 Perl を愛する方に:この記事は Perl を攻撃するために書いたのではない。Perl を選んだのは、正規表現を広めた言語であり、僕がそれなりに Perl のコードを書けるためである。この記事の目的は、正規表現よりも関数型パーサー(Parsec)の方が優れていると示すことだ。 例題 この記事では例題として、IPv4 アドレスを解析する関数を書く

    正規表現を超える - あどけない話
  • Erlang Tips

    Erlang に関する情報を,自分用メモを兼ねて作成しました. 間違い等見つけた方はブログのエントリまで連絡いただけるとうれしいです. 最終更新:2007/07/04 23:56 目次 Erlangの特性 Erlangは以下のような特徴があります. 簡単に言うと,ネットワークサーバを書くのに向いています. 得意なこと ・大量の並列処理 ・複数サーバでの分散処理(ただしEthernet経由で通信するので専用インターコネクトほどは速くないと思います) 苦手なこと ・純粋な計算処理(C言語の10倍程度遅いようです) ・GUIアプリケーション(WingsというErlangでかかれたGUIアプリはあるが,GUI周りの情報は少ないです) ありそうな勘違い ・マルチコア・SMP環境にすれば,コア数に比例して性能が向上する. →もちろん条件によるので,必ず比例するわけではありません. SMPサポートは条件

  • 人気AV女優エロ動画集erlang-users.jp - 人気AV女優エロ動画集erlang-users.jp

    お問い合わせフォーム 当サイトは「児童ポルノコンテンツ」および「無修正コンテンツ」は一切掲載しておりません。もし万が一、当サイトで掲載が確認された場合は、即削除対応いたします。該当するコンテンツが御座いましたら、お手数では御座いますが問い合わせフォームご連絡いただけましたら幸いです。 ※当サイトコンテンツは他サイトRSSから自動収集しております

    人気AV女優エロ動画集erlang-users.jp - 人気AV女優エロ動画集erlang-users.jp
  • Scala Study Session

    Scala Study Session - Download as a PDF or view online for free

    Scala Study Session
  • Object Computing, Inc. - Java News Brief - March 2009

    Introduction The goal of this article is to provide a fairly comprehensive introduction to the Clojure programming language. A large number of features are covered, each in a fairly brief manner. Feel free to skip around to the sections of most interest. Please send feedback on errors and ways to improve explanations to mark@objectcomputing.com, or fork the repository and send a pull-request. I'm

  • 本を読む FizzBuzzとGaucheで学ぶ継続の基礎

    先日は酔った勢いで「FizzBuzzとGaucheで学ぶ遅延評価の基礎の基礎」ってエントリを書いてみました。今回は、再び酔った勢いで、同じネタから継続渡しスタイル(CPS:Continuation Passing Style)に挑戦してみます。 言語は今回もSceme(Gauche)です。継続渡しスタイルの知識は、「プログラミングGauche」と「まるごとJavaScript&Ajax!」の受け売り(劣化コピー)ですので、勘違いがあったらご指摘ください。 遅延評価と継続渡しの比較 遅延評価編では、無限ループを避けるために遅延評価を使いました。無限ループを避けるための方法としては、ほかに、継続渡しによる呼び出しトランポリンを使った方法があるみたいです。 とてもおおざっぱにいうと、遅延評価は関数型プログラミングで、継続渡しは手続き型プログラミングなんだそうです。 まず手続き型っぽく書いてみる

  • Lambda the Ultimate | Programming Languages Weblog

    The idea of Platonic C# is to enforce referential transparency within the context of C#, by enforcing a set of rules around defaulting to immutability of data structures and requiring uniqueness of instances of mutable types. The Computer History Museum, in conjunction with Adobe, has released the PostScript source code. Here is the release, with some helpful historical context and several photos:

  • 関数型日記(仮)

    しょぼい組み込みHW屋の私が現実逃避のため関数型言語の勉強を始めました.それはそうと,VdGG観てきました.peter hammillが神すぎて困りました.次も観るぞ! Lat式ミク様を表示させるために,なにより目がないと怖いのでw テクスチャマッピングを実装しました.さらに,マルチテクスチャでトゥーンレンダリングもなんとなくそれっぽくなるように実装しました.どうもレンダリング結果が一部微妙なので今後デバッグしますが,まずはソレっぽい出来なのでひと段落させます. テクスチャ関連に関しては,完全に教科書どおりのコーディングになっています. glTexParameterxで,TEXTURE_WRAP_S/TをGL_REPEATに,GL_TEXTURE_MAG_FILTER/MIN_FILTERをGL_LINEARに設定 glPixelStoreiでGL_UNPACK_ALIGNMENTに1を指

    関数型日記(仮)
  • Scala開眼

    1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握

  • Haskellプログラミングの楽しみ方 − @IT

    第1回 Haskellプログラミングの楽しみ方 山下 伸夫 株式会社タイムインターメディア 2008/10/29 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう(編集部) 連載は、Haskellプログラミングの初歩から始めて、日常的なスクリプティングやWebプログラミングをHaskellで楽しめるようになるまでのガイドである。 Haskellプログラミングのスタイル Haskellプログラミングに興味はある人でも、Haskellプログラミングの習得にはちょっとした障壁を感じることがあるのは間違いないようだ。小難しい概念や用語のせいでもあるが、それらはあまり重大な理由ではない。 障壁となるのはHaskellのプログラミングスタイルである。Haskellのプログラミングスタイルは関数プログラミングという系統に属する。一方、

  • cranebirdの日記

    data Reg = Zero | At | V0 | V1 | A0 | A1 | A2 | A3 | T0 | T1 | T2 | T3 | T4 | T5 | T6 | T7 | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | T8 | T9 | GP | SP | FP | RQ | PC deriving (Eq, Ord, Show, Enum, Bounded) data Insn = Add Reg Reg Reg | Sub Reg Reg Reg | J Word deriving (Eq, Ord, Show) data PseudoInsn = Pseudo [Insn] data Cell = W Word | I Insn deriving (Eq, Ord, Show) data VM = VM (Map.Map Reg Cel

    cranebirdの日記
  • Lush: Lisp Universal SHell

    Lush is an object-oriented programming language designed for researchers, experimenters, and engineers interested in large-scale numerical and graphic applications. Lush is designed to be used in situations where one would want to combine the flexibility of a high-level, weakly-typed interpreted language, with the efficiency of a strongly-typed, natively-compiled language, and with the easy integr

    jjzak
    jjzak 2008/10/06
    数値計算とグラフィックスのためのLisp
  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2):プログラミング言語の進化を追え(1/3 ページ) 前回に引き続き、Scheme言語の処理系、Gaucheを開発している川合史朗氏が、クロージャの機能を検証し、関数型言語とオブジェクト指向言語の関係について解説していきます。今回は、クロージャとオブジェクトのより深淵を探求します。 抽象化ツールとしてのクロージャ C++的なオブジェクトの世界では、オブジェクトの実体とは「ひとかたまりの構造体としてメモリ上に置かれたインスタンス変数の値」にすぎません。オブジェクトのポインタを取れば、それは事実上、その構造体へのポインタを持っていることになります。クロージャを「関数」中心で見ていると、その実体は「オブジェクト」の実体とは異質なもののように思えるでしょう。 確かにクロージャのナイーブな「実装」は、関数ポインタと環

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)
  • Scala-ja - Top page

    Scala-jaは、プログラミング言語Scalaについて気軽に語り合い交流できる場を提供します。 イベント Scala勉強会が各地で行われる予定です。 Scala勉強会@関西-2 (8月23日(土)) Lingr Scala-ja部屋 http://www.lingr.com/room/scala-ja Lingrを使ったチャットによる、交流の場です。 Scala-sandbox http://coderepos.org/share/wiki/Scala-sandbox CodeReposを使った、Scalaの情報や、Scalaのコードなどを自由につっこんで、お遊びする場です。 過去のイベント Scala勉強会@岡山-1 (5月3日): 終了しました Scala勉強会@関東-1 (5月10日): 終了しました Scala勉強会@関西-1 (5月10日): 終了しました