タグ

lispに関するpeketaminのブックマーク (35)

  • Gauche - A Scheme Implementation

    Gauche(ゴーシュ)は、スクリプトインタプリタとしての使い易さに重点を置いて 開発を行っているR7RS準拠のScheme処理系です。日常業務の中でのちょっとした処理を行う スクリプトを気軽にSchemeで書きたいなあ、という願望のもとに、 起動が速いこと、システムへのアクセスが組み込まれていること、 最初から多国語対応を考慮していること、 リスト処理ライブラリとして他のC/C++プログラムから簡単にリンク可能であること、 などを目標としています。 Gaucheは多くのUnix系プラットフォーム およびWindows上で動作します。 実装されている機能の概要については、 機能のページをご覧ください。 News 詳しい変更はChangeLogをどうぞ。 また、最新の開発状況はGitリポジトリで知ることができます。 2024/4/23 Gauche 0.9.15 リリースノートを参照してくだ

  • CARとCDR - Wikipedia

    CARとCDR(カーとクダー)は、LISP言語の基的なデータ型であるリストを操作するためのもっとも基的な2つの関数である。LISP言語のリストはコンスセルと呼ばれる(ペアまたはドット対とも呼ばれる)二分木構造セルにより表現され、CARは二分木の片側を返しこれはリストの先頭の要素である。またCDRは二分木のもう片側を返しこれは後続する二分木セルである。 コンスセル 名前と語源[編集] CAR は/kɑɹ/(カー)と発音され、CDR は/ˈkʊdəɹ/(クダー)と発音される[1]。 この不可解な名称は、最初にLISPが開発されたIBM 704の命令形式に由来する。IBM 704は36ビット・ワードの機械で、タイプAの命令形式ではこれを3ビットのプレフィックス(オペコード)、15ビットのデクリメント、3ビットのタグ、15ビットのアドレスの4つの部分に分けて用いた[2]。CAR は「レジスター

    CARとCDR - Wikipedia
    peketamin
    peketamin 2020/07/16
    "この不可解な名称は、最初にLISPが開発されたIBM 704の命令形式に由来する。"
  • On Lisp

    Paul Graham氏の著書On Lispの邦訳を無償で公開しています.Common Lispのマクロに関する貴重な情報がいっぱいです.

  • Racket + big-bangを使ってどうしようもないプログラムを書く方法 - Line 1: Error: Invalid Blog('by Esehara' )

    この記事はLisp Advent Calender 13日目の筈でした。 はじめに: プログラミングの楽しみ さて、Lisp処理系と呼ばれるものには様々なものが存在します。その中で、そこそこに人気のある処理系であるRacketを使って、Lispと一緒に気軽に戯れてみよう!というのが今回の趣旨です。 まず最初に、プログラミングをする上での楽しみというのは一体何でしょうか。当たるようなサービスを作る? それとも仕事で効率化するようなものを作る? それとも、様々なアルゴリズムについての洞察を得たりする? どれも、プログラミングの楽しみであるのは間違いないし、否定することはできません。しかし、プログラミングの楽しみとは、別の意味では「ゴミみたいなプログラム」を書くことではないでしょうか。つまり、「どうしようもないプログラム」を作ってゲラゲラ笑うといったことです。 例えば、とある中級者のプログラマが

    Racket + big-bangを使ってどうしようもないプログラムを書く方法 - Line 1: Error: Invalid Blog('by Esehara' )
  • サムライト株式会社に入社しました - 八発白中

    日11月17日、サムライト株式会社にプログラマとして入社しました。 サムライトはCommon Lispという最先端の技術を使う数少ないWeb企業です。 今月の頭までどこかの会社に雇用されるなど想像もしていなかったことです。 それがつい2週間前、兼ねてからTwitter上でやり取りをしていた @Rudolph_Miller が高速な広告配信サーバをCommon Lispで書きたいと言って人を募集しているのを見たことをきっかけに、社員で入る気はなかったにせよ何か共同で開発すれば僕もいくらか助けになるかもしれないと思ってすぐに会う約束をし、対面で詳しい話を聞くにつれ、いよいよ入社してフルコミットしたほうができることも多いだろうと考え、終には「いつまで居られるかわかりませんよ」という念押しをしつつも、一時振るう刀をこの会社に預けることにした次第です。 所感。 この会社には何もありません。従業員は

    サムライト株式会社に入社しました - 八発白中
    peketamin
    peketamin 2014/11/18
    lispでwebをロックユーするらしい
  • Cより高速なCommon Lispコードを書く - 八発白中

    Cで書くコードの方がCommon Lispで書くより速いって人がいたら、それは彼のCの技量が高すぎるってことだね。 “If you can't outperform C in CL, you're too good at C.” — Eric Naggum 最近、Common Lispの非同期Webサーバ「Wookie」を高速化する過程で、ボトルネックになっていたHTTPリクエストのパース部分を高速に処理するライブラリを書きました。 fast-http - A fast HTTP request/response parser for Common Lisp 既存のライブラリ「http-parse」よりも約10倍速く、Cのライブラリ「http-parser」より5%ほど高速です。 追記 (2014/10/26): 最適化をやり直し、現在は「http-parse」よりも約27倍速く、Cの「h

    Cより高速なCommon Lispコードを書く - 八発白中
  • Lisp Tutorial for Pythonista : Day 5

  • JPL(ジェット推進研究所)におけるLispの顛末 | POSTD

    この記事はジェット推進研究所(JPL)におけるLispの盛衰について、私の(しかもかなり偏った)個人的見地から書きました。JPLの所員としての立場で書いているのではなく、JPLの公的な立場を代弁するものでもないことをお断りしておきます(これについては読み進めていただければ分かります)。 1988-1991 ロボット工学の時代 私は1988年にJPLに入所し、自律移動ロボットの人工知能AI)グループに配属されました。当時は今と違って政府の財源から資金が潤沢に流入していました。「AIの冬」が始まりかけていましたが、まだJPLには到達していませんでした。研究所の技術動向は最先端から数年遅れになる傾向があるようです。 当時のJPLはマーズ・ローバー・サンプル・リターン(MRSR)と呼ばれるマーズ・ローバー・ミッションの初期計画段階にありました。あの時代、宇宙ミッションはあらゆる意味で巨大でした。

    JPL(ジェット推進研究所)におけるLispの顛末 | POSTD
  • Interactive SICP

    Structure and Interpretation of Computer Programs Interactive Version Wizard Book n. Structure and Interpretation of Computer Programs, 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. Interactive SICP n. Interactive Structure and Interpretation of Computer Programs. Online version of

  • https://atnd.org/events/53806

    https://atnd.org/events/53806
  • Luminusを触ってみたのでメモ - oknknicの日記

    Luminusを触ってみたのでメモ。 概要 軽量ライブラリをベースにした小さなWEBアプリケーションフレームワーク 以下を狙いとする 堅牢 スケーラブル プラットフォームの利用を簡単に 試用 Leiningen テンプレートLuminus-Templateを利用してテンプレートプロジェクトを作成。 なお、今回利用する Leiningen のバージョンは 2.1.3。 lein new luminus myapp cd myapp lein ring server 依存ライブラリ 上記で作成すると、project.clj(抜粋)は↓の感じに。 :dependencies [[org.clojure/clojure "1.5.1"] [lib-noir "0.7.1"] [compojure "1.1.5"] [ring-server "0.3.0"] [selmer "0.4.3"] [co

    Luminusを触ってみたのでメモ - oknknicの日記
  • 非公式PDF版SICPの全訳を公開しました - minghaiの日記

    また1年振りの更新となりかけました。 Andres Raba氏により2011年から開発が続けられている、非公式PDF版SICPを全訳しました。 ファイル 恒例のgithubです。 https://github.com/minghai/sicp-pdf jsicp.pdfが日語版の体です。 ejsicp.pdfはデバッグ用の日語・英語併記となります。 ライセンスはCC BY-NC-SA 3.0です。商業使用は認められないことにご注意下さい。 SICPとは何か? SICPとはMITが作成した何も知らない新入生向けのプログラミングの教科書です。 プログラミングと強調したことには理由があります。このは良くあるプログラミング言語の教科書ではなく、あくまでもプログラミングを勉強するための教科書だからです。このことはこのの中でも、最初の前書き、序文にて何度でも繰り返し強調されています。筆者達が

    peketamin
    peketamin 2014/04/03
    おおおお大感謝
  • Common Lisp is still hard to satisfy. - Qiita

    Abstract マクロは、構文拡張により言語の高い次元の抽象化を行うことができる、Lisp 特有の機能です。マクロは、S式をコンパイルするとき、そのheadがマクロをもつシンボルであったならば、対応する macro-function を呼び出して式を変形させるという動作をします。コンパイルは構文木のrootから順に行われます。 この記事では、マクロ一般の能力ではなく、 現在の Common Lisp におけるマクロシステム について、それが制限を持っているということを示します。また、この制限を克服できる新たなマクロシステムを提案します。 マクロとは (略) マクロに関係するマクロ、関数、変数は以下です。 (defmacro name lambda-list &body body) (macrolet bindigs &body body) (eval form) (compile nam

    Common Lisp is still hard to satisfy. - Qiita
  • 宇宙API Part1 - 標高+1m

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

    宇宙API Part1 - 標高+1m
    peketamin
    peketamin 2014/02/04
    かっこいい
  • 万能な記述形態って何種類あるのでしょうか? - OKWAVE

    「プログラムの意味論(semantics)」という(ちょっと難しい)分野の話です.というのは,万能性を証明するとは「あるプログラムがチューリングマシンのシミュレータになっていること」あるいは「任意の帰納的関数を表現できるプログラムが存在すること」を証明することに他ならない.だから,プログラムの意味を記述する必要があるわけです. プログラミング言語との関連で言えば,計算機のハードウエアなんてものは忘れて,計算を,ある抽象的な数学的システムの上でのプロセスと考える.(なのでハードウエアのアーキテクチャをムキダシで扱うアセンブラやCのような低級言語はちょっと脇に置いときます.)その「抽象的な数学的システム」の捉え方がいろいろある,という話かと思います. ご質問で例に挙げられたのは,計算(プログラムの実行)を,変換の手順(手続き)の遂行と見るか,写像の不動点へ近づく過程と見るか,論理式が恒偽式であ

    万能な記述形態って何種類あるのでしょうか? - OKWAVE
  • あなたがLispを無視することができない理由 - 八発白中

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

  • 現役灘高生のLisperがイベントに登壇、「中学生にもLispを広めたい!」

    「(プログラミングを始めたばかりの)中学1年生にLisperが増えるのを期待している」。2013年11月21日に開催されたプログラミング言語LISPに関するイベント「Mathematical Systems Lisp Meeting」で、灘高等学校2年生の中西航氏が「灘校パソコン研究部(NPCA)におけるLISPの活用について」と題して講演した(写真1)。

    現役灘高生のLisperがイベントに登壇、「中学生にもLispを広めたい!」
  • GitHub - eudoxia0/corvus: Low-level Lisp for LLVM

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - eudoxia0/corvus: Low-level Lisp for LLVM
  • 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個のこと - 八発白中
  • GitHub - pinard/Pymacs: Emacs to Python interface

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - pinard/Pymacs: Emacs to Python interface