パスワードを忘れた? アカウント作成
7531 story

Lython: Python用common lispフロントエンド 14

ストーリー by Oliver
括弧の森の蛇 部門より

moriwaka 曰く、 "Pythonによるcommon lispフロントエンドlythonが開発されている。Lythonはcommon lisp風の記述を読み込み、直接Pythonバイトコードを出力して実行する。まだ初期のコンセプトリリースで、マクロやcar/cdr関数のような(lispとして)基本的な要素も十分ではないが、Pythonモジュールを読み込んで実行するサンプルなどを見ると、lispとPythonの利点をあわせもつ強力な処理系への期待が膨らむ。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by nonstandard8analysis (20388) on 2004年02月16日 1時32分 (#496365)
    car/cdr にちゃんとした、明快な名前を付けてほしいんだけど。
    • by Anonymous Coward
      contents-of-the-address-part-of-the-register
      contents-of-the-decrement-part-of-the-register
      ・・・なんか違う気もする。
      #Common Lispにはfirst/restってのがあるな。
      • Re:car/cdr (スコア:2, 参考になる)

        by etsav (7596) on 2004年02月16日 3時35分 (#496382) ホームページ 日記

        以前 Common Lisp を使う職場に派遣されてた頃、 最初に car/cdr を使って書いてたら軽~く失笑されたので、 それ以降 first/rest しか使いませんでした。

        あれは『時代遅れ』みたいなニュアンスの失笑だったかなぁ。

        ;;; cadddr なんてのよりは fourth の方がはるかに解りやすいですしね。

        親コメント
        • by Anonymous Coward
          > ;;; cadddr なんてのよりは fourth の方がはるかに解りやすいですしね。

          けっ。トーシローが。。。
          • by Anonymous Coward
            プロはそういうセリフは吐かん。
            理由の説明できない素人でない限り。
            • Re:car/cdr (スコア:1, 興味深い)

              by Anonymous Coward on 2004年02月16日 18時50分 (#496813)
              別ACだけど
              cadddr = car o cdr o cdr o cdr (o は関数合成)
              だからLisperな人にはcaddrの方が分かりやすいんでしょう。
              親コメント
              • Re:car/cdr (スコア:2, 参考になる)

                by etsav (7596) on 2004年02月16日 22時21分 (#496927) ホームページ 日記

                cons cell に対して car と cdr が何をやってるかを知らず、 単純に『cadddr ≡ fourth だから四つ目の要素を取ってくる』って短絡しちゃうと、 cdr 部がリストでない dot pair が出てくるとはまっちゃうかも。 中で何をやってるかが明示されてる cadddr の方が、 その点では確かに解りやすいですね。

                まぁあたしゃ native Lisper ではありませんので、 しろーとったらしろーとなんですけど―― こんな阿呆コード [srad.jp] は書くゎ、 困った時は progn 頼みだゎで。

                ;;; いちおー数年間は Lisp(だけじゃないけど)でご飯食べてたので、
                ;;; プロではないとも言えないのですが。

                親コメント
            • by Anonymous Coward
              いや、ちゃいます。プロはcdddddddrなんて使いません。
              なんてたって、本当のプロはもうみんな老眼ですから。
  • by IdentifiedCoward (20520) on 2004年02月16日 2時03分 (#496368)
    シンプルなシステムこそ、実は最も強力な処理系だったり・・・

    でも、短いプログラムなら、自由なパラダイムで、簡単に書けるのも便利ですよね。
    特に、関数型と手続き型の利点が、うまくマッチしてれば、とても簡単にプログラムが書けるようになるのかも。。。
  • by picard (4667) on 2004年02月16日 8時19分 (#496412) 日記
    1. スコープの違いって反映されるのだろうか?
    2. disassembleするとpythonのコードが吐くのだろうか?
    3. setfとsetq由来のコードに違いは出るのだろうか?
    • by habe (11732) on 2004年02月16日 12時25分 (#496481)
       CommonLispのコードがPythonのバイトコードにコンパイルされるって訳ではないみたいです。サンプルプログラムを見る限り単にPythonを括弧と前置記法で書いてみようかなってことだと思います。

       で。Pythonってダイナミックスコープを持っていないんじゃないでしょうか。完全にCommonLisp準拠にするためにはCommonLispインタプリタを書く羽目になると思います。

       ただ簡単なマクロが実装されているようなのでsetfっぽいことは案外簡単にできるんじゃないでしょうか。

      # まあ無理してPythonでLispしないでも本物のLispがあるんだし…。
      親コメント
      • by kai_kamome (4560) on 2004年02月16日 23時36分 (#496957) ホームページ 日記
        > # まあ無理してPythonでLispしないでも本物のLispがあるんだし…。

        そういう話ではなくて、Pythonの便利機能やらライブラリやらを
        使いたいLisperにちょっと浮気する選択肢があたえられるのが
        うれしいのではないのかな?
        --
        wild wild computing
        親コメント
    • by Anonymous Coward
      Pythonで実装したLisp処理系と
      Lispで実装したPython処理系って
      どっちが現実的?
  • by Anonymous Coward on 2004年02月16日 9時41分 (#496429)

    こっち [cons.org]のほうでは?


    Q: Why does CMUCL say it's called Python 1.0 when it starts up? Isn't that the name of a scripting language?

    A: The CMUCL native code compiler is called Python. This use of the name predates the existence of that other scripting language.
typodupeerror

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

読み込み中...