タグ

*関数型言語に関するslash_01のブックマーク (32)

  • こくちーずプロ - 無料で使えるイベント・セミナーの告知・集客サービス

    個人から法人まで幅広い主催者の方にご活用いただいています。 イベント主催者6万人以上 チケット販売380万枚以上

    こくちーずプロ - 無料で使えるイベント・セミナーの告知・集客サービス
  • Haskell基礎文法最速マスター - think and error

    見ていただけるのは嬉しいですがこのエントリは十分古いため、新しい情報へアクセスをしてください。以下のをお勧めします。 すごいHaskellたのしく学ぼう! 作者: MiranLipovaca出版社/メーカー: オーム社発売日: 2017/07/14メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus) 作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行(ソフトカバー)この商品を含むブログ (8件) を見る みんなHaskellやろうぜ!! ということで書きました。 CやJavaRubyなど他言語を知っている人は、これを読むことでHaskellの大抵のことはマスターでき…ません。 特殊な構文が多すぎて他言語との類

    Haskell基礎文法最速マスター - think and error
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    slash_01
    slash_01 2009/10/31
    割りかしすんなり読めた。関数プログラミングのおいしさみたいなのを復習したいときに良いかも。
  • 言語処理における「ファーストクラス」「第一級」とは - ctrlshiftの日記

    プログラミング言語、特にLispやSchemeを勉強していると、たまに「ファーストクラスのオブジェクト」や「第一級の関数」などを目にすることがあります。 しかし、「ファーストクラス」とか「第一級」というのは、いったい何なのでしょう。 その答えは、『Structure and Interpretation of Computer Programs(計算機プログラムの構造と解釈)』の1.3.4にある「Procedures as Returned Values」に記述がありました。 In general, programming languages impose restrictions on the ways in which computational elements can be manipulated. Elements with the fewest restrictions are

    言語処理における「ファーストクラス」「第一級」とは - ctrlshiftの日記
  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

  • Rubyで関数プログラミング Part 7 【高階関数の実用】

    前頁では、関数がファーストクラスであることの説明と、そのことによる実益を説明しましたが、プログラミングの世界では、引数に関数を渡すことができ、結果値に関数を返すことができる関数を高階関数(higher-order function)といいます。この高階関数の表現力の高さ故に関数がファーストクラスである必要があるといってよいと思います。 前頁ではその例を少しだけ示しましたが、高階関数の領を知るにはいくらなんでも例が少なすぎると思いましたので、この頁では、高階関数として有用であることが知られているいくつかの関数を示すことによって、高階関数実現による利点を敷衍したいと思います。 まず、map関数です。この関数は、引数として、1つの関数と複数のリストを取り、そのリストの各要素に対して引数としての関数を適用し、その結果をリストとして出力するという関数です。Rubyにも、ライブラリとして、map

  • 結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer

    【追記 2008/7/2】とても昔のClosureについて書いた記事が注目を集めてしまったみたいですが、ぜひ、もっと後で書いた次の記事とその関連スレッドの方も確認してみてください。このときよりも、もう少し事情が分かってから書いたものなので、より正確に状況を理解できると思います。それに、私自身、この言葉にはまだ混乱しています・・・ http://d.hatena.ne.jp/lethevert/20070524/p2 - という問いに対して、そろそろ私の結論を整理しておきます。 これは、将来の自分に対する参照の便のための整理です。 前提知識 前提知識として、こちらの内容を読んで理解しておきます。 Closure (computer programming) - Wikipedia [id:lethevert:20060119:p1] [id:lethevert:20060121:p2] また

    結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Gaucheでテンプレートエンジンを作る

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 前回「GaucheでRDBプログラミング」に続き、Webプログラミングです。WebアプリケーションやGUIアプリケーションのように、人との対話があるアプリケーションは一般にMVCを採用しています。 MVCとは、計算やデータ処理部分のモデル、表示部分のビュー、全体の流れを制御する部分のコントローラにモジュールを分割して作る技法です。 MVCを採用すると、変更に強いメンテナンス性の高いソフトウェアになるといわれています。実際に、多数のWebアプリケーションフレームワークがMVCを採用しています。 前回のRDBプログラミングはモデル部分の中心になるものでしたが、今回はビューの部分を作っていきましょう。 HTMLの生成 Webアプリケーションでは、Webブラウ

    Gaucheでテンプレートエンジンを作る
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    slash_01
    slash_01 2009/01/28
    もうちょいschemeを勉強してから読も。
  • ラムダ計算 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2020年5月) ラムダ計算(ラムダけいさん、英語: lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(英語: evaluation)と適用(英語: application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。アロンゾ・チャーチとスティーヴン・コール・クリーネによって1930年代に考案された。1936年にチャーチはラムダ計算を用いて一階述語論理の決定可能性問題を(否定的に)解いた。ラムダ計算は「計算可能な関数」とはなにかを定義するために用いられることもある。計算の意味論や型理論な

  • GaucheでRDBプログラミング

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 皆さま、明けましておめでとうございます。年もよろしくお願いいたします。 さて、今回はGaucheを使って、より大きなプログラムを書いていきます。Lispプログラミングの例題として、パズルのような難しいアルゴリズムを使ったプログラムもありますが、多くの読者の方はリレーショナルデータベース(RDB)をベースにしたWebアプリケーションを作られていると思います。 そこで、今回と次回でWebアプリを書いてみたいと思います。今回はRDBプログラミングを中心に学んでいきます。 Gaucheのデータ型とオブジェクトシステム 今回の主題であるWebプログラミングに入る前に、少しGaucheの基的な事柄について学んでおきます。 GaucheはLispであり、関数が主

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

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

  • 2008-12-14

    Schemeのお勉強のために、Gaucheを入れる。 環境 Mac OS 10.5 設定手順 $ curl -O http://jaist.dl.sourceforge.net/sourceforge/gauche/Gauche-0.8.14.tgz $ tar -xzf Gauche-0.8.14.tgz $ cd Gauche-0.8.14 追記:事前準備 # yum install gcc gdbm gdbm-devel オプションはマルチスレッドとutf-8指定。 $ ./configure --enable-threads=pthreads --enable-multibyte=utf-8 $ make $ sudo make install 追記 Linuxでも同様。Fedoraだとyumコマンドでパッケージ管理可能。 以上、完了。 emacsの設定 Emacs上でGauche

    2008-12-14
  • Top (Gauche Users’ Reference)

    Top This is a reference manual of Gauche, an R7RS Scheme implementation.

  • 最高のHaskell入門書 - あどけない話

    輪講で「Programming in Haskell」をようやく読み終えました。このは、最高のHaskell入門書といって間違いないでしょう。 Programming in Haskell 作者: Professor Graham Hutton出版社/メーカー: Cambridge University Press発売日: 2007/01/18メディア: ペーパーバック購入: 2人 クリック: 67回この商品を含むブログ (22件) を見る 一緒に Haskell のを何か読もうという話が、友達との間で出たとき、最初は「The Craft of Functional Programming」にしようかと思っていました。ただ、出版社の人から「Programming in Haskell」を勧められたことがあったので、二冊を友達に提示したところ、直感で「Programming in Has

    最高のHaskell入門書 - あどけない話
  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

  • 関数プログラミングへの招待

    更新履歴過去分等 2006/11/28 : Links modified (Linkを修正しました。) 2005/07/16 : Link added in Clean site (Linkを追加しました) 2005/06/04 : "How to use Clean IDE" updated (Clean IDEの使い方を更新しました) 2004/12/03 : Functional programming in Ruby modified (Rubyで関数プログラミングを一部修正しました) 11/26 : Programming language concept added (プログラミング言語の基礎概念を一部追加しました) 2004/11/02 : Clean related sites linked (Clean関連サイトのリンクを追加しました) 09/21 : Object I

  • Gauche - A Scheme Implementation

    Gauche(ゴーシュ)は、スクリプトインタプリタとしての使い易さに重点を置いて 開発を行っているR7RS準拠のScheme処理系です。日常業務の中でのちょっとした処理を行う スクリプトを気軽にSchemeで書きたいなあ、という願望のもとに、 起動が速いこと、システムへのアクセスが組み込まれていること、 最初から多国語対応を考慮していること、 リスト処理ライブラリとして他のC/C++プログラムから簡単にリンク可能であること、 などを目標としています。 Gaucheは多くのUnix系プラットフォーム およびWindows上で動作します。 実装されている機能の概要については、 機能のページをご覧ください。 News 詳しい変更はChangeLogをどうぞ。 また、最新の開発状況はGitリポジトリで知ることができます。 2024/1/25 Gauche 0.9.14 リリースノートを参照してくだ