펄 6

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
펄 6
패러다임 멀티 패러다임
발표년도 2000년
설계자 래리 월
최근 버전 (구현체에 따라 다양함)
Rakudo Star / 2012년 10월 29일, 760일 경과 [1]
Niecza Perl 6 / 2012년 03월 26일, 977일 경과[2]
자료형 체계 동적, 정적, 점진적
주요 구현체 Rakudo, Niecza
영향을 받은 언어 하스켈,[3] 자바스크립트, 펄 5, 루비, 스몰토크
운영 체제 크로스 플랫폼
라이선스 GNU GPL, 아티스틱 라이선스
웹사이트 Perl6.org

펄 6(Perl 6)는 프로그래밍 언어의 주요 버전이다. 현대의 수많은 역사적인 언어들의 요소들이 도입되어 있다. 초기 버전의 펄과의 하위 호환성이 목적은 아니지만 호환성 모드는 규격의 일부이다. 펄 6의 디자인 설계는 2000년에 시작되었다.

구현체[편집]

Niecza는 최적화 및 효율적인 구현 연구에 초점을 맞추고 있으며 공통 언어 기반을 대상으로 한다.[4]

예제[편집]

Hello world 프로그램[편집]

 say 'Hello, world'

퀵소트(Quicksort)[편집]

 # Empty list sorts to the empty list
 multi quicksort([]) { () }
 
 # Otherwise, extract first item as pivot...
 multi quicksort([$pivot, *@rest]) {
     # Partition.
     my @before = @rest.grep(* < $pivot);
     my @after  = @rest.grep(* >= $pivot);
 
     # Sort the partitions.
     (quicksort(@before), $pivot, quicksort(@after))
 }

하노이 탑(Tower of Hanoi)[편집]

 multi sub hanoi(0, $, $, $) { }                         # No disk, so do not do anything
 multi sub hanoi($n, $a = 'A', $b = 'B', $c = 'C') {     # Start with $n disks and three pegs A, B, C
     hanoi $n - 1, $a, $c, $b;                           # firstly move top $n - 1 disks from A to B
     say "Move disk $n from peg $a to peg $c";           # then move last disk from A to C
     hanoi $n - 1, $b, $a, $c;                           # lastly move $n - 1 disks from B to C
 }

주석[편집]

  1. Michaud, Patrick (29 October 2012). Rakudo Star 2012.10 released. 2012년 10월 29일에 확인.
  2. Niecza Perl 6 v16.
  3. Glossary of Terms and Jargon. 《Perl Foundation Perl 6 Wiki》. The Perl Foundation (February 28). 2012년 2월 9일에 확인.
  4. O'Rear, Stefan (29 November 2011). Niecza README.pod. 2012년 1월 12일에 확인.

바깥 고리[편집]