タグ

lisp*とeditorに関するsh19910711のブックマーク (9)

  • Emacsに mrubyを組み込んでみた - Qiita

    [1 2 "fizz" 4 "buzz" "fizz" 7 8 "fizz" "buzz" 11 "fizz" 13 14 "fizzbuzz" 16 17 "fizz" 19 "buzz"] (let ((mrb (mruby-init))) (mruby-send mrb -10 'abs)) ;; => 10 (let ((mrb (mruby-init))) (mruby-send mrb "hello WORLD" 'swapcase)) ;; => "HELLO world" (let ((mrb (mruby-init))) (mruby-send mrb [1 [2 3] [4 [5 6]]] 'flatten)) ;; => [1 2 3 4 5 6] 仕組み Emacs 25で実装予定の Dynamic module機能を使って実現しています(なので実際のところ, 組み

    Emacsに mrubyを組み込んでみた - Qiita
  • Emacsの拡張を作るのに便利かもしれない関数集 - Qiita

    Emacs Advent Calender 2014 の 9日目の記事です。 ネタを思いつけなかったので、今までに溜め込んだ汎用性のありそうなプチelispの紹介をさせていただきます。 まとまりのない支離滅裂なコード羅列ですが、ひとつでもEmacs拡張を作る際の参考になればいいなと思います。 最小限、Emacs内臓の cl-lib ライブラリを呼び出して使用します。 (require 'cl-lib) ※忘れていしまいましたがどこからか参考にしたものもあるかもしれません。 Emacsの操作に関するもの 行頭/行の文字の始まる位置に移動 C-aを上書きし、連続して使うと行の一番最初、文字の始まっている位置とを行き来できます。おすすめ。 (defun my-goto-line-beginning-or-indent (&optional $position) (interactive) (or

    Emacsの拡張を作るのに便利かもしれない関数集 - Qiita
  • Emacs Lispを書くにあたり - Shohei Yoshida's Diary

    先の関西 Emacsで数名に聞かれたのでメモ. 読んだ方が良いかもしれないもの https://github.com/magnars/s.el https://github.com/magnars/dash.el https://github.com/rejeep/f.el 私自身がっつり読んだという経験がないので, 進められる立場では ないのですが, 上記に上げたものは関数的に使用できて, 各パーツが わりと短いので良いと思います. 体のコードだと, グローバル変数の 変更なども多く, 追っていくのが大変なのですが, 上記にあげたものは その類のものではないです. あとは Shingo Fukuyamaさんのov.elも良いと思います. https://github.com/ShingoFukuyama/ov.el ヘルプをひきやすくしておく 私は老害かつにわか Emacsユーザなので

    Emacs Lispを書くにあたり - Shohei Yoshida's Diary
  • Emacsのモダンなライブラリ4+1選 (2013年版) - Qiita

    このライブラリ群はEmacsに不足している名前がわかりやすい関数、他の言語では提供されているデータ構造を操作する便利な関数を提供してくれます。このライブラリを使うと、プラグインや、スクリプトを作るのがすごく楽になります。 +1の部分であるCaskは、ライブラリというよりプラグインなので別にしてます。 それぞれどんなライブラリか、かいつまんで紹介します。 dash.el dash.elは、Emacsのリスト操作APIを提供するライブラリです。このライブラリは、かなりEmacsのリスト操作を分かりやすく、補完してくれるライブラリになっています。 リスト操作に関連してか、 Clojureのスレッディングマクロ On Lispで紹介されているアナフォリックマクロ バインドという機能 木構造の操作のAPI など様々なものを提供しています。 メリットとしては、 もっと関数型言語っぽく書ける リスト操作

    Emacsのモダンなライブラリ4+1選 (2013年版) - Qiita
  • LISP風VimScript「vise」 - aharisuのごみ箱

    LISPが好きですか?ときかれたら「Yes」と答えるでしょう。 VimScriptが好きですか?ときかれたら「No」と答えるでしょう。 だけど、Vimが好きですか?ときかれたら「Yes」と答えるでしょう。 そんなわけで今回作ったvise(ビーズ)です。 これはKPF#x08のネタとして作成して発表したものです。 リポジトリはこちら。githubです。 インストール方法や細かな構文はリポジトリ内のdoc/vise.jaxにドキュメントがあるのでそちらを参照してください。 ここでは簡単なあらましと特徴的な機能に絞って紹介したいと思います。 viseはLISP構文を持つVimScriptLISP風VimScriptというタイトルのとおりviseはLISPの構文を持ちVimScriptに変換して実行するプログラミング言語です。 いわゆるトランスレータという分類になる言語ではないでしょうか。 最近で

    LISP風VimScript「vise」 - aharisuのごみ箱
  • 僕と契約してLisperになってよ!-Gaucheの開発環境を整えよう- - (define -ayalog '())

    というわけで、最近周りの人にLisp(といってもSchemeだしGaucheだけど)を布教する機会が多くなってきたのと、ちょっとセットアップの仕方教えてよ!って要望があったので、Gaucheで遊ぶまでの道のりを優しく丁寧に書いてみる。 (元も子もないことを言えば、プログラミングGaucheあたりを読めば、綺麗に解説してあったりするんですけど、まぁココみれば全部分かるよ!くらいで書いてみたいと思う) 対象読者はMacとUbuntu使ってる人です。あしからず。*1 目次 Gaucheのインストール Emacsのインストール Emacsの設定 Gaucheリファレンスを読む準備 Gaucheのインストール ・UbuntuとかDebianな方 sudo apt-get install gauche ・Macな方 brew install gauche ・ソースからインストールしたい方 ダウンロード

    僕と契約してLisperになってよ!-Gaucheの開発環境を整えよう- - (define -ayalog '())
  • vc-modeを使わずに mode-lineにブランチ情報を表示する - Shohei Yoshida's Diary

    以前カーネル開発で vc-modeを onにしたままやっていたら、バックグラウンドで ごにょごにょしすぎて、まともに使えるか!!、ってなってそれ以降ずっと offに していたんですが、さすがにブランチ情報がないと branch切ったときの確認に 手間がかかるなぁってことで、表示するようにしてみました。 CVS, subversionとかもう使わないんで、git対応だけです。 ついでに今リポジトリ内にいない場合もその情報を表示するように しています。 コード ;; Show Git branch information to mode-line (let ((cell (or (memq 'mode-line-position mode-line-format) (memq 'mode-line-buffer-identification mode-line-format))) (newcd

    vc-modeを使わずに mode-lineにブランチ情報を表示する - Shohei Yoshida's Diary
  • 自動で revertしたとき、そのことを通知する - Shohei Yoshida's Diary

    Git で branch 切り替えた時とかに emacs で開いてるファイルの buffer を更新 - yoshiori.github.io の id:tomoyaさんのはてブコメントで、通知する方法は、っていうのが あったのでそれについて、revertが行われるときの hook pointとしては before-revert-hookっていうのと after-revert-hookというのが使えます。 今回は完了してからでいいので、after-revert-hookを使えばよいでしょう。 Linux環境なら以下のようにすれば通知できます。hook関数なので引数を 受け取れないですが、buffer-file-nameとしておけば、ファイル名が 取得できると思います。 (require 'notifications) (defun my/after-revert-hook () (noti

    自動で revertしたとき、そのことを通知する - Shohei Yoshida's Diary
  • Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました

    基礎文法最速マスターブームにのっかってみる。Ruby基礎文法最速マスターをだいたいEmacs Lisp(elisp)に置き換えてみる。 Emacs LispはEmacsで使われているLisp方言のひとつだ。他の言語をある程度知っている人はこれを読めばEmacs Lispの基礎をマスターしてEmacs Lispを書くことができるようになるかもしれない。無保証ではあるが。 ある程度はCommon Lispにも応用できると思うよ。 更新情報 [2010/02/03] 注釈の誤りを修正。 let*について加筆。 基礎 対話的にEmacs Lisp式を評価する Emacsを起動したときに生成されている、スクラッチバッファ(*scratch*)を使うと、Emacs Lispの式を簡単に評価することができる。M-Tabで補完できるぞ。 式を書いたらC-jを押すと、式の値が出てくるぞ。 (+ 1 3) 4

    Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました
  • 1