タグ

lispに関するthataのブックマーク (22)

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

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

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

    install | tutorial | forum This site is about Arc, a new dialect of Lisp. Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software. Arc is unfinished. It's missing things you'd need to solve some

    thata
    thata 2008/01/30
  • 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 のパターン - あどけない話
  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

  • [動画]RubyがLispから継承したもの、してないもの ― @IT情報マネジメント

    Rubyらしさ Rubyには“Rubyらしさ”というものがありそうだ、と角谷氏は言う。プログラマとしてRuby on Railsでプログラムを書いているまさにその時に、彼はその“Rubyらしさ”というものを感じると話す。いわく、「使う人を信頼している感覚」「Rubyにあるよさ、楽しさというものは(フレームワークである)Ruby on Railsにも受け継がれている」。さらに、Rubyのデザイナであるまつもと氏の考えを、Rubyでプログラムを書く人は継承するのでは、とも指摘する。 それを受けてまつもと氏は、Rubyに備わっている特徴の多くは、もともとLispにあったものであると話す。LispからRubyへの影響は小さなものではない。平鍋氏も、Rubyは「普通に(プログラムを)書こうと思ったら書ける」言語だとその特徴を賞賛する。 動画撮影:「歌頭 孝之」

    [動画]RubyがLispから継承したもの、してないもの ― @IT情報マネジメント
  • [動画]Ruby設計者まつもとゆきひろといろいろ語りたい - @IT情報マネジメント

    プログラム言語Rubyアジャイルソフトウェア開発の連携が生み出す新たな可能性を縦横無尽に語り合う。全6回シリーズの第1回。まつもとゆきひろ(ネットワーク応用通信研究所)がRubyの来歴を語り、平鍋健児(チェンジビジョン)がアジャイル開発とRubyの接点を模索する。角谷信太郎(永和システムマネジメント)が両者の橋渡しをする。 なぜ、「まつもとゆきひろ」か? 「RailsによるアジャイルWebアプリケーション開発」は一風変わった書籍である。RubyによるWebアプリケーションフレームワーク、Ruby on Rails解説の決定版である書は、書名に「アジャイル」を冠しながらも、文では具体的なアジャイルソフトウェア開発手法への言及がほとんどない。その理由は「アジリティ(agileであること)はRailsの構造の一部」であり「フレームワーク自体にアジャイル宣言の原則を語らせるように」執筆したと

    [動画]Ruby設計者まつもとゆきひろといろいろ語りたい - @IT情報マネジメント
    thata
    thata 2007/05/30
    Rubyについて語るはずがLispについてもりあがっちゃて編集者困惑事件
  • GaucheNight - Matzにっき(2007-05-09)

    << 2007/05/ 1 1. [Ruby] ITmedia エンタープライズ:刑務作業でRuby、世界初の受刑者によるソフトウェア開発 2. [Ruby] MS、「Silverlight」を複数プラットフォーム対応へ - CNET Japan 3. お客様 4. [Ruby] Calling Erlang from Ruby (Teaser) 2 1. [言語] random-state.net / Method Cache Hacking (May 1st 2007) 2. ICFP Programming Contest 2007 3. 「働く」って何だっけ?日の労働観を再考せよ (新日的経営の姿):NBonline(日経ビジネス オンライン) 3 1. [原稿] 日経Linux 2007年7月号 2. [言語] The World of Hello World 3. [言語]

    thata
    thata 2007/05/21
    matzとmacro
  • GaucheNight

    WiLiKi, a Wiki engine written in Scheme

    GaucheNight
  • 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
    thata
    thata 2007/03/10
  • Lisp:S式の理由

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

    thata
    thata 2007/01/30
  • Lisp:よくある誤解と、その中にあるちょっとした真実

    Lispについてのよくある誤解と、その中にあるちょっとした真実 はてなの質問: プログラミング言語で最強(スケーラブル)なのは、 Lispだと思われます。 http://jp.franz.com/index.html しかし、 世間ではマイナー言語のようです。 なぜでしょうか。 についた回答のいくつかには、「Lispを少しだけかじった人がしがちな誤解」が 含まれてるようなので、それをネタに少し解説してみます。 ただ、誤解が生じるのは、やっぱりそれなりの理由があって、従ってその 誤解の中にも(条件つきの)真実が含まれていることがあります。 そのへんまでをも含めて考えてみましょう。以降、引用は回答からです。 Lispはスクリプト言語? 一昔前まで、これらのスクリプト系の言語は「とてつもなく遅い」のが嫌われる最大の要因でしたが、最近のコンピューターの性能向上でようやくRuby,Python,Li

    thata
    thata 2007/01/11
  • Lisp:よくある正解

    Lispについての正しい認識と、それでもLisperがLispを使う理由 yoriyukiさんのエントリがなかなか 真実を突いていたので、ネタにさせていただきます。 原因のほとんどは経路依存性とかネットワーク効果によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、 Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。 Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。 動的型付け:利点でもあるけど、特有のバグを引き起こす。 識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美

    thata
    thata 2007/01/05
  • Loading...

    thata
    thata 2006/11/14
  • Practical Common Lisp

    that book is dead sexy —Xach on #lisp (more blurbs) This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book. If you find errors in these pages, please send email to book@gigamonkeys.com. These pages will remain online in perpetuity—I hope they will serve as a useful introdu

    thata
    thata 2006/08/30
  • Higher-order function - Wikipedia

    This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (September 2013) (Learn how and when to remove this message) In mathematics and computer science, a higher-order function (HOF) is a function that does at least one of the following: takes one or more functions as arg

    thata
    thata 2006/02/03
    高階関数ってなんね、な話
  • Higher-order programming - Wikipedia

    This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources. Find sources: "Higher-order programming" – news · newspapers · books · scholar · JSTOR (June 2019) This article needs additional citations for verification. Please help improve this article by adding citation

    thata
    thata 2006/02/03
    高階プログラミングってなんね、な話
  • スーパープログラマーへの道

    第九回 翻訳は金になる(コンパイラ作成のための準備体操) コンパイラとは何だろうか?経験を積んだプログラマでさえ、案外盲点になっている。 法律用語では、敵国の言語(何が敵国やねん...)を使うのはご法度だからして、コンパイルと言わずに「翻訳」と言う。よって、コンパイラとは、「翻訳家」である。逆コンパイラなら、「逆翻訳家」である。よくゲームのCDに書いてあるのは、 この小型読込専用記憶装置における電子遊戯の処理手順の一部ないしは全部を複写あるいは逆集合家および逆翻訳家にて解析、逆開発することは法律で禁じられており... うおおおおお!!なんのこっちゃ!!そんなこと書いてないって!! ごめんごめん。軽いジョーク。気にした人、ホントごめん。 コンパイラとは、主に高級言語のソースコード、要はプレーンテキストをターゲットマシンのマシンコードに自動的に変換してくれる、夢のようなプログラムである。(

    thata
    thata 2006/02/03
    Lispはソーステキスト自身がfirst class object
  • Structure and Interpretation of Computer Programs

    Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2

  • Why Ruby is an acceptable LISP | Random Hacks

    Random code snippets, projects and musings about software from Eric Kidd, a developer and entrepreneur. You're welcome to contact me! Dec 03, 2005 • by Eric Kidd Years ago, I looked at Ruby and decided to ignore it. Ruby wasn't as popular as Python, and it wasn't as powerful as LISP. So why should I bother? Of course, we could turn those criteria around. What if Ruby were more popular than LISP, a

  • Successful Lisp - Cover

    Successful Lisp: How to Understand and Use Common Lisp David B. Lamkins david@lamkins.net This book: Provides an overview of Common Lisp for the working programmer. Introduces key concepts in an easy-to-read format. Describes format, typical use, and possible drawbacks of all important Lisp constructs. Provides practical advice for the construction of Common Lisp programs. Shows examples of h

    thata
    thata 2005/11/05