ブックマーク / aharisu.hatenadiary.org (6)

  • リーダーマクロと行カバレッジとステップ実行を作った - aharisuのごみ箱

    これはKPF#x09のネタとして作成して発表したものです。台風の影響で勉強会は延期になってしまいましたが、これ以上公開を先延ばししたくないので予定通り公開します。 リポジトリはこちら。github上にあります。 今回はGaucheにリーダーマクロ、行カバレッジ計測、ステップ実行の三つを実装しました。 それぞれ説明しているためかなり長くなっています。 目次代わりにそれぞれの章へのジャンプを作っておくので、気になるところだけ見ていってください。 はじめに Gaucheにリーダーマクロを導入する 行カバレッジ計測 ステップ実行 おわりに はじめに今回使っているGaucheのバージョンは0.9.4です。 他のバージョンで動作する保障はありません。 また、リーダーマクロについての説明の関係上COMMON LISPのリーダーマクロについて触れていたり、その知識を前提として説明している部分があります。で

    リーダーマクロと行カバレッジとステップ実行を作った - aharisuのごみ箱
    valvallow
    valvallow 2014/08/09
  • Vim上でGaucheのREPLを動かす - aharisuのごみ箱

    ※2012/5/4 追記 neocomplcache用のキーワードパターン記述を追加 タイトル通り、画像の通りのものを作りました。 Vim上からgoshREPLを扱うためのVimscriptです。 ソースコードはGithubにあります。こちら。 インストール方法は標準の方法と変わりないので割愛。 ただ、動かすためにはvimprocとGauche体が必要なのでそちらも一緒にインストールしてください。 操作方法は基的には標準のgoshと同じです。 ただ、Vim上で扱うということで様々な恩恵を受けることができます。 RedoとUndoが使える シンタックスハイライト、オートインデントが可能 neocomplcache等による補完機能が使える (readline風に)入力履歴をさかのぼることができる 以前に入力したテキストを範囲選択して(テキストを少し修正して)再び実行することができる ※追記

    Vim上でGaucheのREPLを動かす - aharisuのごみ箱
  • aharisuのごみ箱

    プログラミング言語の構文にS式を使うということ 構文に悩まされない カッコがすべてを包み込んでくれます パーサの実装が簡単 JSONのパーサを作ることができるならいける S式言語の実装が一つもない言語なんて存在しないので、既存の実装を参考にすればいい shift/reduce conflictに悩まされない 24 shift/reduce conflictとか出ない 6 reduce/reduce conflictとか出て絶望しない 構文なんてただの飾りです 偉い人にはそれがわからんのですよ 構文を作りたいのか、言語を作りたいのか プログラマの3大欲求は「OSを作る」「エディタを作る」「言語を作る」と古から伝わっています。※諸説あり プログラマを拗らせた人なら一度は言語を作りたいと思ったことでしょう。 そんな人が、今どきやネットで「プログラミング言語 作り方」を調べた時に最初に出てくるも

    aharisuのごみ箱
  • Gauche用OpenCVラッパー、Gauche-CVお披露目 - aharisuのごみ箱

    披露目とかタイトルで書いておきながら、まだとってもバギーなGauche-CVを紹介します。 ここ最近、Gauche-SDLとかgosh_completeとか他のあまり表に出していないもの物含めて、たくさんのGaucheプログラムを書いてます。 それらの書くきっかけになったのが今回紹介するGauche-CVです。 確認してみるとファーストコミットが去年の6月でした。実際はもう少し早くから書き始めているので、結構な時間がたってようやっとのお披露目です。 時間がかかった理由はと言うと、OpenCVが持つ膨大な関数群のせいです。 一つ一つラップするのですが、動作テストなんて気の遠くなる作業です。というか、画像処理の場合ほぼほぼ無理です。 というわけで、未だにとってもとってもバグが盛りだくさんです。 そんなGauche-CVですが、ソースはgithubにあります。こちら。 対応しているOpenCV

    Gauche用OpenCVラッパー、Gauche-CVお披露目 - aharisuのごみ箱
  • neocomplcacheを利用したGauche用補完プラグインgosh_completeを作ってます(インストール篇) - aharisuのごみ箱

    ※3月4日gosh_completeのインストール方法を修正しました。 タイトルがやたらと長くなってしまいましたが、何となくの思いたった勢いで、Vimのneocomplcacheのソースプラグインとして動作するGauche用補完プラグインを作成してます。 動作画面はこんな感じ↓ 機能的にはまだ詰め込みたいところはあるけど、とりあえずひと段落ついたので、ここらで公開したいと思います。 という訳でインストール方法です。 このプラグインはneocomplcacheのソースプラグインとして動作しているので、当然ですがneocomplcacheが使える必要があります。 neocomplcacheのgithubはこちら。 neocomplcacheのインストール方法については検索すればたくさん出てくると思うので、まだインストールしていない人はいろいろ探してインストールしてください。 次に、このプラグイ

    neocomplcacheを利用したGauche用補完プラグインgosh_completeを作ってます(インストール篇) - aharisuのごみ箱
  • Gauche-SDLでライフゲーム - aharisuのごみ箱

    最近になってGauche用のSDLラッパーを作成しているので、ここで一つ宣伝をしておきます。 SDLの詳細に関しては家とかウィキペディアとかで。 作成しているGauche-SDLはこちらのgithub上にあります。 インストール方法などもろもろは同じくgithub上のWikiにあるので参照してください。 Windows上での動作も確認できていますが、コンパイルにはMinGWが必要です。気が向いたらコンパイル済みのバイナリもどこかで配布するかも。 最後に一つサンプルを載せておきます。 こちらのサイトを参考にして、ライフゲームをGauche-SDLを利用して書いてみました。 (use sdl) (use sdl.gfx) (use math.mt-random) (use gauche.uvector) (define screen #f) (define-constant stride 1

    Gauche-SDLでライフゲーム - aharisuのごみ箱
  • 1