タグ

lispに関するMukeのブックマーク (9)

  • なぜShibuya.lispは成功し続けているのか - 八発白中

    この10月の3連休を利用して、大阪で開催された関西Lispユーザ会にお邪魔しました。 kansai-lisp-useres.connpass.com 一枠空きがあったので20分程度の発表もさせていただきました。いまいち余計だったかもしれません。 すべての発表が終わったあとにイベント終了まで少し空き時間がありました。その時間を利用して運営の一人の油谷さんから関西Lispについての運営指針の話がありました。内容は「Shibuya.lispは作ったプロダクトの発表の場になっていて発表のハードルが高い。関西Lispは気軽に発表してもらい、アットホームなコミュニティにしたい」というものでした。 僕は東京に住んでいることもあり普段はShibuya.lispコミュニティに参加しています。運営者とも話す機会が多いので運営指針もそれなりに聞いています。そういう立場で話を聞いていると「ほう、外からはそのように

    なぜShibuya.lispは成功し続けているのか - 八発白中
  • リリカル☆Lisp開発日記 » Blog Archive » [LSP42] Scratch

    (この記事はLISP Implementation Advent Calendar 1日目のためのエントリです。) ScratchでLISPを作りました。 ScratchLisp on Scratch Scratchとはマウスを使い、ブロックを並べることでプログラムの作成ができる教育用プログラミング言語/開発環境です。詳しい説明はWikipediaなどに譲るとして、ScratchでLISPを作った時の思い出話を始めようと思います。 動機 今年の春、訳あって42個のプログラミング言語でLISP処理系を実装することになりました。これはその1つ目です。 Scratchという言語を選んだのは同僚から推薦されたからです。「ただの奇妙な言語だと、どうせトランスレータを書くことになるだけだから面白く無い。もっと手を動かして苦労してもらいたい」という慈悲の心に溢れた素晴らしいコメントも頂きました。 変数

  • [JavaScript] 猿でもわかるクロージャ超入門 1 問題 - DQNEO起業日記

    問題です。 問題: 呼び出すたびに、1,2,3,...を返すような関数 f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 この問題、解けますでしょうか? 普通の関数では、できないと思います。 しかし「クロージャ」というのを使えば、このようなことができます。 クロージャって何だ? 「クロージャ」という言葉を、プログラムのやサイトで目にすることがありますよね。 私が最初に見たのは続・初めてのPerl 改訂版(アルパカ)でした。 まったく理解できませんでした。 その後、404 Blog not foundやnaoyaさんのブログなどで「クロージャ」という単語を目にしました。 やはり、まったく分かりませんでした。 とどめの一撃はWikipediaの解説記事。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境

    [JavaScript] 猿でもわかるクロージャ超入門 1 問題 - DQNEO起業日記
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開発して

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • Make a Lisp で Lisp 処理系を学んでつくる (with Crystal) - はやくプログラムになりたい

    インタプリタ式の言語処理系を書いたことが無かったので一度実装してみようと思って,この手のは Lisp が定番だということで,前々から気になっていた Make a Lisp (mal) に挑戦してみました. Make a Lisp (mal) とは Make a Lisp は色々な言語で mal という Lisp 方言を実装してみようというプロジェクトです. 30以上の言語での mal 処理系実装 11段階のステップに分けられた実装ガイド(全体の構成図付き) 各実装ステップごとのテストケース といったほしい情報が揃っており,言語処理系初心者でも Lisp 実装について簡単に学べる環境が整っています. 11段階の各ステップは以下の様な感じです. The REPL : 実装を始める準備(自分の言語を Makefile に登録して make 一発でテストを走らせられるようにする,関数のスケルトンの

    Make a Lisp で Lisp 処理系を学んでつくる (with Crystal) - はやくプログラムになりたい
  • Mac OS XでCommon Lispの環境を作る (homebrew + emacs) - by shigemk2

    homebrewでclispを入れるのをやってみた。 その1 CLISPを入れる $ brew install clisp対話によるCommon Lisp入門 1 - by shigemk2 その2 SLIMEを入れる(EmacsニオケルCommon Lisp実行環境) $ cvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/slime/cvsroot co slimeダウンロードしたファイルを/Applicationsディレクトリにコピー。 そして以下を.emacsに記述。 ;; slime (setq inferior-lisp-program "/usr/local/bin/clisp") (add-to-list 'load-path "/Applications/slime") (require 'slime)

    Mac OS XでCommon Lispの環境を作る (homebrew + emacs) - by shigemk2
    Muke
    Muke 2015/05/06
  • 面接でLispを口にして落ちない企業、私気になります! | κeenのHappy Hacκing Blog

    κeenです。先日の記事がやたら拡散しました。その中で 「面接でLispは口にしない方が良い。100%落ちる。」 の一文がえらく気に入られたようです。Lispの風評被害を防ぐために1つアンケートにご協力下さい。 このスプレッドシートです。 面接でLispを口にして落ちない企業調査表 - Google スプレッドシート 「うちの会社は面接でLispを口にしても落ちないぜ」って方はお手隙ならば書いて下さると嬉しいです。単純な興味目的のゆるふわなアンケートです。調査項目は 会社名 会社のURL 書いた人(名、スクリーンネーム、なんかのIDかは任意。IDにすると連絡がとれて便利かも) コメント、会社のアピールなど(長文可、任意) で。 利用規約(?)は 社員が書く。会社に全く書かない人は勝手に書かない。 改竄を防ぐために一度書いたら同じ人しか編集してはいけない。同じ会社の人でもダメ。 どっかのメ

    Muke
    Muke 2015/02/10
    Lisp案件少ないんだよなぁ
  • Cより高速なCommon Lispコードを書く - 八発白中

    Cで書くコードの方がCommon Lispで書くより速いって人がいたら、それは彼のCの技量が高すぎるってことだね。 “If you can't outperform C in CL, you're too good at C.” — Eric Naggum 最近、Common Lispの非同期Webサーバ「Wookie」を高速化する過程で、ボトルネックになっていたHTTPリクエストのパース部分を高速に処理するライブラリを書きました。 fast-http - A fast HTTP request/response parser for Common Lisp 既存のライブラリ「http-parse」よりも約10倍速く、Cのライブラリ「http-parser」より5%ほど高速です。 追記 (2014/10/26): 最適化をやり直し、現在は「http-parse」よりも約27倍速く、Cの「h

    Cより高速なCommon Lispコードを書く - 八発白中
  • 『計算機プログラムの構造と解釈』(SICP)を読み終えて - きのこる庭

    ようやくSICPが終わった。念願の夢の1つを叶えた。「ポインタを理解する」「コンパイラをつくる」とかから始まり 今年に入って 技術者として個人的にやりたかった事を3つ実現できた。良い調子。 サムネは記念にマッカーシー先生(再使用が許可された画像)。 完了までの期間 3.5ヵ月程度。平日は帰社後に2~3時間ほど、毎週土日はSICPに費やした。 学んだこと・できるようになったこと 1. より抽象的に物事の仕組みが考えられるようになった。 (「言語」という制約されたドメインを取っ払って純粋に実装について考えられるようになった) 2. 再帰のコードは悩まなくてもスンナリ頭に入るようになった。 3. Eval & Apply の陰陽によるプログラムの成り立ちを理解した。 4. 数学・コンピュータ科学に関する以下のことが人に説明できる程度には身についた。 - Newton法 - エラトステネスの篩 -

    『計算機プログラムの構造と解釈』(SICP)を読み終えて - きのこる庭
    Muke
    Muke 2014/08/21
    “15. 神はLispで世界をおつくりになられた”
  • 1