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

위키백과, 우리 모두의 백과사전.
내용 삭제됨 내용 추가됨
Potatogim (토론 | 기여)
TedBot (토론 | 기여)
잔글 봇: 틀 이름 및 스타일 정리
69번째 줄: 69번째 줄:
* [http://planetsix.perl.org/ Planet Perl 6] - 펄 6를 주제로 포스팅하는 블로그들의 집합
* [http://planetsix.perl.org/ Planet Perl 6] - 펄 6를 주제로 포스팅하는 블로그들의 집합
* [http://perlgeek.de/en/article/5-to-6 Perl5 to Perl6] - 펄 5를 펄 6의 문법과 기능들로 변환하는 Moritz Lenz의 지침
* [http://perlgeek.de/en/article/5-to-6 Perl5 to Perl6] - 펄 5를 펄 6의 문법과 기능들로 변환하는 Moritz Lenz의 지침
* [http://web.archive.org/web/20060704213227/http://wiki.osdc.org.il/index.php/Larry_Wall_-_Present_Continuous,_Future_Perfect Present Continuous, Future Perfect] - 이스라엘 [[네타니아]]에서 열렸던 오픈 소스 개발자 컨퍼런스 2006에서 [[래리 월]]과 이루어진 펄 5와 펄 6에 대한 논의 (슬라이드와 음성 녹음에 대한 링크가 HTML로 함께 보관돼있음)
* [http://web.archive.org/web/20060704213227/http://wiki.osdc.org.il/index.php/Larry_Wall_-_Present_Continuous,_Future_Perfect Present Continuous, Future Perfect] - 이스라엘 [[네타니아]]에서 열렸던 오픈 소스 개발자 컨퍼런스 2006에서 [[래리 월]]과 이루어진 펄 5와 펄 6에 대한 논의 (슬라이드와 음성 녹음에 대한 링크가 HTML로 함께 보관돼있음)


{{토막글|프로그래밍 언어}}
{{토막글|프로그래밍 언어}}

2016년 2월 27일 (토) 23:25 판

펄 6
패러다임멀티 패러다임
설계자래리 월
발표일2000년
최근 버전(구현체에 따라 다양함)
라쿠도 스타(Rakudo Star) / 2015년 7월 27일(8년 전)(2015-07-27) [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일에 확인함. 

바깥 고리