この文書はプログラミング言語Perl6 の全体像を素早くつかんでもらうことを目的として書かれたものです。 まだPerl6を触ったことのない読者の方々が、ここからPerl6をはじめてもらうことを狙いとしています。
この記事は Perl 6 Advent Calendar 2015 の1日目です。 Perl 6 は、2015年のクリスマスにリリースされることになっており、我々としてはそれを待ち受ける必要があると考えました。 Perl6 がリリースされた暁には、いろいろ遊ぼうかなという気持ちをみなさんお持ちだと思います。 Perl6 には夢が詰まっており、様々な機能が含まれている夢の言語です。 そういった、夢の機能については今後、クリスマスまでの間に、語られていきますが、本稿では、現実的な話をします。 今年のクリスマスに Perl6 がリリースされるぞ、という宣言がでたわけですが、そうなってくると、Perl6 をクリスマスから早速遊びたいなと思うわけですよね。 そして、私は web engineer なので、 Perl6 が出たら早速 web application を書きたいと思うわけです。 しかし、
先日、 Perl6で記号Hello worldする - すぎゃーんメモ perl6なので6種類の記号だけでプログラムを書く - すぎゃーんメモ の2つの記事でPerl6の記号プログラムを紹介したけど、その作り方については何も言及していなかったので ちゃんと書いておこうと思います。 おさらい: Perl5における記号プログラムの基礎 Perl5における記号プログラミングの手法は古くから確立されていて、 記号だけのPerlプログラミングの基本原理 - JPerl Advent Calendar 2010 Sym Track の記事にも全貌が載っていますが、要するに「任意のプログラム文字列を排他的論理和(XOR)を使って生成し、それを拡張正規表現を利用してevalする」という方法です。 01100000 => 0x60 ('`') ^) 00100001 => 0x21 ('!') ------
Yay, I released WebSocket.pm on ecosystem. You can write a WebSocket server very easy! Here is an example chat server in Perl6. https://github.com/tokuhirom/p6-WebSocket/blob/master/eg/chat.pl6 use v6; use HTTP::Server::Tiny; use WebSocket::P6SGI; sub MAIN(Int :$port=80) { my $html = $=finish; $html ~~ s:g/'<<<PORT>>>'/$port/; my $supply = Supply.new; my $s = HTTP::Server::Tiny.new(port => $port);
本記事はサクッと perl6 (rakudo) が動く環境を作って,ズバッと Hello world してみるというやつです. 早速行ってみましょう. 1. rakudobrew をインストールする rakudobrew をインストールします rakudobrew というのは perl5 で言うところの perlbrew/plenv,ruby で言うところの rvm/rbenv のようなものです. なぜこうした物を使うかというと,perl6 は開発が非常に活発な言語であるためにデイリーで変更が入っていて,直っていたり壊れていたりするためです. 2015年10月現在,perl6 をやるときは rakudo と MoarVM は HEAD を使うというのが紳士の嗜みとなっています *1. というわけで入れましょう. git clone https://github.com/tadzik/rak
Perl6 には Grammar という機能があるのですが、これがまた凄いんです。スキャナとトークナイザと処理系が引っ付いている様な物がデフォルトで提供されているんです。 通常はこれらが別の機能として提供されており、プログラミング言語を実装する過程でデータの受け渡しがシームレスではなく、実装を変えたりするのが非常に面倒だったりします。しかしこれが Perl6 という一つの処理系の中で提供されてしまっている為、本来であれば数百ステップくらい掛かってしまう俺言語のコードが50ステップ程度で書けてしまいます。 use v6; grammar SyoboiScript::Grammar { token num { <[0..9]>+ } token ident { <[a..z]>+ } token op { '+' || '-' || '*' || '/' } token exp { <iden
Hi, i'm tokuhirom, one of the core developer of Plack. During the past few weeks, I've been hack the Perl6. This is to celebrate the Christmas in the best mood. I'm a minimalist, and I love a software built on clean and well tested parts. I mean tokuhirom loves CPAN. To write the practical web applications in Perl6, it has released some of the library. HTTP::Server::Tiny - IO::Socket::Async based
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く