タグ

*とLispに関するmaangieのブックマーク (20)

  • Lisp一夜漬け

    Lisp 一夜漬け 「Lisp 一夜漬け」は、ソフトバンクの月刊誌『Oh!X』の 1995年10月号〜1995年12月号に掲載された Lisp 講座です。 ここでは、掲載当時の X68000 に特化した部分などは削除してあります。 (ということは、1995年12月号掲載ぶんは全削除です) Lispの書き方 (1997.09.26 21:55) Lisp の世界 関数という概念 書き方 変数 制御と述語 関数定義 リスト (1997.10.01 00:50) Lisp におけるデータ型 ドット対 ドット対からリストへ nil について リストの定義 リストを扱う関数 リストを扱うプログラムを作る

    maangie
    maangie 2016/12/17
    「Oh!X」とは懐かしい。コレ読んだハズだ……。
  • RoswellでCommon Lisp環境をセットアップする - 星にゃーんのブログ

    takoeight0821.hatenablog.jp 書き直しました。

    RoswellでCommon Lisp環境をセットアップする - 星にゃーんのブログ
    maangie
    maangie 2016/10/12
  • LISP用語とその由来

    SETQ SET QUOTE (set (quote x))の慣用句が結合したもの SETF SET FIELD SEXPR,S-exp,SEXP Symbolic EXPRession CAR Contents of the Address part of the Register CDR Contents of the Decrement part of the Register PRINC PRINt Characters 参照:comp.lang.lisp: The history of print, prin1, and princ? PRIN1 TERPRI TERminate PRInt (LISP 1 Programmer's Manual) PROG PROGram feature PROG1 SUBR SUBRoutine FSUBR Form SUBRoutine ?

    maangie
    maangie 2016/10/01
  • atpages.jp - このウェブサイトは販売用です! - atpages リソースおよび情報

    maangie
    maangie 2016/09/21
  • sbcl+slimeの環境を整える - yutoichinoheの日記

    処理系 とりあえずsbclを入れる brew install sbcl パッケージ管理ツール common lispのパッケージ管理はasdfとかいうのが有名だったらしいんだけど、 ASDF-install is OBSOLETEとかでっかく書いてあってquicklispとかclbuildというのを勧められていたからそっちを入れる。 quicklisp quicklisp.lispというのをここからダウンロードしてくる。 $ sbcl --load quicklisp.lisp * (quicklisp-quickstart:install)ちなみにinstallのまえに(quicklisp-quickstart:help)とやるとインストールパスをかえられるみたい。 デフォルトは${HOME}/quicklisp。 * (ql:add-to-init-file)とやると${HOME}/.

    sbcl+slimeの環境を整える - yutoichinoheの日記
  • Emacs Lispで解く月刊少女野崎くんED「ウラオモテ・フォーチュン」 - 夜はいよいよ冴えたのだ。

    Emacs Lispで解く月刊少女野崎くんED「ウラオモテ・フォーチュン」 今期オススメのアニメのひとつである「月刊少女野崎くん」、ED曲の「ウラオモテ・フォーチュン」には以下のフレーズが出てきます。 キライの ハンタイの ハンタイの ハンタイの ハンタイの そのさらにハンタイの キモチを伝えるのって 何だか難しい ぐぬぬ、まるでバカボンのパパ話法(「賛成のハンタイなのだ」)です。これではスキなのかキライなのかよく分かりません。 ここはひとつ、Emacs Lispでスキなのかキライなのかはっきりさせてみましょう。 Emacsのscratchバッファ(lisp-interaction-modeなバッファならどれでもOKです)で以下を実行してみます。 (setq キライの nil) (defun ハンタイの(p) (not p)) (defun そのさらにハンタイの(p) (not p)) (

    Emacs Lispで解く月刊少女野崎くんED「ウラオモテ・フォーチュン」 - 夜はいよいよ冴えたのだ。
  • 長文日記

    長文日記
    maangie
    maangie 2014/01/23
  • はじめてのアセンブリ(Lisp編)

    ( Lisp Advent Calendar 2013 3日目の記事です ) FortranやLispが誕生して50年以上の月日が経過した現在では、 世の大半のプログラムがCやJavaExcel VBAといった高級言語で作られています。 多くのプログラマにとっては、もはやアセンブリは直接書く必要のないものなのかもしれません。 しかし、(たとえあまり使うことがなくても)Lispを学ぶことで悟りを得られる(らしい)ように、 アセンブリを学ぶことで普段使っているOSやコンパイラやVMが一体何をしているのかを学ぶ手助けとなるのではないかと思います。 低レイヤーもカバーするプログラマを目指して、アセンブリ言語をアセンブラでアセンブルして実行してみましょう。 最初にアセンブラを用意しましょう。ここ(http://ccl.clozure.com/)からダウンロードできます。 現在の最新リリースバージョ

    maangie
    maangie 2013/12/03
    面白い。
  • Yabuki Taro’s Home Page

    なぜ Lisp なのか Quote...Unquote ダグラス・R. ホフスタッター著, 竹内郁雄ほか訳『メタマジック・ゲーム』 ミンスキー「ゲーデルは Lisp を思いついておくべきだった。もし彼が Lisp を思いついていたならば彼の不完全性定理の証明はもっと簡単なものになっていただろう」 ゲーデルの証明の一番難しいところは、数学的体系に自分自身を語らせるところにある。天才のひらめきが何段階か必要になる。しかし、Lisp は、少なくともゲーデルが必要としていた意味で、まさに自分自身を直接語ることができる。 ゲーデルは Lisp を発明した! ダイクストラ「謙虚なるプログラマ」 LISPは冗談まじりに「コンピュータを誤用するための、もっとも知的な方法」と言われることがありますが、私はこれはすばらしい褒め言葉だと思います。なぜならこれはあらゆる種類の自由を可能にしているからです。LISP

    maangie
    maangie 2013/12/02
  • リリカル☆Lisp開発日記 » Blog Archive » 自作Lispインタプリタを公開して後悔しないように

    (この記事はLisp Advent Calendar 2日目のためのエントリです。) 「え、お前の家、カレーに味噌汁付けてるの!?」 頑張って作っていたLispインタプリタがついに完成。友達に自慢してソースコードを見せてみたら 「え、なんでそんな実装になってるの? それって変じゃない?」 といった反応が返ってきたことはありませんか。きっとありますよね。昔から「人の数だけLispがある」と言われていまして、書く人によって色々と違いが出てくるのは当然です。しかし、どんな違いが出てくるのかを知らないと、要らぬ混乱を招く可能性があります。 この記事を読むことで、一言に「自作Lispインタプリタ」と言っても、色々なやり方があることを知り、友人の心ない発言に傷ついたり、逆に人を傷つけないようにする知識を身につけた気分になれます。 「あの人は自分でごみ集めを書いてくれたのに」 Lispインタプリタを書く

    maangie
    maangie 2013/12/02
  • なぜ数ある言語からCommon Lispを選んだのか - 八発白中

    はてなに入ってからよく「なんでCommon Lispで書くんですか?」と聞かれます。アリエルにいるときは全く聞かれなかった質問です。今まで当たり前のように受け入れていたことを改めて尋ねられるとはっとさせられます。 「Common Lispが一番書きやすいからです」 「あっ…すいませんでした」 なぜ謝られたし。これではまるで僕が変人扱いです。だけどたぶんこれが普通の感覚で、アリエルは変な人が多かったんでしょう。 こう言われることもあります。 「でも、Lispってカッコが多いじゃないですか」 これもまた久しく忘れていた感覚で、思わず答えに詰まってしまいました。Common Lispのカッコがそれほど多くないということは既に証明されているというのに。 先週末にid:m2ymと会って話をしたときにも同じような話をしました。閉じカッコがたくさん続いているとか、letのカッコの数が1個多いとか、そうい

    なぜ数ある言語からCommon Lispを選んだのか - 八発白中
    maangie
    maangie 2013/12/02
  • あなたがLispを無視することができない理由 - 八発白中

    (この記事はLisp Advent Calendar 1日目のためのエントリです。) 禅が好んで用いる比喩がある。月を指すには指が必要である。だが、その指を月と思う者はわざわいなるかな。 — 鈴木大拙「禅」 これをLispに例えるなら、こう言うことができるかもしれない。 Lispを書くには括弧が必要である。だが、その括弧をLispと思う者はわざわいなるかな。 Lispを普段書いている身としてはLispについて括弧がどう、というのは些細なものに思えるが、Lispを知らない人からすると自然な考えだろう。人間は知らないものを理解しようとするとき、自分が今まで見たもの、知っているものと比較して手がかりを得ようとする。Lispが他のプログラム言語と比較してユニークなものは、やはりその括弧で表現されたS式だ。 しかし、Lispが括弧を使った奇妙な構文を用いるのは理由がある。そしてそれがLispの強力さ

    maangie
    maangie 2013/12/01
  • http://google-common-lisp-style-guide-ja.cddddr.org/

    語"SHOULD"や形容詞"RECOMMENDED"は ある状況ではガイドの要求を無視する適切な理由があるかもしれないことを意味しますが、 他のやりかたを選択する前にガイドの含意は理解され注意し重視される必要(佐野:用語統一[must])があります。 SHOULDに違反する場合許容を求める必要(佐野:用語統一[must])があります。 RFCとは異なり、上記キーワードの利用全てを大文字で表記するわけではありません。 ガイドで示すルールに対する違反が有効であったり必要であるケースがあります。 いくつかのケースでは許可を探すことや適切な人からの許容を求める必要(佐野:[must]訳語統一)があります 許可はあなたのプロジェクトの所有者に由来する。 許容はガイドライン違反をした場所の近くのコメントの中でリクエストされ、レビューアによって承諾されます。 オリジナルのコメントはあなた(佐野:起票行為

    maangie
    maangie 2013/10/31
    「あなたは再帰よりも反復を好むべきです」
  • ちょっと変わったLisp入門 - @IT

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

    ちょっと変わったLisp入門 - @IT
    maangie
    maangie 2013/10/30
  • Common LispでWebAppの開発に必要なN個のこと - 八発白中

    PerlでWebAppの開発に必要なN個のこと - Islands in the byte streamのCommon Lisp版です。 あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずCommon Lispについて知っていることを書いた。←ここまで引用 Perl版と異なるのは、これは昔よく使われていたけど今は使うべきじゃないみたいなのも書きました。 パッケージマネージャ Quicklispを使います。Common Lispで開発しようと思ったら処理系の次にこれが必要です*1。ここ数年のCommon Lispの環境変化はQuicklispに依るところがとても大きいです。 http://www.quicklisp.org/beta/ ライブラリごとにバージ

    Common LispでWebAppの開発に必要なN個のこと - 八発白中
    maangie
    maangie 2013/09/10
  • Readable Lisp S-expressions Project

    The goal of this “Readable Lisp s-expressions” project is to develop, implement, and gain widespread adoption of more readable format(s) for the S-expressions of Lisp-based languages (such as Common Lisp, Scheme, Emacs Lisp, and Arc). We’ve done this by creating new abbreviations that can be added to existing readers. Curly-infix-expressions add infix expressions (in a Lispy way): {a op b ...} map

    maangie
    maangie 2013/09/08
  • Lisp:S式の理由

    S式は人に優しいか Shiro: Lispの不人気の理由として筆頭に上げられるのが、括弧だらけの 独特の見た目。とっつきにくい、一般的な表記法と違っていてわかりにくい、 等々、様々なことが言われてきました。しかし、 S式を捨てたLispも開発されましたが 流行ったとはいい難く、Lispな人々はいまだに括弧に固執しているかのようです。 S式のメリットをLisperに尋ねれば、エディタがどうの、マクロがどうの、といった 回答が真っ先に返って来ると思うんですが、そういう理屈をいくら理解しても S式がダメな人がS式を好きになったりはしません。どうも、もっと根的な 感覚に大きな隔たりがあるような気がします。非Lisperから理解しがたい、 Lisperの持つ感覚とはどんなものなんでしょうか。Lisp脳から見た世界は どんなものなのでしょうか。 構文木を人間が書く? S式は言ってみれば言語の構文木そ

    Lisp:S式の理由
    maangie
    maangie 2013/09/05
  • Island Life - S式の読みやすさ

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - S式の読みやすさ
    maangie
    maangie 2012/08/26
  • Common Lispでシェルを便利に!「Shelly」をリリースしました - 八発白中

    先日のKyoto.lisp Tech Talkでご紹介しましたが、「Shelly」というプロダクトを作りました。 Shelly View more presentations from fukamachi まとめると、ShellyはCommon Lispの関数をシェルコマンドのように実行できるユーティリティです。 インストールは以下のコマンドを実行してください。「LISP_IMPL=ccl」の部分は使っている処理系に合わせて変更してください。LISP_IMPL=sbclとか。 $ curl -L http://xrl.us/shly | LISP_IMPL=ccl perl - installもしくはREPLからShellyをロードしてください。 (ql:quickload :shelly) (shelly:install) インストールが成功すると ~/.shelly にファイルがコピー

    Common Lispでシェルを便利に!「Shelly」をリリースしました - 八発白中
    maangie
    maangie 2012/05/23
  • 竹内関数で音楽生成 - 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
    maangie
    maangie 2011/11/13
  • 1