タグ

lispに関するserianのブックマーク (53)

  • Elispで正規表現プログラムの効率的な開発の方法 - 考えたことや、学んだことの記録

    はじめに re-search-forwardやre-search-backwardを使って開発をしていると 開発正規表現にマッチするかどうかを確認するのに非常に難儀していました。 最近、以下の2つの方法を実践して非常に効率があがったので、メモを残しておきます。 正規表現に色を付けて確認する M-x re-builder マッチした文字の色が付くのに加えて、 \\(と\\)で囲まれてる部分には、それぞれ該当する 色を付けています。 バッファに対してS式を評価する M-: (eval-expression) M-x (execute-extended-command)だとinteractiveな関数を作らないと動作を試せないですが、M-: (eval-expression)を使うとS式を評価して動作確認することができます。 re-search-forwardなどのバッファ内で移動する関数の挙動

    Elispで正規表現プログラムの効率的な開発の方法 - 考えたことや、学んだことの記録
  • Lispライブラリのドキュメント集約サイト「Quickdocs.org」を作りました - 八発白中

    Quicklispに登録されているCommon Lispライブラリの情報をWebで見られるサイト「Quickdocs.org」を作りました。 http://quickdocs.org/ さくらVPS 1Gで動いてます。この2日で突貫で作ったみたいな感じなのであまりいじめないでください。 機能 とてもシンプルなので、見ていただいたほうがわかりやすいかもしれません。 たとえばClackのプロジェクトページは以下です。 http://quickdocs.org/clack 右上にはWebサイトやリポジトリへのリンクを置きました*1。 文にはREADMEを表示しています。最近はGitHubホストされているライブラリが多いので見慣れていると思いますけどね。 下のほうには.asdに記述されている情報を表示しています。Author, Maintainer と License、および依存ライブラリです

    Lispライブラリのドキュメント集約サイト「Quickdocs.org」を作りました - 八発白中
    serian
    serian 2013/02/24
    common lisp/
  • Common Lispのお宅拝見: CMU Common Lisp篇 — #:g1

    serian
    serian 2013/01/02
    全く知らんかった。衝撃。
  • 20分ではてなブログを作る方法 - 八発白中

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

    20分ではてなブログを作る方法 - 八発白中
    serian
    serian 2012/12/18
    面白い/common lispでプロトタイピング/ライブラリがたくさんってのはいい。
  • Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!

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

    Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!
  • 竹内関数で音楽生成 - 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
    serian
    serian 2012/10/26
    すげい。普通に聴ける/RPGで螺旋ダンジョンを駆けるような
  • Little Lazy Lisp in C#

    C# による L2 Lisp の実装 2008.7.18 - 2008.8.28 (鈴) 前回 L2 Lisp 7.3 と Ruby 1.9.0 の再評価 (7.3 版/Ruby) 2008.7.4 1. はじめに (8.0-8.2 版/C#) 1.1 使い方 2. 処理系の構成とデータ型 2.1 Main メソッド 2.2 public クラスとそのソース・ファイル 2.3 Lisp の型と C# の型 2.4 Symbol クラス 2.5 Cell クラス 2.6 IronPython による Cell の操作 2.7 他の処理系 3. イテレータによる字句解析器の構成と構文解析 3.1 テキスト行の集合体 IEnumerable<string> と静的クラス Lines 3.1.1 IronPython による実験 3.2 IEnumerable<string> 実装としての Int

    serian
    serian 2012/08/18
    ソースあり
  • 逆引きEmacs Lisp

    逆引きEmacs LispはEmacs Lispを使ってやりたい事から、その方法を調べられる逆引きのリファレンスです。 ページの追加や編集、情報の追加等は自由に行って頂いて構いません。

    逆引きEmacs Lisp
  • Emacs Lisp デバッグ — ありえるえりあ

    elisp のデバッグ方法について以下の3つの方法を説明します. - printf デバッグ - backtrace - edebug ■■■ printf デバッグ elisp で printf デバッグを行なうには message 関数を使います.message 関数の結果は *Messages* バッファに出力されます. 例えば以下の<リスト1>のように使います. ---------------- <リスト1> message 関数を使った printf デバッグ (defun message-sample () (let (list) (dotimes (i 10) (push i list) (message "%s" list)))) ---------------- 実行中に目視したい場合は sit-for と message の組み合わせか y-or-n-p を使うのが良い

    serian
    serian 2012/03/03
    (setq debug-on-error t)
  • unix-to-dos-filename を書く : 303 See Other

    unix-to-dos-filename を書く カテゴリ: linux twitter に書くとブログに書くのを忘れる スラッシュをバックスラッシュに変えるだけの簡単なお仕事を elisp で。meadow には unix-to-dos-filename つー、ゆとり関数があるが、emacs23 にないので書くはめに。 (defun my-slash-to-yen (s) (reduce '(lambda (x y) (concat x y)) (mapcar '(lambda (x) (char-to-string (if (= x ?/) ?\\ x))) (string-to-char-list s)))) 最初にこれかいて動いたけど、どうにも長い。しかも、ほかの環境にいくと string-to-char-list がないとか。 (defun my-slash-to-yen2 (s

    unix-to-dos-filename を書く : 303 See Other
    serian
    serian 2012/02/03
    25.3.7 dired から関連付けられたソフトで開く http://www.bookshelf.jp/soft/meadow_25.html#SEC282
  • Tiny CLOS 入門 - Tiny CLOS Tutorial

    紹介 - Introduction どうやって Tiny CLOS を使うか - How to Use Tiny CLOS CLOS vs. 他のOOPのアプローチ - CLOS vs. other approaches to OOP CLOS のクラスとオブジェクト - Classes and Objects in CLOSインスタンスの生成 - Creating instances クラスの作成 - Creating classesインスタンス変数 - Instance Variables 総称関数とメソッド - Generic functions and methods総称関数の作成 - Creating generic functions メソッドの作成と追加 - Creating and attaching methods 総称の初期化 - The initialize gene

  • Lisp: Common Lisp, Racket, Clojure, Emacs Lisp - Hyperpolyglot

    ca side-by-side reference sheet grammar and execution | variables and expressions | arithmetic and logic | strings | regular expressions | dates and time | lists | fixed-length arrays | dictionaries | user-defined types | functions | execution control | exceptions | streams | emacs buffers | files | directories | processes and environment | libraries and namespaces | objects | lisp macros | reflec

    serian
    serian 2012/01/10
    文法一覧表 比較
  • [PATCH] my emacs did not know about incf

    serian
    serian 2011/11/27
    darcsから取得したものにincfが使われてるので
  • Emacs - HaskellWiki

    There are many Emacs packages and modules for Haskell. haskell-mode is stable and usable, whereas lsp-haskell is newer but under development and not ready for general use. Newbie guide Emacs is an extensible texteditor which can be extended with so-called "modes" and makes great use of keystrokes. Modes are written in Emacs Lisp (.el) programming language and provide additional commands and keystr

  • GitHub - mooz/js2-mode: Improved JavaScript editing mode for GNU Emacs

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mooz/js2-mode: Improved JavaScript editing mode for GNU Emacs
    serian
    serian 2011/11/16
    js2の後継
  • EmacsWiki: Xml Rpc

    OverviewXML-RPC (XML Remote Procedure Calls) is a protocol for remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned. The spec can be found at http://www.xmlrpc.com/. xml-rpc.elThis is an XML-RPC client implementation in Emacs Lisp, capable of bo

  • :: emacs - bm.el

    This package provides visible, buffer local, bookmarks and the ability to jump forward and backward to the next bookmark. It was created because I missed the bookmarks from M$ Visual Studio in GNU Emacs. I think they provide an easy way to navigate in a buffer. Features: Toggle bookmarks. Jump to next/previous bookmark. Setting bookmarks based on a regexp. (Useful when searching logfiles.) Mouse n

    serian
    serian 2011/11/04
    バッファにしおり、マークして移動
  • EmacsWiki: Elisp Cookbook

    This page contains snippets of code that demonstrate basic elisp programming operations in the spirit of the o’reilly cookbook series of books. For every task addressed, a worked-out solution is presented as a short, focused, directly usable piece of code.All this stuff can be found elsewhere, but it is scattered about in libraries, manuals, etc. It would be helpful to have here in one spot.These

    serian
    serian 2011/10/09
    クックブック
  • org-mode 初挑戦。 - 日々、とんは語る。

    id:rubikitch さんの org-mode 関係の記事を見て、org-mode 使おうかなぁと思いつつ、これまで手をつけていなかったのですが、先日のウェブテコでスライドを作るときに、アウトラインエディタ(というか、それ系もモード)を使うと、楽に出来るかなぁと思って、ついに触れてみました。 org-mode を触ってみると、それはもう他の Emacs のモードにはない面白い機能がいっぱいあって、それらを試す(チュートリアル)するのに夢中になり、スライドがすんごい手抜きになってしまったという副作用が生じるくらい楽しいモードでした。 なので、みんなも試すと良いと思うので、インストールと簡単なチュートリアルをメモっておきます。 最新版をインストール。 Emacs22 とかだと標準で入っているらしいのですが、せっかくなので、最新版を入れます。好きなディレクトリで、 $ git clone g

    org-mode 初挑戦。 - 日々、とんは語る。
  • OrgMode - Emacs上のアウトライナー

    Org-modeはCarsten Dominik氏が作成したEmacsのOutline-modeを大幅に拡張したアウトライナーのLisp(マクロ)である。Org=organizerという名のとおり、アウトライナーの域を超えて、プロジェクトやTODOを管理したり、スケジュールを組んだりするオーガナイザーである。 最初にOrg-modeに触れたのは、2004年12月初旬。当時、Zaurusを購入し、アウトライナーを探していたが、マクロが組めるエディターは存在しない。そこでシェルで動くEmacsにたどりついた。しかしEmacsのOutlineに不満を持ち、Emacsで動くOutline系のLispで良いものはないかと探していたところ、発見したのです。それは、あたかも専用のOutlineソフトのように、カーソルキーで階層を下げたり、ツリーを上下に移動したりすることができるものだった。しかしながら、