パスワードを忘れた? アカウント作成
25266 story
ソフトウェア

新仕様R6RSの準拠を目指したSchemeインタプリタMosh 0.0.1リリース 18

ストーリー by nabeshin
「高速な」もポイント 部門より

あるAnonymous Coward曰く、

Mona OSのひげぽん氏がサイボウズ・ラボのブログでSchemeの新仕様R6RSの準拠を目指したSchemeインタプリタMosh(Monar)のリリースを発表しています。R6RSは以前Schemeの新仕様「R6RS」成立で取り上げられていましたが、ついに国内からもR6RSのインタプリタが出てきました。

Schemeといえば最近プログラミングGaucheが出版されるなどコミュニティが活発になってきているので、Schemeブームの訪れも近いのかもしれません。

5月14日15:00追記:
ひげぽんさんより。「誤解をうけかねない名称ということで名称を変更いたしました」とのことで、タイトル部を「Monar」→「Mosh」と変更しました(本文も修正)。また、プロジェクトも新しい場所になり、さきほど0.0.2がリリースされています。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • schemeだけに (スコア:2, おもしろおかしい)

    by harupiko (31283) on 2008年05月14日 12時16分 (#1343869)
    スキマ産業にしかならんのでは・・・と言ってみた。
  • 差分実装 (スコア:2, 興味深い)

    by Nyaboo (33313) on 2008年05月14日 12時49分 (#1343895)
    ためしにビルドしようとして、./configureしたところ、下記エラーで止まりました。

    checking for gosh... no
    configure: error: gosh not found. Gauche (http://practical-scheme.net/gauche/) is required to build.

    えっ、ちょっ、おまっ……。
    え~と、Gaucheというのは、

    Gauche(ゴーシュ)は、スクリプトインタプリタとしての使い易さに重点を置いて開発を行っている
    R5RS準拠のScheme処理系です。

    ということなので……え~と……。
    なるほど、やけにファイル数が少ないと思ったら、差分の実装なんですね。
    車輪の再発明を最低限に抑える点で、見習いたいです。すばらしいです。
    # けど、なんか面倒になってきたので、ビルドして試してみるのは先送りです。
    --
    Nyaboo
    • by Anonymous Coward
      差分というわけじゃなくて、ブートストラップにGaucheを使ってるだけじゃないのかな。
      Gaucheのランタイムをリンクしてる様子も無いし、ビルド時に必要なだけだと思うよ。
    • by Anonymous Coward
      うーん、ある言語の処理系がその言語自身で書かれているのは割と普通だと思うけど
      もちろん、その言語の処理系が無いとビルド出来ないよね

      後、何と言ったら良いのか分かんないんだけど
      ./configureって打つしか出来ないのに「ビルド」って言うのはカッコ悪いと思うよ

      # 要するに「適当な事抜かすなボケ」
      • Re:差分実装 (スコア:1, おもしろおかしい)

        by Anonymous Coward on 2008年05月14日 20時48分 (#1344223)
        > ./configureって打つしか出来ないのに「ビルド」って言うのはカッコ悪いと思うよ

        では、ビルド以外の、代替案をお願いします。
        load runner並みの名作を。
        親コメント
      • by Deasuke (34806) on 2008年05月14日 21時17分 (#1344230) 日記
        > うーん、ある言語の処理系がその言語自身で書かれているのは割と普通だと思うけど
        moshはmeta-circular (参考 http://en.wikipedia.org/wiki/Metacircular_Interpreter ) をやってる訳じゃないと思います。
        単に解析+VMインストラクションへの変換の部分のプログラム生成をGaucheにやらせてるだけかと。

        # コメントの深読みしすぎだったらごめんなさい。

        --
        Best regards, でぃーすけ
        親コメント
      • by Anonymous Coward
        >./configureって打つしか出来ないのに「ビルド」って言うのはカッコ悪いと思うよ

        そうだな、脳内でコンパイル/リンクしてヘックスダンプ直打ち位しないと「ビルド」したとは言えないな。
    • by Anonymous Coward
      ひげぽんさんも読んでいるならちょいと顔出せばいいのにと思うんだけど、Nyabooさんの疑問にお答えしてくれているので
      ぺたっと貼っておきますMoshに関する誤解 [hatena.ne.jp]

      schemeでかかれたコンパイラがcppへ変換されて行くところとかちょいと面白いです(でもそのためにgccのオプティマイザが根を上げたりしてたらしい)

      #それにしてもひげぽんさんの熱意やら勉強熱心なところは見習わないとな~。
      • ありがとうございます、参考になります。
        (というか、文言は変えてありますが、この「誤解」は明らかに私のコメントですよね)
        よく調べもせずに適当なこと書いてすみませんでした。>ひげぽんさん

        それにしても、schemeを使ってcppを生成するのは面白いですね。
        この手のコンパイラの実装というと、yacc/lexとかbisonしか思い浮かばない私には、
        目からうろこが落ちる思いです。
        思い返せば、BASICで実装されたBASICコンパイラで、最初にやるのはそのBASICコンパイラ
        自身をコンパイルすることだったり、gccをビルドするのにccを使って、できたgccでさらに
        gcc自体を再ビルドしたりとか、いろんな処理系があったのを思い出しました。

        > #それにしてもひげぽんさんの熱意やら勉強熱心なところは見習わないとな~。
        同意です。
        というか、「ひげぽんさんが差分実装などというぬるいことをするわけがないだろ」という
        心の奥からの警鐘を無視して元コメントを書いてしまい、申し訳ない限りです。
        --
        Nyaboo
        親コメント
  • それくらいリソースが豊かな時代なのかもしれない。
    LISP って、古参の割にはリソース喰らいなのです。
  • ってあるのだろうか?

    Common Lisp なら,商用の Allegro Common Lisp か CMUCL (or SBCL) あたり?
    Scheme はまさか Guile か?

    # Gauche かなあ….Gauche には何故か独自仕様が多そうという偏見を持っている.
  • by Anonymous Coward on 2008年05月14日 12時39分 (#1343888)
    ついさっきですのようですが
  • by Anonymous Coward on 2008年05月14日 12時51分 (#1343897)
    LISP→(方言)Scheme→(方言)Gaucheでおk?
    • Re:認識 (スコア:3, すばらしい洞察)

      by Deasuke (34806) on 2008年05月14日 13時23分 (#1343926) 日記
      > LISP→(方言)Scheme
      と良く言われていますが、

      LISP → 言語のジャンル
      CommonLisp→言語
      Scheme→言語
      だと思った方が良いのでは?と考えたりします。あと、
      Gaucheは処理系でgoshはGaucheの対話環境のコマンド名称なので、処理系の名称をmoshとするのは疑問を感じます。
      --
      Best regards, でぃーすけ
      親コメント
    • Re:認識 (スコア:2, 参考になる)

      by Anonymous Coward on 2008年05月14日 23時05分 (#1344287)
      正確ではないけれど,

      ALGOL 系(言語族)→ C(言語)→ gcc(処理系)

      と同じ感じで

      LISP 系(言語族)→ Scheme(言語)→ Mosh, Gauche(処理系)

      くらいに思っていた方がいいでしょう。LISP 系の二大勢力のもう片方が Common Lisp(言語) ね。
      親コメント
    • by Anonymous Coward
      Gaucheは処理系
  • by Anonymous Coward on 2008年05月14日 13時28分 (#1343930)
    新しいLet'sNoteだと思ってしまった。
    • by Anonymous Coward
      R6RSと書かれるとRainbow Six Raven Shield に見えて困る
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...