タグ

lispに関するsabroのブックマーク (20)

  • Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!

    こんにちは!今年の春からWeb系企業でHTML/CSSデザイナーとして働きだしたキラキラ女子(を目指してる)のあんちべ(23)です!よろしくお願いします!私は普段自社のWebサービスCSSなどを書いている*1のですが、最近データマイニングに興味を持ち始め、データを分析して、自社サービスの売り上げ改善に貢献したいなーと思うようになりました!でも。。。私は文系出身で統計学とか全然わからない*2し、プログラミングも得意じゃない*3し、高価な統計解析ソフトを買うのも辛いです。。。無い無い尽くしですね><;!そんな私に救いの手が!インストール作業不要で、便利な統計処理機能が色々あって、しかも無料という素晴らしいソフト*4を発見しました!その名も"Incanter"です!なんでも、 Lispっていう古くから使われてきた実績のあるプログラミング言語で動いてて、Lispの文法でどんな処理をすればよいかを

    Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!
  • Common LispのWebアプリケーションを社内運用してみた - 八発白中

    今月の初めに弊社はてなで開発合宿を行いました。2泊3日の合宿の中でチームを組み、テーマを決めて開発をし、最後に各チームがプレゼンをする、というものです。成果物は今後のサービス開発に生かされます。 僕のチームはバックエンドがCommon Lisp、フロントエンドがCoffeeScriptで、お互いが独立していてAPIでのみ通信する設計のWebアプリケーションを作りました。僕とhitode909とswimy1113の3人の最小チームでしたが、最後のプレゼン投票で優勝できました。 ↓ 優勝したときの図。 東北で開発合宿を実施しました - はてな広報ブログ 左の灰色のはてなパーカーを着てるのが僕です。 Common Lispで書かれたアプリケーションが社内1位ってのはかなり夢があります。 合宿が終わってからも継続して開発を続けており、そろそろ数週間が経ちました。ので、この辺りでCommon Lis

    Common LispのWebアプリケーションを社内運用してみた - 八発白中
    sabro
    sabro 2012/03/26
  • On Lisp

    Paul Graham氏の著書On Lispの邦訳を無償で公開しています.Common Lispのマクロに関する貴重な情報がいっぱいです.

  • Big Sky :: vimscriptでLispエンジン書いた。

    この記事見てたら、「vimscriptでも書けるさ!」と悔しくなったので勢いだけで書いた。 Simple Scheme interpreter in Perl - Life is very short Simple Scheme interpreter in Perl perl , scheme | 21:52 昨日 Brainfuck を書いてみたので、今日は Scheme( Lisp )の 処理... http://d.hatena.ne.jp/syohex/20111116/1321447925 後悔していない。 mattn/lisper-vim - GitHub This vim plugin provide lisp environments for vimmers. https://github.com/mattn/lisper-vim 見ての通り、vimscriptだけでli

    Big Sky :: vimscriptでLispエンジン書いた。
    sabro
    sabro 2011/11/20
  • 竹内関数で音楽生成 - 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
  • not found

  • On Lisp

    Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト (c) 野田 開     NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>

  • 非同期と継続と私 - 技術日記@kiwanami

    非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。 さらに、非同期と遅延評価の関係も気になります。非同期は「結果が後で来る」感じですが、遅延評価は「必要になるまで結果を計算しない」ということで、後回しにする感じが似ています。 今回、deferred.el を作った後にこれらについて考えてみたところ、なんとなく自分の中で実用的な結論に達したのでまとめてみました。以下、その過程とまとめです。 あらすじ 継続渡し(CPS)と非同期 CPS変換から非同期化 Deferredで非同期化 遅延評価と非同期 遅延関数のCPS変換から非同期化 Deferredで非同期化 明示的形式と暗黙的形式 継

    非同期と継続と私 - 技術日記@kiwanami
  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

    ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) Peter Norvig / 青木靖 訳 前のエッセイでは、90行のPythonコードでシンプルなLispインタプリタを書く方法を示した(lis.py)。このエッセイでは、3倍込み入っているが、より完全なlispy.pyを実装しよう。それぞれの節で1つの機能追加を扱っている。 (1) 新しいデータ型 - 文字列、論理型、複素数、ポート Lispyへの新しいデータ型の追加は3つの部分からなる。データの内部表現、それを扱う手続き、読み書きのためのシンタックスだ。ここでは4つの型を追加する(入力ポート以外はPythonのネイティブ表現をそのまま使う)。 文字列 文字列リテラルはダブルクォーテーションで囲まれる。文字列の中で \n は改行を、\" はダブルクォーテーションを意味する。論理型  構文 #t と #f はTrue

  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you

    MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき

    JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you
  • プログラマは皆どのようにしてLisperと化して行くのか?

    LispでWebサービスを作ればYahoo!に60億で買ってもらえると聞いて 実はCと同じくらい速いコードが書けると聞いて ルンバがLispで書かれていると聞いて リリカルなので 面接で笑われてカッとなった マンガでわかるらしいので iPhoneアプリが開発できると聞いて iアプリでLispが書けると聞いて 初めて手に入れたポケコンがAI-1000だった ハッカーと画家を読んでしまった 普通のやつらの上を行きたいので 舌足らずなので セグウェイを制御するコードが一日で書けるようになると聞いて How to become a Hackerを読んだ 専用の求人情報に応募できると聞いて プログラミングClojureを読んだ 初めての人のためのLispを読んだ 自前のLispで書かれた将棋が強かったので LispとPostScriptがあればハッピーになれると聞いて LOLの熱にあてられた On

    プログラマは皆どのようにしてLisperと化して行くのか?
  • マンガで分かるLisp(Manga Guide to Lisp)

    スポンジで虎を倒せるんだよ? (you can take down a tiger with a sponge, right?)

  • マンガで分かるLisp (その1)

    | Home | Next>

  • おとうさん、ぼくにも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 - きしだのはてな
  • ANSI Common Lisp の仕様書を HTML Help にした - てっく煮ブログ

    Amazon から On Lisp のも届き、On Lisp Web 版 と合わせて読み進めているのだけど、Common Lisp の知識がある前提で書かれていてつらい。こういうときは仕様書が頼り。Common Lisp の仕様書を探したら Franz Inc Product Documentation に発見。ANSI Specification のリンクをたどると ANSI Common Lisp に行き着く。まとめてダウンロードもできてありがたいんだけど、いかんせん生の HTML だと使い勝手が悪い。ということで、HTML Help(CHM)にしてみましたよっと。Alt-N→関数名→Enter で定義に行き着けて大変幸せ。読書効率があがりました。あとは理解していくだけ…。http://tech.nitoyon.com/misc/ansicl-chm.zip On Lisp作者: ポ

  • ウノウラボ Unoh Labs: 続・Emacsを自分で拡張するためのTips

    今年の春頃からトリプルディスプレイで仕事しているbokkoです。なんだか同僚の視線が気になりますが、あえて空気を読まないことにしています。 前に「EmacsLispを自分で拡張する際のTips」という記事を書きましたが、今回はその続きです。 EmacsLispは難しい? EmacsLisp(以下、elisp)は難しいという意見をたまに耳にしますが、elisp自体はそれほど難しいものではありません。ただ、関数名がバラバラでややこしかったり、マニュアルが巨大でどこを見ていいのかわからず、目的のことをするための関数が見つからない、といったようにユーザが難しいと感じるのはelispという言語そのものではなく、環境(OS、ウインドウ、バッファなど)とのインタフェースにあるため、結果的にEmacsLispは難しいと感じてしまうことが多いようです。 実際、elispでプログラミングしていて感じるのはウ

  • ニコ動で動作するLispインタプリタ書いたよ (リリカル☆Lisp 開発日記)

    どうもzickです。 2/1に見た夢をきっかけに触り始めたニコスクリプト(正確にはニワン語というらしい?)ですが、 しばらく触っていないうちに色々と機能が追加されており、なんと手続きが作れるようになっていました。 知らない機能を色々触っていたら、いつの間にかLispインタプリタが出来上がっていました。 【ニコニコ動画】ニコ動でLisp 2/1に見た夢が4ヶ月ほどを経て正夢になってしまいました。 関係ありませんが、少し前に単位が足りなくて4年生になれない夢を見ました。 こちらの夢は正夢にならないことを祈るばかりです。 --- *ニワン語メモ* 大体のことはニコニコ動画まとめwikiを見れば分かります。 (Lispインタプリタを半分くらい作ってからここの存在に気づきました。もっと速くググればよかったorz) とりあえず、ここに載っていないような細かい事項を書いておきます。 [1

  • 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 のパターン - あどけない話
    sabro
    sabro 2007/12/13
  • 魔法言語 リリカル☆Lisp

    About ★「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。 別の処理系をインストールする必要はありません!! Lispとは ★CやC++Java、BASIC、PerlRubyPHPPython、ML、Haskellなどと同じプログラミング言語の一つです。 マサチューセッツ工科大学のJohn McCarthy教授を中心とする研究グループによって開発され、1962年に発表されました。 LispとはList Processorの略で名前通りリストの処理を得意とします。 このことから人工知能の開発に多く用いられています。 NScLisperとは

  • 1