タグ

schemeに関するtyruのブックマーク (80)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    tyru
    tyru 2017/05/05
    “fold-right に cons を渡すとリストをコピーする処理を実現できます”
  • Lispの壁の高さ - 再帰の反復blog

    『文學界』10月号に載っている円城塔「プロローグ」第6回で少しだけLispやSchemeやGaucheについての話題になっていた。小説でGaucheへの言及があるのは他は木雅彦『くあっどぴゅあ』だけだろうか。 Lispの処理系を入れたが、対話環境を触っても釈然とせず、エディタとしてEmacsを使うことにして……みたいな流れ。 このあたりまででもう、LISPに興味を持ったかも知れない人の九割九分を振り落とすだろう壁の高さだ。 LispでもSchemeでも、処理系を起動したときの対話環境に、ほぼ何の入力支援機能も備わっていないのはなぜなのだろう。 rlwrap相当の入力支援がデフォルトで付いていても良いと思うのだけど、そうなっている様子は無いし(ひょっとすると知らないだけでそういう処理系もそれなりにあるのか?)、処理系の起動時のメッセージを見てもマニュアルを見ても、「素の状態での入力は大変で

    Lispの壁の高さ - 再帰の反復blog
    tyru
    tyru 2014/09/10
    「LispでもSchemeでも、処理系を起動したときの対話環境に、ほぼ何の入力支援機能も備わっていないのはなぜなのだろう」
  • Gauche開発支援拡張vim-gdev/emacs-gdev紹介 - aharisuのごみ箱

    VimEmacs上のそれぞれで動作するGauche開発支援の拡張スクリプトを開発しています。 開発に一区切りつけるためにこの辺で紹介記事としてまとめておきたいと思います。 なにはともあれ動作画面のスクリーンショットから。 このスクリプトではVimEmacsでほぼ同じことを実現しています。 インストール方法 VimEmacsそれぞれのインストール方法から紹介します。 まず、どちらにも共通していることですがGaucheの0.9.2以上が必要になります。 ・Vimにインストール Vimでは外部プロセスであるgoshと通信するためにvimprocが必須です。 また、補完候補を出すためのneocomplcacheと、検索インタフェースであるunite.vimが必要になります。 それぞれの必須スクリプトのインストール方法ですが、全てVimでは有名なスクリプトで検索すると解説ページが見つかると思う

    Gauche開発支援拡張vim-gdev/emacs-gdev紹介 - aharisuのごみ箱
  • About Scheme

    (2006年11月21日に開催した Lisp セミナー 後の懇親会に出席して) 先日のセミナーのあと、懇親会で何人かの方に 「Scheme についてどう思うか?」を聞かれました。 わたしは何を隠そう、初めて Scheme を知ったとき最終兵器を手に入れたような気分になった者の1人です。 もうこれで他のプログラミング言語を学ぶ必要はない、とまで思ったものです。 幸い、それが大間違いだったことにほどなく気がつき、 いまでは Scheme には ALGOL としての期待しか持っていません。 端的に言ってしまえば Scheme は Lisp ではないです。 この2つを混同するのは味噌糞いっしょ、ってやつで、つつしむべきです。 Confusing Common Lisp and Scheme is permissible once in a human life. -- Erik Naggumなぜか

  • JEmacs

    Abstract JEmacs is a re-implementation of the Emacs programmable text editor. It is written in Java, and currently uses the Swing GUI toolkit. Emacs is based on the extension language Emacs Lisp (Elisp), which is a dynamically-scoped member of the Lisp family. JEmacs supports Elisp, as well as the use of Scheme, a more modern statically-scoped Lisp dialect. Both languages get compiled to Java byte

  • Scheme:call/ccと副作用

    c.l.sで興味深い議論が進行していたのでメモ。 purely functional Lisp + call/cc = ? 発端は、Nils M Holmの 「Purely functionalなマイLispにcall/ccをつけてみたよ」 という投稿。 それに対し、Schemeの大御所達から 「call/ccは、副作用を生じるよ」 と突っ込みが入る。 言い替えれば、「set!などの明示的な副作用オペレータを一切持たない purely functionalなLispに、call/ccを導入すると、それはもはや purely functionalではなくなる」ということ。 実例 これは簡単な例によって示すことができる。szgygによる例: (let ((f (lambda (x) (call/cc (lambda (k) k))))) (cons (f 0) (f 0))) (f 0)の2回

    Scheme:call/ccと副作用
  • The Little JavaScripter

    https://www.crockford.com/little.html

  • Gauche:イディオム

    「Schemerの常識は他のプログラマの非常識」という理念に基づき、 実際のプログラムによく出てくる定型を列挙するコーナー。 といいつつ実際なんの役に立つのかわからないけどとりあえずおもしろいから いいやとか、単に笑えるだけの技なんかも集まるといいなあ。 大きいものは別に項目を立てるとして、こっちは10行くらいをメドに。 モデルにしたのはこのへん。 http://www.asahi-net.or.jp/~dp8t-asm/java/idiom/index.html 当面整理しないでただ並べておく。 関連 Lisp:コメント Scheme:コーディングスタイル Scheme:!と?(変数名の慣習) Scheme:多値 Scheme:named letの書き方 Scheme:マクロ:anaphoric ifの代替 Scheme:リスト処理 Scheme:テキスト処理 Gauche:入出力ポート

    Gauche:イディオム
  • SRFI 49: Indentation-sensitive syntax

    著者 Egil Mler http://redhog.org/ / redhog@redhog.org 著者 この SRFI は現在「確定」の状態である。 SRFI の各状態の説明については ここ を参照せよ。 この SRFI に対するコメントは、 srfi minus 49 at srfi dot schemers dot org 宛てにメールで送信してください。 このメーリングリストに参加する方法については、 ここの説明 を参照してください。 この SRFI に関する議論については メーリングリストのアーカイブ を参照せよ。 この SRFI に関する確定後の議論については メーリングリストのアーカイブ を参照せよ。 受理: 2003/11/23 草案: 2003/11/30-2004/01/28 改訂: 2005/05/29 概要 この SRFI では、S-式と同等の記述力を持つ、

  • Gauche スクリプトに S 式を渡したい時って

    例えばこういうことをしたい時って、 >gosh script.scm -sexp "identity" Hello, world >gosh script.scm -s "(^x (print x)(print x))" Hello, world Hello, world #<undef> >gosh script.scm -s "(lambda _ (use srfi-19 :only (current-date date->string))(current-date))" #<date (32400)="" 12="" 14="" 2010="" 23:18:00.218750000=""> こんなんで良いのかな。 (use gauche.parseopt) (define (main args) (let-args (cdr args) ((func "s|sexp=e" ident

    Gauche スクリプトに S 式を渡したい時って
    tyru
    tyru 2010/12/15
    ^xなんてあるんだ cutじゃダメだけどlambdaはめんどい時に使うのかな / おお検索したら /usr/share/gauche/0.9/lib/gauche/experimental/lamb.scm にあった
  • Scheme 入門 A-3. 継続についてもう少し

    Appendix 3. 継続についてもう少し 以下の文章は、以前継続について書いたものです。 皆様の継続の理解に役立てば幸いです。 1. はじめに Scheme の継続は大変強力だそうです。ただ、理解するのは大変難しく、実は紫藤もよくは理解していません。 ここでは備忘録を兼ねて継続について詳しく説明しようと思います。 Scheme は言語体系は小さいのですが、それによってほとんどのプログラミング技法が表現できるように 設計されています。他の言語に見られるような便利な機能は無いのですが、その分アルゴリズムを直接 記述できるので主に教育用言語として使われています。有名な 計算機プログラムの構造と解釈に記載されている プログラムは Scheme を用いて書かれています。なお、 実用的には全く用いられないということは無く、 Practical Scheme に事例があります。 継続を除いて、Sch

    tyru
    tyru 2010/12/13
    なるほど...継続ってどう実装するか想像できなかったけどこれでわかった。(気がする
  • 継続渡し形式(CPS)Javascriptプログラミング

    継続とはコンピュータがプログラムを実行しているときの次に何をするのかを表す概念です。詳しくは何でも継続のページを参照し欲しいのですが、継続はプログラムを実行する上で欠かせない存在となっています。ソースコードのある行を実行したら次の行を実行します。関数(サブルーチン)を終了したら、呼び出し元に戻ります。これらは全て継続です。あたりまえと言えばあたりまえのことです。しかし、このあたり前のことを明確に意識しようとすると途端に目の前に霞がかかったようになります。 プログラミングの世界の概念には、禅の公案のようなものがある。それを説明する文章はほんの一文なのに、最初に目にする時、その文は全く意味をなさない、暗号のように感じられる。だがひとたびその概念を理解すると、その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも「継続」は最も謎めいたもの

  • not found

    tyru
    tyru 2010/08/26
    「カッとなったので、実際に数えてみることにしました」
  • 404 Blog Not Found:TuringとChurchの狭間で

    2006年04月16日13:53 カテゴリMath書評/画評/品評 TuringとChurchの狭間で The Emperor's New Mind Roger Penrose [邦訳:皇帝の新しい心] なんでひげぽんが反復がすぐにわからなかったかを憶測すると、「変数とは代入すべきもの」、という手続き型言語の呪縛が思い立つ。ひげぽんは別にがっかりする必要はない。hyukiさんさえそれに引っかかっていたんだから。 その証拠を、以下にお見せする。 [結]2005年8月 - www.textfile.org sub fix { my $G = shift; return $G->( sub { my $x = shift; return fix($G)->($x); } ); } これはPerlで実装した不動点関数で、全く問題なく動く。しかし、hyukiさんも知らぬ間に一つ「反則」を犯しているこ

    404 Blog Not Found:TuringとChurchの狭間で
  • (begin a b ...)と(let () a b ...)は同じじゃない

    2022 (2) ► 10月 (1) ► 2月 (1) ► 2021 (51) ► 11月 (2) ► 10月 (2) ► 9月 (4) ► 8月 (4) ► 7月 (4) ► 6月 (4) ► 5月 (3) ► 4月 (10) ► 3月 (7) ► 2月 (4) ► 1月 (7) ► 2020 (155) ► 12月 (7) ► 11月 (10) ► 10月 (8) ► 9月 (8) ► 8月 (11) ► 7月 (21) ► 6月 (19) ► 5月 (14) ► 4月 (20) ► 3月 (13) ► 2月 (10) ► 1月 (14) ► 2019 (293) ► 12月 (11) ► 11月 (12) ► 10月 (24) ► 9月 (29) ► 8月 (27) ► 7月 (36) ► 6月 (40) ► 5月 (24) ► 4月 (35) ► 3月 (42) ► 2月 (6

    tyru
    tyru 2010/04/16
    構文的にPerlのsub { ... }->()とdo { ... }に似てると一瞬思った。スコープはどっちも作るけど、doの中ではループ中ではループ制御コマンドが使える。
  • Emacs S式操作

    2022 (2) ► 10月 (1) ► 2月 (1) ► 2021 (51) ► 11月 (2) ► 10月 (2) ► 9月 (4) ► 8月 (4) ► 7月 (4) ► 6月 (4) ► 5月 (3) ► 4月 (10) ► 3月 (7) ► 2月 (4) ► 1月 (7) ► 2020 (155) ► 12月 (7) ► 11月 (10) ► 10月 (8) ► 9月 (8) ► 8月 (11) ► 7月 (21) ► 6月 (19) ► 5月 (14) ► 4月 (20) ► 3月 (13) ► 2月 (10) ► 1月 (14) ► 2019 (293) ► 12月 (11) ► 11月 (12) ► 10月 (24) ► 9月 (29) ► 8月 (27) ► 7月 (36) ► 6月 (40) ► 5月 (24) ► 4月 (35) ► 3月 (42) ► 2月 (6

    Emacs S式操作
  • Nonexistent page: Scheme:!?

    tyru
    tyru 2010/04/06
    名前づけの慣習
  • マクロ展開に対する先入観 - チキン煮込みチーズミックス4辛

    プログラマがコード中に書いたマクロ マクロ展開によって出現するマクロ すべてが展開された後に評価されるもんだという先入観があった。 だけど、id:yagiey:20100223:1266942998あたりからその先入観が疑わしく感じ始めた。 例えば次のような場合 gosh> (define-macro (_if test e1 . e2) `(if ,test ,e1 . ,e2)) #<undef> gosh> (define-macro (_or . args) (cond ((null? args) #f) ((null? (cdr args)) (car args)) (else (let ((tmp (gensym))) `(let ((,tmp ,(car args))) (_if ,tmp ,tmp (_or . ,(cdr args)))))))) #<undef> gos

    マクロ展開に対する先入観 - チキン煮込みチーズミックス4辛
  • call/ccの冒険~その2

    call/ccの意味の分からないトコは、「無くてもいいじゃん?」って思えるケースがしばしば見受けられるトコです。 この原因の主たるところは、Schemeは明示的にreturnを使うようにはなっていない為じゃないのか、とかちょっと思うんです。 割に、C言語や、その派生モデルの言語の方がcall/ccの意図がつかみ易いのでは、と時々思います。 いずれにせよ、R5RSに以下のように記述されている通り、 call-with-current-continuation の平凡な用途は,ループまたは手続き体からの構造化された非局所的脱出である。 call/ccの取りあえずの目的は脱出なんです。いわゆるcall/ccの「すげえ機能」と言う一種の誤解は、この「脱出をどう実現してるのか」から出てきた言わば副産物なんですよね。 従って、call/ccで脱出にこだわるのは、call/ccの機能を知る為の第一歩な

    tyru
    tyru 2010/03/26
    「このように、結構高階手続きとcall/ccは相性が良いです。高階手続きを設計する際は『call/ccを使う余地が無いか?』考えてみるのが一興でしょう」
  • Re: CommonLisp の defmacro の &amp;body 相当について (Gauche-devel-jp) - Gauche - OSDN

    Shiro Kawai shiro****@lava***** 2005年 4月 22日 (金) 11:54:55 JST 前の記事 [Gauche-devel-jp] Re: CommonLisp の defmacro の &body 相当について 次の記事 [Gauche-devel-jp] Re: CommonLisp の defmacro の &body 相当について 記事の並び順: [ 日付 ] [ スレッド ] [ 件名 ] [ 著者 ] From: Makoto Satoh <makot****@yahoo*****> Subject: [Gauche-devel-jp] CommonLisp の defmacro の &body 相当について Date: Fri, 22 Apr 2005 11:26:21 +0900 (JST) > (defmacro with-image

    Re: CommonLisp の defmacro の &amp;body 相当について (Gauche-devel-jp) - Gauche - OSDN