2016-08-12 2 views
3

perl6用のperl5コードの準備を開始したいと思います。特に、私は変数がどのような型であると宣言するのが好きです。 perl6はBool、Int、Array、Hash、Num、Complex、Pair、およびStrを定義します。ですから、本質的にはCプリプロセッサの#define Int /**/と同等の処理をしたいと思います。それはデータ型をチェックすればさらに良いでしょうが、私はそれなしで暮らすことができます。perl6コード(無視された)perl6データタイプ

Easy?ハード?不可能?

答えて

6

Perl 5を解析できるパーサを作成する必要があります。コードがかなりシンプルでない限り、それは硬度のスケールがかなり高いです。

また、私はPerl 6プログラムをPerl 5コードとは非常に異なる構造にしています。技術的にPerl 5をPerl 6に移植するときには、1行ごとに1:1に非常に近くすることができますが、Perl 6に完全に切り替えると、結果は慣用的でなく、遅く、維持しにくいでしょう。空のマクロを追加するだけでは役に立ちませんあなたがするすべての間違いは無視されているからです。それは実際にあなたが良いプログラムの移植をしたいときに負担を増やすかもしれません。

このアイデアは魅力的ですが、あなたは仕事量を増やすだけで実際の利益を得ることはできません。

4

その方向に進むPerl 5モジュールがいくつかあります。オブジェクトの向きには、MooseMooseX::Method::Signaturesを使用できます。

サブシステムとメソッドの宣言には、Method::Signatures,Sub::SignaturesおよびKavorkaがあります。

CPANのPerl6名前空間も参照してください。

関連する問題