라쿠 (프로그래밍 언어)
보이기
(펄 6에서 넘어옴)
패러다임 | 멀티 패러다임 |
---|---|
설계자 | 래리 월 |
최근 버전 | 6.d 'Diwali'[1] |
최근 버전 출시일 | 2020년 10월 24일 |
자료형 체계 | 동적, 정적, 점진적 |
운영 체제 | 크로스 플랫폼 |
라이선스 | GNU GPL, 아티스틱 라이선스 |
웹사이트 | raku |
주요 구현체 | |
라쿠도 | |
영향을 받은 언어 | |
하스켈,[2] 자바스크립트, 펄 5, 루비, 스몰토크 |
라쿠(Raku, 과거 명칭: 펄 6/Perl 6)는 펄 프로그래밍 언어의 주요 버전이다. 현대의 수많은 역사적인 언어들의 요소들이 도입되어 있다. 초기 버전의 펄과의 하위 호환성이 목적은 아니지만 호환성 모드는 규격의 일부이다. 라쿠의 디자인 설계는 2000년에 시작되었다.
구현체
[편집]Niecza는 최적화 및 효율적인 구현 연구에 초점을 맞추고 있으며 공통 언어 기반을 대상으로 한다.[3]
예제
[편집] say 'Hello, world'
# 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))
}
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
}
각주
[편집]- ↑ “Announce: Raku Perl 6 'Diwali' 6.d Language Specification Release”. 《blogs.perl.org》. Zoffix Znet. 2018년 11월 5일. 2022년 8월 19일에 확인함.
- ↑ “Glossary of Terms and Jargon”. 《Perl Foundation Perl 6 Wiki》. The Perl Foundation. February 28. 2012년 1월 21일에 원본 문서에서 보존된 문서. 2012년 2월 9일에 확인함.
- ↑ O'Rear, Stefan (2011년 11월 29일). “Niecza README.pod”. 2012년 1월 12일에 확인함.
외부 링크
[편집]- 라쿠 - 공식 웹사이트
- 공식 펄 6 설계 문서 Archived 2014년 12월 23일 - 웨이백 머신. 개요 (공식 언어 명세). 참조를 위해 대재앙과 계시록들이 연결되어 있지만 개요는 항상 최신으로 유지되고 있으며, 주요 권장 참조임을 유의하자.
- 커뮤니티 RFC 원본 Archived 2012년 3월 16일 - 웨이백 머신 - 펄6의 역사에 관심이 있는 경우에만.
- 언어와 라이브러리 문서
- Planet Perl 6 - 펄 6를 주제로 포스팅하는 블로그들의 집합
- Perl5 to Perl6 - 펄 5를 펄 6의 문법과 기능들로 변환하는 Moritz Lenz의 지침
- Present Continuous, Future Perfect - 이스라엘 네타니아에서 열렸던 오픈 소스 개발자 컨퍼런스 2006에서 래리 월과 이루어진 펄 5와 펄 6에 대한 논의 (슬라이드와 음성 녹음에 대한 링크가 HTML로 함께 보관돼있음)
이 글은 프로그래밍 언어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |