2016-08-12 6 views
3

perl6에 대한 일부 perl5 코드의 준비를 시작하고 싶습니다. 특히, 나는 변수가 무엇이되어야 하는지를 선언하는 아이디어를 좋아한다. perl6은 Bool, Int, Array, Hash, Num, Complex, Pair 및 Str을 정의합니다. 그래서 본질적으로 C 프리 프로세서 인 #define Int /**/을 지금 사용하고 싶습니다. 그것은 데이터 형식을 확인하는 것이 더 좋을 것이지만, 그것 없이는 살 수 있습니다.(무시 된) perl6 데이터 형식이 포함 된 perl5 코드

Easy? 단단한? 불가능한?

답변

6

Perl 5를 구문 분석 할 수있는 파서를 작성해야합니다. 코드가 매우 단순하지 않으면 경도의 크기가 상당히 높아집니다.

또한 필자는 Perl 6 프로그램이 Perl 5 코드와 매우 다르다는 것을 발견했습니다. Perl 5를 Perl 6로 포팅 할 때 기술적 인면에서 라인 단위로 1 : 1에 가깝게 머무를 수 있지만 Perl 6로 완전히 전환 할 때 그 결과는 관용적이지 않고 느리고 어렵습니다. 빈 매크로를 추가하면 도움이되지 않습니다 당신이하는 모든 실수가 그냥 무시되기 때문에 당신이 많이. 이는 실제로 프로그램을 이식하기를 원할 때 실제로 부담을 증가시킬 수 있습니다.

아이디어가 매력적이지만 실제적인 이득이 없으면 작업량을 늘릴 수 있습니다.

4

그 방향으로 향하는 Perl 5 모듈이 여러 개 있습니다. 객체 방향에 대해서는 MooseMooseX::Method::Signatures을 사용할 수 있습니다.

서브 시스템 및 메소드를 선언 할 때는 Method::Signatures, Sub::SignaturesKavorka이 있습니다.

CPAN의 Perl6 네임 스페이스도 확인하십시오.