Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-07-11

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:21 wolfman2000 left #perl6
00:26 wolfman2000 joined #perl6
00:27 moritz nom: my $x = "foo"; $x .= uc; say $x
00:27 p6eval nom: OUTPUT«FOO␤»
00:35 PZt left #perl6
00:38 icwiener left #perl6
00:43 moritz nqp: say(pir::chopn__Ssi("foo", 0))
00:44 p6eval nqp: OUTPUT«foo␤»
00:44 moritz nqp: say(pir::chopn__Ssi("foo", 1))
00:44 p6eval nqp: OUTPUT«fo␤»
00:44 moritz nqp: say(pir::chopn__Ssi("foo", 2))
00:44 p6eval nqp: OUTPUT«f␤»
00:47 moritz nqp: say(pir::chopn__Ssi("foo", -1))
00:47 p6eval nqp: OUTPUT«f␤»
00:54 PZt joined #perl6
01:00 noganex_ joined #perl6
01:04 noganex left #perl6
01:04 daniel-s joined #perl6
01:07 wolfman2000 left #perl6
01:30 * [Coke] wonders how many tests we're running now.
01:35 cooper joined #perl6
01:38 whiteknight left #perl6
01:53 [Coke] nom: (10/7).WHAT
01:53 p6eval nom:  ( no output )
01:54 [Coke] nom: (10/7).WHAT.say
01:54 p6eval nom: OUTPUT«Rat()␤»
01:54 [Coke] nom: use Test; is( (10/7).WHAT, 'Rat()', 'WHAT');
01:54 p6eval nom: OUTPUT«Use of uninitialized value in string context␤not ok 1 - WHAT␤Use of uninitialized value in string context␤#      got: ''␤# expected: 'Rat()'␤»
01:55 [Coke] why does that print Rat(), but not is() Rat() ?
01:58 xinming left #perl6
01:58 [Coke] nom: (10/7).WHAT.WHAT.say
01:58 p6eval nom: OUTPUT«Rat()␤»
02:03 dayangkun joined #perl6
02:03 leprevost joined #perl6
02:04 xinming joined #perl6
02:10 [Coke] nom: use Test; is( ~(10/7).WHAT, 'Rat()', 'WHAT');
02:10 p6eval nom: OUTPUT«Use of uninitialized value in string context␤not ok 1 - WHAT␤#      got: ''␤# expected: 'Rat()'␤»
02:11 [Coke] nom: say (10/7).WHAT == 'Rat()'
02:11 p6eval nom: OUTPUT«Cannot access attributes in a type object␤current instr.: 'Num' pc 472477 (src/gen/CORE.setting.pir:132588) (src/gen/CORE.setting:3256)␤»
02:12 dalek rakudo/nom: 4336ba9 | Coke++ | t/spectest.data:
02:12 dalek rakudo/nom: note more spectest failure modes.
02:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4336ba9170
02:15 _jaldhar left #perl6
02:16 _jaldhar joined #perl6
02:19 dayangkun left #perl6
02:20 dayangkun joined #perl6
02:20 [Coke] anyone still awake?
02:20 wolfman2000 joined #perl6
02:21 [Coke] seen lue?
02:21 aloha lue was last seen in #perl6 2 days 7 hours ago saying "hello o/".
02:25 drbean left #perl6
02:29 jdhore1 left #perl6
02:47 lichtkind left #perl6
02:57 leprevost left #perl6
03:00 kuu joined #perl6
03:01 kuu left #perl6
03:02 molaf joined #perl6
03:09 cschimm1 joined #perl6
03:10 [Coke]_ joined #perl6
03:11 cschimm1_ left #perl6
03:11 [Coke] left #perl6
03:11 diakopter left #perl6
03:11 diakopter joined #perl6
03:11 kuu joined #perl6
03:19 drbean joined #perl6
03:26 Su-Shee left #perl6
03:28 Su-Shee joined #perl6
03:29 simcop2387 left #perl6
03:29 colomon left #perl6
03:31 colomon joined #perl6
03:34 simcop2387 joined #perl6
03:55 jdhore joined #perl6
04:00 jdhore left #perl6
04:01 amkrankruleuen left #perl6
04:02 amkrankruleuen joined #perl6
04:04 barika left #perl6
04:05 barika joined #perl6
04:07 colomon left #perl6
04:10 jdhore joined #perl6
04:16 colomon joined #perl6
04:24 molaf left #perl6
04:34 satyavvd joined #perl6
04:54 sorear [Coke]_: hi
05:03 REPLeffect joined #perl6
05:06 colomon left #perl6
05:12 ymasory left #perl6
05:12 zby_home joined #perl6
05:18 colomon joined #perl6
05:19 donri left #perl6
05:28 soh_cah_toa left #perl6
05:34 dalek rakudo/nom: 6d53c0a | moritz++ | / (2 files):
05:34 dalek rakudo/nom: fix chomp
05:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d53c0a758
05:39 birdwindupbird joined #perl6
05:44 ZaphrodZenovka left #perl6
05:45 ZaphrodZenovka joined #perl6
05:48 Grrrr left #perl6
05:52 moritz std: keys my %a
05:53 p6eval std 37a0cdd: OUTPUT«ok 00:01 120m␤»
05:53 moritz std: values my %a
05:53 Grrrr joined #perl6
05:53 p6eval std 37a0cdd: OUTPUT«ok 00:01 120m␤»
05:53 moritz std: kv my %a
05:53 p6eval std 37a0cdd: OUTPUT«ok 00:01 120m␤»
05:53 moritz std: pairs my %a
05:53 p6eval std 37a0cdd: OUTPUT«ok 00:01 120m␤»
05:55 moritz nom: say 1.kv.perkl
05:55 p6eval nom: OUTPUT«Method 'kv' not found for invocant of class 'Int'␤current instr.: '_block1002' pc 75 ((file unknown):76832552) (/tmp/wG3FYvvupO:1)␤»
05:55 moritz nom: say (1, 2).kv.perl
05:55 p6eval nom: OUTPUT«Method 'kv' not found for invocant of class 'Parcel'␤current instr.: '_block1002' pc 91 ((file unknown):30227876) (/tmp/M0cyIcq67a:1)␤»
05:55 moritz nom: say (1, 2).list.kv.perl
05:55 p6eval nom: OUTPUT«Method 'kv' not found for invocant of class 'List'␤current instr.: '_block1002' pc 103 ((file unknown):141) (/tmp/PrP81Frpqe:1)␤»
05:55 moritz nom: say (1, 2).list.pairs.perl
05:55 p6eval nom: OUTPUT«Method 'pairs' not found for invocant of class 'List'␤current instr.: '_block1002' pc 103 ((file unknown):141) (/tmp/bVgYCqBqoA:1)␤»
05:56 moritz nom: say { a => 1}.kv.perl
05:56 p6eval nom: OUTPUT«(("a", 1),).list␤»
05:56 moritz nom: say { a => 1}.pairs.perl
05:56 p6eval nom: OUTPUT«("a" => 1,).list␤»
05:57 * moritz wonders if that .perl output really needs both the trailing comma and the .list
05:59 colomon left #perl6
06:00 _jaldhar left #perl6
06:00 colomon joined #perl6
06:04 wtw joined #perl6
06:07 envi joined #perl6
06:10 dalek rakudo/nom: b901bc0 | moritz++ | / (2 files):
06:10 dalek rakudo/nom: implement &keys, &values, &kv, &pairs
06:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b901bc0f4e
06:13 Mowah joined #perl6
06:15 odrm joined #perl6
06:21 Vlavv` joined #perl6
06:21 kcwu left #perl6
06:21 kcwu joined #perl6
06:21 Vlavv left #perl6
06:26 colomon left #perl6
06:26 colomon joined #perl6
06:32 dayangkun left #perl6
06:32 noganex_ is now known as noganex
06:36 zby_home left #perl6
06:45 dayangkun joined #perl6
06:47 _jaldhar joined #perl6
06:48 wamba joined #perl6
06:56 fhelmberger joined #perl6
07:09 cooper left #perl6
07:10 _jaldhar left #perl6
07:14 _jaldhar joined #perl6
07:20 _jaldhar left #perl6
07:21 colomon left #perl6
07:30 dayangkun_ joined #perl6
07:31 colomon joined #perl6
07:32 thou is there something like self.has('attribute') which returns true if class has $!attribute? i can write one by looking at self.^attributes, but it's fiddly (and kinda slow in rakudo, comared to .can())
07:33 dayangkun left #perl6
07:34 moritz I don't think so
07:34 moritz and I don't really see the point either
07:34 moritz if you want variable/programmable attribute names, use a hash
07:34 moritz to store the attributes, that is
07:35 thou https://github.com/mberends/http-server-simple/blob/master/lib/HTTP/Server/Simple.pm6#L90-103
07:35 jaldhar_ joined #perl6
07:36 thou trying to fix that code to work w/ private attrs. i think you're right that it'll be cleaner if i just make it a hash
07:36 jaldhar_ left #perl6
07:36 jaldhar_ joined #perl6
07:37 moritz that doesn't make the least bit of sense
07:37 thou and just always stuff everything in there -- no need really to be picky here, the subclass can just ignore bits it doesn't care about
07:37 moritz attributes are resolved at compile time
07:38 moritz it seems to rely on a limitation of master about how attributes are shared among subclasses and classes/roles
07:39 moritz just freakin' declare all those attributes and accessors for them
07:39 jnthn morning, #perl6
07:39 moritz \o jnthn
07:39 jnthn Yeah, nom really really resolves them at compile time :)
07:40 thou moritz: in the HTTP::Server::Simple role, you mean, right?
07:40 moritz thou: yes
07:41 thou yeah
07:43 mj41 joined #perl6
07:44 jnthn Having an efficient way to ask about possession of a method makes sense because you are meant to know about and use the methods. The attributes aren't part of the external interface though, so you really shouldn't be peaking, or relying on them being there.
07:44 jnthn Code that used .has_attribute would be very likely fragile, and if it broke you'd have no grounds to complain about API breakage
07:44 moritz right; if you have access to an attribute you're inside the class that can use them, and so you can just look at the code
07:45 moritz I guess the misunderstanding behind this code is that roles have access to the attributes of the class they are composed into
07:45 jnthn ah
07:45 tadzik thou, thou
07:45 moritz s/that/that the author thought/
07:45 tadzik good morning #perl6
07:45 jnthn yeah, that's not good
07:46 moritz \o tadzik
07:46 jnthn o/ tadzik, our POD hacker!
07:46 moritz jnthn: I've been thinking about enums a bit...
07:46 thou well, this code is wrong in another way. those attrs belong to a single http request, not to the server itself. so they should either be part of a Request obj. or just a hash or something created when the request is parsed.
07:46 tadzik (:
07:46 jnthn moritz: Same. I even stubbed an EnumHOW locally...but it's about empty :)
07:47 thou hi, tadzik
07:47 tadzik moritz: I managed to get through the table madness yesterday.
07:47 tadzik thou: does the code in the pull request change something from the user perspective?
07:47 moritz jnthn: I think we should have a type object per enum which holds the list of items of that enum, and maybe a hash for mapping name => item
07:47 moritz jnthn: and then each enum item (for example Bool::True) just has an int which indexes into that list
07:48 thou tadzik: yes, it puts more stuff in %env. stuff like HTTP_COOKIE, if there's a Cookie: header sent from the client. also fixes PATH_INFO, QUERY_STRING, etc.
07:48 moritz or maybe s/list/RPA/ for performance easons, or whatever
07:49 tadzik sounds good to me. That's required for Web/November, si?
07:49 tadzik %!env{.key} = .value for (hash-hash-hash); <-- will that create the hash lazily?
07:49 moritz no
07:50 moritz 'for' in sink context is eager
07:50 thou tadzik: i'm open to a nicer way to write that bit
07:50 thou tadzik: i'm thkinking to move that stuff into method headers()
07:50 tadzik thou: how about just %!env = foo => 'bar', asd => 5;?
07:50 jlaire perl6: role R { method get { $.a } }; class A does R { has $.a = 5 }; class B does R {}; say A.new.get; say B.new.get
07:51 p6eval niecza v7-21-gbcc1cf3: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Action method trait_mod:does not yet implemented at /tmp/rW1hMyB3gP line 1:␤------> [32m { method get { $.a } }; class A does R [33m⏏[31m{ has $.a = 5 }; class B does R {}; say [0m␤␤Cannot use hash access on an object of …
07:51 p6eval ..rakudo 72d158: OUTPUT«5␤Method 'a' not found for invocant of class 'B'␤  in 'get' at line 22:/tmp/gXfH3Z7tQ2␤  in main program body at line 22:/tmp/gXfH3Z7tQ2␤»
07:51 p6eval ..pugs: OUTPUT«5␤*** No such method in class B: "&a"␤    at /tmp/QtpI3_tORR line 1, column 23-27␤»
07:51 thou tadzik: 'cause %!env already has stuff in it before it gets there.
07:51 tadzik rakudo: my %a = foo => 1; %a.push(bar => 2, asd => 3); say %a.perl
07:51 p6eval rakudo 72d158: OUTPUT«{"foo" => 1}␤»
07:51 thou (headers() is called before handler())
07:51 tadzik hrm
07:51 moritz %!env{%h.keys} = %h.values;
07:51 moritz tadzik: try to use positional arguments
07:52 tadzik rakudo: my %a = foo => 1; %a.push(bar, 2, asd, 3); say %a.perl
07:52 p6eval rakudo 72d158: OUTPUT«Could not find sub &bar␤  in main program body at line 22:/tmp/MkKH4vVJzo␤»
07:52 tadzik ah
07:52 moritz rakudo: my %a = foo => 1; %a.push("bar" => 2, "asd" => 3 }; say %a.perl
07:52 tadzik rakudo: my %a = foo => 1; %a.push('bar', 2, 'asd', 3); say %a.perl
07:52 p6eval rakudo 72d158: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
07:52 p6eval rakudo 72d158: OUTPUT«{"foo" => 1, "bar" => 2, "asd" => 3}␤»
07:52 moritz rakudo: my %a = foo => 1; %a.push("bar" => 2, "asd" => 3); say %a.perl
07:52 p6eval rakudo 72d158: OUTPUT«{"foo" => 1, "bar" => 2, "asd" => 3}␤»
07:52 jlaire rakudo: say (class {}).new
07:52 p6eval rakudo 72d158: OUTPUT«()<0x1f90fc8>␤»
07:52 moritz nom: my %a = foo => 1; %a.push("bar" => 2, "asd" => 3); say %a.perl
07:52 p6eval nom: OUTPUT«Method 'push' not found for invocant of class 'Hash'␤current instr.: '_block1002' pc 146 ((file unknown):35990959) (/tmp/cpumy1tPjN:1)␤»
07:53 jlaire rakudo: role R {}; say (class does R {}).new
07:53 p6eval rakudo 72d158: OUTPUT«===SORRY!===␤Malformed package declaration at line 22, near "R {}).new"␤»
07:53 jlaire rakudo: role R {}; say (class asdf does R {}).new
07:53 p6eval rakudo 72d158: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp␤»
07:53 tadzik look, a LHF! :)
07:53 moritz indeed :-)
07:53 jnthn nom: role R {}; say (class asdf does R {}).new
07:53 p6eval nom: OUTPUT«asdf<48666312>␤»
07:53 jnthn phew :)
07:54 jlaire looks like I should start using nom already :)
07:54 jnthn moritz, tadzik: if you look through S32 chunk of t/spectest.data at Coke++'s comments, there's lots of LHF to be seen :)
07:54 jlaire nom: role R {}; say (class does R {}).new
07:54 p6eval nom: OUTPUT«Unable to parse $*PKGDECL definition at line 1, near "R {}).new"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23533 (src/stage2/gen/NQPHLL.pir:6314) (src/stage2/gen/NQPHLL.pm:328)␤»
07:54 tadzik oh oh :)
07:54 jlaire std: role R {}; say (class does R {}).new
07:54 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse class definition at /tmp/8kaJU5Tr1C line 1:␤------> [32mrole R {}; say (class does [33m⏏[31mR {}).new[0m␤    expecting trait␤Parse failed␤FAILED 00:01 119m␤»
07:54 jnthn jlaire: STD would...right :)
07:55 jlaire hm, is there a syntax for that?
07:55 jnthn jlaire: either "anon class Foo does R { }" or "class :: does R { }"
07:55 jnthn I don't remember seeing either done with nom before
07:55 jlaire std: role R {}; say (class :: does R { has $.a = 42; }).new.a
07:55 p6eval std 37a0cdd: OUTPUT«ok 00:01 122m␤»
07:55 jlaire jnthn: ty
07:55 jlaire perl6: role R {}; say (class :: does R { has $.a = 42; }).new.a
07:55 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Unhandled exception: Unable to resolve method ast in class Any␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 161 (NieczaActions NieczaActions.morename @ 3) ␤  at /home/p6eval/niecza/src/STD.pm6 line 342 (STD STD.morename @ 24) ␤  at /home/p6eval/niecz…
07:55 p6eval ..pugs: OUTPUT«*** ␤    Unexpected " does"␤    expecting "(", twigil or word character␤    at /tmp/aXWBMc2sqs line 1, column 25␤»
07:55 p6eval ..rakudo 72d158: OUTPUT«42␤»
07:56 jlaire nom: role R {}; say (class :: does R { has $.a = 42; }).new.a
07:56 p6eval nom: OUTPUT«42␤»
07:56 jlaire great!
07:57 thou tadzik: good night, gotta sleep
07:57 thou thanks for the advice, moritz++
07:58 moritz tadzik: sleep well
07:58 colomon left #perl6
07:58 thou thanks
07:59 thou \o
08:00 moritz std: say elems 1
08:00 p6eval std 37a0cdd: OUTPUT«ok 00:01 119m␤»
08:00 TimToady http://rosettacode.org/wiki/Sum_of_a_series#Perl_6  <-- greatly expanded
08:00 moritz rakudo: say elems 1
08:00 p6eval rakudo 72d158: OUTPUT«1␤»
08:01 TimToady http://rosettacode.org/wiki/Literals/String#Perl_6  <-- also new
08:02 jimmy1980 left #perl6
08:02 thou left #perl6
08:02 tadzik moritz: but I just woke up! :)
08:03 jimmy1980 joined #perl6
08:03 moritz tadzik: sorry, meant thou :-)
08:08 colomon joined #perl6
08:08 dalek rakudo/nom: 1bb2883 | moritz++ | / (5 files):
08:08 dalek rakudo/nom: Hash.invert, List.end, tests
08:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1bb288311e
08:11 wamba left #perl6
08:21 daxim joined #perl6
08:23 dayangkun__ joined #perl6
08:26 wamba joined #perl6
08:27 dayangkun_ left #perl6
08:27 jnthn yay, people are nomming LHF :)
08:27 MayDaniel joined #perl6
08:29 moritz nom: sub f(&t, *@a) { }; f { $_ * 5 }, 1, 2, 3, 4,
08:29 p6eval nom:  ( no output )
08:31 * moritz should search for errors in his own code before searching for errors in the dispatcher :-)
08:39 dakkar joined #perl6
08:43 Su-Shee left #perl6
08:45 mathw TimToady: I like the rosettacode sections. I was then amused to poke around and see that Smalltalk's numbers have 'squared' and 'reciprocal' methods
08:50 MayDaniel left #perl6
08:52 drbean left #perl6
08:53 Raynes left #perl6
08:53 kaare_ joined #perl6
08:55 Raynes joined #perl6
09:02 Su-Shee joined #perl6
09:04 im2ee joined #perl6
09:09 kuu left #perl6
09:18 jnthn moritz: on enums, the hash should really be an EnumMap and I suspect it lives in the meta-object.
09:21 dayangkun__ left #perl6
09:21 moritz jnthn: why would it live in the meta object?
09:22 jnthn Where else is it going to live?
09:22 moritz jnthn: I mean it's per enum, not shared for all possible enums
09:22 jnthn Right
09:22 moritz in the type object of the enum
09:22 jnthn We have one meta-object instance per enum
09:22 jnthn Nothing lives in the type object
09:22 jnthn It has no storag
09:22 Su-Shee_ joined #perl6
09:22 jnthn *storage
09:22 moritz ok, I thought we had one meta object for all enums
09:23 jnthn No
09:23 moritz but that's of course not true
09:23 moritz so, you're right
09:23 moritz (that makes things easier)
09:23 jnthn Well, you *can* have a singleton meta-object, e.g. if you're doing prototype OO
09:23 jnthn But I think the enum one doesn't want to be a singleton.
09:24 jnthn I'm wondering to what degree we can have a role EnumStuff { ... } and role NumericEnum { ... } that hold the methods that are interesting to have on an enum.
09:24 jnthn iirc there's a few things we only do on numeric ones.
09:25 * moritz doesn't remember anything about that, but I'd have to look it up
09:25 jnthn And then EnumHOW does a few roles so it's got just enough in order to compose those roles, but otherwise delegates all of its methods to the base type.
09:25 jnthn Essentially, SomeIntBasedEnum ~~ Int needs to be true, and SomeIntBaeedEnumElem ~~ Int also
09:26 Su-Shee left #perl6
09:26 moritz rakudo: say Bool ~~ Int
09:26 p6eval rakudo 72d158: OUTPUT«Bool::False␤»
09:26 jnthn And those would just fall out of this factoring.
09:26 jnthn Well, master doesn't consider Bool and enum :)
09:26 dalek rakudo/nom: 9d969c0 | moritz++ | / (3 files):
09:26 dalek rakudo/nom: classify
09:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d969c02c0
09:26 moritz also SomeStrBasedEnum ~~ Str?
09:26 jnthn *an
09:26 jnthn Yeah
09:26 moritz right
09:26 jnthn Or whatever base type is used.
09:27 jnthn The native base types could get awkward, but I'll worry about those later.
09:30 amkrankruleuen left #perl6
09:30 amkrankruleuen joined #perl6
09:31 pmichaud good morning, #perl6
09:33 pmichaud wow, lots of commits to review
09:34 dayangkun__ joined #perl6
09:34 _jaldhar_ joined #perl6
09:35 ruoso_ joined #perl6
09:35 z-b joined #perl6
09:35 cxreg2 joined #perl6
09:36 cipherte1t joined #perl6
09:36 diakopte1 joined #perl6
09:36 noganex_ joined #perl6
09:36 noganex left #perl6
09:36 noganex_ is now known as noganex
09:37 moritz good am, pm
09:37 moritz and it's still AM here :-)
09:38 jnthn o/ pmichaud
09:38 jnthn Wow, yes. Early!
09:39 Raynes_ joined #perl6
09:39 * jnthn actually had to get up for $dayjob today :)
09:39 colomon left #perl6
09:40 Raynes left #perl6
09:40 jaldhar_ left #perl6
09:40 diakopter left #perl6
09:40 ciphertext left #perl6
09:40 am0c left #perl6
09:40 buubot_backup left #perl6
09:40 daemon left #perl6
09:40 hugme left #perl6
09:40 bbkr left #perl6
09:40 cotto_work left #perl6
09:40 tadzik left #perl6
09:40 cxreg left #perl6
09:40 zb left #perl6
09:40 sjohnson left #perl6
09:40 p6eval left #perl6
09:40 ruoso left #perl6
09:40 bbkr joined #perl6
09:45 p6eval joined #perl6
09:46 am0c joined #perl6
09:47 tadzik joined #perl6
09:47 cotto_work joined #perl6
09:48 sjohnson joined #perl6
09:48 mathw Weren't you in China recently?
09:49 jnthn mathw: yes :)
09:49 daemon joined #perl6
09:50 mathw was it good?
09:51 jnthn mathw: Yes, though a lot more hot/humid than I could really cope with.
09:51 mathw I've heard it's like that in parts of China. It's not my thing either.
09:52 jnthn But the workshop was great, I had nice food and when I did manage do drag myself out in the heat for a while I saw some nice stuff. :)
09:52 jnthn *to
09:53 dayangkun_ joined #perl6
09:54 buubot_backup joined #perl6
09:55 colomon joined #perl6
09:55 simcop2387 left #perl6
09:56 dayangkun__ left #perl6
09:59 simcop2387 joined #perl6
10:02 mathw :)
10:02 mathw Excellent
10:05 skangas left #perl6
10:12 colomon left #perl6
10:15 colomon joined #perl6
10:21 drbean joined #perl6
10:25 cipherte1t is now known as ciphertext
10:25 skangas joined #perl6
10:26 dalek rakudo/nom: 1478b35 | pmichaud++ | src/core/ (2 files):
10:26 dalek rakudo/nom: Let Parcel.values fall back to Any.values.
10:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1478b3506a
10:26 moritz nom: my $x = EnumMap.new; $x<foo> = 'bar'; say $x.perl
10:26 p6eval nom: OUTPUT«Cannot assign to a non-container␤current instr.: '_block1002' pc 101 ((file unknown):21917096) (/tmp/oqC5MX8yUK:1)␤»
10:26 moritz nom: my $x = Hash.new; $x<foo> = 'bar'; say $x.perl
10:27 p6eval nom: OUTPUT«{"foo" => "bar"}␤»
10:29 moritz nom: class A { method !foo() { }; method public() { self!foo } }; A.new.public
10:29 p6eval nom: OUTPUT«Method '!foo' not found for invocant of class 'A'␤current instr.: 'public' pc 592 ((file unknown):25081761) (/tmp/nVbnzmqkP5:1)␤»
10:39 ab5tract joined #perl6
10:42 icwiener joined #perl6
10:43 jedai_ left #perl6
10:45 c9s joined #perl6
10:46 jedai joined #perl6
10:47 Chillance joined #perl6
10:56 dayangkun__ joined #perl6
10:57 [perlhack] joined #perl6
10:57 [perlhack] long time no see
10:59 dayangkun_ left #perl6
11:05 jimmy1980 left #perl6
11:06 jimmy1980 joined #perl6
11:09 drbean left #perl6
11:10 im2ee left #perl6
11:10 im2ee joined #perl6
11:20 jnthn ffs, I actually just had to write Visual Basic. :/
11:20 flussence ouch
11:24 fhelmberger left #perl6
11:25 fhelmberger joined #perl6
11:26 [perlhack] left #perl6
11:28 takadonet joined #perl6
11:33 domidumont joined #perl6
11:33 arnsholt .u ಠ
11:33 phenny U+0CA0 KANNADA LETTER TTHA (ಠ)
11:34 jnthn Is that a funny spelling of Canada? :)
11:48 moritz urks, t/spec/S32-list/end.t doesn't pass. Why did I thought it did?
11:48 Jackneill joined #perl6
11:48 Jackneill left #perl6
11:48 Jackneill joined #perl6
11:49 * jnthn gets curious how it fails
11:49 jnthn nom: END { say 2 }; say 1;
11:49 moritz unshift NYI
11:49 p6eval nom: OUTPUT«1␤2␤»
11:49 jnthn ah
11:49 moritz jnthn: it's Array.end
11:49 jnthn nothing to do with END itself
11:49 jnthn Oh!
11:49 jnthn :)
11:49 moritz not END :-)
11:49 takadonet left #perl6
11:50 jnthn I guess I should read, but I'm scared of opening my eyes in case I happen to see VB code...
11:50 dalek rakudo/nom: d9fcb90 | moritz++ | / (2 files):
11:50 dalek rakudo/nom: Port Hash.push over from master
11:50 dalek rakudo/nom:
11:50 dalek rakudo/nom: This doesn't quite work yet, running S32-hash/push.t causes infinite recursion
11:50 dalek rakudo/nom: involving some List methods - maybe something that pmichaud++ can investigate?
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9fcb90d7e
11:50 dalek rakudo/nom: acda02a | moritz++ | t/spectest.data:
11:50 dalek rakudo/nom: end.t did not pass, my mistake. Sorry.
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/acda02a8f8
11:51 moritz nqp: say(pir::rindex__Iss('foobar', 'o'))
11:51 p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I100')␤  in file '(file unknown)' line 33␤error:imcc:syntax error ... somewhere␤ in file '(file unknown)' line 103␤syntax error ... somewhere␤»
11:52 moritz ah right, it's not an opcode but a method
11:52 jnthn a...method?
11:52 moritz on the String PMC
11:52 jnthn :(
11:53 jnthn Well, that sucks. :/
11:53 moritz rakudo: say 'foo'.rindex('')
11:53 p6eval rakudo 72d158: OUTPUT«3␤»
11:53 moritz I'm trying to figure out why it segfaults for me
11:54 jnthn in Rakudo or nom?
11:54 moritz nom
11:54 jnthn We really don't want to play around with the Parrot string PMC...
11:54 moritz currently we're doing
11:54 moritz nqp::p6box_i(
11:54 moritz pir::box__PS(nqp::unbox_s(self.Str)).reverse_index(
11:54 moritz nqp::unbox_s($needle.Str),
11:54 moritz nqp::unbox_i($pos.Int)
11:54 moritz )
11:55 moritz );
11:55 dayangkun_ joined #perl6
11:56 jnthn Was that nqp::p6box_i( paste an accident?
11:56 moritz nope
11:56 moritz the return value from reverse_index is an integer
11:57 satyavvd left #perl6
11:58 dayangkun__ left #perl6
11:58 jnthn Did you try just: (nqp::unbox_s(self.Str)).reverse_index(nqp::unbox_s($needle.Str), nqp::unbox_i($pos.Int)) ?
11:58 jnthn Rakudo auto-coerces method return values that are Parrot types
11:59 moritz it didn't when I wrote that, iirc :-)
12:00 * moritz tries
12:00 jnthn nom: say (nqp::unbox_s('abcd')).reverse_index(nqp::unbox_s('c'), nqp::unbox_i(1))
12:00 p6eval nom: OUTPUT«-1␤»
12:00 jnthn nom: say (nqp::unbox_s('abcd')).reverse_index(nqp::unbox_s('c'), nqp::unbox_i(4))
12:00 p6eval nom: OUTPUT«-1␤»
12:00 jnthn nom: say (nqp::unbox_s('abcd')).reverse_index(nqp::unbox_s('c'), nqp::unbox_i(3))
12:00 p6eval nom: OUTPUT«2␤»
12:01 moritz nom: say (nqp::unbox_s('abcd')).reverse_index(nqp::unbox_s(''), nqp::unbox_i(4))
12:01 p6eval nom: OUTPUT«-1␤»
12:04 jnthn Meanwhile at $dayjob... Me: "Where do you put the unit tests for this project?" Them: "Oh, we don't have any yet." ...so much for the TDD training class they got me to deliver here. :|
12:05 moritz leaving out the explicit boxing didn't help :/
12:06 * moritz also turns to $dayjob
12:06 flussence hey, at least yours has *heard of* TDD... :(
12:06 * jnthn helps moritz++ finds his $dayjob more worthwhile than he's finding his today
12:06 jnthn er
12:06 takadonet joined #perl6
12:06 jnthn s/helps/hopes/
12:06 jnthn :)
12:07 takadonet morning all
12:07 moritz jnthn: preparing slides for a talk... not very exciting
12:10 mls joined #perl6
12:11 colomon left #perl6
12:13 moritz it's hard to compete with the -Ofun that nom hacking is these days
12:13 mls jnthn: to distract you from your dayjob a bit more, I've uploaded the P6opaque patch to https://gist.github.com/1075727
12:15 mls Havin said that, I wonder if gc_mark_repr should mark the auto_viv values in some way
12:17 mls and gc_free_repr probably should free all allocated arrays and not just name_to_index_mapping
12:20 jnthn moritz: yes, and I suspect the -Ofun won't descrease much after nom becomes master :)
12:20 jnthn mls: ooh, yay...looking :)
12:21 jnthn mls: Patch looks great. :)
12:22 moritz jnthn: I certainly hope so
12:22 jnthn (gc_free_repr) yeah, probably leaks a bit, though only an issue for anonymous types. Worth fixing.
12:23 moritz jnthn: currently it's fun for me because there are so many LHFs (but they are usually not boring). I hope after the nom => master transition I can attack not-quite-so-low hanging fruits too :-(
12:23 jnthn mls: (mark auto_viv) +1 to that also. It should never really happen that the repr data is the only thing that holds them, but I guess it'd be possible to construct a contrived situation where it happens.
12:24 jnthn mls: I'll apply your patch when I get home. :)
12:24 jnthn It's faster *and* less code. \o/
12:24 mls Thanks!
12:24 mls and it also saves some mem ;-)
12:24 jnthn And that.
12:24 jnthn win all around :)
12:24 moritz mls++ # hacking the guts
12:24 JimmyZ joined #perl6
12:25 jnthn Indeed, I'm delighted somebody other than me is digging into this code. :)
12:25 jnthn The more eyes on it, the better.
12:25 mls glad I could help a bit
12:26 dayangkun_ left #perl6
12:27 tadzik mls++ :)
12:28 [Coke]_ there are 4 spec tests or so that need the old pir-based &radcalc - I assume we're trying to avoid raw PIR in nom?
12:28 moritz we try, yes
12:28 moritz which are those tests?
12:28 moritz sin.t and friends?
12:29 [Coke]_ is this something that should not be exposed to the user? (if not, where do we hide it in a pure perl world?)
12:29 [Coke]_ moritz: "ack radcalc t/spectest.data"
12:30 [Coke]_ (other tests may need it but fail earlier on something else.)
12:30 moritz [Coke]_: seems like it should just be just a sub within Actions.pm
12:30 [Coke]_ moritz: That seems reasonable.
12:31 mtk joined #perl6
12:32 moritz [Coke]_: it's also OK to put the PIR chunk in there, and later rewrite it in nqp (or hope that somebody else does), if the PIR stillw orks
12:32 [Coke]_ oh, well that turns it into LHF then. someone should have at it. ;)
12:32 [Coke]_ is now known as [Coke]
12:35 bluescreen10 joined #perl6
12:40 drbean joined #perl6
12:48 [Coke] left #perl6
12:48 wamba left #perl6
12:50 [Coke] joined #perl6
12:50 [Coke] irclogs?
12:51 JimmyZ left #perl6
12:51 tadzik irclogs are at irclog.perlgeek.de
12:51 [Coke] argh. all my sends after 12:32 are missing.
12:51 moritz connection timeout?
12:51 [Coke] is there a way to invoke a spec test file that gives you the same output as: 1) delete the old .rakudo file in case it's no longer needed, 2) re-fudge the test, if necessary, 3) use the perl6 binary to run either the .t or the .rakudo file, depending on whether or not it was fudged.
12:51 [Coke] (where the last part is actually showing you all the output of the test file)
12:51 [Coke] (--verbosity doesn't seem to help.)
12:51 moritz make t/spec/dir/file.t
12:51 [Coke] my IRC client was up, and gave me no (obvious) indication that my sends weren't going anywhere.
12:52 moritz hm, but it's not verbose enough for you
12:52 JimmyZ joined #perl6
12:52 mls left #perl6
12:53 moritz perl t/harness --fudge --verbosity=1 t/spec/S32-list/end.t
12:54 moritz alas t='perl t/harness --fudge --verbosity=1'  # :-)
12:54 moritz s/alas/alias/
12:54 [Coke] that doesn't give the same output.
12:54 [Coke] (as running it by hand with ./perl6)
12:54 moritz hm, right
12:55 im2ee left #perl6
12:55 im2ee joined #perl6
12:59 [Coke] left #perl6
12:59 moritz then I'm out of ideas, except for a short shell script that does that
12:59 moritz #!/bin/sh
12:59 moritz ./perl6 `perl t/spec/fudge "$@"`
13:00 [Coke] joined #perl6
13:03 [Coke] moritz: ah. that's shorter than what I had, since I didn't realize harness was calling t/spec/fudge.
13:04 [Coke] good enough for now. Danke.
13:08 JimmyZ good evening, #perl6
13:08 wamba joined #perl6
13:09 molaf joined #perl6
13:16 Holy_Cow joined #perl6
13:17 Holy_Cow left #perl6
13:18 Su-Shee_ is now known as Su-Shee
13:23 drbean left #perl6
13:28 [Coke] ni hao, JimmyZ.
13:32 JimmyZ 您好 Coke
13:44 fhelmberger left #perl6
13:50 fhelmberger joined #perl6
13:53 PacoLinux joined #perl6
14:02 Chillance left #perl6
14:03 Chillance joined #perl6
14:05 cbk joined #perl6
14:08 jevin left #perl6
14:12 jevin joined #perl6
14:22 wtw left #perl6
14:24 dalek rakudo/podparser: 597985d | tadzik++ | src/Perl6/Pod.pm:
14:24 dalek rakudo/podparser: Refactor Pod.pm
14:24 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/597985d528
14:26 tadzik okay, it can be revied now. I'm not ashamed of it anymore :)
14:26 tadzik * reviewed :)
14:29 moritz perl6: say "foo\nbar\n".lines.perl
14:29 p6eval pugs: OUTPUT«*** No such method in class Str: "&lines"␤    at /tmp/LkS2nILTok line 1, column 5 - line 2, column 1␤»
14:29 p6eval ..niecza v7-21-gbcc1cf3: OUTPUT«["foo", "bar"].list␤»
14:29 p6eval ..rakudo 72d158: OUTPUT«("foo", "bar")␤»
14:39 awoodland joined #perl6
14:41 z-b is now known as zb
14:45 wamba left #perl6
14:45 Mowah left #perl6
14:48 am0c left #perl6
14:48 jevin left #perl6
14:52 jevin joined #perl6
15:00 [Coke] nom: say "foo\nbar\n".lines.perl
15:00 p6eval nom: OUTPUT«Method 'lines' not found for invocant of class 'Str'␤current instr.: '_block1002' pc 75 ((file unknown):84591496) (/tmp/BUH0JAvUKk:1)␤»
15:01 pmichaud looky at the LHF!
15:01 am0c joined #perl6
15:02 MayDaniel joined #perl6
15:08 Jackneill left #perl6
15:10 tadzik moritz: mind criticising the table implementation a bit?
15:17 masak joined #perl6
15:17 masak hi, #perl6.
15:18 JimmyZ hello masak
15:19 TimToady each.\o
15:19 Trashlord hi masak
15:19 masak Trashlord! \o/
15:20 tadzik hello masak :)
15:20 Trashlord :)
15:21 * masak likes the p6u email and hopes someone writes a good reply to it
15:21 tadzik masak: you're welcome to look into the Tables implementations too
15:21 masak ok, still backlogging.
15:21 masak I have 40 minutes here, then I should be back down with my students.
15:22 tadzik what are you teaching?
15:27 masak Esperanto.
15:29 twinshadow left #perl6
15:30 * masak looks at the table implementation
15:31 mkramer joined #perl6
15:31 masak tadzik: ss/3 informations/3 pieces of information/ -- 'information' is a mass noun.
15:31 * masak picky, picky
15:32 masak yes, I see that the table implementation is kind of... involved.
15:32 masak tadzik++
15:33 * masak gets to the tests
15:33 masak yes. I am impressed at this.
15:37 masak ok, so '=table' ==> Perl6::Pod::table ==> $=POD[$n] ?
15:42 [Coke] [Hmm yes, and IIRC Perl 5 is *still* more complete for state variables than
15:43 [Coke] any Perl 6 implementation to date] --nick clark.
15:43 masak are there many stages of completeness for state variables to be in?
15:44 donri joined #perl6
15:44 masak and what aspects of completeness are Rakudo alpha and Niecza missing?
15:46 * jnthn home
15:46 masak jnthn! \o/
15:47 tadzik masak: yep
15:47 jnthn masak! \o/
15:47 * masak has time to implement "it is pitch black" today
15:49 [perlhack] joined #perl6
15:50 masak std: sub foo {}; if foo { say "OH HAI" }
15:50 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Function 'foo' needs parens to avoid gobbling block at /tmp/6S1Y0adRES line 1:␤------> [32msub foo {}; if foo[33m⏏[31m { say "OH HAI" }[0m␤Missing block (apparently gobbled by 'foo') at /tmp/6S1Y0adRES line 1:␤------> [32msub foo {…
15:50 masak std: sub foo() {}; if foo { say "OH HAI" }
15:50 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Function 'foo' needs parens to avoid gobbling block at /tmp/vGgnOLESuh line 1:␤------> [32msub foo() {}; if foo[33m⏏[31m { say "OH HAI" }[0m␤Missing block (apparently gobbled by 'foo') at /tmp/vGgnOLESuh line 1:␤------> [32msub foo…
15:51 masak TimToady: is there a way to declare a function as nullary so that the parser doesn't gobble the block in that way?
15:52 jnthn masak: Maybe declare it as a term.
15:52 masak hm.
15:52 jnthn std: sub term:<foo>() {}; if foo { say "OH HAI" }
15:52 p6eval std 37a0cdd: OUTPUT«ok 00:01 126m␤»
15:53 jnthn That'll do it. :)
15:53 jnthn std: sub foo() {}; if foo() { say "OH HAI" }
15:53 p6eval std 37a0cdd: OUTPUT«ok 00:01 121m␤»
15:53 jnthn So will that, though, which is much nicer to read :)
15:53 masak yes.
15:54 masak and with the error message in STD, it's ok when people forget.
15:54 masak because they will forget.
15:54 MayDaniel left #perl6
15:54 jnthn right
15:58 colomon joined #perl6
16:01 Jackneill joined #perl6
16:01 Jackneill left #perl6
16:01 Jackneill joined #perl6
16:02 awoodland left #perl6
16:07 [perlhack] left #perl6
16:12 Mowah joined #perl6
16:18 wamba joined #perl6
16:18 ab5tract left #perl6
16:20 mkramer left #perl6
16:20 mj41_nb joined #perl6
16:21 [perlhack] joined #perl6
16:22 [perlhack] left #perl6
16:24 dalek nqp: 5335b5b | jonathan++ | src/pmc/sixmodelobject.pmc:
16:24 dalek nqp: Fix to make sure --trace=1 output is more useful (pmichaud++ for noticing the issue).
16:24 dalek nqp: review: https://github.com/perl6/nqp/commit/5335b5b4a2
16:24 perlhack joined #perl6
16:25 * [Coke] yawns.
16:25 perlhack haha
16:25 perlhack yawns too.
16:29 * PerlJam stubbornly refuses to yawn
16:31 * [Coke] yawns again for good me----asure.
16:33 mj41_nb left #perl6
16:33 mj41 left #perl6
16:34 moritz std: 07
16:34 p6eval std 37a0cdd: OUTPUT«Potential difficulties:␤  Leading 0 does not indicate octal in Perl 6; please use 0o7 if you mean that at /tmp/iBNOq2DuuF line 1:␤------> [32m07[33m⏏[31m<EOL>[0m␤ok 00:01 118m␤»
16:36 acrussell left #perl6
16:37 cooper joined #perl6
16:39 JimmyZ left #perl6
16:39 cognominal rakudo: Regex(',*')
16:39 p6eval rakudo 72d158: OUTPUT«Could not find sub &Regex␤  in main program body at line 22:/tmp/njGjreyLoy␤»
16:40 cognominal rakudo: Regex.new(',*')
16:40 p6eval rakudo 72d158: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp␤»
16:42 Mowah left #perl6
16:42 moritz rakudo: say ',,,' ~~ rx/\,*/;
16:42 p6eval rakudo 72d158: OUTPUT«,,,␤»
16:44 moritz constructing regexes via API calls inteas of quotiing constructs is not supported, since it would be not easy
16:44 moritz a regex has to know about its outer lexical scope, for example, to support <&foo> style matching
16:51 birdwindupbird left #perl6
16:51 perlhack left #perl6
16:53 acrussell joined #perl6
16:56 TimToady masak: look at it this way, there's several ways for state to be 'broken': 1) missing declarator, 2) missing @ and % support, 3) missing initialization support, 4) missing cloning (confusing with C static), and 5) missing bare sigil support.
16:56 masak ok, fair enough.
16:56 TimToady oh, and 6), not returning the lvalue correctly so you can't ++(state $)
16:57 masak I guess talking about degress of implementation makes a lot of sense, then.
16:57 TimToady a bug I ran into with niecza
16:57 masak TimToady++
16:57 TimToady well, p5 went wrong at least 2 of those ways
16:57 TimToady maybe more
16:58 TimToady hmm
16:58 masak but they've now fixed it?
16:58 cognominal moritz, what if I got the Regex as a string, say, from the commad line?
16:58 TimToady rakudo: state $n
16:58 p6eval rakudo 72d158: OUTPUT«===SORRY!===␤"state" not yet implemented at line 22, near ""␤»
16:58 TimToady then there's that way to go wrong :)
16:58 masak TimToady: isn't that 1) above?
16:58 TimToady that's about point 1.5 I guess
16:58 moritz cognominal: rx/<$string>/
16:58 TimToady rakudo has the declarator
16:59 cognominal ha, ok. thx
16:59 TimToady niecza: ++(state $)
16:59 p6eval niecza v7-21-gbcc1cf3: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Non-simple variables NYI at /tmp/G1p4tv4kWj line 1:␤------> [32m++(state $[33m⏏[31m)[0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 570 (CORE die @ 2) ␤  at /home/p6eval/niecza/…
17:00 TimToady so http://rosettacode.org/wiki/Sum_of_a_series#Perl_6 has to put up with a warning instead
17:00 TimToady niecza: ++(state $n)
17:00 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/YJRgwP1fYr line 1:␤------> [32m++(state [33m⏏[31m$n)[0m␤␤Unhandled exception: System.Exception: Unable to find lexical anon_0 in mainline␤␤Server stack trace: ␤  at Niecza.CLRBackend.NamProce…
17:00 TimToady but since the approved way to suppress that warning is to leave off the 'n'...
17:00 dalek rakudo/nom: 6849c6f | jonathan++ | src/core/ (2 files):
17:00 dalek rakudo/nom: Implement nextwith and lastcall.
17:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6849c6f0e4
17:01 TimToady ohh, it got an exception
17:02 cdarroch joined #perl6
17:02 cdarroch left #perl6
17:02 cdarroch joined #perl6
17:02 colomon left #perl6
17:02 TimToady niecza: constant @x = [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[999];
17:02 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/8Bo_iUTzAP line 1:␤------> [32mconstant @x = [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[999];[0m␤␤1.64393456668156␤»
17:02 TimToady doesn't there
17:03 TimToady warns, but gets the answer
17:04 TimToady I should poke a 0 on the front so the index is 1000, I guess
17:04 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[1000];
17:04 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/vaqBjOM_on line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[1000];[0m␤␤Any()␤»
17:05 TimToady ooh, breaks it
17:05 mberends joined #perl6
17:05 * TimToady wonders what went rong
17:05 TimToady sorear++: ^^
17:06 mkramer1 joined #perl6
17:06 mj41_nb joined #perl6
17:07 mj41 joined #perl6
17:08 TimToady niecza: constant @x = [\+] { 1 / ++(state $n) * $n } ... *; say @x[999];  # probably bogusish
17:08 p6eval niecza v7-21-gbcc1cf3: OUTPUT«1000/1␤»
17:08 TimToady oh, yea
17:08 molaf left #perl6
17:08 TimToady niecza: constant @x = [\+] { 1 / (++state $n * $n) } ... *; say @x[999];  # probably bogusish
17:08 p6eval niecza v7-21-gbcc1cf3: OUTPUT«1.64393456668156␤»
17:09 TimToady well, that's one way to suppress the warning :)
17:11 TimToady niecza: constant @x = [\+] { Rat.new(1, ++state $n * $n) } ... *; say @x[999];  # funny way to write recip
17:11 p6eval niecza v7-21-gbcc1cf3: OUTPUT«1.64393456668156␤»
17:12 mkramer1 left #perl6
17:12 im2ee left #perl6
17:13 im2ee joined #perl6
17:13 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; .say for @x
17:13 p6eval niecza v7-21-gbcc1cf3: OUTPUT«(timeout)Potential difficulties:␤  $n is declared but not used at /tmp/KsgEMYcMVG line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; .say for @x[0m␤␤0␤1/1␤5/4␤49/36␤205/144␤5269/3600␤5369/3600␤266681/176400␤1077749/70560…
17:14 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[1000]
17:14 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/FkOFnO1Hd1 line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[1000][0m␤␤Any()␤»
17:14 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[5]
17:14 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/7f9KLWyEO0 line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[5][0m␤␤Any()␤»
17:14 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[0..5]
17:15 p6eval niecza v7-21-gbcc1cf3: OUTPUT«(timeout)Potential difficulties:␤  $n is declared but not used at /tmp/zH9xXEzZgJ line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[0..5][0m␤␤»
17:15 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[0]
17:15 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/KLKNdjdMCN line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[0][0m␤␤0␤»
17:15 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[1]
17:15 dakkar left #perl6
17:15 p6eval niecza v7-21-gbcc1cf3: OUTPUT«(timeout)Potential difficulties:␤  $n is declared but not used at /tmp/xjStPpzmA9 line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[1][0m␤␤»
17:16 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x[0,1]
17:16 p6eval niecza v7-21-gbcc1cf3: OUTPUT«(timeout)Potential difficulties:␤  $n is declared but not used at /tmp/TeTRlgtC5u line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[0,1][0m␤␤»
17:16 TimToady niecza: constant @x = 0, [\+] { 1 / ++(state $n) ** 2 } ... *; say @x.list.[1]
17:16 p6eval niecza v7-21-gbcc1cf3: OUTPUT«(timeout)Potential difficulties:␤  $n is declared but not used at /tmp/v83pUJeMRI line 1:␤------> [32mconstant @x = 0, [\+] { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x.list.[1][0m␤␤»
17:17 * TimToady gives up on the spamming for now
17:17 TimToady seems subscripting is not lazy, I guess
17:18 jnthn If you are doing deferal, and you do a callwith, then in the next one a callsame, is the "same" referring to the original argument list when you started off, or the "latest" one?
17:18 jnthn I can argue it both ways.
17:19 [Coke] ok. go. we'll let you know who wins.
17:19 mkramer joined #perl6
17:19 jnthn :P
17:19 * masak jumps into the fray, just in case
17:19 jnthn Doing it with the oringal set is easier to implement, and fits well with the fact that a dispatcher commits to its candidate list at that point too.
17:20 jnthn That is, if you go callwith'ing through a set of multis, you'd better make sure you are passing along things that will work with the original candidate set that was picked.
17:21 TimToady or callwith could be considered a new dispatch
17:21 jnthn Similarly, if you're half way through a dispatch and you .add_method somewhere, it ain't going to see that new method within that dispatch.
17:21 moritz rakudo: say Str.new('foobar')
17:21 p6eval rakudo 72d158: OUTPUT«flattened parameters must be a hash or array␤  in main program body at line 22:/tmp/0cCSJ9lGxb␤»
17:21 jnthn TimToady: Doubtful.
17:21 moritz how do I box into a subclass of Str?
17:21 jnthn TimToady: You could potentially get yourself into an infinite loop then.
17:22 masak jnthn: I don't mind that too much.
17:22 jnthn Also "new dispatch" really doesn't work at all.
17:23 masak oh, ok.
17:23 jnthn I mean, we form a list of candidates and next/call just iterates them
17:23 jnthn If we do a "new dispatch" then it'd automatically take us right back to the start again, presumably
17:23 jnthn We don't really have a good way to know where to "restart"
17:24 TimToady I suspect the usual use case for callwith is that you have some very specific routine that you're aiming to get to with it
17:24 jnthn Yeah
17:24 TimToady and you could always just do a normal call to get the redispatch
17:24 jnthn Right
17:24 TimToady so presumably there's some Sekrit Gnawledge that the next candidate is the one you want
17:25 jnthn I think dispatchers commit fairly early to their candidate list
17:25 jnthn If not in the initial dispatch then certainly at the first deferal.
17:25 TimToady that seems to be sane from a non-pessimal point of view
17:25 jnthn (I suspect wrappers commit immediately, and method and multi at the first deferal.)
17:25 mkramer left #perl6
17:26 thou joined #perl6
17:26 jnthn In master we always work it out up front, which turned out to make every single method dispatch way more expensive for the sake of the few that did nextsame et al.
17:27 TimToady I always thought of the candidate list as lazy
17:27 jnthn I've tried to get that cost model righter in master.
17:28 jnthn Well, initial dispatches in nom mostly care about getting to where they're going as fast as possible.
17:28 jnthn Generally by hitting some kind of cache.
17:29 TimToady anyway, we can say that relying on lazy/eager candidate behavior is erroneous
17:29 jnthn Then if we turn out to be in a candidate list-y situation it's like "oh yeah, lemme sort that out"
17:29 impious joined #perl6
17:29 jnthn +1
17:30 jnthn Does that cover the "what capture does nextsame use" can I originally asked about?
17:30 jnthn *case
17:30 jnthn I can easily go either way on that one.
17:31 TimToady I must have missed that one
17:31 jnthn (e.g. it doesn't affect the model)
17:31 jnthn I do $foo.bar(1,2,3)
17:31 jnthn The place that initially goes does nextwith(4,5,6)
17:31 jnthn The place that goes does nextsame()
17:31 jnthn Does the next thing get 1,2,3 or 4,5,6?
17:31 TimToady oh, I though you were asking about something earler
17:32 TimToady *ier
17:32 impious left #perl6
17:36 TimToady well, nextwith and callwith should work the same.  if we assume that the user is going to give a new argument list consistent with the original dispatch, then probably they're going to expect the new args to be available to all the rest of the candidates
17:36 TimToady just trying to see it from the user viewpoint
17:36 jnthn yeah, that feels more likely to do what the user expects.
17:36 TimToady so I'm inclined to say that the callsame/nextsame should use the new args
17:37 jnthn OK
17:37 masak +1
17:37 jnthn The other way is only marginally easier to implement anyway.
17:37 masak ENOTENOUGHTORMENT
17:37 TimToady SIGTICKLE xx *
17:38 * diakopte1 giggles
17:38 moritz good that that's lazy :-)
17:38 jnthn masak: er, coming up with a sufficiently performant dispatcher implementation that'd unify all the types of dispatch we need was quite enough torment :P
17:38 diakopte1 is now known as diakopter
17:38 masak jnthn: orz
17:38 jnthn Took hours... :)
17:39 TimToady standard length of a crucifixion...
17:39 jnthn :P
17:40 TimToady niecza: constant @x = [\+] 0, { 1 / ++(state $n) ** 2 } ... *; say @x[1000]
17:40 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/3qErYVZ8FO line 1:␤------> [32mconstant @x = [\+] 0, { 1 / ++(state [33m⏏[31m$n) ** 2 } ... *; say @x[1000][0m␤␤1.64393456668156␤»
17:40 TimToady okay, that way works
17:41 PerlJam jnthn: be thankful you weren't scourged.  :)
17:44 daxim left #perl6
17:48 masak rakudo: role R { method foo { say "R" } }; class C does R { method foo { callsame; say "C" } }; C.new.foo
17:48 p6eval rakudo 72d158: OUTPUT«C␤»
17:48 masak I guess this is by spec.
17:49 masak rakudo: role R { method foo { say "R" } }; class C does R { method foo { self.R::foo; say "C" } }; C.new.foo
17:49 p6eval rakudo 72d158: OUTPUT«R␤C␤»
17:49 masak oh, fair enough.
17:50 TimToady <masak> but they've now fixed it?
17:50 TimToady they can't make (state $) work
17:50 PerlJam masak: I don't understand the first one or maybe I don't understand callsame.  Is it like a "goto"?
17:51 TimToady since $) is a valid variable name
17:51 masak PerlJam: more like a "gosub".
17:51 masak PerlJam: but it doesn't work, because R's .foo never ends up in C.
17:51 jnthn masak: correct
17:51 TimToady (in p5, we mean, for innocent bystanders who might think we're discussing p6)
17:51 masak TimToady: :P
17:52 PerlJam masak: aye, so what does "callsame" do in that instance?  There's no "same" method, so it does nothing?
17:52 TimToady otoh p5 doesn't warn about unused var for (state $n)
17:52 masak PerlJam: correct.
17:52 PerlJam okay, got it.  Thanks.
17:53 masak PerlJam: [next|call][same|with] pass the buck, but don't mind if there's nothing there to pass it to.
17:53 masak (making the layers of wrapping/inheritance uncoupled from each other)
17:54 TimToady well, if you want to go up a level, you have to use lastcall; nextsame
17:55 * masak doesn't like that
17:55 jnthn TimToady: Am I right in thinking that nextsame et al really go looking for the first dispatcher in the dynamic scope that actually have some candidates to dispatch to?
17:55 masak afk &
17:55 TimToady they always go to the innermost, whether there are candidates or not
17:56 TimToady which is why we need lastcall
17:56 jnthn TimToady: wait...so...
17:56 envi left #perl6
17:56 jnthn TimToady: lastcall is more than "just set the candidate list for this dispatcher to empty"?
17:56 jnthn TimToady: I'd read the spec as lastcall making a dispatcher just as if it'd run out of candidates.
17:57 jnthn TimToady: If they always go for the innermost then lastcall; nextsame won't do anything
17:57 TimToady S12:937
17:57 TimToady I view it as lastcall throwing away the innermost dispatcher
17:58 jnthn ah
17:58 TimToady so there's a new innermost
17:58 jnthn yeah, OK, I musta mis-interpreted
17:58 dalek rakudo/nom: da00ab7 | moritz++ | / (2 files):
17:58 dalek rakudo/nom: Str.lines
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da00ab7343
17:59 TimToady it's an easy semantic ambiguity to fall into, Metaphors We Live By, and all that...
17:59 PerlJam jnthn: Just reading the paragraphs around the one TimToady just cited, I can see how it would be easy to make that interpretation.
17:59 PerlJam (or misinterpretation)
17:59 TimToady well, my policy is to blame the writer :)
18:00 TimToady but it's clearer if you think of lastcall as a 'last' out of the dispatcher's implicit loop
18:01 TimToady though of course a real last wouldn't return after lastcall
18:03 zby_home joined #perl6
18:07 jnthn TimToady: OK, will have a crack at making that work :)
18:08 zby_home left #perl6
18:11 * [Coke] hopes this doesn't mean jnthn's ... hours. of work are wasted.
18:12 jnthn [Coke]: Not at all
18:12 jnthn [Coke]: The underlying model is sound - there's multiple ways we can implement stuff around it.
18:28 mj41_nb left #perl6
18:38 jevin left #perl6
18:40 jevin joined #perl6
18:42 _jaldhar_ left #perl6
18:43 moritz rakudo: say 'abc'.substr(*-1)
18:43 p6eval rakudo 72d158: OUTPUT«maximum recursion depth exceeded␤  in 'Cool::Num' at line 1934:src/gen/core.pm␤  in 'Cool::Num' at line 1934:src/gen/core.pm␤  in 'Cool::Numeric' at line 1921:src/gen/core.pm␤  in 'Cool::Numeric' at line 1921:src/gen/core.pm␤  in 'Cool::Num' at line 1:src/gen/core.…
18:43 moritz nom: say 'abc'.substr(*-1)
18:43 p6eval nom: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤current instr.: 'Numeric' pc 440865 (src/gen/CORE.setting.pir:115716) (src/gen/CORE.setting:314)␤»
18:44 dalek rakudo/nom: 3d5e16b | jonathan++ | src/ (4 files):
18:44 dalek rakudo/nom: Implement nextsame and callsame.
18:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d5e16b776
18:45 moritz nom: say 'abc'.substr(*-1, 1)
18:45 p6eval nom: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤current instr.: 'Numeric' pc 440865 (src/gen/CORE.setting.pir:115716) (src/gen/CORE.setting:314)␤»
18:47 REPLeffect left #perl6
18:47 mberends left #perl6
18:51 Raynes_ is now known as Raynes
18:51 Raynes left #perl6
18:51 Raynes joined #perl6
19:07 soh_cah_toa joined #perl6
19:18 SHODAN joined #perl6
19:19 birdwindupbird joined #perl6
19:23 [Coke] jnthn: if I want to hack on rakudo on win7, what do you recommend?
19:23 cdarroch left #perl6
19:28 jnthn [Coke]: Toolchain wise? I build with msvc++ compiler and the associated toolchain.
19:29 jnthn [Coke]: If disk space etc aren't an issue, perhaps http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express is the easiest thing to install
19:30 jnthn [Coke]: I'd expect that will install all the relevant tools for the command line stuff too. You may need to fix up your path by hand.
19:30 [Coke] jnthn: is that a free download?
19:30 jnthn yeah
19:31 jnthn the express editions of VS are free
19:31 [Coke] heh. "free tools", right on the page, sorry.  ;)
19:31 jnthn Stripped down IDE, but you ain't really after the IDE so much anyway I guess.
19:31 * jnthn has the full blown ultimate edition thanks to $dayjob
19:32 * [Coke] has'nt been paid for C++ in some time. ;)
19:32 [Coke] hasn't, even.
19:32 jnthn Me either :)
19:33 jnthn Actually $dayjob give me VS licenses for .Net stuff, but the native stuff comes along too
19:33 jnthn Works for me. I get the nice profiling and debugging tools for use in Rakudo dev. :)
19:33 * [Coke] did try out some official .NET stuff for .xlsx processing, but it turned out to be easier to roll my own XML.
19:34 [Coke] anyhoo, thanks for the pointer. Having something to hack perl6 on that laptop will make certain travel times less boring.
19:37 sorear good * #perl6
19:38 masak \o sorear
19:38 Tene Bleh.  I've never had good experiences with C++.  I've been dealing with some as example code for some reading recently, and it's brought back nightmares.
19:40 jnthn Tene: Actually if it sees a .c extension it just treats the file as C89
19:40 jnthn Tene: So it works fine as a C compiler too.
19:40 jnthn Well, aside from not supporting C99 :)
19:40 Tene :)
19:41 jnthn I tend to be the person who screams if somebody commits something non-C89
19:41 sorear jnthn: niecza has NumericEnum and it works quite well (actually since roles are NYI it uses multiple inheritance instead, class "IntBasedEnum")
19:41 Tene jnthn: That wasn't a response to the compiler so much as a response to "* [Coke] has'nt been paid for C++ in some time. ;)"
19:41 jnthn Tene: ah, ok :)
19:41 jnthn sorear: Yeah, I was somewhat inspired by that part, though horrified by the MI ;)
19:41 jnthn Some days I'm not even sure I think inheritance is a good idea any more... :)
19:42 Tene I always suspect that I've somehow been doing something wrong to have such a bad experience with C++, considering that so many other people make such apparently-good use of it.
19:43 jnthn Tene: Heh. I went to uni at the same place Bjarne Stroustrup did. When I went to the Formal Semantics of Programming Languges lecture, the lecturer started off by explaining they introduced the course after they let somebody graduate without it and go on to produce C++. :)
19:43 Tene Hehe. :)
19:45 * TimToady hides
19:46 jnthn heh :)
19:47 jnthn ooh, segfault
19:48 dalek roast: 32ed9ce | moritz++ | S06-signature/sub-ref.t:
19:48 dalek roast: [sub-ref.t] remove an outdated test (filling named param by position)
19:48 dalek roast: review: https://github.com/perl6/roast/commit/32ed9ceda4
19:48 TimToady as long as it's a formal segfault, we're fine
19:49 jnthn It's a "Parrot Undef went where a 6model object should" segfault. Hm.
19:53 REPLeffect joined #perl6
19:54 dalek roast: d71768c | moritz++ | integration/99problems-01-to-10.t:
19:54 dalek roast: fudge and simplify 99problems-01-to-10.t
19:54 dalek roast: review: https://github.com/perl6/roast/commit/d71768c14b
19:57 dalek rakudo/nom: 68a64d7 | moritz++ | t/spectest.data:
19:57 dalek rakudo/nom: more passing test files
19:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/68a64d7f30
19:59 thou left #perl6
20:03 wolfman2000 left #perl6
20:05 sorear niecza: say 'abc'.substr(*-1)
20:05 p6eval niecza v7-21-gbcc1cf3: OUTPUT«Unhandled exception: Cannot use value like WhateverCode as a number␤  at /home/p6eval/niecza/lib/CORE.setting line 663 (CORE die @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 41 (CORE Any.Numeric @ 4) ␤  at  line 0 (ExitRunloop @ 0) ␤  at /home/p6eva…
20:06 sorear huh?
20:06 sorear niecza: say substr('abc',*-1,1)
20:06 p6eval niecza v7-21-gbcc1cf3: OUTPUT«c␤»
20:06 sorear niecza: say 'abc'.substr(*-1, 1)
20:06 p6eval niecza v7-21-gbcc1cf3: OUTPUT«c␤»
20:08 sorear TimToady: do you have any clue what's going on with your queries around 10:04?
20:10 TimToady dunno, was guessing at 10:17
20:10 TimToady I did fine a workaround, which I used on RC
20:11 TimToady (put the 0 inside the [+] instead of outside)
20:11 TimToady [\+] rather
20:11 TimToady in that particular RC entry, I didn't bother marking which ones work with rakudo, and which ones with niecza
20:12 TimToady since they're all supposed to work everywhere eventually :)
20:13 dalek rakudo/nom: 0056aeb | jonathan++ | src/Perl6/SymbolTable.pm:
20:13 dalek rakudo/nom: Avoid breaking encapsulation of Code objects in SymbolTable.pm.
20:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0056aeb626
20:13 dalek rakudo/nom: 6c57fa9 | jonathan++ | src/ (5 files):
20:13 dalek rakudo/nom: Finish up (hopefully) dispatcher for multis, so we can [next|call][same|with] over those too. Makes the sub case work, which never did in master.
20:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6c57fa9edc
20:13 TimToady that RC entry is almost a little test suite of its own :)
20:14 TimToady that's http://rosettacode.org/wiki/Sum_of_a_series#Perl_6 for lazy historians
20:15 TimToady esp since they might not realize we reffed it via PDT :)
20:17 jferrero left #perl6
20:18 REPLeffect left #perl6
20:19 jferrero joined #perl6
20:19 dalek niecza: ce1bbd0 | sorear++ | lib/CORE.setting:
20:19 dalek niecza: Fix "abc".substr(*-1)
20:19 dalek niecza: review: https://github.com/sorear/niecza/commit/ce1bbd0bae
20:19 sorear I love 0 ins 1 del patches that fix bugs
20:21 birdwindupbird left #perl6
20:21 masak :)
20:21 jaldhar joined #perl6
20:21 masak the little joys in life.
20:24 Kivutarrr joined #perl6
20:28 MayDaniel joined #perl6
20:33 lichtkind joined #perl6
20:34 im2ee left #perl6
20:34 im2ee joined #perl6
20:34 lichtkind TimToady++: seen your talk on asien YAPC with the rosetta code example and very liked it
20:35 Jackneill left #perl6
20:36 REPLeffect joined #perl6
20:36 ZaphrodZenovka left #perl6
20:36 ZaphrodZenovka joined #perl6
20:37 mberends joined #perl6
20:45 MayDaniel left #perl6
20:45 TimToady perl6: sub postfix:<⁻²> ($x) { 1 / ($x * $x) }; say [+] ($_⁻² for 1..1000);
20:45 p6eval rakudo 72d158: OUTPUT«1.64393456668156␤»
20:45 p6eval ..niecza v7-22-gce1bbd0: OUTPUT«0␤»
20:45 p6eval ..pugs: OUTPUT«decodeUTF8': bad data: '\8315'␤decodeUTF8': bad data: '\178'␤decodeUTF8': bad data: '\8315'␤decodeUTF8': bad data: '\178'␤*** ␤    Unexpected "for"␤    expecting operator or ")"␤    at /tmp/k2JsH_ZjYx line 1, column 56␤»
20:46 TimToady rakudo++
20:47 masak pugs--
20:47 TimToady we hadn't defined that to be a valid statement back in the pugs era
20:48 TimToady but it looks like it was already confused
20:49 TimToady now the real trick would be to get it to parse superscripts productively the way a mathematician would
20:50 TimToady the only problem being that Unicode superscripts are rather impoverished
20:53 TimToady narcolepticality &
20:57 * masak ponders how to make the interface to a Towers of Hanoi subgame inside the text adventure game discoverable enough
20:59 jnthn ...how complex is this game?!
20:59 mberends could you play Hanoi with sets of differently coloured Russian dolls (babushkas)?
20:59 masak mberends: :P
20:59 masak jnthn: so far? to the tune of 591 LoC.
21:00 masak but I'm on the second-to-last room now :)
21:00 moritz jnthn: fwiw t/spec/S12-methods/defer-next.t dies after the first 9 tests
21:00 jnthn I'd not tried that yet...
21:00 * jnthn wonders how it gies
21:00 jnthn *dies
21:00 moritz Not enough positional parameters passed; got 1 but expected 2
21:00 moritz current instr.: 'doit' pc 4371 ((file unknown):1181) (t/spec/S12-methods/defer-next.t:33)
21:01 jnthn moritz: will look
21:01 jnthn moritz: Though note that semantics *have* changed
21:01 jnthn moritz: So it's also possible these tests need reviewing.
21:01 moritz jnthn: indeed. I haven't followed it all, but at a first glance the test seems saneish
21:03 simcop2387 left #perl6
21:04 jnthn moritz: In this case it looks like a bug, yeah
21:06 nnunley left #perl6
21:10 * masak goes to bed, thinking about Towers of Hanoi
21:10 masak 'night, #perl6
21:10 mberends masak: you could have the Hanoi disks as stackable weights that need to tip some kind of scale, and physical constraints to enforce the game rules. When the player first encounters a Hanoi subgame, generate towers with a height of 2. Next time, increment the height etc.
21:10 masak mberends: ooh.
21:10 mberends JIT IRC
21:10 masak mberends: at least the tipping scale is a very nice idea.
21:11 jnthn moritz: oh, it's nasty
21:11 masak there isn't really a "next time", though.
21:11 masak mberends++
21:11 masak 'night (again)
21:11 masak left #perl6
21:11 jnthn o/ masak
21:11 mberends not jit irc
21:12 jnthn multi method doit(Int $num) {$.tracker ~= 'barint,'; nextwith(); $.tracker ~= 'ret2,'}
21:12 im2ee left #perl6
21:12 jnthn By the time we hit that nextwith we already comitted to the multi candidate list.
21:12 jnthn Which of course contains things that want an Int.
21:12 jnthn So we try to pass on an empty arg list.
21:13 jnthn But already comitted to a candidate list of things that need an arg.
21:13 jnthn I think I'm going to call bogus test on that one.
21:14 jnthn Sure, nextwith makes sure those are the active args for any future nextsame we do.
21:14 jnthn But it doesn't mean we re-assess the candidate list.
21:14 moritz right
21:14 jnthn Did it pass in master, ooc?
21:15 moritz seems like, yes
21:15 simcop2387 joined #perl6
21:16 jnthn OK
21:16 jnthn I think master did reassess candidate lists per inheritance level.
21:16 jnthn Which makes sense because it didn't have proto semantics like we now have.
21:16 sorear niecza: say [+] ($_ for 1..10)
21:16 p6eval niecza v7-22-gce1bbd0: OUTPUT«0␤»
21:17 jnthn nom: say [+] ($_ for 1..10) # fingers crossed...
21:17 p6eval nom: OUTPUT«55␤»
21:17 sorear niecza: say ($_ for 1..10)
21:17 p6eval niecza v7-22-gce1bbd0: OUTPUT«␤»
21:18 jnthn So, I'd say tests need updating.
21:19 colomon joined #perl6
21:21 kcwu left #perl6
21:22 thou joined #perl6
21:23 ZaphrodZenovka left #perl6
21:27 dorlamm joined #perl6
21:32 icwiener left #perl6
21:32 spq1 left #perl6
21:34 jevin left #perl6
21:34 simcop2387 left #perl6
21:36 simcop2387 joined #perl6
21:36 jevin joined #perl6
21:38 thou left #perl6
21:38 y3llow_ joined #perl6
21:39 pothos_ joined #perl6
21:40 y3llow left #perl6
21:40 pothos left #perl6
21:40 y3llow_ is now known as y3llow
21:40 pothos_ is now known as pothos
21:41 mj41 left #perl6
21:43 Psyche^ joined #perl6
21:47 Patterner left #perl6
21:47 Psyche^ is now known as Patterner
21:50 SHODAN left #perl6
21:51 drbean joined #perl6
22:00 bluescreen10 left #perl6
22:03 ZaphrodZenovka joined #perl6
22:04 whiteknight joined #perl6
22:05 noganex left #perl6
22:06 noganex joined #perl6
22:11 dorlamm left #perl6
22:15 tadzik mberends: how about we give thou a commit bit for http-server-simple? He hacks on it for Web.pm and november
22:17 mberends tadzik: yes, definitely
22:19 tadzik I cannot do that, could you?
22:20 tadzik I just merged the new pull request
22:21 mberends what is thou's github id? it's not thou.
22:22 tadzik softmoth it is
22:23 mberends thanks, getting there
22:26 mberends github doesn't know softmoth :( softants, maybe?
22:26 tadzik nowai
22:27 drbean left #perl6
22:27 tadzik itz him, look: https://github.com/mberends/http-server-simple/commit/41fcbd070
22:28 * mberends looks
22:30 mberends added :-) (don't always trust the browser dropdown menus)
22:31 tadzik :)
22:31 tadzik mberends++
22:31 kaare_ left #perl6
22:38 felher http://rosettacode.org/wiki/Guess_the_number/With_feedback_(player)#Perl_6
22:47 Kivutarrr left #perl6
22:51 Transformer joined #perl6
22:53 Transformer left #perl6
22:55 flussence .oO( suck moment of the day: debian makes urxvt's $TERM "rxvt-unicode-256color" and then patches their version of screen to not accept a string that long )
22:56 TimToady felher++
22:56 sivoais left #perl6
23:00 felher TimToady: thnx :)
23:00 felher flussence: Yeah, i have this problem for quite a while on gentoo. :/
23:01 dalek rakudo/podparser: 06f1c95 | tadzik++ | src/Perl6/ (3 files):
23:01 dalek rakudo/podparser: Get rid of table_row_notempty insanity
23:01 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/06f1c9587b
23:01 felher sleep &
23:01 TimToady o/
23:05 dayangkun joined #perl6
23:07 icwiener joined #perl6
23:18 wamba left #perl6
23:18 cxreg2 is now known as cxreg
23:30 orafu left #perl6
23:34 orafu joined #perl6
23:35 Chillance left #perl6
23:39 jevin left #perl6
23:41 jevin joined #perl6
23:46 TimToady perl6: say '42' ~~ 0..100
23:46 p6eval rakudo 72d158, niecza v7-22-gce1bbd0: OUTPUT«Bool::False␤»
23:46 p6eval ..pugs: OUTPUT«␤»
23:47 TimToady hmm
23:48 envi joined #perl6
23:57 icwiener left #perl6

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

Perl 6 | Reference Documentation | Rakudo