»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
[Coke] ~. 00:03
00:04 MayDaniel left 00:05 Psyche^ joined 00:09 Patterner left, Psyche^ is now known as Patterner 00:13 stevan_ joined 00:41 pmurias left 00:44 swanstomp left 00:46 xilo_ joined 00:48 xilo_ left
[Coke] r: for lines { die $_ } 00:55
p6eval rakudo 643719: OUTPUT«===SORRY!===␤Missing block␤at /tmp/GoFCSUCU8u:1␤------> for lines { die $_ }⏏<EOL>␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement modifier␤ …
[Coke] r: for lines() { die $_ }
p6eval rakudo 643719: OUTPUT«Land der Berge, Land am Strome,␤ in block at /tmp/ltFJ67_SMb:1␤␤»
00:56 xilo_ joined 00:59 xilo_ left, fgomez left, stevan_ left 01:00 xilo_ joined 01:01 xilo_ left, xilo_ joined 01:08 stevan_ joined, anuby joined 01:13 rindolf left
[Coke] when extracting named subrules from a match, do you -have- to talk through the named rules to get it? Or is there a syntax for saying "get me all the subrules that match this name." ? 01:19
s/talk through/step through/
lichtkind phenny: tell moritz hoping to have an calendar article by tomorrow 01:24
phenny lichtkind: I'll pass that on when moritz is around.
01:41 dayangkun joined 02:05 FROGGS_ joined 02:08 FROGGS left 02:09 stevan_ left 02:10 anuby_ joined 02:11 bowtie left 02:13 anuby left 02:14 stevan_ joined 02:36 lichtkind left 02:47 sizz left 02:48 sizz joined
[Coke] phenny: tell masak: t1 says "must be on the form" when it probably should be "of the form" 02:49
phenny [Coke]: I'll pass that on when masak is around.
02:54 dayangkun left
[Coke] hurm. using a grammar's .parse method - what does it do to indicate a failed parse? 02:55
03:00 am0c joined
[Coke] ah, returns a Match. 03:01
is there a way to get the .panic message out when a match fails? 03:08
03:12 noggle left
sorear afaik, "panic" just trows an exception 03:12
03:14 noggle joined
[Coke] hurm. "panic" only appears in one spot in the specs. 03:17
r: grammar A { TOP { 'hi' | .panic("eek") } } ; say A.parse("hi") 03:19
p6eval rakudo 643719: OUTPUT«===SORRY!===␤Undeclared name:␤ TOP used at line 1␤␤»
[Coke] r: grammar A { rule TOP { 'hi' | .panic("eek") } } ; say A.parse("hi")
p6eval rakudo 643719: OUTPUT«「hi」␤␤»
[Coke] r: grammar A { rule TOP { 'hi' | .panic("eek") } } ; say A.parse("bye")
p6eval rakudo 643719: OUTPUT«#<failed match>␤»
[Coke] do I have to override panic, perhaps?
r: grammar A { rule TOP { 'hi' | { fail("eek") } } ; say A.parse("bye") 03:23
p6eval rakudo 643719: OUTPUT«===SORRY!===␤Unable to parse expression in block; couldn't find final '}'␤at /tmp/W70dNztTLe:1␤------> | { fail("eek") } } ; say A.parse("bye")⏏<EOL>␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infi…
[Coke] r: grammar A { rule TOP { 'hi' | { fail("eek") } } }; say A.parse("bye") 03:24
p6eval rakudo 643719: OUTPUT«eek␤ in method gist at src/gen/CORE.setting:10292␤ in sub say at src/gen/CORE.setting:7483␤ in block at /tmp/mB1DgbPZXU:1␤␤»
[Coke] that's better.
03:26 thou joined 03:29 popl joined 03:31 thou left 03:54 wamba joined
[Coke] r: say set(1) (-) set(1); 03:56
p6eval rakudo 643719: OUTPUT«set()␤»
[Coke] r: say set("a");
p6eval rakudo 643719: OUTPUT«set(a)␤»
japhb phenny, tell masak, in the Day 16 advent entry, the tree structure in the "Operator precedence parser" section is missing the 5 term. 03:58
phenny japhb: I'll pass that on when masak is around.
[Coke] r: my $a = set(1) (-) set(1); say $a; 04:07
p6eval rakudo 643719: OUTPUT«set(1)␤»
[Coke] r: my $a = (set(1) (-) set(1)); say $a;
p6eval rakudo 643719: OUTPUT«set()␤»
[Coke] ... that was pretty surprising.
04:35 xilo_ left 04:57 araujo left
[Coke] r: my %a = {"a" => 2} ; my %b = %a.clone; %b<a>=3; say %a.perl; 05:10
p6eval rakudo 643719: OUTPUT«("a" => 2).hash␤»
05:15 wamba left 05:18 telex left 05:19 telex joined 05:25 telex left 05:34 SamuraiJack joined 05:36 telex joined 06:02 lue left
[Coke] yay, t1 completed. 06:07
moritz \o/ new HPMoR chapter: hpmor.com/chapter/86 06:10
phenny moritz: 01:24Z <lichtkind> tell moritz hoping to have an calendar article by tomorrow
06:12 birdwindupbird joined
popl moritz: Harry Potter fanfiction? 06:13
06:14 lue joined
popl Oh. 06:15
Interesting.
sorear yes. by Yudkowsky. 06:18
popl I had no idea who the man even was. I just looked it up.
sorear if you haven't heard of Yudkowsky before you are either very lucky or very unlucky, I'm not sure which...
popl He seems like a philosopher. 06:19
sorear that's definitely one of the things he is 06:20
he used to be involved in the AI community, until he decided that successful AI would most likely kill us all and is campaigning to stop world AI research 06:21
06:24 aloha left
popl haha 06:26
wow
sounds like a winner
06:27 aloha joined 06:37 arkydo joined
popl sorear: Thank you for the information. 06:40
06:40 SamuraiJack_ joined 06:41 SamuraiJack left 06:42 kaleem joined 06:50 SamuraiJack_ left
arkydo How can I install perl6 on my system? 06:50
06:53 SamuraiJack_ joined
Tene That's not quite accurate. 06:56
bonsaikitten arkydo: carefully
arkydo bonsaikitten: a compiler for perl6? 06:57
bonsaikitten arkydo: you might give us a hint what operating system you're on, if you haven't already looked at either rakudo or niecza and considered ways to install either one 06:58
06:58 kurahaupo left
arkydo bonsaikitten: I use Archlinux. 06:59
bonsaikitten that means you should have a package manager that can do the job for you 07:00
popl pacman
fwiw
arkydo: ask in #archlinux
arkydo Which implementation is recommended rakudo or niecza? 07:01
popl arkydo: Which is available for Archlinux? 07:02
arkydo popl: I've found rakudo in aur repo.
bonsaikitten I think rakudo is easier to handle for now 07:03
popl arkydo: I guess AUR has made your decision easy, then. :)
07:08 FROGGS_ left 07:20 kaleem left 07:35 kaleem joined
arkydo Could you recommend a tutorial to learn perl6? 07:39
popl arkydo: perl6.org/getting-started/ 07:44
07:49 sizz left, sizz joined 07:56 SHODAN left 07:57 sizz_ joined, FROGGS joined, sizz left
FROGGS monring 07:57
morning
07:58 SHODAN joined
sorear mroning FROGGS 07:59
FROGGS :o)
08:08 araujo joined, araujo left, araujo joined, wamba joined 08:12 sisar joined 08:25 sisar left
jnthn moorning, 08:33
#perl6
...keyboard skills. I haz them.
08:38 wamba left 08:45 arnsholt left 08:51 Kharec joined
felher god moorning, jnthn 08:55
jnthn :P 09:01
09:01 hoelzro|away is now known as hoelzro
FROGGS bah 09:04
:P
09:04 fhelmberger joined 09:07 fgomez joined 09:15 kresike joined
kresike hello all you happy perl6 people 09:15
FROGGS hi kresike 09:17
tadzik hello hello 09:18
kresike FROGGS, tadzik o/
09:19 DarthGandalf left
FROGGS hi tadzik 09:23
tadzik oh, moritz 09:24
I almost fixed Panda yesterday :)
it now fails with some Bad Utf-8 errors
09:25 DarthGandalf joined
jnthn
.oO( (bad utf-8) errors or bad (utf-8 errors) :) )
09:25
tadzik the former :)
moritz tadzik: it tries to decode ANSI escape sequences as UTF-8? 09:26
tadzik not sure why it would do that
moritz well
r: 1 1
p6eval rakudo 643719: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/H19lIGCpdg:1␤------> 1 ⏏1␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement modifier␤ statement modifie…
moritz if it ever tries to read in such an error message as a Perl 6 string, it must get decoded somewhere 09:27
jnthn yeah, da colors will emit ANSI escapes
tadzik oh, hm
moritz jnthn: can we fudge them not to do that if standard output is a pipe?
jnthn moritz: If we can figure out the latter
tadzik that is quite possible
jnthn er, figure out it's a pipe
wtf...my brain is not working at all today :)
tadzik but iirc it fails on step "fetching panda" 09:28
jnthn Note that you can also set RAKUDO_ERROR_COLOR env var to 0
09:29 sqirrel joined
moritz tadzik: ouch 09:30
tadzik I may remember wrong 09:31
09:33 dakkar joined
FROGGS tadzik: btw, my panda fork almost creates the MANIFEST files in the CUSTOM_LIB dirs... 09:36
moritz fwiw my fresh bootstrap.pl on qast-sink-1 seems to have worked 09:43
now smoking the cheese
tadzik FROGGS: wow, cool 09:45
09:47 arkydo left
moritz jnthn: lib/NativeCall.pm6 line 54 uses an undeclared &r 09:51
jnthn: and I can't figure out what it's supposed to use instead
so far we got away with it because it used for .?method call
seems like it's fallout from a refactoring 09:52
FROGGS hmmm, I'd guess that it is the $r from the trait_mods around line 240 09:54
09:54 popl left
moritz ... which we need to pass along, it seems 09:54
FROGGS hmmm, wait 09:55
if you compare line 23 and 54...
there might be $s instead of &r
09:56 Util left
moritz then maybe the patch I just pushed is wrong 09:56
problem is, I have no idea what that role might apply to
FROGGS well, I'm just guessing since I don't understand what's going on there
09:57 p6eval left, wtw left
moritz me neither; that's the problem 09:57
09:58 [Coke] left, hugme left, d4l3k_ joined
FROGGS I believe these subs (param_hash_for, return_hash_for) are called when you have an native sub that should return a hash 09:58
09:58 [Coke] joined
hoelzro good morning, #perl6 09:58
09:58 Juerd left, Juerd joined 09:59 Util joined, dalek left
moritz and Inline::C has copied the same folly :( 09:59
09:59 d4l3k_ is now known as dalek, ChanServ sets mode: +v dalek, hugme joined, ChanServ sets mode: +v hugme
FROGGS of course, because it does what it should ;o) 09:59
moritz well, if you think it should die... :-) 10:00
FROGGS btw, thats where I love the strictness of C and hate the lazyness of PHP
10:00 p6eval joined, ChanServ sets mode: +v p6eval
FROGGS hi hoelzro 10:01
10:03 jerome left
FROGGS moritz: I wanna parse module files (and classes, roles, whatever). so I made a grammar to pick up statements like "module Foo {"... 10:04
moritz: how can I do something like: rule TOP { <package_declarator>+ % [ * ] }
moritz <package_declarator>+ % [ .*? ] # maybe?
FROGGS hmmm, okay, will try 10:05
had .* but not .*?
10:06 hugme left
moritz well, .* will use up the rest of the file :-) 10:06
10:08 dalek left
FROGGS ohh 10:08
10:08 Util left, tadzik left, masak left 10:09 p6eval left, dalek joined, ChanServ sets mode: +v dalek 10:10 tadzik joined, Juerd left, p6eval joined, ChanServ sets mode: +v p6eval, Juerd joined, hugme joined, ChanServ sets mode: +v hugme 10:11 rindolf joined, SmokeMachine joined 10:13 Util joined 10:14 masak joined
jnthn moritz: bit tied up with $dayjob at the moment, will look at NativeCall later on 10:15
10:15 gfldex joined 10:16 wtw joined
FROGGS moritz: why does that fail to match? gist.github.com/4317261 ó.ò 10:16
moritz FROGGS: no idea off-hand; use jnthn++'s great regex tracer to find out 10:19
FROGGS k, will do 10:20
10:20 jerome joined
jnthn rule package_declarator { 10:27
| 'module' \s+ ]
by the time you hit \s+, the implict <.ws> nommed the whitespce.
FROGGS what? 10:28
moritz it's a rule { }
so each whitespace in there implies a <.ws> call
FROGGS I see now that \s+ doesnt match, but when I use <ws> or <.ws> instead, it hangs
so it already matches or ignores whitespaces? 10:29
jnthn FROGGS: rule automatically inserts <.ws> calls for you. Just delete the \s+
FROGGS k
moritz that's usually the result of quantifying a rule that can match zero characters (hangs, that is)
FROGGS ahh, understand 10:30
btw, that debugger is so awesome
moritz++, jnthn++ # it is the working! 10:35
moritz \o/
10:36 anuby_ left 10:38 arkydo joined 11:03 kaleem left 11:05 Su-Shee_ joined 11:06 Su-Shee left, Su-Shee_ is now known as Su-Shee 11:10 arkydo left 11:20 kaleem joined
cedrvint Hello #perl6! 11:35
moritz \o cedrvint
cedrvint \o moritz
does anyone want to proofread Day 18? 11:36
perl6advent.wordpress.com/?p=1745&a...eview=true
11:39 wtw left, sizz_ left
moritz nice once, cedrvint++ 11:41
though I confess I've only skimmed it
cedrvint thanks :) 11:42
11:43 sizz joined 11:47 sizz left 11:51 sizz joined
dalek : 4636cf0 | colomon++ | misc/perl6advent-2012/schedule:
Update misc/perl6advent-2012/schedule

Switch my days' descriptions around, since I ended up doing the second one first.
12:01
12:19 kivutar joined
moritz r: for ^1 { say FIRST 42 } 12:21
p6eval rakudo 643719: OUTPUT«Nil␤»
moritz r: for ^1 { say CHECK 42 }
p6eval rakudo 643719: OUTPUT«42␤» 12:22
gfldex p6: my $flag = -1; sub will_fail(){ ENTER $flag = 0; LEAVE $flag = 1; while 1 { say "enter: while"; die "welp!"; } }; try will_fail; say $flag; 12:24
p6eval rakudo 643719, niecza v24-12-g8e50362: OUTPUT«enter: while␤1␤»
12:38 wamba joined
timotimo please excuse the pestering - could this patch be applied on rakudo-nom? t.h8.lv/0001-.perl-Enums-correctly-too.patch 12:39
12:39 erkan left
moritz timotimo: yes, will do 12:40
dalek kudo/nom: f93e603 | (Timo Paulssen)++ | src/core/Enum.pm:
.perl Enums correctly, too.

Signed-off-by: Moritz Lenz [email@hidden.address]
12:41
timotimo thanks :)
12:41 wamba left 12:42 wamba1 joined
moritz thanks for the patch :-) 12:42
timotimo sure, was a nice little task to learn a bit more about rakudos internals
12:42 erkan joined, erkan left, erkan joined
moritz tadzik: fwiw panda seems to work fine with qast-sink-1 now. Your last commit message was "Almost fix panda for sink context" -- are you aware of anything missing? 12:46
12:49 stevan_ left 12:51 bowtie joined
timotimo how new is the sink context idea? has it been spec'd for a long time now? 12:58
moritz yes
jnthn moritz++ tried to implement it a while back, but PAST was not quite so well suited to it as QAST 12:59
moritz it first appears in the roast commit logs in 2009, where void context was renamed to sink context
13:01 wtw joined 13:08 wamba1 left 13:09 SHODAN left 13:11 wtw left, SHODAN joined 13:12 SamuraiJack_ left
moritz now that qast-sink-1 seems to come along nicely, I could delete the old sink branches 13:12
branches sink and sink2 deleted. 13:15
jnthn :) 13:18
yeah, qast-sink-1 is the winner :)
Woodi hallo :) 13:24
reading jnthn++ phasers post make me thinking: this is meta-programming :) also: it starting to look 3D when imagined... 13:25
btw. if bootstrapping nqp require compiled older-nqp I will reinstall my boxes :) 13:27
13:31 LlamaRider joined
FROGGS jnthn: is there a way to get all global symbols in my current scope? 13:32
moritz: thanks 13:33
jnthn FROGGS: GLOBALish, perhaps? 13:34
13:34 pmurias joined
jnthn r: class Foo { }; say GLOBALish:: 13:34
p6eval rakudo f93e60: OUTPUT«("Foo" => Foo).hash␤»
FROGGS r: say $*GLOBALish
p6eval rakudo f93e60: OUTPUT«Dynamic variable $*GLOBALish not found␤ in method gist at src/gen/CORE.setting:10292␤ in sub say at src/gen/CORE.setting:7483␤ in block at /tmp/LagLHz7NJA:1␤␤»
FROGGS ahh
dalek p: e6a721b | (Paweł Murias)++ | src/ops/nqp_bigint.ops:
Avoid loosing significant digits when converting from bignums to doubles on 32bit. One less failing assertion on test 60.
FROGGS r: say GLOBALish::; { use Test; say GLOBALish::; } 13:35
p6eval rakudo f93e60: OUTPUT«("Test" => Test).hash␤("Test" => Test).hash␤»
FROGGS r: say GLOBALish::; sub test { use Test; say GLOBALish::; }; test()
p6eval rakudo f93e60: OUTPUT«("Test" => Test).hash␤("Test" => Test).hash␤»
jnthn Globals are...global
FROGGS :/
jnthn Note that GLOBALish is "what do I provide to merge into the main set of globals if I'm a module" 13:36
FROGGS r: say GLOBALish::; sub test { require Test; say GLOBALish::; }; test()
p6eval rakudo f93e60: OUTPUT«().hash␤("Test" => Test).hash␤»
FROGGS --------------------------^
jnthn Right, require happens at runtime
FROGGS so this way I can see what a module exports 13:37
jnthn say GLOBALish::; sub test { require Test; say GLOBALish:: }; test(); say GLOBALish::;
r: say GLOBALish::; sub test { require Test; say GLOBALish:: }; test(); say GLOBALish::;
p6eval rakudo f93e60: OUTPUT«().hash␤("Test" => Test).hash␤("Test" => Test).hash␤»
jnthn Not a scoping thing
FROGGS ya, right
jnthn FROGGS: No, you can see what *GLOBALs* it has
FROGGS just runtime
[Coke] ドリンクコーヒー
jnthn Import is lexical
FROGGS jnthn: thats what I want
at least I think 13:38
[Coke] Q: should the texas set operators bind looser than = ? 13:39
moritz A: no 13:42
my proposed precedence was the same as junctive operators
but I don't have much experience nailing down precedence levels
so I decided to wait for feedback from the magical TimTOADy :-) 13:43
[Coke] ok. sample bug in yesterday's backscroll if you need one. 13:45
moritz there's one in RT too
[Coke] wonders how much effort it would be for masak to post a leaderboard of various solutions pre-decision. 13:46
moritz++
moritz judging from last year's experience, judging solutions is a lot of work. 13:47
[Coke] Just for the stuff a program could handle, like 'wc -l' and 'time .\base_test' output. 13:48
[Coke] also wonders if historically there has been a private tester with more curveballs.
[Coke] understands that even the automated stuff is a PITA to do, though.
moritz has implementations for three tasks that pass base-test 13:49
and I'm only happy with one of them
and have submitted none so far :(
[Coke] I could see some extensions to t1, for example, that aren't explicitly tested but could be.
Passing base test on t2 is easy! :) 13:50
moritz github.com/perl6/specs/issues/25 # missing set operators
say "XXXXX" for ^3 # bases t2 base_test
[Coke] moritz: which ones? I am passing on t1 and t2. I like my t1, but it could use some cleanup and more sixing, and my t2 is barely there (but passes!) 13:51
masak moritz: the base tests are never meant to be exhaustive.
phenny masak: 02:49Z <[Coke]> tell masak t1 says "must be on the form" when it probably should be "of the form"
masak: 03:58Z <japhb> tell masak in the Day 16 advent entry, the tree structure in the "Operator precedence parser" section is missing the 5 term.
moritz [Coke]: I'm happy about my t3 solution
masak [Coke]: right. see notes.md.
moritz masak: I know :-)
masak moritz: and relying on only those tests is a sure way to lose the contest :P 13:52
moritz [Coke]: and t2 and t5 pass their base tests
masak: I know :-)
masak anyway, wohoo chapter 86 \o/
moritz has read it already during commute and pauses
masak: and the second half of chapter 85 was completely redone 13:53
[Coke] masak++ notes.md
13:53 replore joined
masak moritz: I suspected that, based on author notes. 13:53
I will probably re-read chapter 85 first. 13:54
moritz anyway, masak++ # I've had quite some fun during p6cc so far 13:55
masak that's the intent :)
13:55 pmurias left
moritz and t3 produces cute output :-) 13:56
13:58 cognominal joined
LlamaRider masak++ I'm back to P6 after a year of plain old P5 for the new contest :) Let's see if I stick a little longer this time. Thanks! 13:59
masak welcome back, LlamaRider :) 14:02
[Coke] If I'm in a grammar, and I'm calling { fail("...") } - do I have access to the current position of the parse so far? (so that I can figure out what's been successfully matched so far?) 14:03
masak such information should be available through the cursor, I should think. 14:04
moritz: re rt.perl.org/rt3//Public/Bug/Displa...?id=116114 -- yes, but what's that variable $v mentioned in the warning? 14:06
moritz masak: that's LTA, but afaict that wasn't what the ticket complained about
and I think we have another ticket for that too
14:07 replore left
masak very well. 14:10
14:11 smi1er left, replore joined
moritz but yes, that's something that annoys me too 14:12
14:12 smi1er joined 14:17 sisar joined, PacoAir joined
felher impressive.sourceforge.net/index.php -- this thing is great. Exactly what I need for PDF presentations. 14:17
oops, wrong channel. 14:18
masak "The page transition effects aren't exactly useful, but they are nice to watch and provide a moment of relaxation for both the audience and the presenter :)" -- as a frequent audience member, I expect better of the presenter than this. 14:20
[Coke] masak: self.CURSOR ?
masak [Coke]: I often see $/.CURSOR, I think.
timotimo masak: the transition effects are, of course, optional 14:21
[Coke] r: grammar b { 'hi' { fail self.Cursor } }; b.parse("hi world");
p6eval rakudo f93e60: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/kURRfcWtyj:1␤------> grammar b { 'hi' ⏏{ fail self.Cursor } }; b.parse("hi worl␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement en…
moritz self.CURSOR if you're inside a method in the grammar
[Coke] r: grammar b { rule TOP { 'hi' { fail self.Cursor } } }; b.parse("hi world");
p6eval rakudo f93e60: OUTPUT«No such method 'Cursor' for invocant of type 'b'␤ in regex TOP at /tmp/2DTjpQP5co:1␤ in method parse at src/gen/CORE.setting:10508␤ in block at /tmp/2DTjpQP5co:1␤␤»
[Coke] r: grammar b { rule TOP { 'hi' { fail self.CURSOR } } }; b.parse("hi world");
p6eval rakudo f93e60: OUTPUT«No such method 'CURSOR' for invocant of type 'b'␤ in regex TOP at /tmp/jqvo0C8dI6:1␤ in method parse at src/gen/CORE.setting:10508␤ in block at /tmp/jqvo0C8dI6:1␤␤»
moritz $/.CURSOR (or $/ often has enough information) if you are inside a block inside a regex
felher masak: yeah, I don't like page transitions myself. But what I like is the overview of your slides you get pressing [TAB] and that is really fast, as soon as it has cached the slides. The Spotlight/Highlight-Area features are nice, too :) 14:22
[Coke] $/ isn't guaranteed to exist at that point, is it?
moritz but, nobody really really knows what's supposed to happen if you call fail() withiin a regex
masak timotimo: yes, of course. my point, though, is that gratuitous transition effects are a "presentation smell".
moritz [Coke]: $/ always exists inside a block inside a regex
[Coke] moritz: is there a better way to fail a regex?
timotimo i agree
moritz [Coke]: die() (and catch on the outside)
masak timotimo: the most memorable presentations I've seen sometimes used transitions. but in every single case, the transition was "part of" the message, not an external effect. 14:23
no doubt I've seen many bad presentations with lots of useless transitions. some of them intentionally bad :)
timotimo as long as there's no microsoft powerpoint sound effects (there's one with clapping and cheering ... yup) 14:24
masak like this one: www.youtube.com/watch?v=lpvgfmEU2Ck :) 14:25
[Coke] moritz++ 14:27
moritz in the past I've wished for a mechanism to just abort the current parse, without dieing on the outside 14:28
but the more I know about actual, non-trivial gramamrs, the less realistic that idea becomes
because most of these grammars switch between mainline code and regex quite a bit
(see the OPP in the Perl 6 parsers) 14:29
14:35 stopbit joined
masak .oO( every time I abort my parse, I die a bit on the outside ) 14:36
colomon errr... does qqx capture standard error? 14:41
moritz iirc it shouldn't, but there's a bug in rakudo that makes it capture it anyway 14:43
colomon ah, that would explain what I was just seeing 14:44
14:50 lawrmcfa left
[Coke] how to install rakudo-debugger? 14:54
jnthn [Coke]: panda can install it these days 14:55
[Coke] ah, so says the README. bother. now to install panda.
jnthn Yeah, but who reads READMEs P
[Coke] hangs his head in shame. 14:56
masak that's why current best practice is to name them nothing-important-here-I-promise.txt
[Coke] Ugh. as someone who is trying to write perl6, relying on the latest and greatest is a PITA.
masak [Coke]: could you be more specific? 14:57
moritz [Coke]: I wrote my p6cc solutions using the qast-sink-1 branch of Rakudo :-)
[Coke] masak: I wish to have an installed version somewhere that I can easily update to git-latest of everything. I can't use rakudo *, since it's pretty much instantly out of date 14:58
(e.g. I am using some set stuff in my t1 solution.)
I also don't want this installed version to be the version of rakudo I might occasionally hack on.
so, slightly more of a headache than "port install rakudo-dev". 14:59
masak oh, I see.
moritz [Coke]: my recent %*CUSTOM_LIB patches were a step towards making that possible
15:00 cognominal_ joined
moritz well, towards have two different Rakudos installed, at least 15:00
masak I was wondering why I don't experience that. but it's because I build from source and virtually don't use Star at all.
[Coke] masak: nothing insurmountable or new. I just should get around to writing a "REBUILD RAKUDOENV" script.
15:00 cognominal left
PerlJam masak: how often do you build rakudo? 15:00
Su-Shee so, someone written sixbrew yet? (or should it be called sixpack? :) 15:01
15:01 cedrvint left
masak PerlJam: somewhere between once a week and dozens of times a week. depends if I'm hacking on it ;) 15:01
Su-Shee++ # sixpack
Su-Shee masak: or, the module installer is sixpack and then there's sixbrew.. :) 15:02
masak queues up "sixpack" as the name of Panda.next :)
PerlJam "sixpack" makes me think of "fatpack" 15:06
Su-Shee I'm waiting for release renaming then to becks, guiness, jever..
PerlJam: yes because you don't have beer which deserves to be called beer. ;)
15:09 cedrvint joined, LlamaRider left
masak oh! by the way, do we have a good .pm group candidate to name the upcoming Rakudo release? 15:10
Su-Shee masak: Northpole, of course. ;) 15:13
15:13 wtw joined
[Coke] ZA.pm ? They look lonely on the map. 15:14
15:14 GlitchMr joined
[Coke] . o O (probably a horrible reason to pick them.) 15:14
Su-Shee name it "hackernews" with "and thanks for years of perl bashing" ;) 15:15
15:16 cognominal_ left, cognominal joined
masak [Coke]: also, release #40 was ZA. 15:16
Su-Shee: though HN is a less angry crowd in that regard than is Reddit. 15:17
[Coke] Any PMs of #perl6 folks that haven't been picked yet? 15:18
Su-Shee masak: I've realized that the second you go outside "web development" hackernews and reddit are more or less irrelevant...
[Coke] tries to use rakudo-debugger without installing it (and without panda) and gives up, and will setup "update_all_my_rakudo.sh" later. 15:19
masak lurkers, divulge your PMs! 15:20
Su-Shee: I guess any forum of that kind shall be taken with a big pinch of salt.
[Coke] I am at Albany.PM, but the last meeting was years ago with one guy who was never leaving 5.6 15:21
Su-Shee masak: imagine a totally no-nonsense forum focused on content and in depth discussions and people only posting if they actually know stuff.. ;)
FROGGS [Coke]: well, there a six in it
jnthn masak: We could call it after Malmo.pm to shame us into setting it up :P 15:22
[Coke] After that disappointing showing, I pretty much gave up. Being a cheerleader is hard.
masak wut, there is no Warzawa release?
tadzik: you live there, no? 15:23
Warszawa*
GlitchMr I was going to propose Warsaw.
masak that settles it, then. 15:24
jnthn: heh, there's even a Helsingborg.pm!
GlitchMr I don't live in Warszawa, but close enough.
masak that *is* shameful.
GlitchMr I don't know where tadzik lives, however.
jnthn I know. Helsingborg doesn't deserve a PM group!
Shocking it could be thoguht to have such culture.
:P
masak :P 15:25
I wonder what would happen if we set one person on contacting all the PM groups, let's say of Europe.
asking them if they'd like us to come speak about Perl 6 :)
GlitchMr From Poland, also Kraków and Szczecin makes sense. But well... 15:26
make*
jnthn masak: We could try to do a tour of all the PM groups of Europe! :D
One group a day should only take us...er...hm, $dayjob may not like this... :)
moritz Tour D'Europe!
masak jnthn: that's... an awesome idea.
GlitchMr There are lots of PM groups in Europe...
Su-Shee how about with a perl 6 conference for starters.. 15:27
GlitchMr And lots of those in Germany.
Su-Shee GlitchMr: they just look like usergroups, many are silent or a tiny group of disappointed aging ex perl developers. 15:28
GlitchMr Interesting how Perl in Germany doesn't have PM group.
masak sorear: is Yudkowsky really "campaigning to stop world AI research"? I thought he was mostly having very specific (and arguably non-workable) ideas of how to do AI development so that the resulting AI doesn't kill us. 15:29
Su-Shee it's a tiny city with nearly no IT companies..
masak I think at this point a Perl 6 conference is quite feasible.
jnthn We could have t-shirts with a big 6 on ;) 15:30
GlitchMr Camelia or 6?
Su-Shee jnthn: _I_ will go for "rakudo starlet" in pink. ;)
GlitchMr (why not both)
jnthn 6 Cameliii
[Coke] Y'all are welcome to come to an Albany.pm meeting. I can guarantee beer for anyone who shows up, even if I cannot guarantee attendees. 15:31
jnthn Su-Shee: ooh :)
15:31 leont joined
Su-Shee masak: let's keep the conference idea in mind for next year. 15:31
[Coke] guesses that's more of a hackathon. >Close Enough!<
jnthn There's gonna be a Perl 6 hackathon day before YAPC::EU, btw :) 15:32
moritz yes, I've read it in the blog 15:33
and there's a decent chance that $work pays my trip to YAPC::EU
jnthn (Andrew Shitov)++ contacted me about it and I was like "omg yes let's have one" :)
Su-Shee i've just saw the line on the docs that perl 6 is prototypical OO underneath.. what exactly does that mean? that I could bypass classes and still get object creation with new by.. <insertmagichere>? 15:38
in the docs 15:39
moritz Su-Shee: it's prototypical in the sense that you can manipulate the class itself like an ordinary object
call methods on it, pass it around 15:40
Su-Shee moritz: isnt that more of a MOP-ish thing?
jnthn wonders which docs :)
moritz Su-Shee: what's the essense of protytpical OO, in your opinion?
Su-Shee moritz: I know that from Moose of course and Smalltalk has that too.. but I've never put that into the realm of "self, javascript, lua prototype OO"
moritz: I mean the class-less OO like self lua javascript by that 15:41
moritz: the "object creation on the fly" kind of thing without a class keyword etc
moritz Su-Shee: but is the lack of a class keyword really the essence? 15:42
Su-Shee jnthn: raw.github.com/perl6/specs/master/...bjects.pod
moritz: imho yes it's part of it.
[Coke] is reminded to mention p6cc2012 on the albany.pm list.
moritz has to remind himself every time that albany isn't albania :-) 15:43
Su-Shee moritz: (this is just a feeling and might be wrong) it leads to a different object creation style with interestingly few instance vars for example
[Coke] moritz: hey, don't insult Albania like that.
Su-Shee it's also no albino and not elbonia ;)
moritz Su-Shee: I guess that what S12 means is that in prototype OO, methods are looked up first in the instance, then in the prototype, then in the prototype's prorotype etc. 15:44
Su-Shee: in Perl 6 that's very similar
Su-Shee moritz: that's very confusing to understand for everyone coming from javascript for example these days.. 15:45
jnthn If you want something that feels more prototype-y like JavaScript in Perl 6, it'd need a custom meta-object to make it happen.
moritz method lookup is done in the object (which might have roles mixed in (jnthn, I know this isn't quite accurate)), then in the class, then in the classes' parent class etc.
jnthn moritz: Only conceptually. Mixing in a role actually causes a change of type. 15:46
And the anonymous type has the methods
moritz jnthn: that's why I wrote I knew it wasn't quite accurate :-)
Su-Shee maybe it's just a syntax thing, but I've come to like JS's OO. 15:47
if it now had modules that would be even nicer.
masak I tend to use the class-based parts of Perl 6 OO if I use them at all. when I want something more lightweight, I use hashes.
it's not often that I actually feel a direct need to do prototypal inheritance. 15:48
Su-Shee masak: to me it seems that javascript put an OO style forward which emphasizes the shoving around of functions a lot more and toned down the OO part to its bare minimum. it has a nice whipup-an-object feel. 15:50
masak: and I always wondered how the prototype-ishness of perl 6 would relate to that but it seems it wouldn't because it means something different.. 15:51
masak Su-Shee: to date the prototype-ishness of Perl 6 seems more of an unrealized potential. 15:53
unless you count the 'but <role>' behavior discussed above, which I don't really view as prototype-based OO. 15:54
Su-Shee masak: so far, I don't have a real opinion, because I don't know everything about perl 6 classes/MOP and its features.. 16:01
masak well, the MOP is great. it's still the coolest thing I've seen in terms of OO design, ever. 16:02
16:02 leont left
Su-Shee funnily, it just sounds complicated, it came quite naturally in Moose (I wrapped old *cough* classes into Moose and had et viola shiny new classes ;) 16:03
masak Moose does some details better, but Perl 6's MOP is cleaner because it has a better starting point.
Su-Shee masak: well now it's implemented twice, now people know where to put the fingers on. 16:04
masak note how all the cool tech jnthn keeps churning out (mocking framework, code+regex debugger) rests directly on the MOP.
jnthn++
Su-Shee takes note. :) 16:05
timotimo std: q\ \ 16:10
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'q' used at line 1␤Check failed␤FAILED 00:00 41m␤»
timotimo rt.perl.org/rt3/Ticket/Display.html?id=77664 - 2 year old bugs irk me for some reason, especially if it doesn't say what direction the solution should go 16:11
moritz rakudo: q\ \ 16:12
p6eval rakudo f93e60: ( no output )
moritz std: q\ \
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'q' used at line 1␤Check failed␤FAILED 00:00 41m␤»
moritz timotimo: in case of parsing errors, it's usually safe to accept std's answer 16:13
s/errors/questions/
16:14 hash_table joined, thou joined 16:17 replore left, pmurias joined
dalek p: 36f5853 | (Paweł Murias)++ | / (2 files):
When converting doubles to bignums fill up 3 digits. Pass test 60 on 32bit machines
16:20
16:20 kaare_ joined
pmurias jnthn: you should test if test 60 still passes on 64bit machines 16:20
moritz tries it 16:21
timotimo rt.perl.org/rt3/Ticket/Display.html?id=77712 - so rakudo now says "Unsupported use of C++ constructor syntax", is that correct or wrong? should i mark the ticket as resolved or should rakudo implement new Foo to mean Foo.new instead? 16:22
std: class A {}; my $a = new A;
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at /tmp/laGzRrDlX5 line 1:␤------> class A {}; my $a = new A⏏;␤Parse failed␤FAILED 00:00 43m␤»
timotimo ah, ok, there's my answer 16:23
moritz pmurias: since you're already working on that file on a 32 bit system, could you please check if nqp_bigint_is_big actually works there?
16:23 matthiasw joined
moritz (and if no, possibly fix it) 16:23
16:24 kaleem left, sisar left
moritz the only nqp test failure I have is in 46-charspec.t, but that's related to ICU and unrelated to bigints 16:24
pmurias that should skip instead of failing 16:27
16:29 matthiasw left
pmurias moritz: I'm not sure what's nqp_bigint_is_big is supposed to do as it's not tested, I generally prefer to work on nqp-js instead of nqp-parrot but was just fixing failing tests which are a nuisance to everybody 16:32
kresike bye folks
16:32 kresike left
moritz pmurias: it's supposed to report 1 if the value in the bigint is too big to fit into an INTVAL 16:32
16:37 hoelzro is now known as hoelzro|away 16:47 SamuraiJack_ joined 16:54 lichtkind joined 16:57 Chillance joined, replore_ joined
jnthn home 16:58
17:02 isBEKaml joined, replore_ left, pmurias left
grondilu My medidation on irrational numbers: perlmonks.org/?node_id=1009200 17:04
17:05 MayDaniel joined 17:06 wamba joined
timotimo did i understand the sink context branch correctly that it makes for generally lazy and if the last statement in a block is a for loop, the loop may not be executed because the lazy result is returned upwards and not necessarily iterated over? 17:07
17:09 lue left 17:10 lawrmcfa joined, hoelzro|away is now known as hoelzro, isBEKaml left 17:12 FROGGS left
TimToady we probably need a warning "Final loop is in unknown context; please set the return type to clarify" 17:14
jnthn TimToady: Just for "for" or for "map" also? 17:15
Su-Shee so, I just installed a nice CPAN viewer for android.. can someone point me to the Perl 6 pocket reference for android? :)
timotimo sounds good to me. or maybe there'll be a Perl6::Critic one day that can do that
17:15 MayDaniel left, birdwindupbird left
jnthn TimToady: Also, "set the return type" doesn't seem too clear. 17:15
timotimo "set the return type or add a sink or lazy declaration"? 17:16
jnthn Are we meant to actually compile things differently based on some kind of returns declaration?
TimToady certainly the optimizer will care 17:17
timotimo Su-Shee: anything else androidy that's nice to have for a perl6 interested person?
(i don't think i'd benefit much from a perl6 interpreter on my phone :D)
TimToady also, the warning should probably be only on Routines
jnthn TimToady: Oh sure, but the optimizer isn't meant to make *semantic* changes :)
TimToady in a sense, it isn't, presuming you're intending to call the routine consistently with its semantics 17:18
that is, you'd generally call a sinking procedure in sink context anyway
17:19 replore_ joined
TimToady (sooner or later, somewhere up the call chain) 17:19
jnthn That doesn't actually catch all the problems though.
If your side-effects expect to be in the dynamic scope of the routine, that's when you hit issues.
TimToady sure, hence the warnings
Su-Shee timotimo: well my nokia N9 comes with a perl 5 out of the box.. ;) no, no perl 6 stuff that I know of...
TimToady we could go as far as to have separate declarators for "procedures", but just having a sink return type already seems to say that 17:20
jnthn Anyway, +1 to a warning
TimToady sink or constant return, now that we can put a constant return value like True
jnthn What does "sink return type" mean precisely?
TimToady well, maybe means returning () or Nil as a value
std: sub foo($a,$b --> Nil) { for $a,$b {...}} 17:21
p6eval std a8bc48f: OUTPUT«ok 00:00 46m␤»
jnthn ah, you mean actually annotating the routine with a return type.
TimToady std: sub foo($a,$b --> True) { for $a,$b {...}}
p6eval std a8bc48f: OUTPUT«ok 00:00 46m␤»
TimToady yes
that's part of why I relaxed what came after -->
17:21 hoelzro is now known as hoelzro|away
jnthn I'd always expected those things to be constraints. 17:21
huh? when? :)
S06? 17:22
TimToady just in STD
at least, don't remember respeccing yet..
but I've been insane busy this last couple weeks
jnthn ah, OK 17:23
Then I didn't miss the change :)
17:23 replore_ left
jnthn Well, the spec change I was expecting anyways. 17:23
OK, I'd really like to get a good warning and good solution in place for this before a Rakudo release ships with sink context enabled, but there's plenty of time for that (will merge it after this month's compiler release). 17:24
So no massive hurry. :)
17:28 benabik left
TimToady you and everyone else :) 17:29
timotimo i, for one, welcome our sinky overlords. 17:30
17:30 atrodo joined 17:33 MayDaniel joined
masak grondilu: the 'while' loop in the infix:<==> seems redundant to me. as the code stands now, at least. 17:35
17:37 MayDaniel left 17:38 FROGGS joined 17:40 replore joined
[Coke] masak: so, last year, I was surprised at how slow my solution was compared to the other entrants. There's no feedback on that before judgement time unless I troll other participants directly, aye? 17:42
17:44 replore left
[Coke] troll is probably an unfortunately choice of words, but actual trolling might be super effective. "Wow, my t1 tests run in under a second, how are you lamers doing?" 17:45
TimToady enum How <quick-and-dirty clean-and-elegant>; given How.pick { when clean-and-elegant { ... }; when quick-and-dirty { ... } } # submit two solutions as one :) 17:46
you can at least compare two of your own solutions for speed
[Coke] aye. 17:48
You participating this year, TimToady ?
diakopter [Coke]: my t4 solution (this year) takes 2 seconds to run. nearly all of that is compilation time
masak [Coke]: there are no rules against contestants communicating. personally, I like it when people talk about the problems.
diakopter like, 97% of that is compilation time 17:49
masak though of course different contestants may play more or less close to their chest.
diakopter [Coke]: have you solved t4?
17:49 arnsholt joined
[Coke] diakopter: no. I haven't even digested the problem statement. 17:50
TimToady [Coke]: maybe under a pseudonym :)
masak o.O 17:51
[Coke] I have a decent solution for t1, but it base test there takes 0m18.388s
masak the base tests are bound to be slow, because they re-compile all the time. 17:52
hm, unless you're using Niecza, I guess.
(Niecza caches compiled code)
jnthn Scripts as well as modules?
masak aye.
jnthn Hm 17:53
jnthn had only been considering it for modules :)
[Coke] wonders if submissions are better split up into modules if enough code, single file, or "whatever works"
TimToady I think it should be considered inside files too, so we end up with an incremental compiler :)
"Oh, this function didn't change, where did I put that AST for it?" 17:54
diakopter whenever I read incremental I think of encroaching
don't know why
TimToady you're thinking of "insidious" :) 17:55
certainly we'd like Perl 6 to be insidious...
diakopter [Coke]: I was almost done with my solution then I realized it didn't balance/limit the water table of caverns/tunnels connected underground 18:03
18:04 dakkar left
diakopter making that adaptation will require probably another 10 lines of code or so 18:08
my problem is my code is not p6y 18:09
it could be written in p5 or javascript and look the same
except for a few uses of -> and ..^ 18:10
masak well, "idiomaticity" is only one dimension. 18:11
18:11 Kharec left
diakopter it's also not brevious 18:12
lichtkind hmh
diakopter er, brief.
but I do think it has efficiency going for it 18:13
and clarity
and readability and correctness.
18:13 MayDaniel joined
diakopter but brief and idiomatic, not so much 18:13
18:15 lawrmcfa left 18:17 Rotwang joined 18:22 replore joined
[Coke] I'm at 224 lines for t1, with several comments like: #?? there has GOT to be better way to do this in p6 ;) 18:23
18:25 cognominal left
[Coke] panda requires perl6 be in your path, you can't specify a FQ path to perl6 to run the bootstrap? 18:26
diakopter I haven't thought about t1 enough to be able to guess how long my solution would be
other than "implement prolog" 18:27
[Coke] I am stunned that someone would do them out of order! ;)
18:27 replore left
FROGGS [Coke]: I'am doing right now: PERL6LIB=~/dev/panda/lib PATH=$PATH:~/dev/nqp/install/bin ~/dev/rakudo/perl6 ~/dev/panda/bin/panda install File::Spec 18:27
diakopter actually I got most of the way through t4 without reading the other 4 at all 18:28
FROGGS [Coke]: I put panda's lib dir in INC because I make changes to it...
[Coke]: should work for you too
[Coke] I'm also sad that the binary installs into lib/..../site/bin instead of bin/ 18:30
FROGGS well, it installs in site/bin, that is basically what you want
dump you %*CUSTOM_LIB to see what your <site> is 18:31
your*
[Coke] an alias in the main bin/ dir would be nice.
FROGGS what is the "main bin"? 18:32
home, site, vendor or perl?
[Coke] the top level bin of the install dir.
so that I do not have to update my path with multiple bins.
18:32 cognominal joined
FROGGS the problem is that you can have the same filename multiple times from different dists or different versions of the same dist 18:33
there is no proper way to do that right now 18:34
[Coke] fair enough. Danke. 18:35
Does panda respect $http_proxy ?
18:47 Exodist joined
kthakore hi FROGGS 18:53
18:54 spider-mario joined 18:55 Pleiades` left 19:01 Pleiades` joined 19:05 REPLeffect left, replore joined 19:09 replore left 19:12 grondilu left 19:14 hash_table left
flussence [Coke]: I'm looking at the source... it uses LWP/UserAgent.pir, which does seem to do that (line 429 checks for env vars with "_proxy" in the name) 19:15
19:17 lichtkind left 19:18 lichtkind joined 19:19 lichtkind left
[Coke] flussence: thank you for doing my legwork for me. :0 19:21
er, :)
flussence the one thing I seem to be consistently good at is being better than ack :) 19:22
19:24 lichtkind joined 19:25 lichtkind left 19:26 lichtkind joined 19:29 kivutar left 19:30 lichtkind left 19:32 lichtkind joined 19:36 lichtkind left 19:37 lichtkind joined, lichtkind left
FROGGS hi kthakore 19:38
diakopter how do I escape 3 loops at once in rakudo
19:38 lichtkind joined, lichtkind left
diakopter eh, the checks have to be there anyway, nm 19:38
tadzik moritz: (panda) it wasn't bootstraping properly on my box, but I don't have access to it now 19:41
masak: live where?
(hellp #perl6)
er, hello :) 19:42
aw, Warsaw. The after-gsoc release was to be named after it, but for some reason it wasn't :)
jnthn o/ tadzik 19:45
19:47 am0c left, SamuraiJack_ left 19:48 replore joined 19:53 replore left 19:54 Kharec joined 20:03 SmokeMachine left
sorear good * #perl6 20:05
diakopter hi
20:06 kurahaupo joined 20:12 xinming joined 20:14 sqirrel left 20:15 xinming_ left 20:22 cognominal left 20:28 fhelmberger left 20:29 cognominal joined 20:30 replore_ joined, replore_ left 20:33 kurahaupo left
masak hellp tadzik! :) 20:34
20:34 swanstomp joined
tadzik /o\ 20:35
20:50 kaare_ left 20:51 replore joined, replore left 20:53 hash_table joined 20:55 kurahaupo joined 20:56 cognominal left 20:59 Rotwang left
GlitchMr cosimo: perhaps late, but check out stackoverflow.com/a/13922039/736054 20:59
rindolf More git trouble today.
Story of my life. 21:00
The git sage continues.
[Coke] rindolf: something we can help with? 21:01
21:01 wamba left
rindolf Yay, working now. 21:01
rindolf kicks git.
I pushed once into the github repository and it made it the default for the branch.
git saga*
GlitchMr I really would like to use junctions in other programming languages :-(. 21:03
But perhaps I shouldn't... I ABUSED them in t3.
21:04 cognominal joined
GlitchMr Junctions of junctions of junctions of junctions... 21:04
21:07 japhb_ joined, bruges left
GlitchMr Perl 6 is full of interesting ideas. 21:09
21:09 bruges joined
GlitchMr I think it's too modern for 2012 ;-). 21:10
21:12 thou left, swanstomp left 21:15 Rotwang joined 21:17 GlitchMr left 21:20 localhost joined, localhost left 21:34 replore_ joined 21:38 replore_ left 21:53 LlamaRider joined, cognominal left 21:55 replore joined 22:00 replore left 22:11 LlamaRider left 22:12 spider-mario left 22:15 MayDaniel left 22:17 replore_ joined 22:20 noggle left, pmurias joined 22:21 replore_ left 22:23 Rotwang left
pmurias jnthn: can we count on sizeof(FLOATVAL) <= 2*(size of bignum digit) 22:23
22:27 grondilu joined
japhb_ A couple minutes ago I wrote a bash script that generated a symlink on disk based on the output of a Perl 6 one-liner that did a regex match and then did 'say $0' to pass the result back to bash. Imagine my surprise when I found that the symlink target on disk had half-width corner braces at the start and end. ;-) 22:30
masak hah! :)
22:31 cognominal joined
jnthn pmurias: Not sure we can on 32-bit... There FLOATVAL will still typically be double, but bignum digit will be 28 bits iirc. 22:31
May be misremembering...
pmurias why 28? doesn't 32 make much more sense? 22:32
jnthn pmurias: Apparently, not when implementing bigints :) 22:33
pmurias: I think the other bits are used for carry and other stuch things.
22:38 replore joined 22:41 rindolf left 22:43 replore left
felher Good night, perl6 :) 22:43
pmurias jnthn: I think using 3 digits should still work even with big numers as doubles use 53 bits for significant precision 22:46
jnthn pmurias: ah, good point
22:47 thou joined 22:53 whiteknight joined 22:57 Chillance left
jnthn I have a patch that makes { a => $_ } be a block, not a hash (due to $_ usage). But now I've implemented it, I don't see S06 claiming it's meant to be that way. Anyone know where the reference is? 22:57
Also: 22:58
$obj = hash( 1, 2, 3, 4, 5, 6 ); # Anonymous hash
That's fine, but I guess
22:58 PacoAir left
jnthn hash { a => $_ } # is not fine? 22:58
'cus you pass a block to hash, and it thinks it's getting one element?
22:59 replore joined
jnthn Anyway, the patch passes spectests, apart from this test: 22:59
# XXX is hash { ... } legal?
my @b = map { hash {"v"=>$_, "d" => $_*2} }, @a;
is(+@b, 6, "should be 6 elements (list context)");
I think the test is questionable. Heck, even the test questions itself. :) 23:00
masak jnthn: S04:1606
jnthn masak: OK, so I wasn't being nuts :) 23:01
masak++ # thanks
That also doesn't claim that hash { ... } should work.
And I can't see any way to make it work. 23:02
Well, any sane way
23:04 replore left, hash_table left
pmurias jnthn: why should $_ make { a=>$_ } a hash? 23:07
jnthn: that seems strange
jnthn pmurias: 'cus the spec says so.
pmurias s/a hash/a block/
jnthn map { $_ => foo($_) }, @bar # so this works 23:08
pmurias ok
masak that's basically the reason, yes.
pmurias I'm not yet used to $_ being a parameter 23:09
jnthn ah, then I can see the confusion
rn: my @a = 1, 2, 3; (map { { $_ } }).perl.say 23:10
23:10 aindilis left
p6eval niecza v24-12-g8e50362: OUTPUT«Potential difficulties:␤ @a is declared but not used at /tmp/PHy8sHJ0I0 line 1:␤------> my ⏏@a = 1, 2, 3; (map { { $_ } }).perl.say␤␤().list␤» 23:10
..rakudo f93e60: OUTPUT«().list␤»
jnthn oops 23:11
rn: my @a = 1, 2, 3; (map { { $_ } }, @a).perl.say
p6eval rakudo f93e60, niecza v24-12-g8e50362: OUTPUT«(1, 2, 3).list␤»
jnthn ah, right, bare block
23:11 aindilis joined
dalek ast: a48a486 | jnthn++ | S32-list/map.t:
Correct a couple of tests.

One was uncertain, and the spec doesn't anywhere claim it should work. The other certainly contradicted the spec.
23:14
kudo/nom: e960577 | jnthn++ | src/Perl6/Grammar.pm:
Start tracking variable usage a bit.
kudo/nom: b030c86 | jnthn++ | src/Perl6/Actions.pm:
Make hash/block disambig consider $_ usage.
23:17 sjohnson left
dalek kudo/nom: e2d35b8 | jnthn++ | docs/ROADMAP:
Remove completed item.
23:17
kudo/nom: 03346c0 | jnthn++ | docs/ChangeLog:
Update ChangeLog.
23:20 replore joined 23:22 cognominal_ joined, cognominal left 23:25 replore left
masak 'night, #perl6 23:30
sorear night masak
23:32 stopbit left 23:37 lue joined 23:38 thou left 23:56 cognominal_ left