»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:46 dayangkun joined 00:47 dayangkun left 01:04 colomon joined
grondilu has finished recompiling rakudo and no, it didn't help. Kind of frustrating. 01:22
01:23 colomon left, xinming joined 01:27 colomon joined 01:39 colomon left, tokuhirom left 01:40 For-Odin joined 01:42 For-Odin left 01:54 grondilu left 01:58 tokuhirom joined 02:00 colomon joined
lue grondilu: what's the error, specifically? 02:02
colomon he's gone? 02:05
02:09 tokuhirom left, snoopy joined
snoopy grondilu: has rakudo been rebuilt with icu support enabled (ICU=1 in Makefile)? 02:15
(icu = unicode) 02:28
02:31 colomon left 02:48 orafu left, OuLouFu joined, OuLouFu is now known as orafu 02:51 logie joined 02:59 felher left 03:04 kingbeast joined
JimmyZ \o/, now the left blockers for bootstrap are exception, serialization, nqp::sprintf 03:07
wrong channel...
03:16 felher joined 03:28 cognominal left 03:29 cognominal joined 03:40 PerlPilot is now known as PerlJam 03:52 raiph left 03:54 logie left 03:58 jaldhar left, jaldhar joined 04:01 jaldhar left, jaldhar joined 04:07 berekuk_ joined, orafu left, orafu joined 04:15 simcop2387_ joined 04:17 FOAD_ joined 04:18 yoleaux left, FOAD left, simcop2387 left, berekuk left, simcop2387_ is now known as simcop2387, FOAD_ is now known as FOAD 04:32 Psyche^_ left 04:36 Psyche^ joined 04:37 nyuszika7h left 04:38 nyuszika7h joined 04:55 konundra left 04:56 birdwindupbird joined 05:01 logie joined 05:02 fgomez_ left 05:05 zby_home_ joined 05:06 logie left 05:18 wk_ left 05:23 SamuraiJack_ joined 05:26 PacoAir joined 05:29 PacoAir left 05:53 hypolin joined 05:59 konundra joined 06:03 konundra left 06:04 fgomez joined 06:08 domidumont joined 06:11 fridim__ left 06:16 PacoAir joined 06:18 yoleaux joined, ChanServ sets mode: +v yoleaux 06:19 zby_home_ left 06:21 SamuraiJack__ joined 06:22 PacoAir left 06:25 SamuraiJack_ left 06:33 domidumont left 06:34 domidumont joined 06:50 pupoque joined 06:54 domidumont left 06:57 kaleem joined 07:05 fhelmberger joined 07:07 FROGGS joined 07:13 domidumont joined 07:14 kingbeast left 07:20 ugexe left, ugexe joined, sqirrel joined 07:26 SamuraiJack__ left 07:28 kingbeast joined 07:34 daxim joined, wtw_ left 07:41 jercos_ is now known as jercos
dalek rlito: 48b6949 | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Bareword.pm:
Perlito5 - indirect syntax TODO
07:48
moritz .tell grondilu Rakudo assumes UTF-8 as default encoding. Having another Unicode encoding in your environment isn't good enough. 07:53
yoleaux moritz: I'll pass your message to grondilu.
08:09 hypolin left 08:11 hypolin joined 08:25 preflex joined, ChanServ sets mode: +v preflex 08:34 dakkar joined 08:44 mls joined 08:46 kingbeast left 08:48 kingbeast joined 08:54 iSlug joined 09:21 konundra joined 09:26 konundra left 09:37 donaldh joined 09:41 colomon joined 09:49 konundra joined 09:54 rindolf joined 09:55 konundra left, pupoque left 09:56 konundra joined 09:58 wk joined 09:59 wk is now known as Guest47027, fhelmberger_ joined 10:02 konundra left, konundra joined 10:03 fhelmberger left 10:06 konundra left 10:10 gwyddion joined, gwyddion left 10:21 SamuraiJack__ joined 10:22 colomon left 10:31 Vlavv left 10:46 bbkr joined 10:48 hypolin left 11:11 eternaleye left, eternaleye joined 11:19 rindolf left 11:21 eternaleye left 11:25 eternaleye joined 11:28 sqirrel left 11:30 sqirrel joined 11:32 SmokeMachine left 11:36 eternaleye left 11:38 colomon joined 11:43 domidumont left 11:44 eternaleye joined, risou_awy_ is now known as risou 11:59 konundra joined 12:01 risou is now known as risou_awy 12:03 pmurias joined 12:05 SmokeMachine joined 12:13 domidumont joined 12:15 domidumont left 12:18 skids left 12:21 bbkr_ joined, bbkr left
[Coke] jnthn: finally got back to the rebuf roast enough times to kick off the testing. 12:25
running on parrot on linux now.
pmurias jnthn: what does scwbdisable() and scwbenable() do? 12:27
12:27 pupoque joined
arnsholt Looks like write barriers on serialization contexts? 12:28
moritz would guess that scwb stand for 'serialization context' and 'write barrier'
arnsholt I'm not familiar enough with the internals of the SCs to tell you what that entails though 12:29
12:29 domidumont joined
pmurias what it entails to is what I want to know 12:29
12:29 logie joined 12:32 konundra left
dalek kudo-js: bb6e12b | (Pawel Murias)++ | / (7 files):
Stub the NFA repr, compile QRegex.
12:33
kudo-js: 695839d | (Pawel Murias)++ | / (7 files):
Implement 'is positional_delegate','is associative_delegate'.

We depend on node-int64 to avoid fiddling with numbers. We pass test 73 but it's not in our nqp (we still use a branch till I improve the double serialization hack).
12:37 logie left
jnthn pmurias: The SC write barrier thing catches cases where we modify an object that was deserialized from some other compilatino unit 12:46
yoleaux 21 Jul 2013 21:48Z <lizmat> jnthn: "my Buf $a = "asdf".encode" fails with "Type check failed in assignment to '$a'; expected 'Buf' but got 'utf8'"
21 Jul 2013 21:48Z <lizmat> jnthn: faliing IO tests in rebug branch: gist.github.com/lizmat/6050073
jnthn pmurias: This ties into the object repossession thing
pmurias: The most immediate Perl 6 example is augment.
GlitchMr rn: say (44 * hours).perl 12:49
camelia rakudo a1e237: OUTPUT«264␤»
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'hours' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36) ␤ at /ho…
JimmyZ r: say hours
camelia rakudo a1e237: OUTPUT«hours␤»
JimmyZ r: say &hours
camelia rakudo a1e237: OUTPUT«===SORRY!===␤Undeclared name:␤ &hours used at line 1␤␤»
moritz it's an enum value 12:50
not a callable
JimmyZ ah
r: say hours.perl
camelia rakudo a1e237: OUTPUT«TimeUnit::hours␤»
12:51 benabik left, benabik joined
FROGGS r: say hours and hours and hours 12:51
camelia rakudo a1e237: OUTPUT«hours␤»
pmurias jnthn: and why do we disable/enable this when pushing things into the mixin cache? 12:53
12:55 konundra joined 13:01 notjack joined 13:06 logie joined
GlitchMr rn: say :2('1.1').base(16) 13:08
camelia niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method base in type Rat␤ at /tmp/5v41YnoUi3 line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576) ␤ at /home/p…
..rakudo a1e237: OUTPUT«1.8␤»
GlitchMr It segfaulted in REPL (Rakudo) for me
Strange
And now it doesn't. Really strange.
jnthn pmurias: Because we don't want to serialize the cache. 13:14
13:15 pupoque left, fhelmberger_ left
GlitchMr rn: sleep -10 13:16
camelia niecza v24-88-g1f87209: OUTPUT«Unhandled exception: System.ArgumentOutOfRangeException: Negative timeout␤Parameter name: millisecondsTimeout␤ at System.Threading.Thread.Sleep (Int32 millisecondsTimeout) [0x00000] in <filename unknown>:0 ␤ at Builtins.sleep (Niecza.Constants c, Double …
..rakudo a1e237: OUTPUT«Cannot go back in time␤ in sub sleep at src/gen/CORE.setting:657␤ in block at /tmp/TxNb8h4Krf:1␤␤»
13:16 fhelmberger joined
GlitchMr I like error message in Rakudo 13:16
pmurias printing out the argument would be even more awesome 13:18
GlitchMr r: say (dir,) 13:19
camelia rakudo a1e237: OUTPUT«IO::Path<star> IO::Path<src> IO::Path<.subversion> IO::Path<.bashrc> IO::Path<nom-inst1> IO::Path<toqast> IO::Path<test3.pl> IO::Path<.profile> IO::Path<t> IO::Path<nom-inst2> IO::Path<nom-inst> IO::Path<toqast-inst> IO::Path<toqast-inst2> IO::Path<examples> IO::Pa
GlitchMr r: say (dir ,)
camelia rakudo a1e237: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead␤at /tmp/kOT9iFOclh:1␤------> say (dir ,⏏)␤»
GlitchMr r: say (dir '/tmp',)
13:19 SamuraiJack__ left
camelia rakudo a1e237: OUTPUT«(timeout)» 13:19
GlitchMr r: say +dir '/tmp'
camelia rakudo a1e237: OUTPUT«(timeout)»
GlitchMr n: say +dir '/tmp' 13:20
camelia niecza v24-88-g1f87209: OUTPUT«Unhandled exception: dir may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (dir @ 0) ␤ at /tmp/GqBeJGx1R1 line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.…
GlitchMr I've a feeling that /tmp is full of files
[Coke] jnthn: feather.perl6.nl/~coke/rakudo_summary.out is the rebuf branch. as of whenever I said I'd run it. ;) 13:21
looks like mainly unicode errors. 13:22
... OH. because that machine has no icu? arglebargle. 13:23
13:24 PacoAir joined
pmurias nqp's Configure should check for that 13:25
[Coke] .to diakopter - can we get libicu-dev installed on 06?
yoleaux [Coke]: I'll pass your message to diakopter.
[Coke] it does, and if I had used 'make spectest', it wouldn't have tried to run those tests. 13:26
13:26 iSlug left, cognominal left
pmurias [Coke]: nqp's 'make test' fails without icu 13:28
moritz jnthn: I have a few spectest failures in rakudo-parrot on the 'rebuf' branch. Is that expected? 13:30
if no, I can nopaste the output for you 13:31
oh, here it is. If you're not interested, just ignore it :-) gist.github.com/moritz/6053821 13:32
13:33 bluescreen10 joined
jnthn moritz: Did you sue rebuf branch of roast also? 13:33
moritz: But the interesting one is the socket one, which didn't chang in the branch iirc, 13:34
moritz: It passes on my system, so I'd appreciate any analysis you have time for
moritz jnthn: no, used roast/master
will fix that
FROGGS sometimes I have socket fails too fwiw 13:35
(not me personally, but the tests)
timotimo i have sock fails all the time :( 13:41
damn washing machine
FROGGS *g* 13:42
13:42 btyler joined
tadzik :D 13:44
moritz t/spec/S02-names-vars/perl.rakudo.parrot says 'No plan found in TAP output', and t/spec/S32-io/IO-Socket-INET.t failed tests 17-19 13:45
jnthn: that was in branch rebuf on rakudo+roast
13:47 skids joined 13:54 rindolf joined 13:58 crncosta joined 14:00 cognominal joined 14:01 cognominal left, cognominal joined 14:05 BenGoldberg joined, grondilu joined
grondilu what's the syntax to test a particular spectest file? 14:07
yoleaux 07:53Z <moritz> grondilu: Rakudo assumes UTF-8 as default encoding. Having another Unicode encoding in your environment isn't good enough.
FROGGS grondilu: make t/... should do 14:08
[Coke] I often use "prove -v -e t/fudgeandrun S02-blah/bar.t", for reasons.
grondilu ok 14:09
moritz: but my encoding is en_US.UTF-8 (that's what is in my system LANG env var) 14:10
14:12 colomon left 14:14 kaleem left
moritz grondilu: but what about irclog.perlgeek.de/perl6/2013-07-21#i_7355700 ? 14:14
grondilu: the LANG var interprets how programs interpret byte streams as text, but not necessarily how your terminal translates key strokes into byte streams 14:16
grondilu ok
14:19 kaleem joined
grondilu still, I did get the same binary output than flussence, and it worked for him 14:22
14:22 cognominal left
grondilu runs again 'echo "my $α = 1;" |xxd -p' 14:22
14:23 cognominal joined
grondilu 6d792024ceb1203d20313b0a 14:23
14:28 ecocode joined
moritz grondilu: what does perl6 -e 'say $*VM<config><has_icu>' say? 14:30
grondilu 0
^ 14:31
did you expect 1?
moritz grondilu: well, it explains a lot 14:33
grondilu: Unicode support only really works if you have icu development files installed when configuring and compiling parrot, nqp and rakudo 14:34
(as documented in the README, which nobody bothers to read anyway)
pmurias jnthn: what is the caps thing we push on top of the bstack? (which we seems to be taken from the previous top of the bstack?)
grondilu moritz: thanks, I'll install libicu-dev and libreadline-dev 14:36
(as suggested in README)
pmurias jnthn: ahh, found it, it seems to be the current head of the cstack 14:37
14:39 Psyche^ left
moritz grondilu: and throw away your old parrot build and installation before you recompile 14:40
grondilu k 14:41
14:41 crncosta left 14:42 pupoque joined, census joined 14:45 sqirrel left
grondilu had recently changed from debian to fedora so he should have expected that he'd have to do this kind of stuff... 14:46
14:48 sqirrel joined, ajr joined 14:49 ajr is now known as Guest95271, Guest95271 is now known as ajr_ 14:54 bbkr_ left 14:56 crab2313 joined 14:59 rindolf left 15:00 woolfy left 15:05 PacoLinux joined
diakopter [Coke]: done 15:10
15:11 birdwindupbird left, kaleem left 15:12 rindolf joined
[Coke] diakopter++ 15:12
yoleaux 15:10Z <diakopter> [Coke]: done
[Coke] ? why did yoleaux repeat that? 15:13
diakopter you're a yoleaux
FROGGS [Coke]: see #moarvm
15:14 pupoque left, birdwindupbird joined 15:27 ecocode left 15:29 ecocode joined 15:32 konundra left 15:33 Pleiades` left 15:39 Guest47027 left 15:40 Pleiades` joined 15:41 FROGGS left, census left 15:42 zby_home_ joined 15:47 BenGoldberg left 15:54 colomon joined
grondilu can confirm that installing libicu-devel and recompiling parrot/rakudo solved the unicode issues. 15:56
moritz++ ^ 15:57
15:57 domidumont left
[Coke] grondilu++ 16:00
16:06 colomon left
diakopter [Coke]: would you like to help me get rakudo-jvm onto camelia? 16:06
or, "rj" as I affectionately named her 16:07
[Coke] Sure.
nqp-jvm: nqp:say("barf"); 16:08
camelia nqp-jvm: OUTPUT«Confused at line 2, near "nqp:say(\"b"␤ in panic␤ in comp_unit␤ in TOP␤ in parse␤ in parse␤ in <anon>␤ in compile␤ in eval␤ in evalfiles␤ in command_eval␤ in command_line␤ in MAIN␤ in <anon>␤ in <anon>»
[Coke] bah, no version #.
nqp-jvm: nqp::say("barf");
camelia nqp-jvm: OUTPUT«barf␤»
16:09 Guest4583 joined, Guest4583 is now known as kaare_
dalek kudo/nom: 6404e52 | (Elizabeth Mattijsen)++ | src/core/control.pm:
Make sleep() tell how many seconds we wanted to go in the past.

As suggested by pmurias++. This also makes the error message independent of the VM, as the original message apparently came from within Parrot itself.
16:15
lizmat and good *, #perl6!
16:17 pmurias left
dalek ast: 568df70 | (Elizabeth Mattijsen)++ | S29-context/sleep.t:
Add test for sleep with negative values
16:20
ecocode lizmat: are you compiling nqp on macosx ?
lizmat ecocode: yes
ecocode on my system I got an error in t/jvm/06-sprintf.t when running make test for nqp on jvm 7.25 16:21
lizmat ah, but I only do parrot based nqp so far 16:22
ecocode Failed tests: 31, 239
ah, I'm doing the bleeding stuff ;)
16:22 PacoLinux left
lizmat fairly bleeding, yes 16:22
ecocode ok, I'll get back to parrot stuff then 16:24
thx 16:25
jnthn evening, #perl6
16:27 Pleiades` left 16:30 fhelmberger left, kaleem joined
lizmat o/ jnthn! 16:31
16:32 Pleiades` joined 16:35 kaleem left 16:37 domidumont joined, sqirrel left
lizmat r: say Whatever.new # is this in violation of S02:1025? 16:39
synopsebot Link: perlcabal.org/syn/S02.html#line_1025
camelia rakudo a1e237: OUTPUT«WhateverCode.new()␤»
lizmat would expected to have that bomb, judging from the spec
oddly enough, Whatever.new is actually written as: "method new() { nqp::create(self) }"
[Coke] jnthn: feather.perl6.nl/~coke/rakudo_summary.out is updated several socket related failures remain. also a failure elsewhere with: Type check failed in assignment to '$a'; expected 'Buf' but got 'utf8' 16:40
jnthn [Coke]: OK, the latter is an out of date test, the first I'm not sure how to fix :(
16:40 SamuraiJack__ joined
lizmat r: say utf8.^mro # maybe because this fails? 16:41
camelia rakudo a1e237: OUTPUT«===SORRY!===␤Undeclared routine:␤ utf8 used at line 1␤␤»
jnthn lizmat: utf8 only exists in rebuf branch. :) 16:42
lizmat ah, good point
lizmat goes check the branch
jnthn The spec ays that .encode should return the most specific reasonable thing.
.encode to utf-8 should return something of type utf8
(which ~~ Blob, but not ~~ Buf)
lizmat BTW, is there a reason to not merge the branch yet ? 16:44
or is the failing IO test a show stopper ? 16:45
16:46 zby_home__ joined, zby_home_ left, Vlavv joined, ajr_ left 16:47 ajr joined 16:48 ajr is now known as Guest86480, konundra joined
jnthn lizmat: I'm reluctant to merge it with the sockets issue but it doesn't show up for me :( 16:50
lizmat jnthn: when I look in the branch, I see utf8 inheriting from Any, not Buf or Blob
jnthn Buf and Blob are (per spec) roles.
lizmat $ perl6 -e 'say utf8.^mro' (utf8) (Any) (Mu) 16:51
jnthn So they won't show up in the mro, which is about classes.
(Yes, we had Buf as a class before. That's one of the things I fixed. :))
perl6 -e "say utf8 ~~ Blob" # should be True 16:52
lizmat jnthn: any reason for the "-" in " method decode(utf16:D: $encoding = 'utf-16') {" ? 16:53
why not supply a default that doesn't need normalizing ? 16:54
jnthn lizmat: Was just following S32 :)
lizmat: And what we already had.
16:56 dakkar left 16:59 FROGGS joined 17:00 Guest86480 left 17:01 colomon joined
lizmat seems to me .encoding should only return normalized encodings 17:04
jnthn tbh, "normalized" so far means "what Parrot calls it"... 17:05
17:06 domidumont left 17:07 colomon left
lizmat jnthn, lookting at src/core/Str's sub NORMALIZE_ENCODING: wouldn''t make sense to take the %map initialisation out of the sub, or is that optimized away already ? 17:09
so that it only initialises once
or am I thinking too much p5 here ? 17:10
jnthn lizmat: It'd probably make sense, or just make it a constant or state. :)
17:11 cognominal left, cognominal joined 17:14 FROGGS left 17:18 FROGGS joined 17:21 birdwindupbird left
lizmat wonders whether NORMALIZE_ENCODING shouldn't live as a method in Any 17:22
jnthn It's not in any way spec'd 17:25
That sounds...weird
lizmat so where would be a good place to spec this ? 17:26
17:26 spider-mario joined
jnthn I'm not entirely sure if we should... 17:26
17:26 spider-mario left, rafl left, rafl joined 17:27 spider-mario joined
jnthn shop; bbiab 17:28
17:35 daxim left 17:36 ajr_ joined
lizmat r: constant %H=a=>1,b=>2; say %H.WHAT # expected Hash rather than Parcel 17:36
camelia rakudo 6404e5: OUTPUT«(Parcel)␤» 17:37
lizmat n: constant %H=a=>1,b=>2; say %H.WHAT # just testing
camelia niecza v24-88-g1f87209: OUTPUT«(Hash)␤»
lizmat seems niecza gets this right, or maybe it doesn't implement "constant" :-)
n: constant %H=a=>1,b=>2; %H<c>=3 # just testing 17:38
camelia niecza v24-88-g1f87209: ( no output )
lizmat n: constant %H=a=>1,b=>2; %H<c>=3; say %H # just testing
camelia niecza v24-88-g1f87209: OUTPUT«{"a" => 1, "b" => 2, "c" => 3}␤»
lizmat seems like the latter :-)
17:39 btyler left 17:43 Psyche^ joined
lizmat r: constant %H=a=>1,b=>2; say %H<a> # suspects rakudobug 17:48
camelia rakudo 6404e5: OUTPUT«postcircumfix:<{ }> not defined for type Parcel␤ in method gist at src/gen/CORE.setting:10565␤ in method gist at src/gen/CORE.setting:919␤ in sub say at src/gen/CORE.setting:11459␤ in block at /tmp/3Nwuc63VyR:1␤␤»
17:49 sqirrel joined
moritz r: constant %H=(a=>1,b=>2).hash; say %H<a> 17:55
camelia rakudo 6404e5: OUTPUT«1␤»
17:55 Vlavv left
lizmat r: constant %H=(a=>1,b=>2).hash; %H<c>=1 17:56
camelia rakudo 6404e5: ( no output )
lizmat not really constant ;-( 17:57
r: constant %H=(a=>1,b=>2).hash; %H<b>=3
camelia rakudo 6404e5: ( no output )
jnthn lizmat: constant just binds what you but on the LHS to the symbol at the moment 18:02
lizmat: It's wrong, but I'm short on details of how to do it "right"; as you've noticed, niecza is only marginally righter in terms of giving actual constantness, if that's what we are expecting.
lizmat indeed… so where would I look to achieve the same amount of rightness as niecza 18:03
I mean, creating it as a parcel is just simply wrong (TM)
jnthn Well, you wrote a parcel there :) 18:04
So I guess you'd like it to do .hash or so
Based on the sigil
Take a look in the action method for constant declarator, I guess
lizmat r: my %hash=a=>1,b=>2; say %h.WHAT
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Variable '%h' is not declared␤at /tmp/GDN8mtrm57:1␤------> my %hash=a=>1,b=>2; say %h.WHAT⏏<EOL>␤ expecting any of:␤ method arguments␤»
lizmat r: my %h=a=>1,b=>2; say %h.WHAT
camelia rakudo 6404e5: OUTPUT«(Hash)␤»
jnthn Yeah, thing is there that we create a hash and assign into it...
lizmat normal %h initlalization coerces to Hash
jnthn yes, but a constant isn't normal, is it... :)
moritz basically constant implicitly does a := in rakudo
jnthn moritz: Right. 18:05
moritz (and it doesn't even type-check wrt sigils)
timotimo is there a reason not to make := for constants explicit?
jnthn I've looked at fixing it in the past, but never figured out a way that felt truly "right"
I guess patches that make things somehow less wrong are ok, though :) 18:06
lizmat well, *my* expectation of constant %H would be an immutable hash with immutable values
jnthn lizmat: yes, but what about constant %h = a => [1, 2], b => [3,4]; or so? 18:07
timotimo hm, infectious constancy?
jnthn Do you expect it to somehow recursively "constant-ize" the thing?
18:07 Vlavv joined
lizmat yes, otherwise why bother making it "constant" 18:07
moritz lizmat: problem is, we don't have any mechanism to make composite data structures deeply read-only
jnthn Right, that's the heart of the issue.
18:07 woolfy joined
jnthn Right now constant in the implementations really means "evaluate the RHS at compile time and bind it to the symbol" 18:08
lizmat but the container descriptor as a read-only attribute, no?
*has
"has int $!rw;" 18:09
.oO( has visions of obfuscated Perl6 contests )
18:10
jnthn yes but that's exactly one level deep 18:11
lizmat we need more than one level?
dalek rl6-roast-data: 19e807f | coke++ | / (4 files):
today (automated commit)
18:12
[Coke] got one more rakudo.jvm test. whee.
jnthn lizmat: hashes are already 2 levels
18:15 btyler joined
lizmat r: my %h := eval "constant %h=a=>1"; say %h[0] # ;-) 18:19
camelia rakudo 6404e5: OUTPUT«"a" => 1␤»
lizmat r: my %h := a=>1; say %h[0] # ;-) 18:20
camelia rakudo 6404e5: OUTPUT«"a" => 1␤»
lizmat hmmm
jnthn um, that last one shouldn't be possible...
r: say (a => 1) ~~ Associative 18:21
camelia rakudo 6404e5: OUTPUT«True␤»
jnthn oh.
18:21 fhelmberger joined
jnthn Well, that's why :) 18:21
lizmat only works on one key hashes :-)
18:21 Vlavv left
jnthn Yeah, worth checking spec to see if Pair is meant to do Associative. 18:22
18:22 p5eval left
lizmat r: my %h; %h[0]=1; say %h #huh? 18:23
camelia rakudo 6404e5: OUTPUT«Odd number of elements found where hash expected␤ in method STORE at src/gen/CORE.setting:7319␤ in block at /tmp/lLuCoIh1KH:1␤␤»
lizmat r: my %h:=a=>1; %h[0]=1; say %h # huh?
camelia rakudo 6404e5: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/4JJmYbr9LI:1␤␤»
[Coke] r: my %h; %h<0>=1; say %h
camelia rakudo 6404e5: OUTPUT«("0" => 1).hash␤»
jnthn lizmat: You're forgetting that item[0] returns the item....
lizmat ah, yes 18:24
r: my %h := a=>1; say %h[1] # ;-)
camelia rakudo 6404e5: OUTPUT«Index out of range. Is: 1, should be in 0..0␤ in method gist at src/gen/CORE.setting:10565␤ in method gist at src/gen/CORE.setting:919␤ in sub say at src/gen/CORE.setting:11459␤ in block at /tmp/ERr4cJTXZO:1␤␤»
lizmat indeed
18:24 p5eval joined
jnthn :) 18:25
notjack r: my %h = {:foo :bar}; say %h{foo};
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Undeclared routine:␤ foo used at line 1␤␤»
notjack r: my %h = {:foo, :bar}; say %h{'foo'};
camelia rakudo 6404e5: OUTPUT«True␤»
notjack r: my %h = {:foo, :bar}; say %h{foo};
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Undeclared routine:␤ foo used at line 1␤␤»
notjack r: my %h = {:foo :bar}; say %h{:foo}; 18:26
camelia rakudo 6404e5: OUTPUT«(Any)␤»
notjack r: my %h = {:foo,:bar}; say %h{:foo};
camelia rakudo 6404e5: OUTPUT«(Any)␤»
lizmat r: my %h = {:foo, :bar}; say %h<foo>; # notjack: {} always executes what's inside of it
camelia rakudo 6404e5: OUTPUT«True␤»
notjack ah, thanks
lizmat also: :foo is short for foo => True
18:27 garfieldnate joined
notjack yeah, that's neat 18:27
lizmat :!foo is foo => False
18:27 fhelmberger left
notjack r: my $key='foo'; my %h = {:$key}; say %h.keys; 18:28
camelia rakudo 6404e5: OUTPUT«key␤»
lizmat :$foo is foo => $foo
timotimo there's also %h<foo> which is short for %h{'foo'}
lizmat r: my $foo=1; { :$foo }.say
camelia rakudo 6404e5: OUTPUT«("foo" => 1).hash␤»
lizmat r: my $foo=1; :$foo.say # even shorter 18:29
camelia rakudo 6404e5: OUTPUT«"foo" => 1␤»
notjack lizmat: but your first expression is a hash, and the second just a bare pair, right? 18:30
lizmat yes
I think the phrase is "adverbial pair"
notjack r: my $foo='bar', $bar='foo'; my %h = {:$foo, :$bar}; say %h<foo>; 18:31
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Variable '$bar' is not declared␤at /tmp/mP4oUrBPBS:1␤------> my $foo='bar', $bar⏏='foo'; my %h = {:$foo, :$bar}; say %h<f␤ expecting any of:␤ postfix␤»
lizmat my %sliced = %hash{@slice}:delete:p
notjack r: my $foo='bar'; my $bar='foo'; my %h = {:$foo, :$bar}; say %h<foo>;
camelia rakudo 6404e5: OUTPUT«bar␤»
notjack heh
18:31 iSlug joined
lizmat r: my $foo='bar'; my $bar='foo'; my %h = (:$foo, :$bar); say %h<foo>; 18:31
camelia rakudo 6404e5: OUTPUT«bar␤»
18:32 domidumont joined
notjack is %h<blah> special syntax, or is <blah> interpreted normally, and somehow passed into %h as an argument? 18:32
benabik %h<foo> ~~ %h{"foo"}, IIRc
notjack r: my %h={foo=>'bar',baz='booze'};say %h <bar> ; #whitespace 18:33
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Undeclared routines:␤ bar used at line 1. Did you mean '&bag'?␤ baz used at line 1. Did you mean '&bag'?␤ h used at line 1␤␤»
notjack special syntax then, but very mnemonic
lizmat actually, $h<foo> is %h{'foo'} # note single quotes
notjack because <> is q<> ? 18:34
lizmat actually, $h<<foo>> is %h{"foo"} # note double quotes
notjack or is <> qq?
benabik r: my %h={foo=>'bar', bar=>'quux'}; say %h<foo bar>
camelia rakudo 6404e5: OUTPUT«bar quux␤»
lizmat <> is 1, <<>> is qq
benabik r: my %h={foo=>'bar', bar=>'quux'}; say %h{<foo bar}
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Unable to parse expression in quote words; couldn't find final '>'␤at /tmp/QK5TbZXbtl:1␤------> o=>'bar', bar=>'quux'}; say %h{<foo bar}⏏<EOL>␤ expecting any of:␤ postfix␤ subscript␤ semicolo…
benabik r: my %h={foo=>'bar', bar=>'quux'}; say %h{<foo bar>}
camelia rakudo 6404e5: OUTPUT«bar quux␤»
18:34 Vlavv joined
lizmat enjoying some thunderstorm rain, bbiab & 18:35
[Coke] .to blave which we all know means "to bluff."
yoleaux [Coke]: I'll pass your message to blave.
benabik %h<foo bar> ~~ %h{<foo bar>} ~~ %h{['foo', 'bar']} ?
timotimo yeah
benabik r: my %h={foo=>'bar', bar=>'quux'}; say %h{<foo>}.WHAT 18:36
camelia rakudo 6404e5: OUTPUT«(Str)␤»
benabik Important that %<> is %{<>} and not %{''}. Multiple words get split. 18:37
lizmat benabik: qood point :-) 18:38
r: my %h{Hash}= {a=>1} =>1; say %h # the wonders of Perl 6
camelia rakudo 6404e5: OUTPUT«Hash[Any,Hash].new({"a" => 1} => 1)␤»
lizmat keys can be objects too, not just stringifications
notjack r: my @a=<what does this do>; my %h={what=>'WUT',does='DUZ',this='DIS',do='DUE'};say %h<@a>; # note <> not []; 18:39
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Undeclared routines:␤ do used at line 1␤ does used at line 1␤ this used at line 1␤␤»
notjack r: my @a=<what doez this do>; my %h={what=>'WUT',doez='DUZ',this='DIS',do='DUE'};say %h<@a>; # note <> not [];
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Undeclared routines:␤ do used at line 1␤ doez used at line 1␤ this used at line 1␤␤»
notjack r: my @a=<what doez this doo>; my %h={what=>'WUT',doez='DUZ',this='DIS',doo='DUE'};say %h<@a>; # note <> not [];
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Undeclared routines:␤ doez used at line 1␤ doo used at line 1␤ this used at line 1␤␤» 18:40
18:40 rindolf left
diakopter anyone with expertise in two-factor, vpn, virtual desktop stuff please contact me... 18:40
18:40 rindolf joined
benabik r: my @a=<what does this do>; my %h={what=>'WUT',does=>'DUZ',this=>'DIS',do=>'DUE'};say %h<@a>; # note <> not []; 18:41
camelia rakudo 6404e5: OUTPUT«(Any)␤»
benabik notjack: ^^. you were missing some >
r: my @a=<what does this do>; my %h={what=>'WUT',does=>'DUZ',this=>'DIS',do=>'DUE'};say %h<<@a>>; 18:42
camelia rakudo 6404e5: OUTPUT«(Any)␤»
benabik r: my @a=<what does this do>; my %h={what=>'WUT',does=>'DUZ',this=>'DIS',do=>'DUE'};say %h{@};
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/HHar5oOkSQ:1␤------> es=>'DUZ',this=>'DIS',do=>'DUE'};say %h{⏏@};␤ expecting any of:␤ postfix␤ subscript␤ semicolon list␤ prefix or te…
benabik r: my @a=<what does this do>; my %h={what=>'WUT',does=>'DUZ',this=>'DIS',do=>'DUE'};say %h{@a};
camelia rakudo 6404e5: OUTPUT«WUT DUZ DIS DUE␤»
lizmat benabik++
18:45 rindolf left, rindolf joined 18:46 sqirrel left
lizmat r: say Hash[42]' # seems odd 18:52
camelia rakudo 6404e5: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/oH8asoHUWo:1␤------> say Hash[42]⏏' # seems odd␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statement modifier␤ …
lizmat r: say Hash[42] # seems odd
camelia rakudo 6404e5: OUTPUT«(Hash+{TypedHash})␤»
18:52 kst joined, domidumont left
lizmat ah, it uses 42 as the type of the values 18:52
r: my $a= Hash[42].new; $a<a>=1; say $a # actually, the type of 42 18:55
camelia rakudo 6404e5: OUTPUT«Hash[Int].new("a" => 1)␤»
19:04 rindolf left 19:05 ecocode left 19:15 SamuraiJack__ left
lizmat r: Int(Str) # should that call Str.Int ? 19:21
camelia rakudo 6404e5: OUTPUT«Invocant requires an instance, but a type object was passed␤ in method Int at src/gen/CORE.setting:4380␤ in block at /tmp/DWdyyRLh0z:1␤␤»
dalek rlito: 252f5ab | (Flavio S. Glock)++ | t5/01-perlito/27-syntax-indirect-object.t:
Perlito5 - indirect-object tests
19:22
lizmat
.oO( does Flavio realize his "secret" work on Perlito is visible here )
19:23
19:24 fridim__ joined
timotimo what gives you the idea it's secret? 19:36
19:39 benabik left 19:41 iSlug left
lizmat because at one point he told me he considered the Perlito project as "complete", as in that no further development would be done 19:42
19:43 kingbeast left, benabik joined, iSlug joined
lizmat I guess things have changed since then: www.i-programmer.info/professional-...glock.html 19:46
glad to see that :-)
19:48 iSlug left
lue hello world o/ 19:50
dalek kudo/rebuf: 5df9466 | jnthn++ | src/core/IO/Socket.pm:
Attempt some binary socket IO fixes.
jnthn plz can somebody who had the IO socket test fails with rebuf try the test with that patch? 19:51
hellue! o/
19:54 crab2313 left
lizmat will do 20:00
[Coke] willen do 20:05
lizmat 100% success here 20:07
[Coke] holy crap you have a fast machine.
(did you run the full test suite or just the failures?) 20:08
lizmat I just did the failing test
[Coke] heh
lizmat running full spectest now
jnthn lizmat: yay
That means we can merge all the things
lizmat should have full spectest result in ~ 5 mins 20:09
jnthn ok
[Coke] holy crap you have a fast machine.
jnthn I think there may be one spectest that wants fixes
;) 20:10
lizmat the one with Buf and utf8 ?
jnthn yeah
I'm guessing it's a #icu one...
lizmat wonder whether that couldn't be handled by coercion
jnthn Or I just missed it for some other reason.
dalek rlito: 294993d | (Flavio S. Glock)++ | t5/01-perlito/27-syntax-indirect-object.t:
Perlito5 - indirect-object tests
20:11
lizmat [Coke}: I got it specifically for being able to do this fast :-) 20:12
20:12 kaare_ left
lue loliblog --> rdstar.wordpress.com/2013/07/22/so...in-perl-6/ 20:12
jnthn lizmat: OK, got merges done locally, will push once you confirm no negative fallout from my patch. 20:13
lizmat t/spec/S02-names-vars/perl.t still fails 20:14
that's the "my Buf $a = "asdf".encode();" 20:15
jnthn yeah, that's not right any more
.encode defaults to utf-8, which returns a utf8 now (as per spec), and from discussion with TimToady++ a couple of days ago we now know that utf8 ~~ Blob, and utf8 !~~ Buf. 20:16
(spec may need some synchronizing with that)
20:16 Alpha64 joined
lizmat no, it seems to fudge incorrectly now 20:16
jnthn ? 20:17
> say "asdf".encode().perl; 20:18
utf8.new(97, 115, 100, 102)
dalek ast/rebuf: 5e1fb84 | (Elizabeth Mattijsen)++ | S02-names-vars/perl.t:
Fix problem in fudge
jnthn > "asdf".encode() ~~ Blob
True
> "asdf".encode() ~~ Buf
lizmat clean now
jnthn False
lizmat it was a problem in the fudge
missing quote
it's clean now 20:19
jnthn The test shouldn't be fudged, it should be brought in line with reality
Like I did with other tests
lizmat checking
arnsholt jnthn: One thing I've been pondering recently is unsigned natives. Have you thought any about that?
jnthn arnsholt: Yeah, it's been on my mind a bit.
lizmat jnthn: without the fudge I get "Type check failed in assignment to '$a'; expected 'Buf' but got 'utf8'"
[Coke] jnthn: gist.github.com/coke/6057285 - rebuf failures.
arnsholt Both Parrot and JVM have only signed integers, and I'm unsure what's good things to do about the whole thing 20:20
At least JVM mandates twos complement representation
[Coke] updated with the actual -v output 20:21
jnthn lizmat: Right. The test currently reads:
my Buf $a = "asdf".encode();
lizmat: Expecting that encode returns something that ~~ Buf is no longer correct.
lizmat so what should the test read then?
jnthn lizmat: s/Buf/Blob/ is correct 20:22
jnthn checks how well sync'd S02 is with his discussion with TimToady++
lizmat Can not decode a utf-8 buffer as if it were ascii
jnthn grr
Well, yeah...
jnthn didn't read the next line of the test 20:23
[Coke] shouldn't that be a "sometimes" error? ;)
20:23 eirini_k joined
lizmat s/ascii/utf8 works 20:23
jnthn Well, it's more that utf8 buffers know their encoding type and get upset if you try to decode them as something else.
[Coke] jnthn: there are new errors for me in the socket tests.
jnthn [Coke]: With or without my latest rebuf patch?
lizmat [Coke]: also "rebuf" in roast! 20:24
[Coke] roast @ 5e1fb84, rakudo @ 5df9466
lizmat jnthn: fwiw, is eval($a.perl).decode("utf8"), "asdf"; passes 20:25
[Coke] I didn't do a full clean on rakudo.parrot like I would if it were the daily run, just did a git pull --rebase, reconfigure, make
20:27 eirini_k left
dalek ecs: 3a9c994 | jnthn++ | S (2 files):
utf8 is now a blob8, and encode returns Blobs.

