»ö« 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 blockat /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 rowat /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: while1» | ||
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 rowat /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 1Check failedFAILED 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 1Check failedFAILED 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 failedFAILED 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
|