タグ

Lispに関するyuuhi10のブックマーク (101)

  • Quickdocs

    3d-mathA library implementing the necessary linear algebra math for 2D and 3D computations babylonJürgen Walther's modular, configurable, hybrid knowledge engineering systems framework for Common Lisp, restored from the CMU AI Repository.

  • A正規形まとめ - Scheme VM を書く - higepon blog

    A正規形についてまとめました。日語の資料があまりに少ないのでまとめたのですが、正直理解できているか不安です。間違いを含んでいる可能性がある点にご注意ください。 間違いのご指摘やツッコミ大歓迎です。 あと念のため書いておきますが題材は、Schemeですが、A正規形自体はLispやSchemeに特化した話ではなく、もっと一般的な話です。 A正規形の論文 The Essence of Compiling with Continuations - Flanagan, Sabry, Duba, Felleisen (ResearchIndex)という論文で解説されています。 この論文を読んで自分なりに理解できたことをここに書いています。 理解の前提 Scheme の let 式が分かっていないと理解が難しいかもしれません。 A正規形は何の役にたちますか? コンパイラのコード生成時の中間表現として使

    A正規形まとめ - Scheme VM を書く - higepon blog
  • Emacs picture-modeの拡張 - 屯遁のパズルとプログラミングの日記

    以下のようなditaa用入力テキストを簡単に描けるように, emacsのpicture-modeを拡張した. +---------+ +--------+ |{s} | | | | データ +--------->| 処理 | | ベース | | | +---------+ +---+----+ | v +---------+ +--------+ +---------+ |{s} | | | |{s} | | データ +--------->| 処理 |<---->| データ | | ベース | ^ | | | ベース | +---------+ | +---+----+ +---------+ | | | v +---------+ | +--------+ |{s} | | |{d} | | データ +----/ | 出力 | | ベース | | | +---------+ +-----

    Emacs picture-modeの拡張 - 屯遁のパズルとプログラミングの日記
  • SLIMEを完全に終了させよう。 - suu-g's diary

    Emacs上でSLIMEを起動するのはかんたん。M-x slime と命令するだけでOKだ。 けど終了させるときはどうだろう。 まず、Emacsじたいの終了は最悪の結末をもたらす。これまで何度か起こっているように、lisp-runプロセスがEmacsという親プロセスを無くして暴走、CPUパワーをいまくるということになってしまう。これをいちいちkillするのは何とも馬鹿らしい。 じゃあlispを消せば良いじゃん。うん、じゃあやってみる。 CL-USER> (bye) ; Evaluation aborted ==================== Lisp connection closed unexpectedly: exited abnormally with code 256…なるほど。inferior lisp program は殺せても、Emacs上でのバッファは消えない。おま

    SLIMEを完全に終了させよう。 - suu-g's diary
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 括弧の自動挿入の挙動をオレオレ設定できるflex-autopair.elで夢を叶える - むしゃくしゃしてやった

    空気を読まずに4/1なのに気エントリの投入です。今までいくつ作られてきたのか分からない、括弧を自動挿入する系のelispを作ったのでリリースします。 私はこれを使い始めてから、閉じ括弧とスペースを打つ回数が激減しました!さらに、怖いぐらい宝くじも当たり、長年の持病だった痔と水虫も治ったらいいなぁ。まずはデフォルト設定を一週間試してみてください。 紹介のためのスクリーンキャストを撮影しましたので、とりあえずご覧下さい。 試しに使ってみる! スクリーンキャストを見て、面白いと思ったはずなので使ってみましょう。 インストールは (auto-install-from-url "https://raw.github.com/uk-ar/flex-autopair/master/flex-autopair.el") を評価するか、 marmaladeから M-x package-install fl

    括弧の自動挿入の挙動をオレオレ設定できるflex-autopair.elで夢を叶える - むしゃくしゃしてやった
  • まったく初めての人のためのScheme

    田無の権兵衛とk先生をお借りいたします、竹内郁雄先生。 田無の権兵衛:(突然、玄関先で大声) たのもーう。 K: なんだ、騒々しいな。やや、田無の権兵衛ではないか。達者であったか。ささ、上がりなさい。 久しぶりじゃのう。今まで何をなさってたのかな。 田無の権兵衛: 実は昭和の終わりごろ、Lispの修行をするためにインドに旅立ちました。 山奥に篭って修行すること25年。やっと少しはLisp道を極めたように思い、懐かしい日に帰ってまいりました。 K: おお、それは難儀であったな。久しぶりの再会じゃ、今夜はLisp話を酒の肴に語り明かそうではないか。 田無の権兵衛: それはかたじけない。そうそう、日に帰ってきて驚いたのです。日人はみんなスーパーコンピューターを 所有しているですか? K: いや、いくら日人が猛烈に働いて豊かになったとは言え、スーパーコンピューターを個人で所有している

  • Husk Scheme

    What is husk? husk is a practical implementation of the Scheme programming language for the Haskell Platform. A superset of the R5RS standard is provided, along with most of the R7RS standard. Advanced features include: First-class continuations of unlimited extent Hygienic macros based on syntax-rules Low-level explicit renaming macros Library syntax from the R7RS standard A foreign function inte

  • deferred.el リリース - 技術日記@kiwanami

    先日の関西Emacsの会で発表しました deferred.el です。 deferred.el はEmacs Lispでの非同期処理を書きやすくするためのライブラリです。 (2010/10/08 追記:コンパイルできないバグがありますので修正中です。コンパイルしなければとりあえず動きます。。。) (2010/10/08 追記:コンパイル出来るようになりました。毎回ミスばっかりですみません。) 入手・ドキュメント 以下のGutHubの日語ドキュメントの方に一通り書いてみました。 deferred.el 日語ドキュメント そのうち頑張って英語に直したいと思っています。(手伝ってもらえると助かります><) ドキュメント目次 インストール 使い方例 インタフェース解説 関数 実行・接続 ポイント deferred.el デモ:慣性スクロール ライブラリなのでdeferred.elを単体でインス

    deferred.el リリース - 技術日記@kiwanami
  • Gauche練習帳 format関数完全マスター - aike’s blog

    だいぶGaucheに慣れてきました。今回は文字列の出力方法をこまかく指定するためのformat関数について書式を調べてみました。もともとK&R脳なのでprintfとの比較もしてみます。 Scheme言語ではprintf/sprintfのような書式指定にformat関数を使います。SRFI-28として規定されているのは、~a ~s ~% ~~ の4種類のシンプルなパターンのみなので、実用的な処理系としては独自に拡張することが必要になります。 Gaucheの場合、Common Lispを参考にformat関数の書式指定が実装されているとのこと。また汎用の多機能ライブラリSLIBをインストールするとさらに多くの書式が使えます。 Gaucheのみの場合 Common Lispのformatの一部(+独自拡張?) パディングやカンマ挿入の機能が豊富 16進数の大文字小文字が指定できる 実数の書式指定

    Gauche練習帳 format関数完全マスター - aike’s blog
  • Karetta|Gaucheプログラミング(立読み版)|EmacsからGaucheを使う

    EmacsにはScheme-modeというSchemeプログラミングをサポートするための環境があります。ここではGaucheとEmacsを使ってプログラミングするための 簡単なEmacsの設定について説明します。 まずは、Emacsの設定ファイル(.emacsなど)を開いて下さい。 初めに日語などを扱えるようにするためにエンコーディングを決めます。 (setq process-coding-system-alist (cons '("gosh" utf-8 . utf-8) process-coding-system-alist)) GaucheのデフォルトのエンコーディングはUTF-8となっているのでここではutf-8と書きました。もしEUC-JPならeuc-jp、Shift-JISならshift-jisと書いてください。 後は以下を設定に加えてください。 (setq scheme-p

  • Three Dogmas of Scheme

    Three Dogmas of Scheme (Recursion, Single name space and Continuation) R6RS にざっと目を通して一番驚いたのはそれまでの表示意味論が捨てられてしまっていることでした。 しかし 表示意味論 を捨てるなら以下に並べる Scheme 三つのドグマも捨てられなきゃ嘘だろう、ということでコメントしてみます。 Recursion (再帰) Scheme は何でも再帰です。 後で示すように、一見 iteration のような格好をしている構文ですら、 一旦末尾再帰に置き換えられてから実行されます。 つまり Scheme はその仕様に iteration を持ちません。 これが関数型プログラミングと関係の深い表示意味論からの要請であったことは容易に想像がつきます。 しかし、表示意味論が捨てられた今、反復制御構造に recursion

  • EmacsWiki: visual-basic-mode.el

    Download Git ;;; visual-basic-mode.el --- A mode for editing Visual Basic programs. ;; This is free software. ;; Modified version of Fred White's visual-basic-mode.el ;; Copyright (C) 1996 Fred White <fwhite@alum.mit.edu> ;; Copyright (C) 1998 Free Software Foundation, Inc. ;; (additions by Dave Love) ;; Copyright (C) 2008-2009 Free Software Foundation, Inc. ;; (additions by Randolph Fritz and Vin

  • Schemeインタプリタ作ったので実装の方針とか苦労した点などまとめてみる(いろいろ追記 - IT系で覚醒めたい

    一昨日ブログに書いたPicricというScheme処理系について、プログラミングしたときの方針とか、そのへんをまとめてみます。 Scheme(Lisp)の処理系は実装が簡単簡単と言われる割にその実装方法についてまとめられたサイトがほとんどなくて、僕自身調べるのにかなり苦労しました。もうこれ以上僕みたいな犠牲者を出したくありません。 とはいえいろいろ間違ってる箇所もあるかと思いますので気づいた方はコメントをおねがいします。 まずPicricについて。 実は昔々(今年春)NLispというものを作った。 Pythonで実装されたSchemeのサブセット。 継続が実装されていなかった。 今度こそは継続を!pythonからも脱脚して一人前になりたい! そんな動機で開発を始める。 名前の由来はピクリン酸。 ピクリン酸はそのやたら可愛い名前にも関わらず実はものすごい爆薬。 そういう「意外とすごい」インタ

  • anything導入のeverything 〜3分で使えるanything.el〜 - http://rubikitch.com/に移転しました

    Emacsを書きました】 anything.elは難しいという印象を持っている人がいるようです。 おそらく、導入しにくいのが原因ではないでしょうか。 anything.elを導入するには、変数anything-sourcesを設定する必要がありました。 しかし、これはもはや過去の話です。 Web検索というのは、ときおり古い情報にひっかかることがあります。 情報は鮮度が命です。 世界は刻一刻と変化しています。 正しい情報を得るには、一次情報に当たるのが最短距離です。 anything.elの一次情報は、開発者である僕のブログの最新記事が一次情報になります。 anything.elを検索したところ、古い情報にひっかあり、惑わされ、それでanything.elは難しいという印象を持たれるのは開発者として意ではありません。 auto-install.elを導入するインターネットにあるLisp

  • Scheme プログラミング入門

    back (技術評論社 Software Design誌 2000年 7月号 に掲載された、「Scheme への招待 〜 GNU標準のスクリプト言語入門」の 記事を加筆修正したものです *1) はじめに みなさんは Lisp をご存じでしょうか。Lisp は 1950年代後半*2に John McCarthy によって 開発されたプログラミング言語で、 おもに記号処理などの分野で今も利用されています。 Scheme は Lisp から派生した言語のひとつで、 Guy Lewis Steele Jr. および Gerald Jay Sussman によって 1975年に開発されました。Scheme はよく 「Lisp の方言」などと呼ばれますが、Lisp よりも簡単な仕様 で、それでいて複雑なプログラミングが可能なように設計されています。 どのプログラミング言語にも長所と短所がありますが、S

  • SXML

    この文書は Oleg Kiselyov 氏による SXML revision 3.0 仕様書を勝手に翻訳したものです。 原著の最新版は http://okmij.org/ftp/Scheme/SXML.html にあります。 仕様として正式なのはあくまで原著です。 この文書には翻訳上のあやまりがあるかもしれません。 御自身の責任で御利用ください。 このページは SXML revision 3.0 の仕様を定める。 SXML は XML 文書の抽象構文木であり、 XML Infoset の S 式による具象表現でもある。 SXML は、一般的な木構造をしていることにより、 問い合わせ、変換用のコンパクトなコンビネーターライブラリを備えることができた。 SXML の仕様書の原はそれ自体 SXML で書かれている。 この Web ページはその SXML コードを適当な「スタイルシート」で 変換

  • not found

  • Nendo -- * Nendo programming language

    Nendo is a dynamic programming language built on top of Ruby environment. It is designed to be a macro language of Ruby.

  • ((Rubyで) 書く (Lisp) インタプリタ) - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 ((Rubyで) 書く (Lisp) インタプリタ) : melborne.github.com - Peter Norvigさんの((Pythonで) 書く (Lisp) インタプリタ) という記事(青木靖さん訳)がすごい 100行ほどのPythonコードで Schemeのインタプリタの基部分を書いている Pythonのコードは見た目がRubyのコードとよく似ているので Rubyしか知らない僕でも何となく読める この記事を解読してRuby版Schemeインタプリタを書いたら インタプリタ Pyhon Scheme それからRubyのことも もう少し分かるようになるかもしれない こんなお得な勉強方法はないぞ きっと そんなわけで... 以下では上記記事を参照し

    ((Rubyで) 書く (Lisp) インタプリタ) - hp12c