Per discussion on #perl6 with TimToady++.
20:29
20:33 raiph joined 20:35 konundra left
jnthn [Coke]: hmmm...oddness 20:36
lizmat: Yeah, that's a reasonable thing
lizmat: I'm wondering if we shouldn't complain if you try to decode it as something else, though.. 20:37
lizmat I'll commit this now so that we can merge, and look at the failure modes later ok?
dalek ast/rebuf: bccdba9 | (Elizabeth Mattijsen)++ | S02-names-vars/perl.t:
Make encode/decode test pass on rakudo for now
20:38
jnthn ok
lizmat I guess we're ready for a merge now
jnthn Yeah, I will still try to triage Coke's failure though 20:39
dalek kudo/rebuf: def71e6 | (Elizabeth Mattijsen)++ | src/core/Str.pm:
Make sure we initialize encoding normalization hash only once
20:40
kudo/rebuf: a50c61e | (Elizabeth Mattijsen)++ | src/core/Str.pm:
Make NORMALIZE_ENCODING a bit faster
[Coke] jnthn: heading out now, won't be able to run another test for a few hours.
20:40 zby_home__ left
dalek ast: a3094da | jnthn++ | S (5 files):
Various test updates for Buf changes.

Rakudo has become more closely aligned with the spec in various ways, and these tests were caught out in the process.
20:41
ast: d237184 | (Elizabeth Mattijsen)++ | S02-names-vars/perl.t:
Make encode/decode test pass on rakudo for now
jnthn lizmat: oops, I'd already merged that locally...
jnthn rescues lizmat++'s commits from the branch
ugh, merge commits all over now... 20:42
lizmat thanks jnthn
(about the resques)
jnthn gonna re-do the merge 20:43
better.
git++
dalek Heuristic branch merge: pushed 21 commits to rakudo/nom by jnthn 20:44
jnthn $dayjob++ # making me learn git well
notjack git well soon, jnthn
20:44 eirini_k joined 20:46 aindilis joined
jnthn tries optimizing buf ~ buf 20:47
20:53 eirini_k left, Alpha64 left
dalek kudo/nom: fbd875e | jnthn++ | src/core/Buf.pm:
Make Buf concatenation more direct.

