»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
TimToady std: say exp 00:01
p6eval std 29330: Potential difficulties:␤ Unsupported use of bare 'exp'; in Perl 6 please use .exp if you want to exp $_, or use an explicit argument at /tmp/3w6GAfqXKX line 1:␤------> say exp⏏<EOL>␤ok 00:01 106m␤
00:07 hanekomu_ left, ascent_ joined
sjohnson rakudo: my %hash; %hash.animal = 'cow'; say %hash.perl 00:17
p6eval rakudo 7ef386: Method 'animal' not found for invocant of class 'Perl6Hash'␤in Main (file src/gen_setting.pm, line 324)␤
sjohnson hmm 00:20
rakudo: my %hash; %hash{animal} = 'cow'; say %hash.perl
p6eval rakudo 7ef386: Could not find non-existent sub animal␤in Main (file src/gen_setting.pm, line 324)␤
sjohnson rakudo: my %hash; $hash{animal} = 'cow'; say %hash.perl
p6eval rakudo 7ef386: Symbol '$hash' not predeclared in <anonymous> (/tmp/es2iMMkxEw:2)␤in Main (file <unknown>, line <unknown>)␤
Tene rakudo: my %h; %h<animal>='cow'; %h{'vegetable'}='potato'; say %h.perl; 00:21
p6eval rakudo 7ef386: {"vegetable" => "potato", "animal" => "cow"}␤
sjohnson thanks Tene 00:24
any other timtowtdi ways?
[particle] rakudo: my %hash; $hash{'animal'} = 'cow'; say %hash.perl
p6eval rakudo 7ef386: Symbol '$hash' not predeclared in <anonymous> (/tmp/6CPJ1XGVx5:2)␤in Main (file <unknown>, line <unknown>)␤
[particle] er...
rakudo: my %hash; %hash{'animal'} = 'cow'; say %hash.perl 00:25
p6eval rakudo 7ef386: {"animal" => "cow"}␤
sjohnson Tene++ [particle]++ # smart dudes 00:35
TimToady
.oO(they're smart because they read the docs)
00:37
00:37 ascent_ left
Tene What? I never read the docs when I can avoid it... 00:40
sjohnson TimToady: that... and they are helpful ! 00:41
00:41 cdarroch left
sjohnson can't get that from reading docs.. unless it's some sort of irc code of conduct document 00:41
but i should read those apocolypses 00:42
a lot of interesting and cool things in there. maybe the end of the world isn't such a bad thing 00:43
colomon It's easier to read the tests.
In some cases, it's almost easier to read the source. :)
00:43 Astoria` left 00:45 pmurias left
diakopter the designer is more difficult to read 00:48
TimToady mene, mene, tekel, upharsin 00:51
00:53 ash_ left
diakopter see what I mean? 00:56
RichiH can't you guys move the release date of perl6's advent calendar forward by two hours? 00:59
i mean, i am usually awake at 0200local, but still
colomon RichiH: huh?
RichiH colomon: they are released around 0200 local 01:00
colomon We usually release at midnight UTC, though today is running late.
RichiH the new blog posts, i mean
diakopter talk about seeing the writing on the Wall.. (I just now got that, btw)
RichiH ah, i always checked at 0200, not 0100
colomon diakopter: wait, is TimToady's quote the writing on the wall from... errrr... Ezekiel? 01:01
RichiH colomon: who controls it?
diakopter Daniel 5
close
(not sarcastic "close")
get it? Wall? 01:02
colomon RichiH: no one controls it, per se. It's more of a happy anarchy.
diakopter rolls
RichiH k
colomon diakopter: :) Didn't take it as sarcastic, I definitely don't consider keeping track of what happens where in there one of my specialities. 01:03
diakopter so, is #perl the Medes? or the Persians? 01:07
colomon /me is reading up on the subject... 01:13
In the context of Daniel, is there a practical difference between the two? 01:14
diakopter I don't know/remember 01:19
01:29 ash_ joined 01:41 ascent_ joined 01:50 rgrau joined 01:51 Exodist joined 01:57 Baggio_ joined 02:09 ashizawa joined 02:19 carlin joined 02:20 zaslon joined
zaslon lolmasakhazblogged! masak++ 'Some module names don't deserve to be short': use.perl.org/~masak/journal/40008?from=rss 02:20
02:20 mubot joined, pointme joined 02:28 cotto left 02:33 cotto joined
carlin PerlJam: ping 02:33
phenny: tell PerlJam there's a copy of your Benchmark.pm in perl6-examples lib and in its own repo, which causes problems for proto. Would you mind removing or renaming the perl6-examples copy? 02:41
phenny carlin: I'll pass that on when PerlJam is around.
carlin phenny: tell masak november and uri (owned by ihrd) have a lib/URI.pm 02:46
phenny carlin: I'll pass that on when masak is around.
03:00 colomon left
carlin phenny: tell masak ... but it looks like that is the last conflict \o/ 03:01
phenny carlin: I'll pass that on when masak is around.
TimTom rakudo: my @abc = <a b c>; @abc = @abc[1 .. *]; say ~@abc 03:04
p6eval rakudo 7ef386: Use of uninitialized value␤b c ␤
TimTom ng: my @abc = <a b c>; @abc = @abc[1 .. *]; say ~@abc 03:05
p6eval ng 77ed1d: too few positional arguments: 3 passed, 4 (or more) expected␤current instr.: 'perl6;Code;new' pc 11596 (src/builtins/Positional.pir:142)␤
TimTom ng: my @abc = <a b c>; @abc = @abc[1,2]; say ~@abc
p6eval ng 77ed1d: No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'␤current instr.: '!postcircumfix:<[ ]>' pc 264446 (src/gen/core.pir:0)␤
TimTom Ah. It's caused by .. * going one too many so an undef gets tacked on the end 03:06
03:16 romanhunt joined 03:17 colomon joined 03:20 TiMBuS joined
Wolfman2000 ...anyone know how long it takes for github to refresh its network graphs? I want to see how mine recently changed with two branches 03:35
err, two extra branches 03:36
03:36 stephenlb left 03:38 c9s joined 03:44 ash_ left 03:49 Baggio_ left
carlin No advent post today? 03:58
colomon Tene said he was working on it last time I checked. 04:00
We've got two future posts which are finished which can be moved up in a pinch...
Tene carlin: I'll be done shortly. It's pretty boring, though. 04:01
04:08 nihiliad joined 04:17 pjcj left 04:29 romanhunt left 04:31 jaldhar_ left 04:34 c9s left 04:36 astrojp left 04:39 jaldhar_ joined 04:43 thowe joined 04:47 justatheory left 04:52 drbean left, drbean joined 05:00 drbean__ joined
Tene Anyone want to review my post before I post it? 05:02
diakopter I could 05:03
Wolfman2000 I can
Tene perl6advent.wordpress.com/?p=236&am...eview=true
diakopter no access for moi
Tene huh
eh, I'll just post it. I can always edit it after.
Wolfman2000 I have access
hold on Tene 05:04
diakopter waits :)
Wolfman2000 ...I feel something is missing, but unsure what
push it through
Tene Yeah, there's probably lots missing. 05:05
perl6advent.wordpress.com/2009/12/1...exporting/
05:05 drbean___ joined
Tene I'll add content on any requested topics. 05:05
05:06 drbean__ left
Tene Wolfman2000: Please feel free to make suggestions. 05:06
zaslon lolperl6adventhazblogged! perl6advent++ 'Day 12: Modules and Exporting': perl6advent.wordpress.com/2009/12/1...exporting/
Wolfman2000 Tene: if I had any, I'd had give them
I'd have given* 05:07
Tene I mostly just figured this was a pretty basic topic that wasn't actually covered by anybody else.
i didn't stake any territory earlier, so everyone else took the fun stuff. ;) 05:08
05:10 drbean__ joined, drbean_ left 05:18 drbean left 05:25 drbean___ left
diakopter ng: my $a = 3; say $a while($a++) < 5 05:29
p6eval ng 77ed1d: 4␤5␤
diakopter std: my $a = 3; say $a while($a++) < 5
p6eval std 29330: ===SORRY!===␤Two terms in a row at /tmp/FAQhVPKMTx line 1:␤------> my $a = 3; say $a while⏏($a++) < 5␤ expecting nofun␤FAILED 00:01 108m␤
diakopter ngbug
std LTA error: Two terms in a row; expecting nofun 05:30
what's that std? you're having too much fun?
thowe OK, so trying to configure without hal... I have a mouse cursor in my console, but not in X. moused says it can't start because psm0 doesn't exist. My mouse device appears to be ums0... 05:43
do I need to tell moused it is ums0?
hmm, moused is running, it would seem... 05:44
why no mouse in X?
diakopter EKNOECLEW
Tene thowe: kill X, then run 'X -configure' from the console as root, and follow the instructions. 05:46
thowe I've already done this. I have an X configuration. That's not new to me. What's new to me is FreeBSD and not using hal. WIth hal it all works, but I'm being told hal is evil. But without it I can't seem to make X think I have a KB or mouse... 05:48
this is 8.0 BTW 05:49
Tene ah
thowe If I install xorg default package is it somehow configured to only use hal? 05:50
I just did pkg_add -r xorg after install. 05:51
Tene thowe: do you mean to be asking this in #freebsd or similar? 05:52
thowe ah crud....
yes :(
Tene :) not the first time
thowe how the hell did I end up all the way over in this tab?
sorry.. 05:53
Tene Not a problem.
05:55 envi^home joined 06:00 gfx joined
thowe is still embarrassed and sorry... 06:03
Tene I've done it plenty of times myself.
And it's not like you were interrupting anything.
thowe There was some pretty interesting stuff in here in the morning... I must not be in the cool time zone.
06:06 cotto left 06:14 hanekomu_ joined 06:16 cotto joined 06:21 nihiliad left 06:24 ShaneC1 left 06:59 thowe left 07:01 hejki joined 07:27 abra1 left 07:30 c9s joined, c9s left 07:31 c9s joined 07:44 hanekom__ joined 07:45 TimTom left 07:53 Intensity left 07:59 Intensity joined, hanekomu_ left 08:03 c9s left 08:14 c9s joined 08:29 iblechbot joined 08:32 hanekom__ left, drbean__ left 08:34 vorner joined 08:35 vorner left 08:36 drbean joined 08:40 lmc joined 08:42 vorner joined 08:44 vorner left 08:46 vorner joined, viklund_ left, viklund joined
mberends viklund: o/ 08:47
08:48 jaldhar_ left 08:58 gfx left 09:08 jaldhar joined 09:29 Baggio_ joined, Su-Shee joined
moritz_ good morning 09:30
Su-Shee good morning to you too. :)
sjohnson hi moritz_ 09:49
and sushee
10:00 jan_ joined 10:12 c9s left 10:23 c9s joined
moritz_ hugme: tweet rakudoperl Perl 6 advent calendar day 12: Modules and Exporting perl6advent.wordpress.com/2009/12/1...exporting/ 10:26
hugme hugs moritz_; tweet delivered
moritz_ I've submitted two patches for dev.perl.org/perl6/, and Leo (who has been involved with the perl.org redesign) has already applied one 10:38
now we're discussing if it's worth to keep dev.perl.org/perl6/ updated, and I asked what he thinks about redirecting it to perl6.org instead 10:39
let's see where this leads... :-)
10:50 pjcj joined 10:53 ejs joined 11:11 xomas_ joined
mathw arguably there are too many websites for perl 6 things at the moment. It makes it hard to ensure people get the latest information 11:16
moritz_ the problem is not "too many", but "too many out of date" 11:17
though of course there's a relation between these two
11:19 iblechbot left, Alias joined
Alias FYI, I think I worked out how to do recursive regex matching using a non-recursive 5.004 regex engine 11:19
moritz_ does it involve (?{ ... }) groups? 11:23
11:29 hanekomu_ joined
Alias Nope 11:29
After the match for the open tag, you put a negative lookahead assertion for any other open tag, followed by a close tag 11:30
Now, it means you match from deepest to shallowest, and bottom to top :)
moritz_ kinda scary :-) 11:31
Alias Just a teensy bit
11:31 jferrero left
Alias Also, it's vulnerable to infinite loops if you replace with another TT expression 11:31
Oh dear
I just realised that more or less kills it :( 11:32
Darn
moritz_ so if I got that right, the number of passes over the string is proportional to the nesting level?
11:32 jferrero joined
Alias I think so 11:33
11:33 jferrero left, jferrero joined
Alias I guess all I can do it make the improvement, put it out in the wild and wait for it to blow up 11:35
mberends Alias: I'm thinking of porting the nqp-rx regex engine to C. I'm interested in how your one runs (or blows up). 11:44
Alias svn.ali.as/cpan/trunk/Template-Tiny...te/Tiny.pm
It's an interesting case only really because of the ::Tiny limitations 11:45
The rules make you do some odd things
mberends it really is Tiny. sweet! 11:46
Alias That's the idea
90% less memory, no dependencies, no C, 5.005 compatible at minimum 11:47
One file, one class
mberends ah, so very satisfying :)
Alias And fully compatible with the larger alternative
moritz_ it's a bit ironic that you need far more files to put it on CPAN 11:48
mberends heh
moritz_ a Makefile.PL, MANIFEST, META.yml...
Alias moritz_: Having 10 or 20 times the size in test code is an advantage :)
It means when the time comes, you don't need to actually run the tests
Because there's no platform, perl version, or host variation in the code
So you can just trust it works
mberends ;-) 11:49
Alias Check out the (insane) size of the t directory for YAML
YAML::Tiny rather 11:50
hrm
mberends I'd rather not look - almost finished a 1200 line YAML loader in C
Alias I may need to go with (?{...})
1200... that seems like very little
Why not just use libxs
mberends the API didn't suit the host program. tried Syck and others too before succumbing to NIH. 11:52
Alias ah
11:57 xinming left 11:59 xinming joined 12:02 elmex left 12:21 elmex joined 12:22 ejs left, TiMBuS left 12:24 Baggio_ left 12:32 Baggio_ joined 12:41 c9s left 12:43 c9s joined 13:03 xomas_ left 13:05 riffraff joined 13:09 silug left 13:13 payload joined 13:18 colomon left, xinming left 13:19 xinming joined
pugs_svn r29331 | carlin++ | [S04-control] Fixed a typo 13:22
carlin (I wrote a script that parsed en.wikipedia.org/wiki/Wikipedia:Lis...r_machines and ran it over the specs, that's what it turned up) 13:24
13:28 orafu left 13:29 orafu joined 14:06 Astoria` joined 14:09 pmurias joined 14:18 xinming_ joined
pmurias mberends: did you try building mildew-js? 14:35
14:36 xinming left 14:37 Baggio_ left 14:38 riffraff left, colomon joined
colomon anyone out there know if the parameter name should be grid or graph for chr? 14:39
looks like S29 says grid, and S29-conversions/ord_and_chr says graph 14:40
14:41 Baggio_ joined
pmurias colomon: grid seems a typo 14:41
colomon okay, I will make it so. :)
(That agrees with my thinking that graph makes more sense.) 14:42
pmichaud I'd almost prefer to see "code" or "codepoint" or something like that 14:43
"grid" is probably "grapheme id"
mberends pmurias: not yet, unfortunately, tied up for a few more hours with $other-project.
pmurias np 14:44
colomon Is it possible to have more than one proto for a sub? 14:46
pmurias mberends: if you find some dependency particulary annoying mention it and i'll see if it's possible to get rid of it/make it optional 14:47
mberends pmurias: great, thanks. what would help most of all initially is a README ;) 14:48
14:48 c9s left
hejki mm.. how to use a variable in a regex? :) 14:50
(apart from m:P5/$var/ :)) 14:53
14:55 gerunderer joined
mberends pmurias: actually, I expect to be writing quite a lot of comments and README items as I get to know the software, as I did with Sprixel in September :) 14:55
14:57 colomon left
pmurias mberends: that's good as i don't fully remember all the dependencies and they only get noticed when installing on a new machine 14:57
14:57 gerunderer left 14:58 Baggio__ joined
carlin hejki: afaik using variables in regexes is broken atm 15:02
hejki :o 15:03
carlin rakudo: my $x = 'foo'; say 'foo' ~~ /$x/;
p6eval rakudo 7ef386: Null PMC access in get_string()␤in Main (file <unknown>, line <unknown>)␤
carlin but
rakudo: my $x = 'foo'; say 'foo' ~~ eval("/$x/");
p6eval rakudo 7ef386: ( no output )
hejki [ hejki@cornix ~/ohjelmointi/perl6] $ perl6 -e 'my $x = "1224"; say $x.comb(m:P5/2/);'
22
carlin bah, that works locally (using eval as a wrokaround) 15:04
hejki wrong ;< 15:06
pugs doesn't [ hejki@cornix ~/ohjelmointi/perl6] $ pugs -e 'my $x = "1224"; my $y = "2"; say $x.comb(m:P5/$y/);' 15:07
22
that's what i was supposed to paste :>
15:07 colomon joined 15:11 Baggio_ left, JimmyZ joined 15:18 Baggio__ left 15:20 meppl joined 15:21 Baggio_ joined, jimi_hendrix left
JimmyZ good evning, #perl6 15:22
hejki also, how do i "cast" stuff. (i.e. i want to have Str from @*ARGS)
carlin rakudo: my $x = "1234"; say $x.Int; say $x.Int.WHAT; 15:23
p6eval rakudo 7ef386: 1234␤Int()␤
carlin rakudo: my $x = 1234; say $x.Str; say $x.Str.WHAT;
p6eval rakudo 7ef386: 1234␤Str()␤
carlin hejki: like that ^ 15:24
15:25 Baggio_ left
hejki ty :> 15:25
15:31 Baggio_ joined, romanhunt joined 15:41 Psyche^ joined 15:44 jaldhar left
hejki rakudo: my $x = "1234"; my @ar = $x ~~ m:g/(0-9)/; @ar>>.say; 15:48
p6eval rakudo 7ef386: Colons cannot be used as delimiters in quoting constructs at line 2, near ":g/(0-9)/;"␤in Main (file <unknown>, line <unknown>)␤
hejki wot 15:49
15:51 Patterner left, Psyche^ is now known as Patterner
TimToady std: my $x = "1234"; my @ar = $x ~~ m:g/(0-9)/; @ar>>.say; 15:54
p6eval std 29331: ===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/fumKjp7yVG line 1:␤------> my $x = "1234"; my @ar = $x ~~ m:g/(0⏏-9)/; @ar>>.say;␤ expecting any of:␤ quantifier␤ regex atom␤ regex_infix␤
.. standard stopper␤ te…
TimToady that's the real problem
hejki lol :D
TimToady std: my $x = "1234"; my @ar = $x ~~ m:g/<[0..9]>/; @ar>>.say; 15:55
p6eval std 29331: ok 00:01 107m␤
TimToady rakudo: my $x = "1234"; my @ar = $x ~~ m:g/<[0..9]>/; @ar>>.say;
p6eval rakudo 7ef386: Colons cannot be used as delimiters in quoting constructs at line 2, near ":g/<[0..9]"␤in Main (file <unknown>, line <unknown>)␤
hejki :o 15:56
TimToady rakudo: my $x = "1234"; my @ar = $x ~~ m:g /<[0..9]>/; @ar>>.say;
p6eval rakudo 7ef386: Colons cannot be used as delimiters in quoting constructs at line 2, near ":g /<[0..9"␤in Main (file <unknown>, line <unknown>)␤
hejki :)
TimToady rakudo: my $x = "1234"; my @ar = $x ~~ m :g /<[0..9]>/; @ar>>.say;
p6eval rakudo 7ef386: Colons cannot be used as delimiters in quoting constructs at line 2, near ":g /<[0..9"␤in Main (file <unknown>, line <unknown>)␤
15:57 nihiliad joined
TimToady rakudo: my $x = "1234"; my @ar = $x ~~ m :g [<[0..9]>]; @ar>>.say; 15:57
p6eval rakudo 7ef386: Colons cannot be used as delimiters in quoting constructs at line 2, near ":g [<[0..9"␤in Main (file <unknown>, line <unknown>)␤
TimToady that is bizarre 15:58
hejki well i can't get m:i to work either
time for a BSP ;>
TimToady at least :i could be put inside the regex 15:59
hejki ye, but i need something to make me a nice list of numbers from a Str 16:01
TimToady rakudo: my $x = "1234"; my @ar = $x.comb(/\d/); @ar>>.say; 16:02
p6eval rakudo 7ef386: 1␤2␤3␤4␤
TimToady but don't rely on the order of >>.say like that :) 16:03
hyerpoperators are allowed to run in any order
*hyper
pugs: my $x = "1234"; my @ar = $x.comb(/\d/); @ar>>.say;
p6eval pugs: Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operation mas…
TimToady pugs: my @ar = <1 2 3 4>; @ar>>.say; 16:04
p6eval pugs: 2␤3␤4␤1␤
TimToady pugs: my @ar = <1 2 3 4>; @ar>>.say;
p6eval pugs: 2␤3␤4␤1␤
TimToady pugs: my @ar = 1..20; @ar>>.say; 16:05
p6eval pugs: 2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤1␤
TimToady heh, I think it does puts the first last just to keep people honest
s/does //
either that, or Haskell's thread scheduler isn't very equitable on small tasks 16:06
16:08 Baggio_ left
dalek kudo/ng: 6f25191 | (Solomon Foster)++ | src/core/Any-str.pm:
Allow ord to handle a string with more than one character (in list context, anyway).
16:09
kudo/ng: 0307c29 | (Solomon Foster)++ | src/core/IO.pm:
Merge branch 'ng' of [email@hidden.address] into ng
16:10 envi_home2 joined 16:11 beggars joined 16:12 pmurias left, viklund left, envi^home left, hicx174 left, tarbo2 left 16:14 payload left 16:15 pmurias joined 16:16 viklund joined, envi^home joined, hicx174 joined, tarbo2 joined, viklund left, viklund joined
TimToady ng: my $x = "1234"; my @ar = $x ~~ m :g [<[0..9]>]; @ar>>.say; 16:16
p6eval ng 77ed1d: sh: ./perl6: No such file or directory␤ 16:17
16:19 justatheory joined 16:22 JimmyZ left 16:24 nihiliad left, xinming_ left, jan_ left, drbean left, ashizawa left, slavik left, jlaire left, am0c left, athomason left, athomaso1 joined, xinming joined 16:25 drbean joined
moritz_ I don't think ng handles attributes yet 16:29
ng: my $x = "1234"; my @ar = $x ~~ m :g [<[0..9]>]; @ar>>.say;
p6eval ng 0307c2: Confused at line 1, near "my @ar = $"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
16:30 envi^home left
pugs_svn r29332 | pmurias++ | [mildew] $foo(...) and named arguments 16:40
16:41 jlaire joined, nihiliad joined, jan_ joined, ashizawa joined, am0c joined, slavik joined
pugs_svn r29333 | moritz++ | [advent] update schedule and topics 16:42
r29334 | colomon++ | [t/spec] Unfudge the ord('hello') test. 16:48
16:48 meppl left
pmurias std: self 16:49
p6eval std 29331: ok 00:01 106m␤
pugs_svn r29335 | moritz++ | [t/spec] skip test that passed for the wrong reason 16:52
pmurias TimToady: self raises an undeclared routine error here 16:53
16:54 jaldhar joined 16:57 dalek left, frew_ joined
pugs_svn r29336 | pmurias++ | [mildew] self 16:58
16:58 dalek joined
TimToady self isn't a routine, it's just a term 17:00
17:01 Alias_ joined, Alias left 17:02 frew_ left 17:07 jimi_hendrix joined, abra joined 17:09 payload joined
pmurias TimToady: STD doesn't currently seem to know about that 17:12
moritz_ std: self ~~ 1 17:14
p6eval std 29334: ok 00:01 106m␤
moritz_ std: sub a { }; a ~~ 1
p6eval std 29334: ===SORRY!===␤Preceding context expects a term, but found infix ~~ instead at /tmp/rZyGZFsn6O line 1:␤------> sub a { }; a ~~⏏ 1␤FAILED 00:01 105m␤
moritz_ pmurias: if it parsed self as a listop, it would give that same warning as a ~~ 1 17:15
17:15 beggars left
pmurias what does the unicode >> do in grammars? 17:17
moritz_ right word boundary
17:18 am0c left
zaslon lolmoritzhazblogged! moritz++ 'Defined Behaviour with Undefined Values': perlgeek.de/blog-en/perl-6/defined-...alues.html 17:18
pmichaud ....yay, finished the final report for my grant! 17:23
mberends \o/ 17:24
moritz_ \o/ indeed
pmurias moritz_: could you run perl viv -e 'self' and see if you get the error message? 17:25
moritz_ pmurias: just a sec, need to run 'make' first 17:26
pmurias: no error message, just some YAML output 17:30
17:30 hanekomu_ left
colomon \o/ 17:32
17:34 snearch joined
mathw Argh 17:42
brain failure
Easy to explain junction coolness other than if $foo == any(3, 4, 5)
17:44 hanekomu_ joined
moritz_ rakudo: say ((1|2|3) * 2).perl 17:45
p6eval rakudo 7ef386: any(2, 4, 6)␤
17:45 abra1 joined, hanekomu_ left
moritz_ autothreading! 17:45
17:45 hanekomu_ joined
mathw :) 17:45
moritz_ what I find very convenient is the mixture of autothreading and junctions 17:46
example:
in the test suite there's a small module called Test::Util
it executes a piece of Perl 6 code in a separate compiler
and captures output, stderr, and the return status 17:47
so you can say things like
is_run 'warn "foo"', $matcher, 'warn() works'
and $macher is just a hash like
{ stdout => (/foo/ & /1/), exitcode => 0 } 17:48
the implementation just smart-matches the captured STDOUT against $matcher<stdout>
and without any further ado, you can pass junctions, code references etc. to it 17:49
17:49 abra1 left
mathw ah of course 17:49
junctions and smart matching
that's the other thing to write about
moritz_ I think KyleHa++ wasn't even aware of all the flexibility when he wrote Test::Util 17:50
17:51 abra1 joined
mathw argh 17:52
the cat's trying to help me write
17:52 abra1 left, abra1 joined
Su-Shee if you're a vi user, that leads to interesting findings of new commands you've never heard of. every typo an adventure. 17:56
mberends line noise without the line
17:59 abra1 left, abra1 joined 18:00 abra left
mathw Scheduled the junctions post 18:01
Could somebody please check it over, fix typos or screaming logic errors? 18:02
moritz_ looks
18:02 abra1 left
mathw thanks 18:02
it's all a bit rushed unfortunately
18:04 nihiliad left
pmichaud lost the angles in 18:05
$string ~~ // & // & //
mathw doh
sloppy
pmichaud some other cool things one can do with junctions
any(@list) == $value # are any of the elements of @list == to $value ? 18:06
moritz_ all(@values) > 0
pmichaud all(@a) == any(@b) # do all of the elements of @a appear in @b
mathw I should mention those
moritz_ and then there's the famous junction prime test 18:07
18:07 mj41 joined, nihiliad joined
moritz_ sub primetest(Int $n) { 18:07
?(none(2..$n) * any(2..$n) == $n);
};
Juerd I love junctions in combination with smart match because you can pass conditions as function arguments 18:08
moritz_ actually you can replace $n with $n.sqrt.Int
mathw I am not putting the prime test in... 18:09
post updated 18:10
colomon btw, if anyone has a suggested better name for day 14... (or improvements to the text...)
18:10 orafu left, orafu joined
moritz_ day 14 looked fine to me 18:11
Juerd url? 18:12
18:16 abra joined
pmurias moritz_: could you nopaste the YAML? 18:19
rgrau rakudo: my @a= (1,2,3) ; say any(@a) == 3 18:26
p6eval rakudo 7ef386: any(Bool::False, Bool::True)␤
rgrau how should I read that? 18:28
18:29 vorner left
pugs_svn r29337 | pmurias++ | [mildew] $foo.(...) 18:31
pmurias rakudo: my @a = (1,2,3); say ?(any(@a) == 3)
p6eval rakudo 7ef386: 1␤
pmurias rakudo: my @a = (1,2,3); say ?(all(@a) == 3)
p6eval rakudo 7ef386: 0␤
hejki am i doing something wrong, i'm getting segfaults on big values heikki.mehtanen.fi/beust491.pl 18:32
rgrau thanks pmurias 18:33
18:35 envi_home2 left
lisppaste3 moritz_ pasted "viv -e 'self' AST for pmurias++" at paste.lisp.org/display/91990 18:59
19:02 KeithW joined
KeithW #perl6 19:02
19:03 KeithW is now known as KeithOW
KeithOW #perl6 19:03
moritz_ that's where you are :-)
mathw Greetings
KeithOW Hi
New to perl6 (and to IRC) ;) 19:04
moritz_ welcome! 19:05
mberends congrats, you've found the friendliest channel of the lot (if you're nice)
19:05 FarOut joined
KeithOW 01people say I am 19:06
mberends we'll see ;-)
19:06 payload left
KeithOW 01I installed rakudo under a Lunx VM. are there any prebuilt Windows versions? 19:07
mberends KeithOW: no, self compiling is still the norm. You may be able to get a Padre bundle with a slightly out of date Windows version. 19:09
KeithOW 01I see -- thanks
01ttfn 19:10
19:10 KeithOW left, mj41 left
moritz_ somehow KeithOW's IRC client seemed to prefix his lines with non-printable characters 19:12
which resulted in me not seing most of them
19:14 mj41 joined
mberends xchat was ok 19:14
19:20 mj41 left
dbrock I saw the characters 19:28
each line started with a ^C 19:29
19:32 mj41 joined
TimToady they all came out grey here 19:34
mathw I didn't see anything odd 19:37
But maybe it was colour coding characters, which my client's set to strip out
20:02 meppl joined 20:09 skyheights joined 20:10 b_jonas joined 20:16 buubot left, buubot joined 20:20 skyheights left 20:22 nihiliad left 20:37 Astoria` left 20:45 Tene sets mode: +c
Tene There, now colors are stripped for *everyone*! 20:45
mathw applauds
IRC colours are evil
moritz_ std: say ~~ 1 20:46
p6eval std 29337: ===SORRY!===␤Preceding context expects a term, but found infix ~~ instead at /tmp/bZDtLafYTE line 1:␤------> say ~~⏏ 1␤FAILED 00:01 107m␤
Tene oh, right, std uses colors.
20:46 Tene sets mode: -c
mathw o rly 20:47
I didn't know that
since my client strips them anyway :)
20:47 meppl left
Tene heh 20:47
moritz_ mathw: see irclog.perlgeek.de/perl6/2009-12-12#i_1828218 for an example
mathw ahah 20:48
20:56 hanekom__ joined 21:00 lmc left
diakopter does Perl 6 specify a way to signal the compiler to compile(/optimize) a regex (if, say, the user knows that for the given pattern/inputs, it would be worth it to expend the time to compile the regex further)? 21:00
moritz_ is not aware of any such way 21:02
mberends you mean like study in p5? possibly regex { ... } could mean that 21:03
diakopter I would like such a way to be specified... :)
21:05 jaldhar left
Tene maybe :study ? 21:05
diakopter my regex impl has an interpreter mode and a compiler mode (compiler mode will add .1s or so to compile the first pattern in the input..)
it's actually input-wide that only makes a difference; any compiles of additional patterns are infinitesimally incrementally slower)
( 21:06
21:06 meteorjay joined
mberends diakopter: what is the downside of always compiling? just 0.1s delay per regex? 21:07
diakopter no
.1s additional per run of the interpreter/compiler
per run of the executable 21:08
sigh. sorry if that's unclear.
replace interpreter/compiler with executable
mberends understood 21:09
diakopter otoh, I suspect the same stuff that adds the one-time .1s will be needed every run anyway... 21:10
mathw I think it would be implementation-specific whether such a thing was meaningful or not
mberends the most time consuming use cases are matches in loops, so compiling is a win per run on average.
diakopter that brings up a larger question 21:12
I suspect there should be a way to specify how much to optimize every compilation unit... 21:13
mathw implementation-specific
diakopter mathw: ?
mathw: how would that work? 21:14
mathw how would it be meaningful for all implementations?
it's not something that belongs in the spec
diakopter mathw: I mean, how would one specify something in the source code that would make sense to just 1 implementation?
mathw I have no idea
mberends pragmas, hints such as register in C 21:15
diakopter mathw: it wouldn't need to be "meaningful" to all implementations, if by meaningful you mean "implemented"
mathw and what would you gain from having it, anyway?
21:15 hanekomu_ left
diakopter more control to the user 21:16
the author of the code
more control over the evaluation/execution of the code.
mathw is it control anybody actually needs? 21:17
diakopter what kind of a question is that
mathw one with a question mark at the end
mberends sees a tiny word "premature" drift slowly across the screen...
mathw you're asking for something, I'm not sure it has any benefit to it, why shouldn't I ask if it's useful? 21:18
diakopter 'anyone' from the set of whom? and 'needs' for what purpose?
mathw anyone from the set of all perl 6 programmers and users 21:19
diakopter erm
I don't understand how my previous to that question in insufficient 21:20
you can't imagine how "more control over the evaluation/execution of the code" would be useful? 21:22
mathw well, it would be useful if the optimiser was full of bugs I suppose
otherwise... no, not particularly
diakopter that's absurd 21:23
mathw certainly not at the point where you say in the source code how much to optimise something
mberends diakopter: most users would simply want the fastest overall execution time, except where the memory tradeoff becomes unacceptable (and yes, that varies per installation). 21:24
diakopter there are plenty of cases where an interpreter would start/execute/complete a compilation unit faster than it would take a compiler to compile/execute, as well as (of course) the converse.
mathw if you've got a compiler, and that's a problem, then you precompile it 21:25
diakopter mberends: I don't understand your point. I understand what you're saying, but I don't see why you said it right then. 21:26
mathw: and that's exactly what I'm asking for
a way to specify that some compilation units should be precompiled, and some shouldn't
Tene diakopter: his point is "where would you want to ask the compiler to avoid optimizing something?"
mathw and again, that's nothing you need to do in the language itself 21:27
Rakudo can already do this
diakopter why wouldn't you need that in the language?
mathw because the code shouldn't need to care how it's being compiled?
diakopter why not? 21:28
21:28 awwaiid left
mberends diakopter: my suggestion was hoping to point a possible way out of your dilemma of how to decide whether to compile a regex or not. But I think you know a lot more about it than I do :) 21:30
diakopter Tene: if that's what he asked, my answer is a restatement of what I wrote above: when the user knows (or learns through experience) that a different evaluation model is much more efficient than a full optimized compilation.
it's undecidable based on the pattern alone
mathw and your execution environment has both things available at the same time?
diakopter you have to know things about the inputs 21:31
mathw: yes
it could be an ultra-complex pattern that takes a long time just to analyze 21:32
mberends it may be worth asking TimToady++ for suggestions 21:33
diakopter for instance, in the CLR (and Mono), there are actually 3 modes of operation for RegularExpressions 21:34
21:35 abra left
diakopter two of them similar to the qr// and non-qr// in perl 21:35
the other one adds an ultra-optimized precompile phase 21:36
mathw Okay, it occurs to me that you might want to specify optimisation behaviour when you're actually compiling something in the middle of your execution phase, so with eval or if you're building regexes out of strings or something like that 21:37
diakopter (that compiles a static pattern directly to IL and then machine code)
exactly, and generalize that thought to every lazy evaluation 21:38
mathw lazy evaluation is not the same as compilation
diakopter every time a compilation unit is nested
I don't mean lazy-vs-strict for arguments
I mean JIT
it's so odd, every time I want to suggest a feature or bring up a wish on this channel, it's as if I step into an alternative universe where I'm some demanding/clueless noob that hasn't hung around here for years. 21:41
mathw: I'm sorry I used the phrase 'lazy evaluation' in a slightly imprecise way. did you really not understand what I meant? 21:42
21:42 snearch left
mathw 'lazy evaluation' means something else in Perl 6, so that did confuse me significantly 21:43
diakopter what does 'lazy evaluation' mean in Perl 6, from your understanding 21:44
mathw it means the lazy behaviour specced for list operations 21:45
like iterating over 1..Inf without having to evaluate the infinite list first
diakopter ok. FYI, 'lazy evaluation' in that usage is not a technical term that refers to solely that. 21:46
21:46 b_jonas left
mathw I didn't say that was a complete definition 21:46
pmurias diakopter: you generally would want to turn expensive optimalisations on while developing the app and on for production 21:47
diakopter pmurias: on and on?
pmurias s/on/off 21:48
diakopter but either way (on and off, or off and on), I think you're wrong
no, because many patterns/code are dynamic
mathw: if it's not a complete definition, and you were "confused significantly" by what I said, I feel it was a rude response to jump down my throat with "you're using that phrase wrongly" 21:50
"lazy evaluation is not the same as compilation"
mathw Well it's not 21:51
diakopter if you were *sure* I was using it wrongly, and didn't know what I was talking about, then I understand
mathw And it sounded like you were equating the two
diakopter I already admitted that I used (and apologized for using) the phrase imprecisely. My point was that your response was rude, if you suspected there was any possibility I meant "deferred" when I said "lazy". 21:55
I find it very hard to believe you were 100% certain I was equating the two
unless you tend to presume such things a lot about people 21:56
I mean, what other numbskull errors have I made previously in your presence?
mathw I'm not going to say anything else 21:57
21:57 mathw left
diakopter anyone, please feel welcome to msg me to let me know what went wrong there.. 22:04
22:26 jimi_hendrix left 22:34 Su-Shee left 22:36 jimi_hendrix joined 22:40 IllvilJa left 22:51 TwhK joined 22:55 colomon left 23:01 synth left 23:07 FarOut left
mberends ok, msgd 23:14
23:42 arthur-- left, arthur-_ joined 23:44 TwhK left 23:50 markmont joined 23:51 dbrock left