Today アクセスカウンター Yesterday アクセスカウンター

てか,そもそも Mercury ってなんじゃい,て話ですな.

google : マーキュリー 約 2,210,000 件

(google に頼らなければ生きていけない,ヒヨワなインターネット世代 !!)

マーキュリーというのは,母親は医者で日本画家である父親とは離別している IQ300の頭脳を持ち全国模試で常に順位一桁級の優等生,水野亜美が…

とかいう小ネタはどうでも良い.

(妹が「なかよし」愛読者でした管理人)

あと,Queen のボーカルでも,株式会社ミクシィの前身でもないです.

The Mercury Project Introduction

What is Mercury?

Logic programming languages have been around for more than twenty years. Despite the expected advantages of a very high level programming language based upon well developed theories of logic over conventional programming languages (such as C, C++, Pascal and Ada) they have not had significant impact on the computer industry.

Mercury is a new logic/functional programming language, which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features. Its highly optimized execution algorithm delivers efficiency far in excess of existing logic programming systems, and close to conventional programming systems. Mercury addresses the problems of large-scale program development, allowing modularity, separate compilation, and numerous optimization/time trade-offs.

(Mercuty とは何か ?

論理プログラミング言語は 20 年以上にも渡る歴史を持っている.ただし,高度に発達した論理学の理論に基づき,(C/C++/Ada/Pascal のような) 古典的な言語よりも,多くの利点を持つ超高水準のプログラミング言語であると期待されながらも,コンピュータ産業にはほとんど影響を与えることが無かった.

Mercury は,明確さと表現力を兼ね備え,先進的な静的解析とエラー検出機能を持つ,新しい関数論理型プログラミング言語です.既存の論理プログラミングシステムを超え,古典的なプログラミング言語に近い処理効率を生み出す,強力な実行アルゴリズムの最適化を行います.Mercury は,大規模プログラム開発における諸問題に対して,モジュール性,分割コンパイル,そして数々の最適化とコンパイル時間のトレードオフによって対応します)

とのこと.なかなか気合が入ってる感じです.

関連するプロジェクトとしては,以下のようなものがあるようです.

The Mercury Project Related Projects

Goedel is a logic programming language, with a strong type system, module system, and support for infinite precision numerical calculation and meta-programming facilities.

(Goedel は,モジュールシステムを備え,メタプログラミング機能と無限精度算術計算をサポートする,強く型付けされる論理型言語です)

* Goedel

Sisal is a high-performance portable parallel functional programming language.

(Sisal は,高性能でポータブルな並列関数型言語です)

* Sisal

Clean is a general purpose, higher order, pure and lazy functional programming language. It uses uniqueness types which are similar to Mercury's unique modes, and allows programmers to build distributed systems.

(Clean は,汎用高階純粋遅延関数型言語です.Mercury のユニークモードと似た,一意型を使用し,分散システムを構築することができます)

* Clean

Mercury の注目すべき点は,やっぱり GCC のフロントエンドがある,ってことですかね.いろいろ微妙な感じではあるものの.

結局のところ,企業がサポートしない言語は,GCC に組み込まれない限り,本物とは認められないと思うのですよ (GCC の品質については,ここでは議論しないけど).オープンソースの世界のコンパイラ = GCC だもん.

まぁ,あんまり The Shakespeare Programming Language とかは使う気になれないから,GCC のフロントエンドがありゃ良い,ってわけでも無いんだけど.

あと,リフレクションとか相当の,リッチな動的言語機能を備えている言語 (最近の言語は全て) は,巨大なランタイムがリンクされてしまうことが避けられないので,GCC でコンパイルできても全然うれしくないという問題もある.

だったら,.NET とかみたいに,最初から洗練された VM の方が良いよね,GCC なんてダサいよね,ネイティブコンパイラなんて今日日流行らないよね,CLR がネイティブの Windows Vista 最強 !!! という話に.Linux とか GCC みたいな,オープンソースのガラクタどもなんてもう古い !!