Once VMArray on Parrot implements splice, this can be simplified. For now, this is an improvement.
21:05
21:05 skids left
benabik What's the difference between Blob and Buf? 21:14
jnthn Blob is immutable 21:16
Buf is^Wwill be mutable :)
21:20 colomon joined
dalek ecs: 0af5e95 | (Elizabeth Mattijsen)++ | S02-bits.pod:
Move Nil to its own section before Typed Objects
21:24
garfieldnate working a QH stencil for creating P6 modules. have a couple of questions for getting started. 21:25
First, is there any place someone should post if they decide to work on a module? I know there are the most wanted modules labeled WIP in the GitHub project. Is there a pre-pan type place? Should they mention it here? Or are there few enough that we don't worry about work duplication? 21:26
lue Is it just me or are S03:475 and S03:482 accidentally in descending order? (I can't tell what's originally in the file and what my browser/text editors are messing up)
synopsebot Link: perlcabal.org/syn/S03.html#line_475
Ulti garfieldnate: modules.perl6.org/
21:26 preflex_ joined, ChanServ sets mode: +v preflex_
Ulti there is a git repo that has the list of modules you add your own as a patch 21:26
21:27 preflex left, konundra joined 21:28 preflex_ is now known as preflex, vol7ron joined
vol7ron hello 21:28
Ulti hi
garfieldnate Ah, ok. So with the release-early, release-often thing one should be fine adding it as a patch when they start writing their module?
Ulti garfieldnate: do you mean adding stuff to rakudo perl6 or do you mean a module cpan style? 21:29
garfieldnate module cpan/panda style
vol7ron has perl6 been released yet? 21:30
Ulti well my module relied on a not yet implemented feature for a long while and didnt pass its tests when installed with panda so yeah
vol7ron: the language spec hasn't been finalised but the most mature compiler Rakudo has been released monthly for a long time
dalek ecs: e45fc46 | (Elizabeth Mattijsen)++ | S02-bits.pod:
Make type objects work as Nil in non-scalar contexts.
21:31
Ulti vol7ron: rakudo.org
vol7ron yeah i know of Rakudo
Ulti did you know it now comes with compile to JVM 21:32
vol7ron I know that it's still so much in development that my systems team don't view it as stable, or at a state that promotes consistency 21:33
21:33 Guest1337 joined, PacoAir left
vol7ron It seems perl6 has taken so long to "release" that we're switching over to Python or Ruby 21:34
Ulti why move from perl5
especially if stability and maturity is your criteria 21:35
jnthn sleep & 21:39
vol7ron Ulti: so perl5 is what I want to use
lizmat gnight jnthn!
jnthn 'ngiht
vol7ron but it has its problems
lizmat TimToady, pmichaud: re "e45fc46", I feel this is the best of both worlds 21:40
vol7ron I should add that perl6 is awesome, I need something to convince my systems team. I think perl6 could use some better marketing in their release cycle 21:42
21:43 Pompel_ left, frettled joined
frettled vol7ron: I'm sure marketing help is appreciated 21:47
lizmat vol7ron: at this point in time, I would recommend rakudo in production only for very specific uses, depending on Perl6's unique featues such as grammars
wrt to marketing: I guess at this point in time, we're looking to gather a lot of (very) early adapters 21:48
adopters
21:48 spider-mario left
garfieldnate Second question for the QH stencil: If new Perl6 users wanted a code review of some sort, is there a place they can go to get it? There isn't a perl-6 tag (yet) on codereview.stackexchange.com. 21:51
tadzik you usually get a response on perl6-users mailing list
vol7ron I think the whole community would like a plan stating what a stable version is. perl6 contributors are awesome and have made huge improvements these last 3-5 years. I don't want the community-at-large to move away from Perl because of the other new shiny languages
Ulti lizmat: yeah that's the main bit of *real* perl6 code I have a grammar that just goes from a horrific data format to something simple for a perl5 script
tadzik I think it's had a couple of "review my code" posts; if not, I'm sure they'll be welcome
raiph garfieldnate: i recommend u focus on this IRC channel 21:52
garfieldnate I'll do that. Thanks! 21:54
21:54 garfieldnate left
lizmat Personally, I think that after the dust has settled on having multiple VM's (specifically Parrot/Jvm/MoarVM) 21:55
and I expect that in a few months, that we can decide on what 6.0.0 would contain
raiph vol7ron: "as hard to stomach as it may be, the story remains, even though they've taken a decade to get this far, [p6ers] may well take another year or two to get to Perl 6.0.0 and a generally robust status" 21:56
i think that 21:57
( from yesistilluseperl.blogspot.com/2009/...0394472828 ) 21:58
vol7ron me too, which is understandable, but once people get into a new language, they are less likely to convert programs to a new language. The best hope is for them to begin writing new code in that language and eventually rewrite old applications when the time comes 21:59
Ulti vol7ron: have you seen the v5 slang is being developed too 22:00
I think if you are already in legacy perl mode it might be worth the wait rather than utterly port from scratch
and afaik (someone will correct me) MOAR VM plans to have perl5 embedded? 22:01
tadzik yes
Ulti though surely if you are doing perl stuff for the web you'd move to PHP for profit not love
22:02 vol7ron left
lue
.oO(It'll be *sooo* weird when we change features in the spec and it's *not* a change to 6.0.0, but 6.0.1 or something)
22:02
Ulti lol ^
22:02 bluescreen10 left
Ulti something I said? >:D 22:02
lue: surely version 7.0 since people are already wanting that 22:04
lue
.oO(Perl7 starts with taking the specifications of every programming language in existence, taking out the clearly unperly bits, and then smashing them together.)
22:06
Ulti nah Perl7 works out the probability of the source being a given language and then pre-emptively compiles it with the appropriate slang 22:07
so you can just mix any language with any other
diakopter ... 22:08
Ulti and Perl7 IDEs will just show the code in whatever language you want but preserve the source in the language it's stored in
diakopter hopes posterity and lurkers know you're kidding 22:09
Ulti then people will argue about what is the best viewing language rahter than number of spaces for a tab
diakopter: lol
lue Ulti: Obviously, the best viewing language is Perl 6.
Ulti sounds like a plausible jump considering 5->6
version 8 would learn to watch your eye movement to alter the view to a language that is confusing you less as you glance through 22:10
huf_ and 9 will be a homoiconic lisp with complex syntax :)
Ulti I'd hope 9 just writes itself and is sentient, but ok 22:11
huf_ that already exists, you just need to become a boss
lue Hey, woah. You guys need to read your S01 and A01 again.
Ulti lol
lizmat
.oO( Revolution #9 )
lue "Perl 6 should be malleable enough that it can evolve into the imaginary perfect language, Perl 7." -- S01 22:12
"So Perl 7 will be the last major revision. In fact, Perl 7 will be so perfect, it will need no revision at all. Perl 6 is merely the prototype for Perl 7. :-)" -- A01
Ulti we just got schooled
huf_ the number of perls shall be 7, no more, no less. 22:13
22:13 benabik left, benabik joined
Ulti the seventh programming language implemented in Perl7 will allow the user to spell cast 22:14
lue Perl 7 is the implied perl in this --> xkcd.com/224/ 22:15
huf_ no, sadly i think that's most likely perl4 or so
22:16 markov left
Ulti also regex is better in Perl5 than other languages, you can have them multi line with comments and named regex for code reuse... it's just no one does that because they read some aged tutorial/book :( 22:22
22:24 notjack left
Ulti something like this adam.sardar.me.uk/?p=583 is crying out for a grammar, which is why Perl6 is awesome for bioinformatics 22:26
22:32 markov joined, FROGGS left
Ulti can you have roles which are just a bunch of token definitions? 22:32
22:38 cognominal left 22:39 raiph left
lizmat gnight #perl6! 22:39
lue good ♞ lizmat o/ 22:40
Ulti the answer is yes you can :) 22:43
that's cool 22:44
can just have libraries of standard tokens like time stamp formats etc.
and just have grammar MyGrammar does ISO-BLAH {}
hadn't really thought about that before 22:45
22:46 logie left 22:52 grondilu left
Ulti is there any guidelines on how tokens should be named CamelCase under_scores ? 22:53
benabik P6 style seems to use dashed-words.
22:55 huf_ left, huf joined 22:56 eiro_ joined, simcop2387_ joined, fgomez_ joined, Psyche^_ joined
Ulti benabik: oh really, ok 22:59
I like that better
benabik I think most of the stdlib uses that style, anyway
23:00 Vlavv_ joined, Vlavv left, Psyche^ left, fgomez left, simcop2387 left, vaelxon left, eiro left, simcop2387_ is now known as simcop2387 23:01 vaelxon joined 23:09 ajr_ left 23:12 raiph joined 23:20 nebuchadnezzar left, nebuchadnezzar joined, tokuhirom joined 23:32 tokuhirom left 23:36 rom1504 joined
Ulti if you have a proto token do you not get back in the match object the <sym> for the token that matched? 23:43
23:44 tokuhirom joined
timotimo i think you shouldk 23:45
Ulti Just been playing with it gist.github.com/MattOates/6058680 and I don't see it in .perl ? 23:46
what am I missing/doing wrong
timotimo oh!
that's what you mean
you only get it if you match <sym> inside the rule 23:47
otherwise you'll "get it" by implementing the foo:sym<something> method in the action class
Ulti makes sense
23:50 odoacre left
Ulti so I guess I want to build a phone number object where it has locale as an attribute along with areacode etc. 23:51
anyway, g'night
timotimo good night! 23:53
23:53 logie joined 23:58 logie left