タグ

lispに関するjdgのブックマーク (7)

  • Arrayのconcatメソッドが何気に便利だった - あと味

    え、今さら?感満載ですけど。 配列を結合するメソッドという頭でいましたが、要素を追加して、ついでに要素追加反映後の配列コピーを返すメソッドと考えると結構便利な気がします。 Arrayオブジェクトのメソッドは、sortとかreverseとかmapとかfilterとかのように、配列を返すメソッドが多く、メソッドチェーンでつなげて配列を処理していくのが結構快適だったんですけど、pushは配列を返してくれないので、pushした後の配列に何か処理を施す際には、メソッドチェーンで処理をつなげていくことはできません。 concatはその代わりに使えます。 サンプルコード メソッドチェーンの例ではないけど、multiply_str関数のreturnの箇所では、pushを使うと1文余計に必要ですが、concatを使うとreturnの箇所が1文で書けます。 あと、配列をconcatで追加したい場合は、[1,2

    jdg
    jdg 2011/11/03
    ブログ書いた。
  • jstudyで「JavaScriptとLisp」ってタイトルのLTしました - あと味

    昨日、jstudyの第一回目のイベントがめでたく開催されました。 Twitterで見かけて、速攻で申し込んだんですが、せっかくだからLTしたいなと思い、稚拙ながら「JavaScriptとLisp」というタイトルでLTをさせていただくことができました。 発表するまで、ネタとしてどうなんだろうと不安でしたが、予想外に反応があったので良かったです。 jstudyの感想 jQuery、Dojo、JavaScriptの設計手法 x 2、ECMAScript5の仕様、jsdo.itの紹介、iPadJavaScriptJavaScriptの高速化手法、JavaScriptで昔を懐かしむなどなど、JavaScript好きにはとっても楽しいひと時を過ごすことができました。 LTに立候補していた人があまりいないように思いましたが、実際には11名?の方が発表し、最初から最後まで飽きることなく楽しめました。

    jstudyで「JavaScriptとLisp」ってタイトルのLTしました - あと味
    jdg
    jdg 2010/06/20
    ブログ書いた "jstudy で「JavaScriptとLisp」ってタイトルのLTしました" #jstudy
  • JavaScriptでLispのような再帰的なリストを作るlist関数を作ってみた - あと味

    Lispの勉強をする際に、まだLisp慣れを全然してないので、JavaScriptで書くとどうだろう?ということを考えることが多々あります。 その勉強方法の良し悪しは置いといて、JavaScriptでLispのサンプルプログラムを書いてみようと思った場合、一番ネックなのが、JavaScriptとLispでは、リストの考え方がそもそも違うことかなと思いました。 Lispで(1 2 3)というリストを作る時には、以下のようなコードで作ります。*1 (cons 1 (cons 2 (cons 3 '()))) consは第一引数と第二引数から成るセルを作る関数です。 単純に(cons 1 2)というコードをJavaScriptの配列リテラル表記で表すと[1,2]となるでしょうか。 そうすると、先程作りたかった(1 2 3)というリストを作るための上記のコードをJavaScriptの配列リテラル表

    JavaScriptでLispのような再帰的なリストを作るlist関数を作ってみた - あと味
  • Lisp脳なFizzBuzzをJavaScriptで書いてみた - あと味

    最近、JavaScriptに惹かれる理由は、関数型言語の特徴を持つところに原因があるような気がしています。 Lispを得意としている人は、Lisp脳なる考え方があるとのことです。 興味の源泉に出会うために、Lisp脳を覗いてみようと思い、を読みながら、JavaScriptでLisp脳なFizzBuzz*1を書いてみました。 お手 (for-each print (map (lambda (x) (cond ((= (modulo x 15) 0) "FizzBuzz") ((= (modulo x 5) 0) "Buzz") ((= (modulo x 3) 0) "Fizz") (else x))) (iota 100 1))) これを読むだけでは、正直何をやってるかわかりません。次に、解説を読みながら書いてみます。 まずはリストを作る 「とりあえず1から100までのリストを作れば良さ

    Lisp脳なFizzBuzzをJavaScriptで書いてみた - あと味
  • Karetta|Gaucheプログラミング(立読み版)

    はじめに書の構成 (1)書の対象読者書の表記書の使い方執筆時点でのGaucheバージョン謝辞第1部: 思想LispとScheme (4)Gaucheの特徴 (1)すべて式であるすべてリストである (1)lambdaは空気のような存在である (2)プログラミングとは名前付け(bind)であるすべて再帰である (2) (2)Schemeのすごい点 (4)すべてオブジェクトである (もしそれがお望みなら)Gaucheの設計思想や誕生の背景Schemeの評価モデルとは? (3)「Lisp脳」の謎に迫る - Schemeプログラマの発想第2部: 実用Schemeスクリプトを書こうSchemeスクリプトを書く (1)コマンドライン引数の値を得るユニットテストを書く (1)CGIを書こうSchemeスクリプトをCGIとして実行するwww.cgiライブラリを利用する (1)手軽にHTMLを生成する

  • Lispの仏さま 竹内郁雄の目力 − @IT自分戦略研究所

    竹内郁雄氏(61歳)                   撮影:大星直輝 竹内氏によると、Lispはすべての言語の原点なのだという。「いまRubyがブームだが、Rubyは要するにカッコのないLisp。XMLもぶ厚いカッコのあるLisp。いろいろなプログラミング技法を見ますが、『Lispにあった』ということが多いです」(竹内氏) 竹内氏の業績をひと言で語るのは難しい。1971~1973年、日電信電話公社(現NTT) 武蔵野電気通信研究所 基礎研究部において、Lispを使った自然言語処理システムの研究を行い、1974~1979年、同研究所で人工知能研究を支援するための記号処理システムを次々に開発。1980~1986年、同研究所などで同社比約1000倍の規模の記号処理システムTAO/ELISを、ハードウェアからOS、応用ソフトまで一貫して設計・実装した。ELISについては竹内氏の功績を含めコン

    Lispの仏さま 竹内郁雄の目力 − @IT自分戦略研究所
  • ちょっと変わったLisp入門 - @IT

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

    ちょっと変わったLisp入門 - @IT
    jdg
    jdg 2008/11/02
    gaucheってlispだったのか。知らなかった。
  • 1