Rakudo & Perl 6 talk, Gabor Szabo

Get Started. It's Free
or sign up with your email address
Rocket clouds
Rakudo & Perl 6 talk, Gabor Szabo by Mind Map: Rakudo & Perl 6 talk, Gabor Szabo

1. About

1.1. http://szabgab.com

2. Perl

2.1. connotation

2.1.1. There are very ugly things written in the past

2.1.2. & there are more modern well-written & beautiful apps

2.2. stolen from a lot of languages

3. Perl 6

3.1. About

3.1.1. Not yet released

3.1.1.1. Don't use for customer-facing apps

3.1.1.1.1. Not everything implemented

3.1.1.2. Use for internal apps

3.1.1.3. Hunch regarding release

3.1.1.3.1. 1-1.5y

3.1.2. Breaks backward-compatibility

3.1.3. Runs on VM

3.1.3.1. Parrot

3.1.3.2. Supports translation to other languages

3.1.3.2.1. e.g.

3.1.4. written in Not-quite-perl

3.1.4.1. using the Grammer explained below

3.1.5. supports defining operators using unicode chars

3.1.5.1. basically a function

3.1.5.2. e.g.

3.1.5.2.1. not equal

3.1.5.2.2. left arrow

3.2. Regexes

3.2.1. Untitled

3.2.1.1. ~~ is the operator

3.2.1.2. /m means match

3.2.1.3. spaces have no effect

3.2.2. symbols

3.2.2.1. /d

3.2.2.1.1. digit

3.2.2.2. /D

3.2.2.2.1. non-digit

3.2.2.3. /n

3.2.2.3.1. new-line

3.2.2.4. /N

3.2.2.4.1. not new-line

3.2.2.5. .

3.2.2.5.1. anything

3.2.2.6. non-alpha-numeric (e.g., -) need be escapes

3.2.2.6.1. \-

3.2.2.6.2. '-'

3.2.2.7. ^

3.2.2.7.1. string start

3.2.2.8. ^^

3.2.2.8.1. new line string start

3.2.2.9. $

3.2.2.9.1. string end

3.2.2.10. $$

3.2.2.10.1. end string & end of line

3.2.3. Ranges

3.2.3.1. [0..9]

3.2.4. Quantifiers

3.2.4.1. \d ** 3

3.2.4.1.1. 3 digits

3.2.4.2. \d ** 2..3

3.2.5. ** also means: delimiter

3.2.5.1. if $words ~~ m/^ [\w+] ** [\,]$

3.2.6. capture

3.2.6.1. group capture now returns 2-dimensional array

3.2.7. rules

3.2.7.1. e.g.

3.2.7.1.1. :sigspace, or :s

3.2.8. tokens

3.2.8.1. e.g.

3.2.8.1.1. :ratchet or :

3.2.9. Grammer

3.2.9.1. e.g.

3.2.9.1.1. Untitled

3.2.9.1.2. my $result = Add1.parse($exp)

3.2.9.2. Can have error handling inline

3.2.9.2.1. To explain the mis-matches

3.2.9.3. Support inheritance

4. My take

4.1. Very powerful regex

4.1.1. tho it was great in Perl 5, so why change it?

4.1.2. seems great for NLP

4.2. Still not readable

4.2.1. require expertize & cognitive effort to understand