タグ

lispに関するdrillbitsのブックマーク (10)

  • sedlisp.sed 00:54 - 2014-06-08 - 兼雑記

    https://github.com/shinh/sedlisp Lisp インタプリタを書きました。 sed で。 https://github.com/shinh/sedlisp/blob/master/sedlisp.sed README に書いた通り、それなりにややこしいプログラムも動く気がします。具体的には eval.l として、 eval の無いところで eval を実装しました。で、その上で FizzBuzz なんかが動きます。これはつまり S 式のパースは省略した Lisp のインタプリタと言って良いので、 sed で書かれた Lisp の上で Lisp が動いて、その上で FizzBuzz が動いてることになります。ちなみにもう一段かますことはできませんでした。 Ruby で書いた実装でも動かないので、 eval.l がとりあえず循環できない作りになってしまってるみたいで

    sedlisp.sed 00:54 - 2014-06-08 - 兼雑記
  • 宇宙API Part1 - 標高+1m

    僕は今頭がhyperactiveになってるからとっておきの考えを書く。これは僕が暇なときにいつも考えてることで、これからも何回か書くことになると思う。 宇宙というソフトウェアのコードを、なるべく簡潔に記述するとしたらどんな風になるのか考えてみる。この宇宙にはオッカムの剃刀という便利なカミソリがあって、同じ結果を説明するのに、簡潔な解法と複雑な解法があったら、複雑な方は無視してもいいことになっている。この宇宙が当はPerlで書かれたなら、それは明らかにLispで書かれたんだ!*1 先に断っておくと、この記事ではあなたが信じている言語やパラダイムがある状況で優位だ不利だという話が頻繁に出てくる。僕はHaskellもLispもSmalltalkも大好きだからある程度中立的な立場を取れると思う。でも一番好きなのはLispだし、C++Javaは嫌いだからやはりそれなりにバイアスはかかる。もしあな

    宇宙API Part1 - 標高+1m
  • あなたがLispを無視することができない理由 - 八発白中

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

  • Lisp:S式の理由

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

    Lisp:S式の理由
  • 魔法言語 リリカル☆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
  • Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!

    こんにちは!今年の春からWeb系企業でHTML/CSSデザイナーとして働きだしたキラキラ女子(を目指してる)のあんちべ(23)です!よろしくお願いします!私は普段自社のWebサービスCSSなどを書いている*1のですが、最近データマイニングに興味を持ち始め、データを分析して、自社サービスの売り上げ改善に貢献したいなーと思うようになりました!でも。。。私は文系出身で統計学とか全然わからない*2し、プログラミングも得意じゃない*3し、高価な統計解析ソフトを買うのも辛いです。。。無い無い尽くしですね><;!そんな私に救いの手が!インストール作業不要で、便利な統計処理機能が色々あって、しかも無料という素晴らしいソフト*4を発見しました!その名も"Incanter"です!なんでも、 Lispっていう古くから使われてきた実績のあるプログラミング言語で動いてて、Lispの文法でどんな処理をすればよいかを

    Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!
  • 20分ではてなブログを作る方法 - 八発白中

    これはLisp Advent Calendarの10日目です。 先日、HappyElementsさんで行われたLiveCoding #11にライブコーダとして参加させていただきました。そのときの話をしようと思います。 LiveCodingとは 一人の"LiveCoder"が、20分の制限時間で何かソフトウェアを作り、デモをします。 LiveCoderがどのようにコーディングしているかの全てがプロジェクターで大画面に映し出され、 さらに解説役が常にLiveCoderの挙動を説明します。 A 「コンパイル中です・・・、お、おおお、なんと、Syntax error!」 B 「これは恥ずかしい…!」 LiveCoder 「(/// 」 LiveCoderが何を作るかについては、自分で決めた上でそれをLiveCoding前に告知します。 ただし、観客の要望で仕様が強制的に変更になることがあります。

    20分ではてなブログを作る方法 - 八発白中
  • Common Lispでモナドする話 - IT系で覚醒めたい

    昨日こんなものがTLに流れてきた Clojureでモナド内包表記とStateモナド - http://basking-cat.blogspot.jp/2012/10/clojurestate.html なかなかおもしろいのでCLでも実装。 コアの部分はこれだけ。あとは型クラスよろしくモナドごとにメソッドを定義していく。 使い方はこんな感じ (perform ((a (list 1)) (b (list 2 3)) (c (list 3 4 5))) (+ a b c)) ; => (6 7 8 7 8 9) すばらしい。また別の例 (defun double-list (x) (list x x)) (perform ((a '(1 2 3)) (b (double-list a)) (c (double-list b))) c) ; => (1 1 1 1 2 2 2 2 3 3 3

  • JSXでLispつくってみた - IT系で覚醒めたい

    https://github.com/wasabiz/lisp.jsx あえてSchemeではなく伝統的なダイナミックスコープのLispを作ってみた。 ぱぱっと仕上げるつもりだったけど3時間かかってしまったので精進がたりない。 動的スコープLispの効率的な作り方でなやんで一時間ぐらい費やしたような気がするけどまぁきにしない。 結局は一番最初におもいついたsymbol-valueをstackにするという方法にした。 ていうかこんなんでいいのか…? 調べたかぎりschemeの作り方のノウハウはいっぱい見つかったけどLispのノウハウは全然見つからなかった。 なんでだろう。みんなschemeばっかりでLispを自作とかしないの… とにかく現時点で動くのはfactorialのみ。defun/progn/if/=/*/-しか実装していない。(quoteすらない!) JSXにしたのは特に理由はない。

  • Software Design 2008年2月号 「Emacsマスターへの道」 原稿 — ありえるえりあ

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

  • 1