タグ

lispとschemeに関するpochi-mkのブックマーク (11)

  • (Gauche)バブルソート - Code Aquarium

    今読んでいる数学ガールガロア理論がバブルソートにちょっとだけ触れていました。 考えてみるとバブルソートは何となく概要を知っている程度で、実装した記憶がありません。振り返るとバブルのつもりが結局挿入ソート的な物を書いて終わってることが多いような気がします。 そこで正式なバブルソートというものを調べてみました。 今回は、ベクタに適用すると、in place で破壊的にソートする関数を作ります。 1.二重ループでバブルソート (define (vector-bubble-sort! vec :optional (swap? default-swap?)) (define len (vector-length vec)) (do ((head 0 (+ head 1))) ((>= head (- len 1)) vec) (do ((i (- len 1) (- i 1)) (k (- len

    (Gauche)バブルソート - Code Aquarium
    pochi-mk
    pochi-mk 2014/10/18
    「インデックスをリストアップしてから1ループで処理」この発想はなかった...面白い。
  • Lisp講義1

    PFI社内セミナーで強力な型システムがもたらす様々な恩恵について発表した際の資料です。 補足的な記事はこちらをどうぞ: http://blog.konn-san.com/article/20120412/how-wonderful-to-be-typed また、発表の模様は以下の ustream からご覧になれます。 http://www.ustream.tv/recorded/21781769

    Lisp講義1
    pochi-mk
    pochi-mk 2013/09/18
    こんな時間まで(艦これしながら)がっつり読んでしまった。後半飛ばしてるけど「知らない人にも読んでもらえそうな」素晴らしい資料だと思いました。
  • はじめてのLispべんきょうかい参加日記 - ( wanna-wanna hack > ƪ(•̃͡ε•̃͡)∫

    2013-08-04 はじめてのLispべんきょうかい参加日記 study gauche scheme @ayato_p さんに初心者向けのLISP勉強会のお誘い頂き勇気を出して参加してきました. 10LISP '00Lispについて教えて頂き, また直でプログラマさん達とお話できてとっても楽しかったです(^^)※ 今日は日記なのでいつもの勉強ブログとは違い短いですよんƪ(•̃͡ε•̃͡)∫忘れないうちに感想を書き留めておきます. 勉強会の感想メモ書き やっぱり女子いない...orz 自己紹介ではみんなLISP初心者ですと名乗ってたけどインフラからSEさん, 数学科の学生さんまで幅広くいろんな方が来ていて(私以外の)みんなは「只者」じゃない感じの人たちでした(;;) 途中でREPLって分かりますよね?って聞かれて, わたし1人「分かりません!」って答えたら衝撃な目をされて凹む(;;) 初心

    pochi-mk
    pochi-mk 2013/08/05
    「LISPってとても愛されてる言語でLisperは親切で良い人ばっかなんだなぁ(^^)」が印象的。フレッシュな感じで良いですねww
  • Lisp in Small Pieces 1.4 Evaluating Atoms - ぱたへね

    Lisp In Small Piecesの1.4のまとめ。 special form について 厳密にはformで無くてもspecial formと呼ぶ。 このによると、Schemeは、quote if set! lambda の4つ。Common Lispは30以上のspecial formを持つ。気になって、Scheme処理系の言語リファレンスをみていても全然4つじゃない。 http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Special-Forms.html http://practical-scheme.net/gauche/man/gauche-refj_26.html#g_t_00e6_009d_00a1_00e4_00bb_00b6_00e5_00bc_008f Gaucheプログラミング

    Lisp in Small Pieces 1.4 Evaluating Atoms - ぱたへね
    pochi-mk
    pochi-mk 2013/06/20
    prog2 はやっぱり謎だ。使っていたコードとかないのかな?
  • SchemeでScheme - hotokuとは

    2012年の目標の1つにSICPを読むというのがあったのだけれど、結局、完遂出来ずに年を越してしまった。スマホに入れて、通勤中(片道50分)に読んでいたんだけど、4章がちょっと重たくて、つまづいてしまったのである。4章はSchemeでSchemeを実装するというのが主題なんだけど、これを脳内インタプリタだけで読みこなすのは俄リスパの自分には不可能なのであった。 という訳で、一応、自分でも実装してみたので、4.1節の内容は理解したという事にしたい。 https://gist.github.com/hotoku/4753593

    SchemeでScheme - hotokuとは
  • R6RS Scheme で setf を書く - 月の塵

    Scheme(これは Lisp Advent Calendar 2012 の 16 日目の記事です)Scheme で Common Lisp の setf 風のものを実現するものに SRFI 17: Generalized set! があるが、この参照実装にはいくつか問題がある。ひとつにはゲッタとセッタの組を大域変数で管理しているのでゲッタとセッタの対応関係にモジュール性がないこと、もうひとつは手続き同士の同値性という RnRS の未規定部分に片足を突っ込んでいることである。R5RS 6.1 Equivalence predicates の定義によれば、同一の場所に格納されている手続きは同値(eqv?)である。すなわち、 (eqv? car car) は常に真である。したがって、 car に何らかのセッタを対応づければ、 car の値からそのセッタを見つけることができる。だがもう一方で e

    pochi-mk
    pochi-mk 2012/12/16
    定義に忠実に実装するよう考える、これ大事。深いなぁ。
  • はてなブログ | 無料ブログを作成しよう

    覚醒剤入りチョコレートの時代 覚醒剤と『べ物さん、ありがとう』 著名人が、戦時中「別の顔」を持っていて驚くことはありませんか?(有名な例:大政翼賛会にいた花森安治*1) 今日は『べ物さん、ありがとう』(1986 朝日新聞社)*2で人気だった栄養学の「川島先生」こと、川島四郎の戦時中を紹…

    はてなブログ | 無料ブログを作成しよう
    pochi-mk
    pochi-mk 2012/12/14
    C++11でScheme を実装する際に使ったテクニックのあれこれ。なんだけど、俺C++わからんorz...。きっとすごいことやってるんだろうなぁ。
  • Practical Scheme

    ->English 10/5/2001 初出 5/30/2002 追記 6/10/2002 英語版へのリンク追加 「プログラミング言語は満載した機能を特色の第一とするものではない。 あとになって機能の追加が必要と判明するような弱点と制限を取り除いて設計すべきである。」 (アルゴリズム言語Schemeに関する第五改訂報告書、犬飼 大訳 [1])。 言語の機能とライブラリ ポピュラーな言語に親しんできたプログラマの多くは、 Schemeに触れた時、こう感じるんじゃないか。 「一体こんなに機能の少ない言語で、どんなプログラムが書けるっていうんだ。」 Schemeの規格書はほんの50ページしか無い。 Schemeプログラマはそれを言語の簡潔さの証とかなんとか言ってるけど、 入出力は最低限のものしかないし、作ったファイルを消すことさえ出来ない。 文字列処理もC言語の標準ライブラリ以下じゃないか。 ス

    Practical Scheme
    pochi-mk
    pochi-mk 2012/10/05
    初出が 10/5/2001 なわけですね(今日は10/5/2012)。
  • JavaScript で Scheme 作った - にょきにょきブログ

    簡易 Scheme を JavaScript で実装した。基的な関数の呼び出しや定義が行える。 完全に再現したわけでは無いので、Scheme 方言言語 Tetorang と呼ぶことにしよう。 使用はこちら。 http://512bit.org/scheme/scheme.html Google Chrome で動きます。ぎりぎり FireFox でも動くかも。IE では多分動きません。 使い方 Scheme っぽい言語の REPL。 下部のテキストエリアに scheme 文を打つと、その文と実行結果が上に表示される。実行方法はテキストエリア上で Shift+Enter. 「Shift + Enter で実行」って文の右にグレーで数値が表示されていて、これは括弧の深さを表す。(テキストエリア上で (((()))) とか打つと動作がわかると思う。) この機能は括弧が多い scheme で、括

    JavaScript で Scheme 作った - にょきにょきブログ
  • sarabander/sicp-pdf · GitHub - tnoda-clojure

  • History of LISP — Software Preservation Group

    Paul McJones, editor paul@mcjones.org http://www.mcjones.org/dustydecks/ Abstract The goal of this project is to collect, preserve, and present source code, design documents, and other materials concerning the original LISP I/1.5 system, and as many of its follow-ons as possible. LISP was one of the earliest high-level programming languages and introduced many ideas such as garbage collection, rec

    pochi-mk
    pochi-mk 2012/02/20
    lisp がいっぱい - History of LISP -
  • 1