タグ

Lispに関するsmotokezuruのブックマーク (24)

  • Lispのカッコは怖くないよ - knjnameのブログ

    最近Lispの連れション仲間を増やしたいので、いろんな初見の人に「Lispって知ってる?」と質問して回っています。 そこそこアンテナのある技術者ならLispというのがプログラミング言語の一派を意味しており、それが主に大量のカッコで構成されていることは知っているようなのですが、なんか拒否反応が多いんですよね。 拒否反応というのが、まあ、だいたい 「カッコが多すぎて気がおかしくなる」 「私の人生は大量のカッコに対応するには短すぎる」 「大学でやったけどカッコ死ね。」 みたいなHTML初心者がタグのネストに敗北したみたいな感想ですね…。 まあ、パッと見てそういいたくなる気持ちは分かるんですが、それ自体がよくあるLispに対する誤解と言わざるを得ないです。 事実、Lispプログラミングは大量のカッコを相手にするのですが、誰もカッコの個数なんて見ていません。 Lispのプログラムの構造を読むときは、

    Lispのカッコは怖くないよ - knjnameのブログ
  • Javathcript - Javascript with a lisp

    Javathcript allows you to script your web pages in a simple lisp variant. Once you include Javathcript.js, any script tags in your document with type="text/lisp" will be evaluated. It will also download lisp files (only from the original server), if you have a script tag that has a src attribute. Finally, you can also evaluate lisp code from javascript using Javathcript.eval(lispString). While it

    smotokezuru
    smotokezuru 2012/08/08
    ロードすると<script type="text/lisp">でlisp使えるようになるJavaScript。lispなのはネタとしても手法がすごいな。Dartとか他の言語でも可能なんじゃないか
  • LISP on browser — Learn Languages 1.0 documentation

    LISP on browser¶ This is small implementation of LISP, which written in JavaScript and run on browsers. I think it helps you to understand what going on in programming languages by using it and reading its source codes. ;; A few examples. Click 'Load source' to load them. ; Closures (let (count 0) (define (counter) (set! count (+ 1 count)))) ; You can also define variables (define x 2) (set! x 3)

  • 竹内関数で音楽生成 - aike’s blog

    Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割

    竹内関数で音楽生成 - aike’s blog
  • リトルウイングピンボール オフィシャルサイト:ビデオピンボール第4世代のために開発された究極のスクリプト言語システム「イプシロン」

    ビデオピンボール第4世代のために開発された究極のスクリプト言語システム「イプシロン」 Ypsilon Scheme System(以下イプシロン)は、リトルウイング ピンボールコンストラクションシステムの基盤技術の一つとして藤田善勝が開発したスクリプト言語システムです。イプシロンは、YoshikatsuからYを取って名付けました。 プログラミング言語としてイプシロンはLISPの方言の一つであるスキーム(Scheme)を採用しています。スキームは1970年代に開発され、コンピュータとプログラミングの教育分野で広く使われています。 スキームについての情報はこちらをご参照ください。http://ja.wikipedia.org/wiki/Scheme ピンボールのゲームルールは現在CまたはC++で記述されています。速度の面では有利なのですが、プログラムにエラーがあるとあっけなくアプリケーションが

    smotokezuru
    smotokezuru 2009/06/23
    R6RS準拠
  • マンガで分かるLisp (その1)

    | Home | Next>

  • Gaucheでメタプログラミング - @IT

    プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る VBAにおけるFileDial

  • Sakti123 : Barudak Slot Judi Online Bet Receh Depo 25k Di Zeus X1000

    Home Product Sakti123 : Barudak Slot Judi Online Bet Receh Depo 25k Di Zeus X1000 Sakti123 : Barudak Slot Judi Online Bet Receh Depo 25k Di Zeus X1000 Situs judi online dengan permainan bet receh depo 25k paling gacor hanya di SAKTI123. Banyak manfaat yang pasti kalian dapatkan bermain di Sakti123, contohnya mendapatkan uang kaget dengan nominal sangat banyak anda hanya perlu merogoh kocek sebesar

    Sakti123 : Barudak Slot Judi Online Bet Receh Depo 25k Di Zeus X1000
  • Structure and Interpretation of Computer Programs

    Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2

  • 小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-

    id:koguro:20080309:1205012807 で公開されている小黒さんの glint を試してみました。 昨日の Gauche.night で発表されていたのものですがこれを待っていました!。 こんな便利なものを作ってくれ小黒さんに感謝。 何ができるか? glint は Gauche 用に書いたソースコードの syntax チェックをしてくれます。 これと Emacs の flymake (Emacs22 からは標準で付属)を組み合わせるとソースの編集中に syntax エラーが分かります。 インストール Gauche 0.8.13 をあらかじめインストールしておいてください。他のバージョンでは動作しない可能性があるので注意してください。 wget http://homepage.mac.com/naoki.koguro/prog/codecheck/codecheck-0.

    小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-
  • ひげぽん OSとか作っちゃうかMona- - 末尾再帰

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

  • Arc's Out

    29 January 2008 We're releasing a version of Arc today, along with a site about it at arclanguage.org. This site will seem very familiar to users of Hacker News. It's mostly the same code, with a few colors and messages changed. Arc is still a work in progress. We've done little more than take a snapshot of the code and put it online. I spent a few days cleaning up inconsistencies, but it's still

  • (= arc (+ lisp perl)) : 404 Blog Not Found

    2008年01月31日10:30 カテゴリLightweight Languages (= arc (+ lisp perl)) な、なんですとー。 1つの言語に囲い込まれるリスク @ 2008年01月 @ ratio - rational - irrational @ IDM arcリリースおめでとう! というわけで覗いてみた。 Arc Forum | Arc Arc Forum | Installation http://ycombinator.com/arc/tut.txt ちょwww これ、Lisp Fundamentalist ほど拒絶反応強そう。でも私はちょっと萌えちゃった。 以下、Tutorialからぶっとび箇所だけぴっくあっぷ。 defvar は = まずはこれ。 arc> (= foo 13) 13 arc> foo 13 defun は def Scheme方式の(de

    (= arc (+ lisp perl)) : 404 Blog Not Found
  • Emacs Lisp のパターン - あどけない話

    デザイン(設計)パターンという程のことはない、Emacs Lisp のパターンを思いつくままに書きます。心は、 高階関数を書こう マクロを書こう です。 mapcar mapcar は、引数に関数をとる高階関数のよい例です。リストを取り、それぞれの値を加工して、新しいリストを返すパターンのときは、mapcar を使いましょう。 (mapcar '1+ '(1 2 3 4)) ;; => (2 3 4 5) mapcar には、自分のさせたい仕事を実装した関数を渡しましょう。 (defun f(x) (1+ (* x 2))) (mapcar 'f '(1 2 3 4)) ;; => (3 5 7 9) mapcar を連結しましょう。(オブジェクト指向でのメッセージの連結に似ていますね。) (mapcar '1+ (mapcar (lambda(x) (* x 2)) '(1 2 3 4)

    Emacs Lisp のパターン - あどけない話
  • ぷ~たろう

    [PR] フロアコーティング (help authorNari) あほ������ ������やろう。 (show struct)

    smotokezuru
    smotokezuru 2007/07/30
    RubyによるLisp実装のWebインタプリタ。Great!
  • Karetta|Gaucheプログラミング|「Lisp脳」の謎に迫る - Schemeプログラマの発想

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

  • Lisp:よくある誤解と、その中にあるちょっとした真実

    Lispについてのよくある誤解と、その中にあるちょっとした真実 はてなの質問: プログラミング言語で最強(スケーラブル)なのは、 Lispだと思われます。 http://jp.franz.com/index.html しかし、 世間ではマイナー言語のようです。 なぜでしょうか。 についた回答のいくつかには、「Lispを少しだけかじった人がしがちな誤解」が 含まれてるようなので、それをネタに少し解説してみます。 ただ、誤解が生じるのは、やっぱりそれなりの理由があって、従ってその 誤解の中にも(条件つきの)真実が含まれていることがあります。 そのへんまでをも含めて考えてみましょう。以降、引用は回答からです。 Lispはスクリプト言語? 一昔前まで、これらのスクリプト系の言語は「とてつもなく遅い」のが嫌われる最大の要因でしたが、最近のコンピューターの性能向上でようやくRuby,Python,Li

  • はてなブログ | 無料ブログを作成しよう

    キジ焼き丼とおばんざい シンプルな我が家の定番のおばんざいたち 赤梅酢の新生姜漬け 昨夜は香ばしいきじ焼き丼に添えて。大きめにカットした鶏とししとうを魚グリルでこんがり焼く。 タレをつけながら煙モクモク、焼き鳥屋さんみたいな香ばしい香りがキッチンいっぱいに広がります 磯の味も…

    はてなブログ | 無料ブログを作成しよう
  • Loading...

  • Scheme によるプログラミング入門

    内容 プログラミングについて体系的に学ぶとともに,実習を通して理解を深めます. プログラミング言語としては,文法が簡単で扱いやすいという理由で Scheme 言語を採用しています. 自宅のパソコンなどで、DrScheme を練習したい人 DrScheme は、 Dr. Scheme のWebページからダウンロードできます。 このWebページで、「Download DrScheme」をクリック、その後「Download」をクリック。 すると、Dr. SchemeダウンロードのWebページが現れるので「Download links」のところから、適切なリンクを選んでクリック。すると、ダウンロードが始まります。 この Web ページで公開している資料について 手作りの資料ですので, ミスが発見され次第,少しずつ手直しします.ご了承ください. Scheme 説明資料と演習問題 (参考) プログラ