タグ

lispに関するhakobe932のブックマーク (19)

  • あなたがLispを無視することができない理由 - 八発白中

    (この記事はLisp Advent Calendar 1日目のためのエントリです。) 禅が好んで用いる比喩がある。月を指すには指が必要である。だが、その指を月と思う者はわざわいなるかな。 — 鈴木大拙「禅」 これをLispに例えるなら、こう言うことができるかもしれない。 Lispを書くには括弧が必要である。だが、その括弧をLispと思う者はわざわいなるかな。 Lispを普段書いている身としてはLispについて括弧がどう、というのは些細なものに思えるが、Lispを知らない人からすると自然な考えだろう。人間は知らないものを理解しようとするとき、自分が今まで見たもの、知っているものと比較して手がかりを得ようとする。Lispが他のプログラム言語と比較してユニークなものは、やはりその括弧で表現されたS式だ。 しかし、Lispが括弧を使った奇妙な構文を用いるのは理由がある。そしてそれがLispの強力さ

  • 20分ではてなブログを作る方法 - 八発白中

    これはLisp Advent Calendarの10日目です。 先日、HappyElementsさんで行われたLiveCoding #11にライブコーダとして参加させていただきました。そのときの話をしようと思います。 LiveCodingとは 一人の"LiveCoder"が、20分の制限時間で何かソフトウェアを作り、デモをします。 LiveCoderがどのようにコーディングしているかの全てがプロジェクターで大画面に映し出され、 さらに解説役が常にLiveCoderの挙動を説明します。 A 「コンパイル中です・・・、お、おおお、なんと、Syntax error!」 B 「これは恥ずかしい…!」 LiveCoder 「(/// 」 LiveCoderが何を作るかについては、自分で決めた上でそれをLiveCoding前に告知します。 ただし、観客の要望で仕様が強制的に変更になることがあります。

    20分ではてなブログを作る方法 - 八発白中
    hakobe932
    hakobe932 2012/12/10
    live感ある
  • Common Lispでシェルを便利に!「Shelly」をリリースしました - 八発白中

    先日のKyoto.lisp Tech Talkでご紹介しましたが、「Shelly」というプロダクトを作りました。 Shelly View more presentations from fukamachi まとめると、ShellyはCommon Lispの関数をシェルコマンドのように実行できるユーティリティです。 インストールは以下のコマンドを実行してください。「LISP_IMPL=ccl」の部分は使っている処理系に合わせて変更してください。LISP_IMPL=sbclとか。 $ curl -L http://xrl.us/shly | LISP_IMPL=ccl perl - installもしくはREPLからShellyをロードしてください。 (ql:quickload :shelly) (shelly:install) インストールが成功すると ~/.shelly にファイルがコピー

    Common Lispでシェルを便利に!「Shelly」をリリースしました - 八発白中
  • Common Lispの軽量フレームワーク「ningle」を作りました - 八発白中

    Clackベースの軽量Webフレームワーク「ningle」を作りました。 ningle by fukamachi 背景 Clackベースのフレームワークとしては既に「Caveman」がありますが、CavemanはPerlのAmon2に影響を受けたこともあり、プロジェクトの拡大に伴う拡張性を損なわないために多くのことをします。 たとえばCavemanにはprojectという概念があり、開発環境と番環境でロードするconfigファイルを分けたり、どのようにビルドするかを定義したりできるようになっています。 複数のClackアプリを定義することもでき、最初はPCサイトのみ作っていたけど半年後にスマートフォン用サイトも作ることになった、という場合などにも、アプリの継承などですぐに対応できるようになっています。 Clackのミドルウェア利用も記述を少し追加するだけです。 けれど、これらの拡張性のた

    Common Lispの軽量フレームワーク「ningle」を作りました - 八発白中
  • なぜ数ある言語からCommon Lispを選んだのか - 八発白中

    はてなに入ってからよく「なんでCommon Lispで書くんですか?」と聞かれます。アリエルにいるときは全く聞かれなかった質問です。今まで当たり前のように受け入れていたことを改めて尋ねられるとはっとさせられます。 「Common Lispが一番書きやすいからです」 「あっ…すいませんでした」 なぜ謝られたし。これではまるで僕が変人扱いです。だけどたぶんこれが普通の感覚で、アリエルは変な人が多かったんでしょう。 こう言われることもあります。 「でも、Lispってカッコが多いじゃないですか」 これもまた久しく忘れていた感覚で、思わず答えに詰まってしまいました。Common Lispのカッコがそれほど多くないということは既に証明されているというのに。 先週末にid:m2ymと会って話をしたときにも同じような話をしました。閉じカッコがたくさん続いているとか、letのカッコの数が1個多いとか、そうい

    なぜ数ある言語からCommon Lispを選んだのか - 八発白中
  • そろそろLISPブームが再来する - やねうらおブログ(移転しました)

    思うに、LISPには名著が多い。100年に一度の名著であるSICP*1は言うに及ばず、 ハッカーと画家 コンピュータ時代の創造者たちで有名なPaul Graham氏のOn Lisp。 あと、日のLispハッカーとして名高い竹内郁雄先生の初めての人のためのLISP (ソフトウェアライブラリ (3))。このは、何年も前に絶版になっているが、目次からして、なにやらおかしい。 [目次] 1 初めての人のためのLisp 2 CARとCDRで世間を渡れば権兵衛もたじろぐ 3 解釈は評価なり・・・辞書なくして世は渡れず 4 基関数を修了するや,突然関数定義 なんと大それた・・・ 5 今度はcond,再帰と再起を混同せぬように 6 またも再帰するから再帰なのだ 7 Gogogo・・・,do,do,do・・・,loop,loop,loop・・・, やっぱりOは丸い 8 Lispの御尊のお出まし

    そろそろLISPブームが再来する - やねうらおブログ(移転しました)
  • マンガで分かるLisp (その1)

    | Home | Next>

  • Shibuya.lisp

    Mahjong Ways 3 adalah permainan slot online yang menarik yang menghidupkan permainan ubin klasik Tiongkok dengan sentuhan modern. Dikembangkan oleh PlayStar, game ini menawarkan pengalaman unik dan menarik dengan sistem pembayaran kluster dan gulungan berjatuhan. Gambaran Umum Permainan Gameplay dan Fitur Mahjong Ways 3 menonjol dengan mekanisme permainan inovatifnya: Fitur Bonus Permainan ini men

  • LLからCL? - 書評 - 実践Common Lisp : 404 Blog Not Found

    2008年07月28日10:00 カテゴリ書評/画評/品評Lightweight Languages LLからCL? - 書評 - 実践Common Lisp 共訳者の佐野様より献御礼。 実践Common Lisp Peter Seibel 佐野匡俊 / 水丸淳 / 園城雅之 / 金子祐介訳 [原著:Practical Common Lisp] なんでこういう Common Lisp がなかったかという、さまざまな意味で21世紀的な Lisp。LL、特に「P言語」の読者は必読。CLに走るせよ、LLに留まるにせよ。 書「実践Common Lisp」は、英文学科(と便宜的に訳すが、ずばりEnglish)を卒業してジャーナリストとなった後、PerlプログラマーJavaプログラマーを経てCommon Lispプログラマーとなった異色の「第二世代 Common Lisper」である著者が、

    LLからCL? - 書評 - 実践Common Lisp : 404 Blog Not Found
    hakobe932
    hakobe932 2008/07/28
    出家したい
  • 不動点オペレータについて

    不動点オペレータY 階乗関数は、 (define fact (lambda (n) (if (= n 0) 1 (* n (fact (- n 1)))))) のように、再帰的に定義できる。 再帰的定義を行なう場合はdefineやletrecを使うけど、 代わりにletを使うと再帰的定義はできない。 defineやletrecをどうしても使いたくないなら、多少工夫がいる。 例えば、factの引数を増やすという方法がある。 (let ((fact (lambda (self n) (if (= n 0) 1 (* n (self self (- n 1))))))) (fact fact 10)) ⇒ 3628800 (中略) 不動点オペレータYを使うと次のように書ける。 (let* ((Y (lambda (g) ((lambda (s) (g (lambda (x) ((s s) x))

  • もっと楽しむ! プログラミング言語 「豆」談義:第1回 古くて新しい関数型言語「Lisp」|gihyo.jp

    はじめに「僕たちは今……」 人間の思考に、ことば――すなわち言語は欠かせないものです。考えごとをするときに、ことばを使っていない人はいないでしょう。 さて、僕達は今、コンピュータを身近に感じる世界にいます。 コンピュータというのは、ハードウェアとソフトウェアに大きく分けることができますが、ソフトウェアはさまざまなプログラミング言語を用いて書かれたプログラムで構成されています。 プログラムの重要さは、コンピュータのハードウェアを変更しなくても、中のプログラムを変えることによってコンピュータの用途を「計算」「⁠文書作成」「⁠ゲーム」「⁠勤怠管理」「⁠ショッピング」と変えることができることからもわかります。つまり、皆さんが「コンピュータって便利だね」と、言うときに指すコンピュータとは、プログラミング言語で書かれたプログラムのことなのです。 そのプログラミングの始まりは、チャールズ・バベッジが作成

    もっと楽しむ! プログラミング言語 「豆」談義:第1回 古くて新しい関数型言語「Lisp」|gihyo.jp
  • Matzにっき(2006-12-06)

    << 2006/12/ 1 1. [Ruby] Ruby Advent Calendar : 25 Days of Ruby Joy and Celebration 2 1. [教会] 宣教師の手伝い 2. [言語] ボヘミアンの勝利(?) 3. [Ruby] Erubis - A faster alternative to ERB / eRuby 3 1. [教会] ブルークリスマス 4 1. [Ruby] 日 Ruby 会議 2007 2. 凄い漢字 5 1. [原稿] 日経Linux 2006年2月号 2. チープ教育 3. [Ruby] erubycon 6 1. [原稿] 日経Linux 2006年2月号 2. スライド 3. 懇親会 4. [Ruby] TopFunky's PodCast Interview with Matz - O'Reilly Ruby 5. [言語]

  • Part4 Javaで作るオリジナル言語

    Part4では,Lisp(リスプ:List Processor)インタプリタをJava言語を使って作っていきます。Lispは非常に歴史が古く,様々な分野で利用されている言語です。しかし,皆さんの中にはLisp自体をよく知らないという方もいらっしゃるかもしれません。どんなものを作るかわからないままでは面白みも半減してしまいますから,まずはLispのごく基的な動作を紹介しましょう。 まずは簡単Lisp講座 Lispの質は,すべてがリスト(正確にはS式,詳細は後述)で表現されることにあります。リストは要素を順序付きで並べたもので,“(1 2 3 4)”のように要素の並びをカッコでくくって表記します。このリストの要素は1,2,3,4の四つです。 「すべてがリストで表現される」という言葉の通り,Lispではプログラムもこのようなリストとして表現します。Lisp処理系は,与えられたリストの一つ目の

    Part4 Javaで作るオリジナル言語
  • 再帰再考 : 404 Blog Not Found

    2006年07月23日13:00 カテゴリLightweight Languages 再帰再考 今やこれは逆ではないか。 再帰的アルゴリズム まずは,非再帰プログラムで問題を考えてみる。 難しいと判断した場合,再帰プログラムで考えてみる。 むしろ私はこうしてきた。 まずは再帰で実装する。 速度と資源の制約があるとき、非再帰で実装しなおす 一番の理由は、今やプログラミングそのもののコストの方がプログラムを実行するコストよりも大きいからだ。早くプログラムを書く要請の方が速いプログラムを書く要請より強いからだ。 次の理由は、再帰は遅いとは限らないからだ。特にLisp系では、末尾再帰(tail recursion)は重くない。これはもうshiroさんが力説しているのでそちらを参照して欲しい。フィボナッチ数列を解くプログラムはとにかく、階乗を解くプログラムぐらいだとわざわざ再帰しないようにするご利益

    再帰再考 : 404 Blog Not Found
  • カリー化をふと理解した? | prog - 氾濫原

    いろんなところでカリー化と普通に言われて、カリー化って何だよって思っていたけど、ふとした拍子に理解した (と思う) 引数を一個とって関数を返す関数をカリー化された関数というらしい。なんか言葉にするとそこらの説明と大して変わらないなぁ。 檜山正幸のキマイラ飼育記 - JavaScriptでカリー化 の最初に「カリー化ってなに?」って書いてあるけど、今はこれが一番わかりやすい例だと思える。前読んだときはよくわからなかった。2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること。ちなみに「なに?」の部分以外はわからない (読んでもいない) すーぱーぷろぐらみんてくにーーく! のカリーの部分 A Gentle Introduction to Haskell: Functions 404 Blog Not Found:Haskellは難

    hakobe932
    hakobe932 2006/06/24
    カリーかってそういうことか
  • SchemeとかのIRCチャンネル #scheme-jp - higepon blog

    SchemeとかLispのIRCチャンネルとかってないかな。 気軽にそのあたりの話ができるとうれしいなと。 昨日、/squery alis コマンドで検索しようと思ったけど挫折。 #schemeは異国の人々ばかりで良く分からなかったw。 ということで #scheme-jpというチャンネルを作って join していますよ。 話題は関数型言語とかSICPとかSchemeとかLispとかEmacs Lispとか。何でも。 追記 現在、4人参加。 追記 WIDE系です。

    SchemeとかのIRCチャンネル #scheme-jp - higepon blog
    hakobe932
    hakobe932 2006/05/13
    参加するのが吉
  • http://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html

    hakobe932
    hakobe932 2006/04/30
    Schemeのちょっとしたまとめ
  • http://www.shiro.dreamhost.com/scheme/trans/noop-j.html

    hakobe932
    hakobe932 2006/04/29
    脚注みれ、lispすごす
  • なぜ関数プログラミングは重要か

    John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. [email protected] この日語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに

    hakobe932
    hakobe932 2006/04/22
    なんで重要?
  • 1