やっぱり,C/C++ と,その専用実行環境 x86 は死滅すべき老害という,いつもの結論に… 現在の計算機には夢が無いんだよ,夢が.こんな閉塞した世界に誰がした ! (中二病発動)

コメント

Secret

> ネイティブコンパイラなんて今日日流行らないよね,CLR がネイティブの Windows Vista 最強 !!!

ちょ、興奮のあまり「ネイティブ」の意味するところが
あっちいったりこっちいったりしてる(笑)

そいや、JITの元祖ってどこにあるんでしょうか?

ものの元祖にこだわる男
#えいごではかけましぇん ;-p

> きむら さん

なんか,Vista では,「ネイティブコード」と同等の速度で .NET アプリが動くようになる,とかいう風の噂を聞いたような… あんまり騒がれてない感じなので,デマだったのかもしれません.

ただ,仮にそう (VM が OS になる) なったとすると,「ネイティブ」 の意味もあっちいったりこっちいったりするんじゃないでしょうか (笑)

C++ だろうが,C# だろうが,結局は OS のシステムコール呼ばないと何もできませんし,VM が OS (Vista) になったとしたら,本質的にネイティブコードもバイトコードも同じことになるような気も.

まぁ,どっちみち与太なので良いとして.

JIT の元祖は,やっぱり Lisp なんじゃないでしょうかね ?

というか,初期のころから,Lisp は対話的にコンパイルしてそのまま実行するのが普通だったので.

もしかしたら,JIT という概念は,C 言語によって後から生み出された固定観念なのかも.

そもそも,OS などもまだ無かったような機械語の時代は,自己書き換えコードも普通だったらしいですし.

ああ,酒が残ってた.

なんで急に JIT が出てきたのか ? と思っていたら,VM からの流れですな (ボケ過ぎ)

VM のバイトコードとネイティブコードという区別も,JIT があると限りなくあいまいになりますねぇ.

.NET on vista

> なんか,Vista では,「ネイティブコード」と同等の速度で .NET アプリが動くようになる,とかいう風の噂を聞いたような… あんまり騒がれてない感じなので,デマだったのかもしれません.

うーと、OfficeとかIEなんかでこっそりやっているように、
.NETのコアの部分をOS起動時にあらかじめロードしてしまうことで
.NET使用のプログラムの起動を早くするということかな?
.NET使用のプログラムの起動が遅いのは事実なので。

んで、JIT云々はJava VMと同じように CLRもJITコンパイルしてたよなあ
ということで話題を振ってみますた。

> というか,初期のころから,Lisp は対話的にコンパイルしてそのまま実行するのが普通だったので.

FORTRANで書かれたという最初のLispのソースコードなんて
見られないもんですかねえ。

オリジナルawkのソースを見られなかった男
#カーニハン大先生いわく「残ってないと思うし、あってもどこにあるかわからないなあ」
#とのこと。

> きむら さん

あー,なるほど.確かに,最初からずーっと VM が立ち上がってるのが普通の OS だったら,ネイティブアプリも .NET アプリも,ほとんど体感速度は同じになりそうですねぇ.

ちなみに,最初の Prolog も FORTRAN で書かれたそうです.
プロフィール
  • Author:あろは (alohakun)
  • 京都のデバッガベンダーに勤めるアラサー会社員。

    本ブログの内容は,あくまでも個人的な感想や意見であり,会社の意見を代表するものでは一切ありません.

    連絡先 : alohakun ___at___ gmail.com
    mixi : http://mixi.jp/show_friend.pl?id=182927
    twitter : http://twitter.com/alohakun













    あわせて読みたい


    この日記のはてなブックマーク数


    スカウター : ホワット・ア・ワンダフル・ワールド


    Map
FC2カウンター
ブロとも申請フォーム

この人とブロともになる

最近のコメント
リンク
最近のトラックバック
人生の残り日数
日本人男性の平均寿命は 28700日.
RSSフィード
カテゴリー
  1. RSSリーダー