라쿠 (프로그래밍 언어): 두 판 사이의 차이

위키백과, 우리 모두의 백과사전.
내용 삭제됨 내용 추가됨
잔글 버전 정보 업데이트
편집 요약 없음
5번째 줄: 5번째 줄:
| 연도 = 2000년
| 연도 = 2000년
| 설계자 = [[래리 월]]
| 설계자 = [[래리 월]]
| 최근 버전 = (구현체에 따라 다양함)<br /> Rakudo Star / {{출시일|mf=yes|2015|2|7}} <ref>{{웹 인용|url = http://rakudo.org/2014/12/26/announce-rakudo-star-release-2014-12//|title = Rakudo Star 2014.12 released|date = 26 December 2014|accessdate = 2014-12-26}}</ref><br />Niecza Perl 6 / {{출시일|mf=yes|2013|03|26}}<ref>{{웹 인용 |url=https://github.com/sorear/niecza/blob/master/docs/announce.v16|제목=Niecza Perl 6 v16}}</ref>
| 최근 버전 = (구현체에 따라 다양함)<br /> Rakudo Star / {{출시일|mf=yes|2015|6|1}} <ref>{{웹 인용|url = http://rakudo.org/2014/12/26/announce-rakudo-star-release-2014-12//|title = Rakudo Star 2014.12 released|date = 26 December 2014|accessdate = 2014-12-26}}</ref><br />Niecza Perl 6 / {{출시일|mf=yes|2013|03|26}}<ref>{{웹 인용 |url=https://github.com/sorear/niecza/blob/master/docs/announce.v16|제목=Niecza Perl 6 v16}}</ref>
| 형 체계 = [[자료형 체계|동적]], [[자료형 체계|정적]], 점진적
| 형 체계 = [[자료형 체계|동적]], [[자료형 체계|정적]], 점진적
| 구현체 = [[:en:Rakudo Perl|Rakudo]], [[:en:Niecza Perl 6|Niecza]]
| 구현체 = [[:en:Rakudo Perl|Rakudo]], [[:en:Niecza Perl 6|Niecza]]

2015년 7월 11일 (토) 13:55 판

펄 6
패러다임멀티 패러다임
설계자래리 월
발표일2000년
최근 버전(구현체에 따라 다양함)
Rakudo Star / 2015년 6월 1일(8년 전)(2015-06-01) [1]
Niecza Perl 6 / 2013년 3월 26일(11년 전)(2013-03-26)[2]
자료형 체계동적, 정적, 점진적
운영 체제크로스 플랫폼
라이선스GNU GPL, 아티스틱 라이선스
웹사이트Perl6.org
주요 구현체
Rakudo, Niecza
영향을 받은 언어
하스켈,[3] 자바스크립트, 펄 5, 루비, 스몰토크

펄 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. “Rakudo Star 2014.12 released”. 2014년 12월 26일. 2014년 12월 26일에 확인함. 
  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 (2011년 11월 29일). “Niecza README.pod”. 2012년 1월 12일에 확인함. 

바깥 고리