タグ

lispに関するbobbyjam99のブックマーク (20)

  • Gaucheでプログラミング

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 今回は、Gaucheを初めて使ってみようという方に向けて、Gaucheのインストールと、簡単なプログラムを題材に、どうやってGauche(Lisp)流のプログラムを書いていくかを取り上げてみます。 Gaucheのインストール GaucheはApacheやRubyと同様にオープンソースのソフトウェアですので、自分でダウンロードしインストールする必要があります。 GaucheのWebサイトのダウンロードページから最新のソースを取得できます。現在のところサポートされているOSはUNIX系が中心で、Windowsではすべての機能を使うことができません。この連載でも、Mac OS Xを含むUNIX系のOSで動かす前提で進めていきます。 Gaucheのインストール

    Gaucheでプログラミング
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • 使用しているelispを公開してみるよ - UNIX的なアレ

    emacsの設定や使用するelispは人それぞれですが、やはりこういうのっていろいろな人のものを参考にしながら作っていくモノですよね。 実際に自分も様々な方の使用しているモノを参考にしてきました。ある程度固まってきているので、つかっているelispを公開したいとおもいます。 なお、仕様している環境は以下の通りです。 OS MacOS 10.5.4 Leopard emacs GNU Emacs 22.1.50.1 バージョン管理 emacs22ではcvsは標準で付属しているので、subversionのみです。 psvn subversionの管理クライアント。 XSteve's Emacs packages page プログラミング言語 ここではプログラミング言語のmodeを紹介します。perl-mode等の標準で付属しているものは割愛し、追加したものだけを紹介します。 php-mode

    使用しているelispを公開してみるよ - UNIX的なアレ
  • Software Design 2008年2月号 「Emacsマスターへの道」 原稿 — ありえるえりあ

    You are here: Home → 原稿・資料 → Software Design 2008年2月号 「Emacsマスターへの道」 原稿

  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • Route 477(2008-03-09)

    ■ [biwascheme][event] gauche.gongでLTしました やっぱりSchemeのイベントでデモすると反応が大きくていいなあ,という. スライド 右上の★ボタンを押すとREPLが開いたりするよ.(このためにevalとwrite-to-stringとhtml-escapeを実装するなどした) このプレゼンツール自体もBiwaSchemeで書かれています.(ソース) BiwaSchemeのダウンロードはこちらからどうぞ. ■ [event][scheme] 第2回gauche.nightログ おまけつき 注意 誤字は仕様です 全く見直ししていないため,内容には0個以上の誤りが含まれています.取り扱い注意 「fullでないcontinuation」ってどういうものなのか誰か教えてください 「プログラミングGauche」ができるまで (ログ取れず) 自己紹介 「リリカルLis

    Route 477(2008-03-09)
  • なぜ関数プログラミングは重要か

    John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. rjmh@cs.chalmers.se この日語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに

  • Emacs Lisp を仕事で使ってみた — ありえるえりあ

    Recent entries 宣伝:C/C++のための開発補助ツール、GCCSenseをリリースしました matsuyama 2010-04-15 宣伝:Rubyのための開発補助ツール、RSenseをリリースしました matsuyama 2010-03-21 Emacsは死んだ matsuyama 2010-02-22 WebアプリケーションをiPhoneに対応させるための技術メモ matsuyama 2009-10-13 tokyo-emacs#x02の個人的レポート matsuyama 2009-09-07 Recent comments replica louis vuitton Anonymous User 2010-12-22 Re:テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました Anonymous User 2010-12

  • Emacs Lisp のダメなところ - あどけない話

    Emacs Lisp をこよなく愛する僕の目から、Emacs Lisp がダメだと思うところをまとめておきます。 文化的な問題 Emacs Lisper の多くは、Lisp が好きで使っているのではなく、Emacs が好きだからしかたなく使っているのでしょう。当は C で書きたいのに、無理して Lisp を利用している感じです。 そのため、Emacs に付いてくる Emacs Lisp のコードは、Lisp らしくないものがほとんどです。単に C での発想を Lisp で表現しています。 これらのコードは、読みこなせないぐらい関数が大きく、副作用のある部分とない部分が分離されていません。また高階関数を用いて、データ構造を走査するコードと実際に仕事をするコードを分離するという意識も低いようです。 GoogleMapReduceという論文のお陰で、Lisp の写像関数(map)と畳込み

    Emacs Lisp のダメなところ - あどけない話
  • ウノウラボ Unoh Labs: Emacsを自分で拡張する際のTips

    ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • Scheme関連ブログリンク集 - ひげぽん OSとか作っちゃうかMona-

    読むと勉強になる Scheme 関連ブログを集めようと思います。日語/英語/自薦/他薦 問わずおすすめがありましたらぜひ教えてください。ここに追記していきます。 Shiro Gauche の作者 shiro さんのブログ 00000078 id:scinfaxi さんのブログ。Schemeのコンパイラを実装中のようです。 わだばLisperになる - cadrグループ Scheme ではないですが、Lisp の貴重な情報がたくさん書かれています。 programming: what's new online Reddit家。英語ですが Scheme の話題がよく上がります。 ディスカッション - comp.lang.scheme | Google グループ 同じく英語ですが面白いです。 PLT Scheme Blog id:sumiiiさんありがとうございます。 http://sche

    Scheme関連ブログリンク集 - ひげぽん OSとか作っちゃうかMona-
    bobbyjam99
    bobbyjam99 2008/01/12
    まとめ
  • Emacs Lisp TIPS - ファイル更新日を自動的に書き換える

    はじめに GNU Emacs には Emacs Lisp 言語を用いた超強力なマクロ機能があります。 ここでは、私がこれまでに培ってきた便利な設定/カスタマイズ用マクロを 紹介したいと思います。 自作パッケージも含め、サンプルコードも載せていますので、 「.emacs(あるいは .emacs.el)」ファイルにコピー&ペーストして使ってください。 なお、2009年3月現在、私が使っている Emacs は次の通りです。 このページで紹介しているコードは 全て Emacs バージョン 22 を前提としています。 私の .emacs.el ファイルは ここ にあります。 Emacs 22.3 (Carbon Emacs Package; Mac OS X 10.5.6) Emacs 23.0.91 (Linux; Ubuntu 8.10) Emacs 22.1 (Linux; Rocks Clu

  • Emacs Lisp のパターン - あどけない話

    デザイン(設計)パターンという程のことはない、Emacs Lisp のパターンを思いつくままに書きます。心は、 高階関数を書こう マクロを書こう です。 mapcar mapcar は、引数に関数をとる高階関数のよい例です。リストを取り、それぞれの値を加工して、新しいリストを返すパターンのときは、mapcar を使いましょう。 (mapcar '1+ '(1 2 3 4)) ;; => (2 3 4 5) mapcar には、自分のさせたい仕事を実装した関数を渡しましょう。 (defun f(x) (1+ (* x 2))) (mapcar 'f '(1 2 3 4)) ;; => (3 5 7 9) mapcar を連結しましょう。(オブジェクト指向でのメッセージの連結に似ていますね。) (mapcar '1+ (mapcar (lambda(x) (* x 2)) '(1 2 3 4)

    Emacs Lisp のパターン - あどけない話
  • はじめよう Common Lisp - Doge log

    最近何をやってるかというと実はCommon Lispを勉強し始めた. 結局プログラムが好きな人は必ずLispを通るんだろうな. なんでCommon Lispを始めたか なんとなく...というのは嘘でLisperの人たちが「凄い」と言ってるのを検証してみたかっただけ. Schemeじゃないのは On Lispに合わせただけです. 処理系のインスコ まずは環境構築. 僕の環境はMacでLeopardなのでWindowsの人は勝手にやってください. とりあえずCommon Lispの処理系だと CLISP SBCL あたりを使ってる人が多そう. CLISP macportsからインスコできるのでそこからインスコする. 理由はよくわからないんだけどCLISPの環境だとなぜかasdf-installがうまく動かなかった. なのでsbclの方を入れる. SBCL SBCLもmacportsにあるのだけ

    はじめよう Common Lisp - Doge log
  • Emacs Lisp勉強会(基礎編) ― ありえるえりあ

    Emacsをまだインストールしていない人は、インストールしてから、この先を読んでください。 可能な限り、Javaとの対比をしながら説明します。 目次 Emacs Lispとは 開発環境 Emacs Lispの雰囲気(Javaとの比較) 関数型言語 Emacs Lisp;言語の基礎 なんでもオブジェクト シンボル コンスセル(リスト) 関数 その他(連想リスト、ベクタ、ハッシュテーブル) Emacs特有の型(バッファ、マーカ、etc.) 実践 ループ使ったら負け? 変数に代入したら負け? Emacs Lispとは マーケティング要素無しの、「write once, run anywhere」な言語です。 Javaの場合、次の欠点があります。 マシンにインストールされている保証が無い 他人のマシンに勝手にインストールするのは迷惑 Emacs Lispの場合、上の問題がありません。

  • Geekなぺーじ:Lispの名言が凄すぎる

    名言を集めたWikiquoteのLisp項目が凄すぎます。 「Lisp programming language」です。 さすが最強言語Lispです。 非常にアグレッシブです。 (ちょっとネタが古いと思いますが、許してください。。。) 以下、一部抜粋してみました。 主張が強そうなのを抜粋しているので多少内容が偏っていると思います。 誤訳していそうなのと、他にも面白いのがあるので原文を是非ご覧下さい。 Lispについて Emacsは、Lispという唯一美しいコンピュータ言語で書かれている - Neal Stephenson 未だかつてデザインされたプログラミング言語の最高峰 - Alan Kay Lisp("List Processing"の略)は最も重要で魅力的なコンピュータ言語だ。そしてそれはAlgolが発明された頃にJohn McCarthyによって発明された。 - Douglas H

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    bobbyjam99
    bobbyjam99 2007/05/29
    あとで読む
  • Lisp脳でやってみよう -- Schemeプログラマの発想をJavaでやるとどんなことになっちゃうのか - 矢野勉のはてな日記

    Java, LispFizzBuzz問題第二段です。Lispなやり方でやってみよう。手続き的な発想では、毎回特殊な処理を行いそれを繰り返すという発想でプログラミングしていました。Schemeプログラマはそうは考えません。データからデータへの変換を考えれば良く、出力は後からどうにでもなる、 と考えています。Karetta|Gaucheプログラミング(立読み版)|「Lisp脳」の謎に迫る - Schemeプログラマの発想結局言語の中心に何があるのかってことなんですよね。Schemeの中心にはいつもリストがある。だから「まずリストを作ろうぜ」と考えるんじゃないかな。 なんにせよJavaプログラマとしては「それJavaでやったらどんな気持ちになるかな」というのが気になるのでJavaでやってみた。今回はいろいろ考えながらやるのでタイムアタックはなし。 import java.util.*; pu

    bobbyjam99
    bobbyjam99 2007/05/28
    Lispはリスト中心主義.
  • 魔法言語 リリカル☆Lisp

    About ★「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。 別の処理系をインストールする必要はありません!! Lispとは ★CやC++Java、BASIC、PerlRubyPHPPython、ML、Haskellなどと同じプログラミング言語の一つです。 マサチューセッツ工科大学のJohn McCarthy教授を中心とする研究グループによって開発され、1962年に発表されました。 LispとはList Processorの略で名前通りリストの処理を得意とします。 このことから人工知能の開発に多く用いられています。 NScLisperとは

    魔法言語 リリカル☆Lisp
  • 1