Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-10-06

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:20 Patterner left #perl6
00:21 Psyche^ joined #perl6
00:21 Psyche^ is now known as Patterner
00:25 justatheory left #perl6
00:26 nymacro joined #perl6
00:28 xabbu42_ left #perl6
00:39 cbk left #perl6
00:40 cbk joined #perl6
00:45 blyle31 joined #perl6
00:49 mfollett joined #perl6
00:50 risou_ left #perl6
00:50 risou joined #perl6
00:51 kst left #perl6
00:51 kst joined #perl6
00:55 risou left #perl6
01:06 kcwu joined #perl6
01:06 hercynium joined #perl6
01:06 s_mosher successful thiele interpolation: http://gist.github.com/610694
01:07 ruoso joined #perl6
01:07 s_mosher not yet an answer to the rosetta code task, but the meat of it works (if slowly)
01:13 bluescreen joined #perl6
01:25 cdarroch left #perl6
01:28 justatheory joined #perl6
01:44 satyavvd joined #perl6
01:46 20QAB5640 left #perl6
01:46 84XAA159U left #perl6
02:01 pythonian4000 is now known as pythonian4000afk
02:03 Eevee left #perl6
02:06 Italian_Plumber left #perl6
02:07 Eevee joined #perl6
02:09 colomon s_mosher++
02:24 satyavvd_ joined #perl6
02:26 satyavvd left #perl6
02:26 satyavvd_ is now known as satyavvd
02:31 araujo left #perl6
02:37 satyavvd left #perl6
02:40 araujo joined #perl6
02:41 colomon rakudo: sub a($a, $b, $c) { say "boo!" }; my &b = &a.assuming(1); say &b.arity
02:41 p6eval rakudo 2ee5db: OUTPUT«0␤»
02:41 colomon rakudo: sub a($a, $b, $c) { say "boo!" }; my &b = &a.assuming(1); say &a.arity; say &b.arity
02:41 p6eval rakudo 2ee5db: OUTPUT«3␤0␤»
02:42 colomon where's masak++ when you need him?
02:47 colomon (reported)
02:51 dalek sprixel: 7a5f038 | diakopter++ | sprixel/ (11 files):
02:51 dalek sprixel: nested string-eval with full lexical-closure-chain access.
02:51 dalek sprixel: review: http://github.com/diakopter/sprixel/commit/7a5f038978ebcb68248a7f2ec36f90719c09e658
02:56 blyle31 left #perl6
03:09 justatheory left #perl6
03:15 cls_bsd left #perl6
03:15 cls_bsd joined #perl6
03:28 ruoso left #perl6
03:37 * araujo wonders if he should ......... "borrows" some keywords name from perl
03:38 orafu left #perl6
03:41 meppel joined #perl6
03:45 meppl left #perl6
04:01 meppel left #perl6
04:01 blyle31 joined #perl6
04:02 meppl joined #perl6
04:02 blyle31 left #perl6
04:03 ash_ left #perl6
04:07 Italian_Plumber joined #perl6
04:07 justatheory joined #perl6
04:11 Italian_Plumber left #perl6
04:17 satyavvd joined #perl6
04:19 orafu joined #perl6
04:35 mfollett rakudo: multi countdown(0) { say "We made it to 0!"};multi countdown { countdown($^x-1) };countdown(100)
04:35 p6eval rakudo 2ee5db: OUTPUT«No applicable candidates found to dispatch to for 'countdown'. Available candidates are:␤:(Int  where (0))␤:(;; Any $x)␤␤  in main program body at line 22:/tmp/zIbxvK93xQ␤»
04:38 pythonian4000afk is now known as pythonian4000
04:38 mfollett why doesn't that work?
04:39 nymacro left #perl6
04:42 molaf joined #perl6
04:53 mfollett rakudo: multi countdown(0) { say "We made it to 0!"};multi countdown($x) { countdown($x-1) };countdown(100)
04:53 p6eval rakudo 2ee5db: OUTPUT«We made it to 0!␤»
04:53 mfollett that works
04:56 molaf left #perl6
05:07 kst left #perl6
05:07 kst joined #perl6
05:14 sjn left #perl6
05:17 sjn joined #perl6
05:33 sftp left #perl6
05:41 mfollett left #perl6
05:42 mfollett joined #perl6
05:42 sorear good * #perl6!
05:43 sorear ... and I seem to have SLEPT THROUGH #PHASERS
05:43 * sorear mopes
05:53 cottoo joined #perl6
05:53 cotto left #perl6
05:54 cottoo is now known as cotto
05:54 Guest23195 joined #perl6
05:54 cotto left #perl6
05:54 cotto joined #perl6
05:55 cjk101010 joined #perl6
05:57 moritz_ good morning
05:57 moritz_ sorear: I missed too
05:59 moritz_ http://stackoverflow.com/questions/3858790/python-magical-main-signature-like-perl-6 that's the kind of question I like :-)
06:00 mfollett left #perl6
06:06 sorear .oO(maybe we should start #outofphasers for people who think a 0700UTC meeting would be cool)
06:13 mberends (180°outofphase)
06:16 Mowah joined #perl6
06:21 sorear TimToady: constant Foo = 2; class Foo::Bar { } # Does this create a name collision?
06:24 TimToady I suspect so.
06:28 TimToady typenames and labels are just funny constant names, more or less.
06:29 xabbu42 joined #perl6
06:30 cls_bsd left #perl6
06:30 cls_bsd joined #perl6
07:03 justatheory left #perl6
07:12 baux joined #perl6
07:18 _twitch joined #perl6
07:25 satyavvd left #perl6
07:28 mavrc joined #perl6
07:34 Mowah left #perl6
07:36 M_o_C joined #perl6
07:46 wtw joined #perl6
07:58 LaVolta joined #perl6
08:02 satyavvd joined #perl6
08:03 s_mosher http://rosettacode.org/wiki/Thiele%27s_interpolation_formula#Perl_6
08:04 s_mosher I'm all out of stupid bugs and it seems to converge correctly on all of them
08:07 pythonian4000 is now known as pythonian4000afk
08:09 pythonian4000afk is now known as pythonian4000
08:09 icwiener joined #perl6
08:11 s_mosher oh no, all the stupid bugs are gone but I just found an intelligent one.
08:11 s_mosher I'm leaving it for now since it still works
08:12 * s_mosher ZzZzz
08:15 Maddingu1 is now known as Maddingue
08:23 renormalist left #perl6
08:23 renormalist joined #perl6
08:26 M_o_C left #perl6
08:30 M_o_C joined #perl6
08:37 dakkar joined #perl6
08:41 LaVolta left #perl6
08:42 LaVolta joined #perl6
08:46 PerlJam left #perl6
08:47 dalek niecza/master: b45b211 | sorear++ | src/ (2 files):
08:47 dalek niecza/master: Switch to a 'fat reference' stash model
08:47 dalek niecza/master:
08:47 dalek niecza/master: Foo and Foo:: are now both referenced from GLOBAL::, to allow constants
08:47 dalek niecza/master: and type objects to coexist better.
08:47 dalek niecza/master: review: http://github.com/sorear/niecza/commit/b45b211effc2814a620882cfba18c41931b56649
08:47 dalek niecza/master: 0fa6f23 | sorear++ | / (3 files):
08:47 dalek niecza/master: Fix Foo::Bar regression
08:47 dalek niecza/master: review: http://github.com/sorear/niecza/commit/0fa6f238de9f56f93402d47a1d4b7f09e0f31f14
08:48 szabgab_ left #perl6
08:49 PerlJam joined #perl6
08:55 clkao_ is now known as clkao
09:00 sjohnson rakudo: say 2^64
09:00 p6eval rakudo 2ee5db: OUTPUT«one(2, 64)␤»
09:00 kst left #perl6
09:00 sjohnson rakudo: say 2**64
09:00 p6eval rakudo 2ee5db: OUTPUT«1.84467440737096e+19␤»
09:00 sjohnson rakudo: use bignum; say 2**64
09:00 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤Unable to find module 'bignum' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/2.8.0-devel/languages/perl6/lib␤  .)␤»
09:01 sjohnson when anyones awake, will p6 do bignum automatically like python and ruby?
09:01 sorear yes
09:01 kst joined #perl6
09:02 masak joined #perl6
09:02 masak \o/
09:02 sjohnson sorear: just not now?
09:02 sorear sjohnson: correct
09:02 sorear \o/ masak
09:02 sjohnson sorear: thanks
09:03 wamba joined #perl6
09:04 sjohnson and hi to you to masak
09:04 cls_bsd left #perl6
09:04 cls_bsd joined #perl6
09:07 sjohnson masak!!!
09:08 sjohnson (´ー` )
09:09 LaVolta left #perl6
09:10 masak I think this bug is horrible: http://rt.perl.org/rt3/Ticket/Display.html?id=78232
09:10 masak I'm a bit disappointed that something like that hits us in 2010.
09:11 masak I'd like it to be fixed with some sort of priority, if possible.
09:11 masak this one too: http://rt.perl.org/rt3/Ticket/Display.html?id=78234
09:11 jnthn Well, a start is to see what on earth PAST/PIR it's generating.
09:11 masak ok.
09:12 sorear jnthn!!!
09:12 masak sorear!!!
09:12 jnthn o/ sorear :-)
09:12 sorear niecza: for 1, 2, 3 { sub foo {}; $_.say }; say "alive" # on a lark
09:12 p6eval niecza 0fa6f23: OUTPUT«Potential difficulties:␤  &foo is declared but not used at /tmp/iKBUwlQOB5 line 1:␤------> [32mfor 1, 2, 3 { sub foo[33m⏏[31m {}; $_.say }; say "alive" # on a lark[0m␤1␤2␤3␤alive␤»
09:13 sorear :/
09:13 masak it does produce the right thang.
09:13 sorear jnthn: what do you think about http://search.cpan.org/perldoc?UNIVERSAL%3A%3Aisa ?
09:14 LaVolta joined #perl6
09:14 sorear essentially, 'method isa($cl) { ... }' in perl5-land is supposed to be enough to fake out all type checks
09:14 sorear and people get very rude (just read that) when it's not
09:15 masak I'm looking at the PAST, but I'm not accustomed enough to pick out the tasty pieces. it's too much even with the above short one-liner.
09:15 sorear is 6model going to support faking out type checks like that?
09:15 jnthn Not in such a global way.
09:15 jnthn It's not really a core issue anyway though.
09:16 jnthn .isa will tend to just delegate to .^isa
09:16 jnthn At which point it's up to the meta-class
09:16 jnthn OTOH, if you mix in, in place, to ClassHOW you could change isa for all classes.
09:17 jnthn Warning: my brane is currently shared between here and insurance calculations... :-)
09:19 mathw o/
09:19 jnthn er, wait, you'd have to replace the method. Mix-in affects just an instance...
09:19 mathw I feel out of touch, what awesomeness is happening?
09:19 jnthn ...and these insurance calcs are wrong. Grrr...
09:20 jnthn .oO( the world needs more compiler writing jobs... )
09:21 mathw Well, the world does need better compilers
09:21 mathw And languages
09:21 jnthn masak: Easiest way with PAST is to put some magic values in the source and then look for them in the tree.
09:22 * mathw is starting to really hate C++
09:22 masak jnthn: ok.
09:22 mathw jnthn: of course your insurance calculations are wrong, because insurance is wrong by definition.
09:24 jnthn :P
09:24 jnthn Whiuch is fine apart from somebody has an idea of the right answer. ;-)
09:24 jnthn They've also redefined the word "all", just for fun. :-)
09:25 M_o_C left #perl6
09:26 icwiener left #perl6
09:26 masak the PAST for `for 1, 2, 3 { sub foo {}; $_.say }` looks fine to my untrained eye.
09:26 sorear I blame autoclose
09:35 sorear hrm, druid does some rather unpleasant things with regexes...
09:35 masak yes.
09:35 masak it needs to be rewritten.
09:36 masak I currently don't have the tuits.
09:36 sorear How much needs to be rewritten?
09:36 masak Druid::Base, mostly.
09:37 masak I tried once, and hit a number of cascade issues, described at least twice in the backlog.
09:37 masak something of a re-think is required.
09:37 sorear the "base class as a holding place for support methods" design pattern makes me vomit inside
09:37 sorear how far back-log?
09:37 masak just search for masak saying 'Druid' a lot.
09:38 masak last month or so.
09:38 masak sorear: I'd like to discuss that dislike of that design pattern with you sometimes. it seemed to make a lot of sense at the time.
09:46 mathw It reminds me of the kind of twisted OO you get in a lot of Java code
09:47 masak I was very happy about the class hierarchy in Druid. it uses single inheritance, roles, and 'handles' delegation in a way that was new to me at the time.
09:49 sorear I think OO is very much overused these days
09:49 mathw You probably shouldn't listen to my thoughts on class heirarchy, I'm currently rather bitter about the whole OO thing
09:50 masak in retrospect and with possibly fuzzy memory, I guess Druid::Base might just as well have been a role instead.
09:50 sorear a lot of people treat "object oriented" as a synonym for "well designed"
09:51 sorear masak: in my local branch, Druid::Base is a module named Druid::Common
09:51 sorear it doesn't make any sense to go $board.sarsen-move
09:52 sorear instead stuff is exported from Druid::Common and it never makes it into class hiercies
09:52 masak I'll be happy to see what you come up with.
09:52 masak I'm a bit disinterested in arguing specifics in this case, but I'll be happy to look at a new whole design with different design desicions.
09:54 mathw be interesting to see what sorear comes up with and how it compares
09:54 jnthn masak: Feel free to nopaste the PIR for me to glance over (don't have a Rakudo build environment here...)
09:54 masak ok.
09:54 jnthn Or harrass me at Utrecht station in the morning. :P
09:55 mathw I keep saying to my boss I don't know enough about how to structure software properly. I'm convinced I'm not doing it very well.
09:56 sorear masak: you should look at how many times I've completely reorganized niecza in the last three months
09:56 sorear (around 7)
09:56 sorear er, mathw
09:56 masak jnthn: http://gist.github.com/613105
09:57 masak sorear: I re-did GGE in a major way about 5 times.
09:57 masak sorear: usually it was an effect of a step up in my understanding of the mechanisms behind PGE.
09:58 * sorear creates a Druid::Move class with a static .parse method
10:00 Italian_Plumber joined #perl6
10:00 cggoebel joined #perl6
10:00 ggoebel joined #perl6
10:06 timbunce joined #perl6
10:21 masak sorear: is your Druid branch viewable somewhere?
10:28 Michael0817 joined #perl6
10:28 Michael0817 left #perl6
10:36 Chillance joined #perl6
10:37 dju left #perl6
10:56 masak jnthn: any insights from the gist?
10:56 Italian_Plumber left #perl6
10:58 kst left #perl6
10:58 kst joined #perl6
11:01 Mowah joined #perl6
11:03 cggoebel left #perl6
11:04 rgdrdgr joined #perl6
11:06 bluescreen left #perl6
11:07 ggoebel left #perl6
11:09 Patterner left #perl6
11:09 rgdrdgr left #perl6
11:12 masak rakudo: say $*PID
11:12 p6eval rakudo 2ee5db: OUTPUT«10260␤»
11:12 masak getting 0 locally.
11:12 masak there's an RT ticket about this not working on Darwin.
11:13 jnthn My guess is that there needs to be a Parrot ticket, since the real issue is probably at that level.
11:13 jnthn If we're using some Parrot call to get it, but I figure we would be.
11:13 jnthn masak: (gist) Er, I got distracted by lunch :-)
11:13 masak here's the RT ticket: http://rt.perl.org/rt3/Ticket/Display.html?id=77850
11:14 masak jnthn: no rush.
11:14 masak I'll go submit a Trac ticket for the $*PID thing.
11:15 * jnthn is very full of burger
11:15 nadim left #perl6
11:30 Italian_Plumber joined #perl6
11:30 Psyche^ joined #perl6
11:30 satyavvd left #perl6
11:30 Psyche^ is now known as Patterner
11:58 mavrc left #perl6
11:58 mavrc joined #perl6
12:03 sftp joined #perl6
12:17 pythonian4000 is now known as pythonian4000afk
12:21 bluescreen joined #perl6
12:22 jnthn masak: line 135 may be suspect
12:23 jnthn Will take some digging. Can try to fix it tomorrow in .nl
12:24 masak ok.
12:25 masak 'find_lex_skip_current'?
12:25 jnthn aye
12:25 jnthn I'm curious what the signautre of that block ends up being
12:25 jnthn (the one passed to map)
12:26 jnthn rakudo: for 1, 2, 3 { sub foo {}; 42.say }
12:26 p6eval rakudo 2ee5db:  ( no output )
12:27 jnthn :-S
12:27 masak that's the issue, yes.
12:27 jnthn rakudo: for 1, 2, 3 { sub foo {}; die("here?") }
12:27 p6eval rakudo 2ee5db:  ( no output )
12:28 jnthn rakudo: for 1, 2, 3 { sub foo() {}; die("here?") }
12:28 p6eval rakudo 2ee5db:  ( no output )
12:28 jnthn rakudo: for 1, 2, 3 { sub foo($a) {}; die("here?") }
12:28 p6eval rakudo 2ee5db:  ( no output )
12:28 jnthn rakudo: for 1, 2, 3 { -> {}; die("here?") }
12:28 p6eval rakudo 2ee5db: OUTPUT«here?␤  in <anon> at line 22:/tmp/uquB3qXOJm␤  in main program body at line 1␤»
12:29 masak so, somehow it's the declaration of a non-anon sub.
12:30 masak rakudo: for 1, 2, 3 { sub {}; die "here?" }
12:30 p6eval rakudo 2ee5db:  ( no output )
12:30 masak or a sub in general.
12:31 jnthn yes, it's something about a routine.
12:31 jnthn I'm still at a loss as to what.
12:34 masak shopping &
12:34 masak left #perl6
12:41 takadonet morning all
12:41 kst left #perl6
12:42 kst joined #perl6
12:45 jest joined #perl6
12:58 nymacro joined #perl6
13:00 mfollett joined #perl6
13:07 mfollett left #perl6
13:10 colomon rakudo: sub a($a, $b, $c) { say "boo!" }; my &b = &a.assuming(1); say &a.arity; say &b.arity
13:10 p6eval rakudo 2ee5db: OUTPUT«3␤0␤»
13:11 colomon (reported last night, but was it actually a new bug, oh bugmaster masak?)
13:18 Patterner left #perl6
13:21 jnthn 0 is certainly the wrong answer, but I'm not totally convinced you should be getting 2 there...
13:22 jnthn The assuming wrapper just takes a capture and interpolates it along with the curried args iirc.
13:23 jnthn Hmm...or is 0 wrong...
13:23 jnthn If it's just a capture arg in there I guess there's no required params.
13:23 jnthn hm
13:24 jnthn rakudo: sub a($a, $b, $c) { say "boo!" }; my &b = &a.assuming(1); say &b.count;
13:24 p6eval rakudo 2ee5db: OUTPUT«Method 'count' not found for invocant of class 'Sub'␤  in main program body at line 22:/tmp/gcfPz9iyVF␤»
13:24 jnthn oh.
13:24 jnthn rakudo: sub a($a, $b, $c) { say "boo!" }; my &b = &a.assuming(1); say &b.signature;
13:24 p6eval rakudo 2ee5db: OUTPUT«get_attr_str() not implemented in class 'Sub'␤  in main program body at line 1␤»
13:24 jnthn ah
13:24 jnthn buggar.
13:28 plainhao joined #perl6
13:30 Psyche^ joined #perl6
13:30 Psyche^ is now known as Patterner
13:38 colomon jnthn: it's a practical issue, because things like .min and the sequence op need to know the arity of the functions they work with.
13:41 jnthn Fixing it means doing assuming in a rather more complex way.
13:43 colomon seems like it needs to be done.  :\
13:43 colomon (at some point...)
13:44 jnthn So long as folks can cope with .assuming getting a bunch slower.
13:45 colomon why should that be?
13:45 colomon (and is it .assuming, or the functions that it generates that get slower?)
13:45 jnthn Becuase it'd have to build a signature object for every single thing that gets wrapped.
13:45 jnthn Maybe we can get away with it just being .assuming
13:46 jnthn Well, we can see what TimToady++ thinks.
13:46 colomon If the alternative is that you can't actually use functions generated with .assuming in most of the interesting places a closure can be used, that seems like it would be worth it.
13:47 jnthn aye, but it rasies some interesting questions about other places delegation shows up too.
13:48 PerlJam jnthn: What does "build a signature object" entail?
13:49 PerlJam and do you have to bulid  them from scratch?  It seems to me that you'll always be able to clone the sig and then remove parts of it for .assuming.
13:49 thundergnat joined #perl6
13:50 jnthn Cloning still means building a copy.
13:50 jnthn Also it may not always be removing.
13:50 jnthn sub foo(*@x) { ... } # nothing to remove in this case
13:51 thundergnat good localtime #perl6
13:53 thundergnat I added a new perl6 contribution to rosettacode: Truncatable primes. http://rosettacode.org/wiki/Truncatable_primes#Perl6
13:54 thundergnat It may not be the fastest or most idiomatic, but it works. slowly...
13:54 takadonet thundergnat: nice!
13:57 colomon jnthn: what does .assuming do with multis?
13:57 jnthn Once we switch to the new model, wrap the proto.
13:58 jnthn Then you're at the mercy of the signature of the proto whatever we do. :-)
13:59 wtw left #perl6
14:01 cls_bsd left #perl6
14:01 cls_bsd joined #perl6
14:04 [particle] left #perl6
14:07 jest left #perl6
14:07 thundergnat left #perl6
14:10 PacoLinux joined #perl6
14:11 xinming left #perl6
14:11 [particle] joined #perl6
14:12 mfollett joined #perl6
14:12 Axius joined #perl6
14:16 xinming joined #perl6
14:18 Guest23195 left #perl6
14:19 MayDaniel joined #perl6
14:19 MayDaniel left #perl6
14:19 MayDaniel joined #perl6
14:19 Util left #perl6
14:20 Lorn left #perl6
14:21 Lorn joined #perl6
14:21 Juerd left #perl6
14:22 hatseflats left #perl6
14:22 pmichaud left #perl6
14:22 hugme left #perl6
14:28 hatseflats joined #perl6
14:28 Util joined #perl6
14:28 pmichaud joined #perl6
14:30 colomon o/
14:31 timbunce left #perl6
14:39 pmichaud left #perl6
14:39 Util left #perl6
14:39 hatseflats left #perl6
14:40 estrabd_amf is now known as estrabd
14:45 Italian_Plumber left #perl6
14:46 pmichaud joined #perl6
14:47 Util joined #perl6
14:47 hercynium left #perl6
14:47 hatseflats joined #perl6
14:47 MayDaniel left #perl6
14:48 cjk101010 left #perl6
15:03 nadim joined #perl6
15:04 ruoso joined #perl6
15:06 tadzik joined #perl6
15:08 Axius left #perl6
15:10 pmichaud left #perl6
15:10 pmichaud joined #perl6
15:11 pmichaud good morning, #perl6
15:11 phenny pmichaud: 04 Oct 16:44Z <moritz_> tell pmichaud my adverb question turned into a call for review for 2ee5db94. We'll need to do the same for s///, so should I abstract that ugly code block into a sub or method or something?
15:11 justatheory joined #perl6
15:15 takadonet left #perl6
15:17 masak joined #perl6
15:18 pmichaud c!
15:18 pmichaud ww
15:19 masak pm!
15:20 cbk pmichaud, good morning
15:21 pmurias joined #perl6
15:22 masak colomon: no, it wasn't a new bug.
15:22 masak colomon: I already merged it with the older one from a few months back.
15:23 moritz_ oh hai
15:23 Juerd joined #perl6
15:25 Ross joined #perl6
15:25 Ross left #perl6
15:25 Ross joined #perl6
15:26 masak moritz_: greetings. hope everything is well with you.
15:27 masak mberends and I are sitting inside, hacking. we're just back from a small shopping round.
15:27 moritz_ masak: yes, just exhausted
15:28 masak life can do that :)
15:28 moritz_ and little time for p6
15:28 takadonet joined #perl6
15:28 takadonet morning all
15:28 masak moritz_: aye -- been having the same feeling lately. a bit frustrating.
15:28 masak takadonet: \o
15:32 takadonet looks like a recent change in rakudo cause 300 tests to fail in bioperl....
15:35 dukeleto takadonet: bisect to the rescue
15:35 takadonet ?
15:36 takadonet ic Boo:False is implement now and we expected just 0 as false
15:37 masak takadonet: there's a git subcommand called 'git bisect'.
15:37 dukeleto takadonet: git help bisect
15:37 masak takadonet: it basically allows you to automate finding a revision where something changed.
15:37 takadonet thanks guys
15:37 dukeleto takadonet: you should learn about it, it can really save the day sometimes
15:37 takadonet dukeleto: good to know since we just changed over to git and still just learning it
15:38 dukeleto takadonet: aren't we all :)
15:38 masak yes, bisect is one of the nice parts of git.
15:38 masak takadonet: take a good long look at rebase too if you haven't already :)
15:38 takadonet never heard of it till now
15:38 takadonet well I have more time now to start looking at that stuff
15:38 dukeleto takadonet: if you are familiar with "newton iteration" or "the bisection algorithm", it basicall does that, on git commits, to help you find when something changed
15:38 moritz_ half of my parrot bug reports are about some parrot change breaking rakudo, typically bisected from two known revisions
15:39 moritz_ or "binary search" really
15:39 takadonet sweet
15:39 takadonet and this is the reason why I come here every day
15:39 dukeleto perl6++
15:40 masak takadonet: yes, same here.
15:40 tadzik left #perl6
15:40 masak for some reason, we have an island of quality content in here.
15:40 _kaare joined #perl6
15:41 _sri is there a Perl6::Tidy yet? :)
15:41 takadonet also that people are willing to share without thought of getting anything in return
15:42 dukeleto takadonet: that seems to be a pillar of all perl communities
15:42 jaldhar left #perl6
15:42 PerlJam _sri: no Perl6::Critic yet either.
15:42 _sri aww
15:42 masak _sri: totally possible to build one, though.
15:43 masak we should have a wiki page or something where people can put all those "it's possible and desirable, but none of us has taken on the task yet" projects.
15:44 moritz_ or simply a file in the Mu repo
15:44 cbk left #perl6
15:45 icwiener joined #perl6
15:49 ash_ joined #perl6
15:50 jnthn left #perl6
15:51 jnthn joined #perl6
15:51 Mirell left #perl6
15:51 Mirell joined #perl6
15:52 dukeleto moritz_: that sounds like a lovely idea
15:52 thundergnat joined #perl6
15:53 tadzik joined #perl6
15:54 thundergnat rakudo: sub f ($l is rw) { $l += 1 }; say f(1);
15:54 p6eval rakudo 2ee5db: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in 'f' at line 22:/tmp/Nje9ztCGhs␤  in main program body at line 22:/tmp/Nje9ztCGhs␤»
15:54 thundergnat has 'is rw' been deprecated?
15:54 moritz_ no
15:54 moritz_ it works fine
15:54 moritz_ it's just that you can't add 1 to 1, and store the result in a 1
15:55 moritz_ you can only store the result in a variable
15:55 thundergnat oh. duh
15:55 moritz_ rakudo: sub f($l is rw) { $l += 1); f my $x = 3; say $x
15:55 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
15:55 PerlJam literals don't make good lvalues  :)
15:55 moritz_ rakudo: sub f($l is rw) { $l += 1); f(my $x = 3); say $x
15:55 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
15:55 moritz_ rakudo: sub f($l is rw) { $l += 1}; f(my $x = 3); say $x
15:56 p6eval rakudo 2ee5db: OUTPUT«4␤»
15:56 moritz_ LTA error message, it could tell me that the brackets are mismatched
15:57 thundergnat thanks. that was pretty obvious in retrospect.
15:57 masak moritz_: a file in the Mu repo is probably better, yes.
15:58 masak generally, I find Rakudo to be poor at recovering from bracket mismatches.
15:58 masak but it is a tough problem.
15:59 masak sometimes I've been toying with the idea of a program that would be able to provide better diagnostics in such cases by keeping the previous version of the code around, and comparing the brace structure there; maybe also paying attention to indentation as an extra clue.
16:00 pmichaud std:  sub f($l is rw) { $l += 1); f(my $x = 3); say $x;
16:00 p6eval std 237d266: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse block at /tmp/KAuV2AEzIs line 1:␤------> [32msub f($l is rw) [33m⏏[31m{ $l += 1); f(my $x = 3); say $x;[0m␤Couldn't find final '}'; gave up at /tmp/KAuV2AEzIs line 1:␤------> [32msub f($l is rw) { $l += 1[33m⏏[31m); f(my $x =
16:00 p6eval ..3)…
16:03 moritz_ takadonet: (backlog) Bool::False was implemented before, it's juste the stringification that has changed
16:03 moritz_ (as mentioned in the release announcement of the previous compiler release)
16:03 thundergnat left #perl6
16:03 moritz_ rakudo: say ?0
16:03 p6eval rakudo 2ee5db: OUTPUT«Bool::False␤»
16:03 pmichaud rakudo:   say "{?0}"
16:03 p6eval rakudo 2ee5db: OUTPUT«Bool::False␤»
16:04 pmichaud that one's wrong.
16:04 dalek mu: 968479c | moritz++ | project-ideas.txt:
16:04 dalek mu: [project-ideas.txt] collection of medium to large scale Perl 6 project ideas
16:04 dalek mu: review: http://github.com/perl6/mu/commit/968479c93798afe1ce98c1eb97ac7027748898fb
16:04 moritz_ pmichaud: shoulbe just "False"?
16:04 pmichaud should be ""
16:04 moritz_ huh? why?
16:04 92AABA4VU joined #perl6
16:04 moritz_ rakudo: say False.Stringy
16:04 TimToady Bool never goes to ""
16:04 p6eval rakudo 2ee5db: OUTPUT«Method 'Stringy' not found for invocant of class 'Bool'␤  in main program body at line 22:/tmp/l9iwcvQloy␤»
16:04 pmichaud oh, never mind then.
16:04 pmichaud I figured Bool.Stringy would go to ""
16:04 moritz_ no, it's an enum
16:04 pmichaud if it's never "", then no problem :-)
16:05 TimToady P5-Think?
16:05 moritz_ so it goes to the short name
16:05 pmichaud I'm probably a week behind on discussions :)
16:06 moritz_ Author: lwall <lwall@c213334d-75ef-0310-aa23-eaa082d1ae64>
16:06 moritz_ Date:   Tue Jul 13 00:55:37 2010 +0000
16:06 moritz_ [S12] define more forced actions on enum values
16:06 moritz_ more like, 2.5 months :-)
16:06 pmichaud well, since I was sitting on a beach in Hawaii when that commit occurred, I think I can be excused for overlooking it.  :-)
16:09 TimToady slacking off is always a valid excuse around here :)
16:11 masak "Perl 6: slacking off since 2000"
16:11 pmichaud laziness is a virtue :-)
16:11 ash_ my to do list is really lazy
16:12 masak my resumé is lazy.
16:12 ash_ mines just out dates :-(
16:12 takadonet moritz_: thanks. I noticed that was the issue when I saw the tests output
16:12 sundar joined #perl6
16:13 ash_ rakudo: try {  1 = 3; }; say $!;
16:13 p6eval rakudo 2ee5db: OUTPUT«Cannot modify readonly value␤»
16:13 masak rakudo: say $!
16:13 p6eval rakudo 2ee5db: OUTPUT«Any()␤»
16:13 masak rakudo: try { 1 = 3 }; say $!.backtrace
16:13 p6eval rakudo 2ee5db: OUTPUT«Method 'backtrace' not found for invocant of class 'Perl6Exception'␤  in main program body at line 22:/tmp/iJex0CSMqe␤»
16:14 masak rakudo: try { $!.backtrace }; say $!
16:14 p6eval rakudo 2ee5db: OUTPUT«Method 'backtrace' not found for invocant of class ''␤»
16:14 ash_ rakudo: class A { has $.HOW }; try { A.new(HOW => 1); }; say $!
16:14 masak you can get the error that says there's no backtrace method without a backtrace, if you want.
16:14 p6eval rakudo 2ee5db: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!HOW␤»
16:14 masak o.O
16:14 ash_ that error still confuses me
16:15 masak rakudo: class A { has $.foo }; A.new(foo => 1)
16:15 p6eval rakudo 2ee5db:  ( no output )
16:15 masak seems .HOW is a special case here.
16:15 ash_ ya
16:16 MayDaniel_ joined #perl6
16:16 ash_ jnthn said its not actually a method/attribute you can control like that
16:16 ash_ but if he finishes his changes to nqp-rx adding the knowhow stuff it should work
16:16 pmichaud iirc, HOW is a macro.
16:16 pmichaud (in the spec)
16:17 pmichaud it's not a normal method.
16:18 ash_ are you supposed to be able to toy with it?
16:18 pmichaud if so, it probably won't be by simply declaring a new method or attribute
16:18 pmichaud one would have to "toy with it" through the metamodel interface or something.
16:18 pmichaud (that's my guess)
16:19 masak .can("HOW").()
16:19 cdarroch joined #perl6
16:19 cdarroch left #perl6
16:19 cdarroch joined #perl6
16:19 pmichaud note that   $x."HOW"()   would be a method call, however.
16:19 pmichaud same with .WHAT and ."WHAT"()
16:20 risou joined #perl6
16:20 masak oh, that's far simpler, then.
16:22 pmichaud lunchtime here -- bbiaw
16:23 moritz_ does t/spec/S11-modules/require.t fail the third test for anybody else?
16:24 justatheory left #perl6
16:24 moritz_ (fails here on newest parrot)
16:29 envi left #perl6
16:30 sundar left #perl6
16:30 masak moritz_: yes, here as well.
16:31 masak pid.t properties-derived.rakudo require.t IO-Socket-INET.rakudo -- those are the ones with failed tests here right now.
16:32 baux left #perl6
16:34 sundar joined #perl6
16:37 moritz_ I now have a newer libicu, and properties-derived now also has some failures here
16:38 pmurias left #perl6
16:39 ggoebel joined #perl6
16:39 cggoebel joined #perl6
16:40 sundar left #perl6
16:40 dalek roast: 282b48b | moritz++ | S05-mass/properties-derived.t:
16:40 dalek roast: [properties-derived.t] fudge out tests that depend on particular (older) icu verisons
16:40 dalek roast: review: http://github.com/perl6/roast/commit/282b48b93a77c96c365069c5b5d65e2cf26ba865
16:40 masak moritz_++
16:41 masak I'd really like to see the failcount reach 0 in some way.
16:41 masak it hasn't been for a while for me.
16:42 flussence does that affect those 9 tests that keep failing for me?
16:42 moritz_ flussence: there's an easy way to find out :-)
16:43 flussence righto
16:43 masak is the semantics of &goto doing tailcalls no longer with us in Perl 6?
16:44 * moritz_ thinks so
16:44 masak then something is odd in the spec.
16:45 masak because the spec doesn't say that Perl 6 removes this behaviour, and S01 says that everything that's not mentioned is the same.
16:45 masak ...as in Perl 5.
16:46 colomon masak++
16:46 * flussence was thinking of trying to port frozen-bubble to p6 today, then looked at the code...
16:46 moritz_ masak: S04 (iirc) describes the new semantics of Perl 5
16:46 moritz_ erm
16:46 moritz_ new semantics of 'goto'
16:47 moritz_ so it's not the same as in p5
16:48 masak moritz_: describing new semantics is not the same as saying that old semantics are not still in effect.
16:48 masak I do agree in that &goto probably doesn't have this function any more.
16:48 masak but I think it's worth pointing out in the spec, it being what it is.
16:48 moritz_ masak: it describes what goto does. Since the description does not include things that goto in p5 does, it mean it's gone.
16:49 masak I don't buy that logic.
16:49 masak pack/unpack are barely described at all in the spec.
16:49 masak and yet we assume that they work mostly as in Perl 5.
16:49 moritz_ (which, IMHO, is also wrong)
16:50 masak at least one of those things have to be wrong if we're to be consistent.
16:51 dalek rakudo: e9e7fca | moritz++ | src/core/Bool.pm:
16:51 dalek rakudo: implement Bool.Stringy
16:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e9e7fca0da23ac3e00651d8d2ac7d9daafbbd62a
16:53 ruoso left #perl6
16:55 dalek sprixel: 56c944f | diakopter++ | sprixel/ (4 files):
16:55 dalek sprixel: fix intervening-lexical-scope compile-time lookup/binding to "hidden-class" slots.
16:55 dalek sprixel: works with nested string eval() (mocked up with codegen API - no frontend yet)
16:55 dalek sprixel: review: http://github.com/diakopter/sprixel/commit/56c944f1b1d72920e1970633e86b3a354e9f04ee
16:59 dakkar left #perl6
17:05 masak could someone compare and contrast callwith($args) and &?ROUTINE($args), please?
17:07 moritz_ Use of C<callwith> allows the routine to be called without introducing
17:07 moritz_ an official C<CALLER> frame.  For more see "Wrapping" below.
17:07 rgrau_ joined #perl6
17:07 masak so does use of &?ROUTINE, according to S06.
17:07 masak at least it talks about tail-recursion in relation to it.
17:07 moritz_ where?
17:08 moritz_ hm
17:08 moritz_ &    temp &thermo.wrap( { callwith($^t + 273.16) } );
17:08 Axius joined #perl6
17:08 moritz_ in that case, &?ROUTINE would refer to the next outer routine, afaict
17:08 moritz_ not to &thermo
17:08 moritz_ S06:2697
17:08 masak right.
17:09 masak S06:2813: "C<&?ROUTINE> is always an alias for the lexically innermost C<Routine> [...], so you can specify tail-recursion on an anonymous sub"
17:09 masak "tail-recursion".
17:10 masak oh well, it probably won't hurt to keep both variants around.
17:12 stkowski joined #perl6
17:12 masak though I wonder why tail-recursion is emphasized there, since presumably execution proceeds after a &?ROUTINE call.
17:12 masak to me, just "recursion" would be less confusing in that paragraph.
17:12 moritz_ indeed
17:13 moritz_ will you remove it?
17:13 TimToady feel free to fix it
17:16 flussence hm, this test run's stuck on t/spec/S09-typed-arrays/arrays.rakudo...
17:16 flussence stuck after "not ok 35"
17:17 moritz_ flussence: is your t/spec/ a git or an svn repo?
17:17 flussence there's a .git in there
17:25 risou_ joined #perl6
17:27 * masak fixes it
17:27 risou left #perl6
17:28 cls_bsd left #perl6
17:28 cls_bsd joined #perl6
17:28 dalek specs: cb8c848 | masak++ | S06-routines.pod:
17:28 dalek specs: [S06] s/tail-recursion/recursion/
17:28 dalek specs:
17:28 dalek specs: Because you can use &?ROUTINE calls in a non-tail position (and execution
17:28 dalek specs: still carries on afterwards), it's really just normal recursion.
17:28 dalek specs: review: http://github.com/perl6/specs/commit/cb8c8487fa0ab7156fecffdc8a52bf75d4290c1b
17:29 nymacro left #perl6
17:34 Italian_Plumber joined #perl6
17:34 Axius left #perl6
17:35 Italian_Plumber left #perl6
17:36 Italian_Plumber joined #perl6
17:42 Italian_Plumber left #perl6
17:43 dalek sprixel: 1762ccd | diakopter++ | sprixel/ (7 files):
17:43 dalek sprixel: made short and long versions of name manglers
17:43 dalek sprixel: general cleanup
17:43 dalek sprixel: review: http://github.com/diakopter/sprixel/commit/1762ccd61c8668c37880f485780023cbd3a2c4f0
17:44 takadonet ..
17:47 LaVolta left #perl6
17:48 alester joined #perl6
17:51 diakopter takadonet: ?
17:53 takadonet diakopter: very quiet in here today
17:57 flussence hmm, that S09 test passed now. Guess I just didn't make-clean enough stuff the first time.
17:57 sorear good * #perl6
18:15 kst left #perl6
18:16 kst joined #perl6
18:24 masak good whatevah, sorear.
18:26 masak what's the behaviour of a call[with|same] inside an only sub?
18:27 PerlJam surely an exception?
18:27 PerlJam or, I guess, it could be like goto &sub in perl 5, but with possibly different args.
18:28 PerlJam (where &sub is the only in question)
18:28 Util rakudo: sub foo ( ) { say 2*$lexical }; my $lexical = 4; foo();
18:28 p6eval rakudo 2ee5db: OUTPUT«8␤»
18:28 masak both the call- and the next- forms mean "go to the next *candidate*" only the former means "and come back afterwards".
18:29 Util Why did that not err with "Symbol '$lexical' not predeclared in foo"? Known bug?
18:29 masak seems to me they either are not applicable within an only sub, or they follow some different rules.
18:29 masak Util: hm. maybe.
18:29 masak I'll check.
18:29 PerlJam rakudo:  { say $a;  my $a = 42; }
18:30 p6eval rakudo 2ee5db: OUTPUT«Any()␤»
18:30 masak :(
18:30 masak rakudo: say $a; my $a = 42
18:30 p6eval rakudo 2ee5db: OUTPUT«Any()␤»
18:30 masak at least there's an old possibly closed bug for that.
18:32 masak s/bug/ticket/
18:33 Util It is like any var that exists in a scope is legal from the start of scope, instead of from the point of declaration. I am suprised there is no spectest for that.
18:33 kjeldahl joined #perl6
18:33 PerlJam rakudo: say $foo;  { my $foo = 42 }
18:33 Trashlord left #perl6
18:33 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
18:34 PerlJam oops
18:34 PerlJam rakudo: say $foo;  if 1 { my $foo = 42 };
18:34 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
18:34 masak I can't find a ticket for it either.
18:34 PerlJam hmm
18:34 masak I'm almost sure we had one.
18:34 * masak submits rakudobug
18:34 masak Util++
18:35 PerlJam masak: me too, I remember we talked about a similar (the same) bug a long time ago
18:35 sorear Util: it's a pretty deep-seated bug in PAST
18:35 masak someone else might have better luck than I finding it in RT.
18:35 masak I found quite a number of similar ones, but not exactly that one.
18:35 ash_ std: say $foo;  if 1 { my $foo = 42 };
18:35 p6eval std 237d266: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $foo is not predeclared at /tmp/KLl0FzrmrH line 1:␤------> [32msay $foo[33m⏏[31m;  if 1 { my $foo = 42 };[0m␤Potential difficulties:␤  $foo is declared but not used at /tmp/KLl0FzrmrH line 1:␤------> [32msay $foo;  if 1 { my
18:35 p6eval ..$foo[33m⏏[…
18:35 sorear masak: i think callwith/same goes and accesses the nearest dynamically enclosing multi or method
18:35 sorear masak: remember, you can use it inside an if { }
18:36 masak sorear: an if is just a block, not a routine, though.
18:36 Util Thanks, everyone
18:37 icwiener_ joined #perl6
18:37 masak sometimes I think that [call|next][same|with] only solve one of two types of problems out there. maybe the other problem can be seen as the use case for &?ROUTINE.
18:38 masak namely, what if I want to *not* use the same candidate list as originally, but do a (possibly tail) call to the same routine, but with a new dispatch?
18:39 icwiener left #perl6
18:40 stkowski left #perl6
18:42 masak rakudo: { my $foo = 42 }
18:42 p6eval rakudo 2ee5db:  ( no output )
18:42 masak rakudo: say $foo; { my $foo = 42 }
18:42 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
18:42 masak wtf?
18:43 masak rakudo: say $foo; {}
18:43 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
18:43 masak rakudo: say $foo;
18:43 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
18:43 * masak submits rakudobug
18:43 stkowski joined #perl6
18:43 masak *sigh*
18:44 masak taking a guess, that seems to be an error that occurs during parsing while trying to print the real error.
18:45 masak taking another guess, it has to do with the Parrot String/Rakudo Str conversion not always being perfect. probably a .trans call or something.
18:45 TimToady rakudo: exit; say $foo;
18:45 p6eval rakudo 2ee5db: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
18:45 masak would be nice if someone would do a bisect on this one.
18:46 slavik left #perl6
18:49 masak TimToady: if &goto's tailcall semantics are gone from Perl 6, how do I say "tail-call [i.e. overwrite this stack frame] and redispatch"?
18:50 TimToady it's kinda supposed to do that automatically when it can, but we've have a .tailcall proposed from time to time; don't think it's made it to specland
18:52 masak IIUC, the thing about tail-call optimisations is that if you don't spec when it must be done, then some implementations will skip doing that, and then some programs will blow serious stack on those implementations.
18:53 slavik joined #perl6
18:53 TimToady that sounds about right :)
18:53 masak ok then. nothing to see here, move along.
18:54 TimToady but probably more along the lines of speccing all the things that can disable tailcall optimizations
18:54 masak like, having a statement or some other evaluation temporally after the call? :)
18:55 TimToady that would be one obvious way :)
18:55 cls_bsd left #perl6
18:56 * masak likes obvious ways
18:56 cls_bsd joined #perl6
18:58 sorear well, the flip side of that is that, if you spec too many tailcall points, life gets seriously annoying for implementors not using assembly
18:58 masak rakudo: sub foo($x where { $x == $y }, $y) { }; foo(1,2)
18:58 sorear r5rs is an infamous offender here
18:58 p6eval rakudo e9e7fc: OUTPUT«Use of uninitialized value in numeric context  in <anon> at line 22:/tmp/u16S1HF52n␤Constraint type check failed for parameter '$x'␤  in 'foo' at line 1:/tmp/u16S1HF52n␤  in main program body at line 22:/tmp/u16S1HF52n␤»
18:58 sorear writing Scheme implementations in C is hard because of ... the tailcall rules, and not much else
18:59 masak rakudo: our $c; class T { $c++ }; T.new
18:59 p6eval rakudo e9e7fc:  ( no output )
18:59 masak rakudo: our $c; class T { $c++ }; T.new; say $c
18:59 p6eval rakudo e9e7fc: OUTPUT«1␤»
18:59 sorear OTOH, Perl 6 has already made my life horrible with &take, so tailcalls won't be too much worse ;)
18:59 * masak closes http://rt.perl.org/rt3/Ticket/Display.html?id=69460
18:59 TimToady well, if we require implementation of .tailcall, it can't be too much harder to apply it as needed
19:00 kjeldahl left #perl6
19:00 sorear note that .tailcall is going to have some very dark-corners interaction with LEAVE, temp, etc
19:00 masak sorear: does your &take decontainerize?
19:00 TimToady LEAVE would be one of the things that disables it, presumably
19:01 sorear masak: as of yesterday, yes
19:01 ashleydev pointme: dalek
19:02 ashleydev where's the code for the dalek bot?
19:02 TimToady unless we take a p5-ish scope stack approach and just keep accumulating LEAVEs separate from call frames, to all be unwound together
19:02 TimToady then you're only blowing the scope stack, not the call frame stack :)
19:02 masak could someone help save this ticket from limbo? http://rt.perl.org/rt3/Ticket/Display.html?id=73074 -- TimToady, what's the value of &foo if a sub foo has not been declared?
19:02 masak sorear++
19:03 diakopter ashleydev: it's based on botnix
19:03 masak phasers are still one of my mid-term goals for Yapsi. I'd like to explore them and reach conclusions that no-one has thought about yet.
19:03 diakopter but its custom modules are in perl6/ on github
19:03 masak std: &foo
19:04 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
19:04 masak TimToady: if all subs are lexical, why isn't the above a compile-time error/warning?
19:04 diakopter std: goto goto;
19:04 p6eval std 237d266: OUTPUT«ok 00:02 115m␤»
19:05 sorear goto goto; = &goto(&goto())
19:05 sorear it's going to fail at runtime (No candidate for &goto takes 0 arguments)
19:06 sorear but it's syntactically fine
19:06 masak :)
19:08 bluescreen left #perl6
19:09 masak` joined #perl6
19:09 sorear twice the masak!
19:09 plainhao left #perl6
19:10 bluescreen joined #perl6
19:11 masak` apologies -- network trouble.
19:11 masak left #perl6
19:11 sorear Who remembers anything about infix:+ ?
19:11 sorear I see the bracketless syntax occasionally
19:11 masak` I remember.
19:11 sorear something about it says "fossil"
19:11 masak` it's from the days of the Apocalypses.
19:12 masak` PGE has the operators that way as well.
19:12 sorear I see.
19:12 TimToady std: my $fooʹ = 42; say $fooʹ;
19:12 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
19:12 TimToady perl6: my $fooʹ = 42; say $fooʹ;
19:12 p6eval pugs, rakudo e9e7fc: OUTPUT«42␤»
19:12 sorear unrelatedly: infix:<but> means I need to have a role composer lying around at runtime.
19:13 * sorear doesn't want to write a second one for the compiler
19:13 masak` the compiler is just an early form of runtime :)
19:14 sorear well, for niecza it's a bit unpleasant, since the compiler is Perl 5 and the runtime is C#/Perl 6
19:14 moritz_ sorear: for eval() you also need a role composer :-)
19:14 sorear eventually I'm hoping to have the compiler in (portable) Perl 6 too
19:14 TimToady .u ʹ
19:14 phenny U+02B9 MODIFIER LETTER PRIME (ʹ)
19:15 masak` rakudo: role B { method x { say "OH HAI"
19:15 p6eval rakudo e9e7fc: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
19:15 masak` argh.
19:15 masak` is now known as masak
19:15 sorear pretty decent error message
19:15 masak for once :)
19:15 moritz_ well, it would be nice to tell us what it found instead
19:16 TimToady std: role B { method x { say "OH HAI"
19:16 masak rakudo: role B { method x { say "OH HAI" } }; my $foo; eval q[$foo does B]; $foo.x
19:16 p6eval std 237d266: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse block at /tmp/Dd1GP8rJdo line 1:␤------> [32mrole B { method x [33m⏏[31m{ say "OH HAI"[0m␤Couldn't find final '}'; gave up at /tmp/Dd1GP8rJdo line 1 (EOF):␤------> [32mrole B { method x { say "OH HAI"[33m⏏[31m<EOL>[0m␤
19:16 p6eval ..expec…
19:16 p6eval rakudo e9e7fc: OUTPUT«Method 'x' not found for invocant of class ''␤  in main program body at line 22:/tmp/1mMLo60BdJ␤»
19:16 masak should the above work?
19:16 diakopter .u 았
19:16 phenny U+C558 HANGUL SYLLABLE ASS (았)
19:16 masak rakudo: role B { method x { say "OH HAI" } }; my $foo = 42; eval q[$foo does B]; $foo.x
19:16 p6eval rakudo e9e7fc: OUTPUT«OH HAI␤»
19:17 masak here on the channel, we try not to be 았-holes.
19:19 burning_aces joined #perl6
19:23 _twitch left #perl6
19:26 cggoebel left #perl6
19:26 ggoebel left #perl6
19:28 risou_ left #perl6
19:28 ggoebel joined #perl6
19:28 cggoebel joined #perl6
19:29 cls_bsd left #perl6
19:29 cls_bsd joined #perl6
19:29 masak rakudo: say &foo.WHAT
19:29 p6eval rakudo e9e7fc: OUTPUT«Could not find sub &foo␤  in main program body at line 22:/tmp/Ry6az95fgz␤»
19:31 masak since no-one has spoken up, let me propose (1) that the use of an undeclared &foo be caught at compile time, and (2) that we find some better way to ask the question "is there a sub named &foo in this scope?"
19:32 sorear niecz: &foo
19:32 sorear niecza: &foo
19:32 p6eval niecza 0fa6f23: OUTPUT«Internal error: failed to resolve lexical &foo in mainline at /home/p6eval/niecza/src/CSharpBackend.pm line 296.␤»
19:32 sorear ?
19:34 moritz_ std: &foo
19:34 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
19:34 sorear moritz_: I am confident that is a bug.
19:35 masak that what is a bug? STD.pm6's response?
19:36 dju joined #perl6
19:36 sorear yes
19:37 sorear &foo and $foo go through different code paths in STD
19:37 sorear because the stuff after &foo is parsed as a category as well as a desigilname
19:37 sorear it looks like the check_variable call is missing in the &foo case
19:39 dju left #perl6
19:40 masak pls fix :) ++sorear
19:40 dju joined #perl6
19:43 sorear STD.pm6 falls into the "I don't understand it well enough to fix it on the first try, and I don't have the patience to fix it 10 times at 5 minutes per rebuild" category. :/
19:45 masak fair enough. I can respect that. :)
19:49 buubot left #perl6
19:53 masak anyway, it seems I can close #73074, because the old alpha behaviour doesn't adhere to what STD.pm6 would do, were it bug-free.
19:55 buubot joined #perl6
19:55 burning_aces left #perl6
19:57 Tene std: my $fooʹ = 5;
19:57 p6eval std 237d266: OUTPUT«ok 00:01 117m␤»
19:58 Tene rakudo: my $fooʹ = 5; say $fooʹ;
19:58 p6eval rakudo e9e7fc: OUTPUT«5␤»
19:58 Tene Nice.
19:58 sorear .u ʹ
19:58 phenny U+02B9 MODIFIER LETTER PRIME (ʹ)
19:59 masak std: my $fooʹʹʹʹʹ = 5
19:59 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
20:00 TimToady phone
20:01 TimToady std: my $foo-ʹ = 42; say $foo-ʹ;
20:01 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
20:01 TimToady std: my $foo'ʹ = 42; say $foo'ʹ;
20:01 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
20:04 kst left #perl6
20:04 kst joined #perl6
20:10 cggoebel left #perl6
20:10 ggoebel left #perl6
20:13 ggoebel joined #perl6
20:15 cggoebel joined #perl6
20:15 MayDaniel_ left #perl6
20:19 cggoebel left #perl6
20:19 ggoebel left #perl6
20:21 orafu left #perl6
20:23 orafu joined #perl6
20:23 cognominal joined #perl6
20:24 ggoebel joined #perl6
20:24 cggoebel joined #perl6
20:24 tadzik left #perl6
20:26 cggoebel left #perl6
20:26 ggoebel left #perl6
20:28 stkowski_ joined #perl6
20:29 stkowski left #perl6
20:29 stkowski_ is now known as stkowski
20:30 mfollett left #perl6
20:31 fuad joined #perl6
20:31 fuad hi
20:32 masak fuad! \o/
20:32 fuad hey masak:)
20:32 ggoebel joined #perl6
20:32 cggoebel joined #perl6
20:33 alester left #perl6
20:34 Tene fuad!
20:34 fuad Tene ,yo:)
20:35 bluescreen left #perl6
20:36 aloha left #perl6
20:36 sorear Hello!
20:37 f00li5h left #perl6
20:39 Mowah left #perl6
20:40 masak meanwhile, here at the .nl hackathon, we have a new suggestion for the name of "the sub which would be the opposite of &slurp": &clobber
20:40 masak any takers?
20:43 ash_ whats the opposite of slurp supposed to do?
20:43 ash_ put a bunch of text into a file?
20:43 masak aye.
20:43 masak potentially overwriting old content.
20:44 PerlJam I'm not sure that particular semantic is opposite of slurp, but it sounds like a good name anyway
20:44 frettled masak: &splur;
20:44 masak I think I'd like to see a "/path/to/file".IO.clobber($text) form
20:44 * masak slaps frettled :)
20:44 ash_ what about something like: write-over, overruled, barf, spew, write, print, say :P
20:44 TimToady stuff
20:44 PerlJam &vomit
20:44 frettled &purls?
20:44 PerlJam :)
20:44 * frettled hopes for another slap.
20:45 masak PerlJam: I had forgotten about that one. you insolent clod. :P
20:45 frettled ash_, PerlJam: high five!
20:45 * mberends slaps frettled with a wet fish. frettled: enjoy!
20:45 frettled yummy.
20:45 f00li5h joined #perl6
20:45 masak ok, all you smug bikeshedders. forget I ever mentioned it. :)
20:46 frettled &tool8
20:46 masak std: &tool8
20:46 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
20:46 ash_ "/tmp/big-file.bak".spew(curl.the-internet);
20:46 masak ash_: needs an .IO in there for sanity.
20:46 ash_ good point
20:46 masak ash_: it's an operation on a file, not on a Str.
20:47 masak std: &subroutine-lookup-bug
20:47 ash_ ya, i remebmer that change now
20:47 p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
20:47 ash_ remember*
20:47 frettled std: &°
20:47 p6eval std 237d266: OUTPUT«[31m===[0mSORRY![31m===[0m␤Non-declarative sigil is missing its name at /tmp/DanWcR4Vnf line 1:␤------> [32m<BOL>[33m⏏[31m&°[0m␤Preceding context expects a term, but found infix & instead at /tmp/DanWcR4Vnf line 1:␤------> [32m<BOL>[33m⏏[31m&°[0m␤Parse failed␤FAILED
20:47 p6eval ..00:…
20:47 frettled std: &C™
20:47 p6eval std 237d266: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/T2vrgOqktB line 1:␤------> [32m&C[33m⏏[31m™[0m␤    expecting any of:␤      POST␤   bracketed infix␤    infix or meta-infix␤      postfix␤        postfix_prefix_meta_operator␤       statement modifier loop␤Parse failed␤FAILED
20:47 p6eval ..00:01 120m␤»
20:47 frettled *sniff*
20:48 cggoebel left #perl6
20:48 ggoebel left #perl6
20:48 aloha joined #perl6
20:50 bluescreen joined #perl6
20:54 Tene masak: I've seen "spew" used in plenty of places.
20:55 Tene Str.spew(IO); IO.spew(Str); # not possibly confusing to anyone ever
20:56 masak Tene: right. the reason we advocate &clobber is that it contains a clue as to what happens if a file is already there.
20:56 Tene masak: or you could support different write modes.
20:56 Tene create, truncate, append
20:57 masak I'm unfamiliar with the middle one.
20:57 Tene replace?
20:57 Tene overwrite?
20:57 masak ah; and the first one dies if something's there?
20:57 Tene Yes.
20:57 masak since it's supposed to be a tool for simplicity, it feels wrong to provide it with a lot of options.
20:57 Tene The second fails if nothing is there.
20:58 Entonian left #perl6
20:58 masak and if you genuinely don't care?
20:58 Tene Then you probably want both.
20:58 Tene I expect that that's probably the most-expected default.
20:58 masak already, we've moved quite some distance away from the simplicity of &slurp.
20:59 Tene Sure.
20:59 pythonian4000afk is now known as pythonian4000
20:59 PerlJam clobber works for me.  :)
20:59 masak I think this is the fundamental problem with a hypothetical &spew function.
20:59 masak (and that's what &clobber attempts to solve)
20:59 masak if you do want finer-grained control, there's .open, .print and .close :)
21:00 frettled It's clobberin' time!
21:00 Tene clobber(..., :append) might be nice, but seems a little semantically weird
21:00 frettled masak: I can see the use for a thing that spews a whole bunch by appending, though.
21:01 PerlJam frettled: $hulk.smash($filename)  # ;-)
21:01 frettled :D
21:01 Tene I do agree that requiring mode specification would be too much.  Just trying to speculate if there's a simple way to reduce some errors.
21:01 masak "my &clobber function overwrote my old file!" -- "nuh, yah..."
21:01 Tene That function is already pretty firmly established in my mind as 'spew', though, so I'm not much help at speculating optimal names.
21:02 masak I hereby banish anyone with a gross liquid-related name for the function into a predeclared module for all eternity.
21:02 Tene That seems like a pretty weird sort of thing to worry about, to me.  It would not have occurred to me to be concerned that someone might mistake an IO function for not doing IO?  I'm not sure what the speculated mis-thought is.
21:03 masak the speculated mis-thought is about the failure modes of such a function.
21:04 Tene One slightly unusual IO failure mode I've seen before happens with people who always quit vim with ":wq!" every time with the !
21:05 Tene in the case that you don't have write permissions on the file, but *do* have write privs on the directory it's in, and you include the !, vim will delete the file and create a new one, thereby changing ownership of the resulting file.
21:05 Tene Not something I think we're likely to do, just an associated memory.
21:06 masak I'm too stupid to connect the dots right now. but thanks anyway :)
21:06 icwiener_ left #perl6
21:06 sjohnson p6 friends
21:06 masak sjohnson! \o/
21:07 frettled Tene: but you're raising an interesting question: will &clobber clobber a file you don't have permissions to, if you have permissions to remove it from the directory?
21:07 sorear I propose slurp("foo") = "bar"
21:07 Tene frettled: *that* name suggests that it would try to do whatever it can.
21:07 ggoebel joined #perl6
21:07 cggoebel joined #perl6
21:08 Tene I recommend against it, though.
21:08 sorear or "foo".IO.contents = "bar"
21:08 frettled Tene: no, it does not quite suggest that
21:08 sorear Do subtypes have type objects?
21:08 sjohnson yo
21:08 frettled unlinking the file is not what happens when you "clobber" a file in normal unix operations, AFAIK.
21:08 masak sorear: I think so.
21:09 sorear masak: S12 hints that , as parameters, Foo :$bar where ... and SubFoo :$bar are identical
21:10 masak sorear: not sure that's related.
21:10 masak but yes, in a way they are.
21:10 sorear masak: in the not-passed case, should the anonymous subtype of the former have a type object of its own, or just use Foo?
21:10 masak subtypes are just condensed where clauses on nominal types.
21:11 masak it's a bit like the surreal numbers, in which a real number can have some infinitesimals clutching onto it.
21:21 stkowski_ joined #perl6
21:22 fuad left #perl6
21:25 stkowski left #perl6
21:25 stkowski_ is now known as stkowski
21:26 kst left #perl6
21:27 cggoebel left #perl6
21:27 ggoebel left #perl6
21:29 bluescreen left #perl6
21:31 mberends rakudo: say %*ENV.exists('PERL6LIB'); say %*ENV<PERL6LIB>.defined; say %*ENV<PERL6LIB>;
21:31 p6eval rakudo e9e7fc: OUTPUT«Bool::True␤Bool::True␤lib␤»
21:32 kst joined #perl6
21:34 mberends rakudo: say %*ENV.exists('FOO'); say %*ENV<FOO>.defined; say %*ENV<FOO>;
21:34 p6eval rakudo e9e7fc: OUTPUT«Bool::False␤Bool::True␤␤»
21:34 * masak submits rakudobug
21:34 masak mberends++
21:35 _kaare left #perl6
21:37 diakopter was clobber selected?
21:37 diakopter or are suggestions still being taken?
21:37 masak no conclusion has been reached.
21:38 masak I know an overwhelming acclaim when I see one :)
21:38 diakopter noise & attention aren't acclaim
21:38 mberends clobber does not describe what happens in the create new file scenario.
21:38 masak diakopter: exactly.
21:39 diakopter oh, I see
21:39 diakopter TimToady mentioned  stuff
21:39 diakopter on that note, I suggest  jam
21:39 masak both feel mostly non-verby to me...
21:39 diakopter ??
21:39 mberends "put"
21:39 diakopter they're both verbs that require indirect objects
21:39 masak yes.
21:40 masak but they are chiefly nouns.
21:40 masak fsvo "chiefly"
21:40 diakopter I heartily disagree
21:40 * masak adds a notch to the bikeshed board
21:41 sorear diakopter: &spew was selected long ago
21:41 sorear bikeshedding at this point is just a harmless diversion, with no effect on anything
21:42 masak in what sense what &spew selected long ago?
21:42 masak I don't see it in the spec.
21:42 diakopter that's just plain wrong. things in the spec are changed quite often.
21:42 sorear but not as a result of bikeshedding
21:42 diakopter None Dare Call It Bikeshedding
21:43 masak s:2nd/what/was/
21:43 diakopter Anyone can call something bikeshedding to slight the topic.
21:43 diakopter apparently.
21:43 frettled Are we going to bikeshed about bikeshedding now?
21:43 masak it doesn't take much to actually make it bikeshedding.
21:44 masak I draw the line at about four or five name proposals, which were quickly reached in this case.
21:44 masak claiming that that's not bikeshedding is just meta-bikeshedding.
21:44 diakopter then you should have told everyone on the channel that any further attempts to name it would be considered bikeshedding by you.
21:45 diakopter especially when asked directly by me.
21:45 masak I wasn't aware that everyone else would be so interested in what I consider bikeshedding.
21:45 masak I'll know that till next time.
21:46 masak let's talk about sorear's claim that &spew was decided on long ago instead.
21:46 frettled Not that there's anything wrong with that.
21:46 * dukeleto wonders: who will bikeshed the bikeshedders?
21:46 masak that seems to be a slightly more productive line of thought.
21:46 * diakopter agrees
21:46 masak sorear: what in the world do you mean, and how?
21:46 xinming_ joined #perl6
21:47 frettled I present the following evidence that spew is something else ;) :http://www.perlmonks.org/?node_id=124838
21:48 xinming left #perl6
21:48 frettled Seriously, though: "spew" is often used as the opposite of "slurp", it seems that there is a good case for using that.
21:48 diakopter even if sorear is right that spew was selected, that doesn't mean that synopsis was rolled up and sealed with wax
21:49 frettled Additionally, it's merely four letters long, whereas "clobber" is seven.  If there is no particularly good reason for selecting the longer name, then the longer name loses with pragmatists like me.
21:49 17SAABHSN joined #perl6
21:49 45PAA9G8H joined #perl6
21:49 45PAA9G8H left #perl6
21:49 17SAABHSN left #perl6
21:49 frettled diakopter: it may have been sealed with spew, however ;)
21:49 diakopter heh
21:50 frettled …I hope nobody lost their meal over that.
21:50 masak diakopter: there's no "spew" in the synopses.
21:51 masak frettled: there is a good reason for selecting the longer name.
21:51 sorear there is, however, spew in viv
21:51 masak viv isn't spec, and especially not in that sense.
21:52 masak frettled: "spew" might as well mean "create a new file" as "append to an old file". "clobber" unambiguously means "overwrite any old file".
21:52 diakopter it was in gen_mutable_pmc.pl in parrot
21:53 diakopter (as added by jnthn)
21:53 masak ok.
21:53 frettled masak: not quite unambiguously, as per my concern, and apparently also mberends's concern.
21:54 mberends masak: %*ENV and 'use' strange behaviour: http://gist.github.com/614159
21:54 masak mberends: thanks.
21:55 * masak submits rakudobug
21:56 masak mberends++
22:01 jferrero joined #perl6
22:05 ggoebel joined #perl6
22:05 cggoebel joined #perl6
22:11 leprevost joined #perl6
22:25 Ross left #perl6
22:35 leprevost left #perl6
22:35 92AABA4VU left #perl6
22:35 szabgab joined #perl6
22:37 ruoso joined #perl6
22:39 dalek niecza/master: 53a549d | sorear++ | / (2 files):
22:39 dalek niecza/master: Hack importation of classes into working
22:39 dalek niecza/master: review: http://github.com/sorear/niecza/commit/53a549dc47e13143da7a23b04bc7854cf18aaa6c
22:39 dalek niecza/master: 6dbac00 | sorear++ | / (4 files):
22:39 dalek niecza/master: Move MRO calculation to compile time
22:39 dalek niecza/master: review: http://github.com/sorear/niecza/commit/6dbac00bd4b7f7e4e705eb3933fb9c55ca52f5ba
22:40 * masak blogged: http://strangelyconsistent.org/blog/to-take-arms-against-a-sea-of-bitrot
22:43 masak zzz &
22:43 masak left #perl6
22:54 kst left #perl6
22:54 kensanata joined #perl6
22:54 kst joined #perl6
22:55 buu left #perl6
22:55 buu joined #perl6
22:56 alester joined #perl6
22:57 Italian_Plumber joined #perl6
22:58 Italian_Plumber left #perl6
23:00 Raynes left #perl6
23:05 Raynes joined #perl6
23:11 wamba left #perl6
23:12 stkowski_ joined #perl6
23:15 stkowski left #perl6
23:17 stkowski_ left #perl6
23:17 jaldhar joined #perl6
23:22 Italian_Plumber joined #perl6
23:24 kensanata left #perl6
23:25 jferrero left #perl6
23:25 Italian_Plumber left #perl6
23:30 xabbu42 left #perl6
23:42 HarryS joined #perl6
23:42 HarryS left #perl6
23:47 HarryS joined #perl6
23:48 rgrau_ left #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo