タグ

lispに関するokhraのブックマーク (11)

  • Yコンビネータを読み解こう - ボクノス

    Y コンビネータって何? - IT戦記で話題になってるYコンビネータがイマイチわからない。 良記事発見したので、Y CombinatorのYコンビネータを読み解いて行きたいと思います。英語版も必見デス。 相当長いです。 Yコンビネータとはナニモノ!? そういや、再帰って、名前が無いと再帰出来ないのかなぁ・・・全ての式がλで書けるなら、再帰関数もλで書けるはずだ。名前イラナイ!!という時、困っちゃうのが再帰関数の定義。僕の少ない頭では定義出来ませんでした。 「再帰をλで書きたい」 と、思ったときに登場するのが「Yコンビネータ」らしい。追っていく。 階乗ってなんだっけ まずは復習。とりあえず階乗を書きます。 (define (fact n) (if (zero? n) 1 (* n (fact (- n 1))))) (fact 10) ; 3628800 式をを分解すると、 (* 10 (*

    Yコンビネータを読み解こう - ボクノス
  • Structure and Interpretation of Computer Programs, Video Lectures

    Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Structure and Interpretation of Computer Programs Video Lectures by Hal Abelson and Gerald Jay Sussman Structure and Interpretation of Computer Programs has been MIT's introductory pre-professional computer science subject since 1981. It emphasizes the role of computer languages as vehicles for expressi

  • 地獄Lisp

    あ な た の 怨 み 、 晴 ら し ま す 。

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • ようこそ、℃-ute な Lisp の世界へ

    発祥: http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/ はじめにScheme という Lisp 語族の言語を用いて ℃-ute の相関関係をプログラムし、様々な角度から関係性を分析する手法を紹介していきます(ソースコードは最後に張ります)。 まずは、メンバー間の関係を「リスト」というデータ型で表現します。例えば「栞菜->愛理」という関係は (kanna . airi) という形で表すことができます。これに、「大好き」という情報を付加し、ついでにその関係の性質を数値化したものを加えると ((kanna . airi) (desc "大好き") (score . 1)) のようになり、関係図における一つの矢印の情報をデータ化できたことになります(暫定的に、好意は 1、良好・中立は 0、険悪は -1 の3段階で表すことにしま

    ようこそ、℃-ute な Lisp の世界へ
  • ひげぽん OSとか作っちゃうかMona- - 末尾再帰

    最近一部で盛り上がっている「末尾再帰」について自分の理解を確認するのも兼ねて書いてみます。 (そもそも自分がふったのがきっかけっぽいので)。 上級者の方は間違い等に厳しくつっこんでもらえると助かります:-) 背景 自分が末尾再帰を知ったのは多分Schemeの勉強を始めた頃だったと思います。 例えばSICPというでは20ページあたりにこっそりと出てきます。 そのころの理解はかなり浅いもので「ふーん。」程度でした。 さて後日Schemeの処理系を実装することになりR5RSというSchemeの仕様書を読んだところ Scheme の実装は真正に末尾再帰的(properly tail-recursive) であることが要求されている。これは,たとえ繰返し計算が 構文的に再帰的手続きで記述されているときでも,定数空間 でその繰返し計算を実行することを可能にする とあり末尾再帰のことを詳しく知る必要性

  • Karetta|Gaucheプログラミング|「Lisp脳」の謎に迫る - Schemeプログラマの発想

    この原稿の最新版について この原稿に加筆した最新版が書籍「プログラミングGauche」に収録されています。 引用や紹介をされる方はなるべく書籍収録版を参照してください。 他の言語のプログラマがSchemeプログラムを書くとき、 どうしても発想が手続き的(procedural)になりがちです。 LispプログラマやSchemeプログラマの発想は手続き的な発想とはどうも違うらしい、 ということは分かるのですが、具体的に何が違うのでしょうか? ここではこの謎に迫ってみましょう。 実例 例えばこんな例題があります。 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 どうしてプログラマに・・・プログラムが書けないのか? (原題: Why

  • JScheme: Scheme implemented in Java

    Jscheme is: Lisp: An interpreter for the Scheme dialect. Java: Written in Pure Java 1.1. Complete: meets the R4RS standard, except for three limitations. Compact: About 50KB source, 30KB classes.jar. Integrated: You can call any Java method. Open: Generous free license agreement. Learn More: Browse the Javadoc documentation. Browse the source code directory. See the Design document. Download the s

  • Matzにっき(2007-01-26)

    << 2007/01/ 1 1. [Ruby] The Ruby Virtual Machine 2. [Ruby] matzrubyランチ on Subversion 3. 大当たり 2 1. 一族集合 2. [Ruby] リクルート エンジニア適職フェア 3. フニクリフニクラ 4. [言語] Groovy 1.0 is there 3 1. [Ruby] nkf-utf8 4 1. [Ruby] Headius: New JRuby Compiler: Progress Updates 2. [Ruby] ユメのチカラ: マルチプロセッサ向けソフトウェアパラダイムとは? 3. [Ruby] Class Variables 5 1. asahi.com:米共和党、ロムニー氏が大統領選に始動 2. [知財] 絶版書籍、ネット閲覧可能に・政府が著作権法改正へ 3. [Ruby] Ruby

  • 紫藤のページ

    紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの

  • Game Oriented Assembly Lisp - Wikipedia

    Game Oriented Assembly Lisp (GOAL, also known as Game Object Assembly Lisp) is a programming language, a dialect of the language Lisp, made for video games developed by Andy Gavin and the Jak and Daxter team at the company Naughty Dog. It was written using Allegro Common Lisp and used in the development of the entire Jak and Daxter series of games. Design[edit] GOAL's syntax resembles the Lisp dia

  • 1