Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-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:08 tony-o .tell timotimo here is a more concise gist of the problem: https://gist.github.com/to​ny-o/ad52076865a21edec940
00:08 yoleaux tony-o: I'll pass your message to timotimo.
00:08 tony-o thanks yoleaux
00:17 Ben_Goldberg joined #perl6
00:23 laouji joined #perl6
00:39 laouji joined #perl6
00:48 laouji joined #perl6
01:38 eli-se haha
01:38 eli-se I made someone believe comments have runtime cost in C++.
01:45 BenGoldberg You're an evil person.
01:46 tinyblak joined #perl6
01:47 BenGoldberg m: "Just another Unocide hacker,".trans( "\x20..\x7f" => "\xff00..\xff7f" ).say;
01:47 camelia rakudo-moar 143f62: OUTPUT«Just＀another＀Unocide＀hacker,␤»
01:51 colomon I’ve felt like committing Unocide at times....
01:56 BenGoldberg Umm, freudian slip?
01:56 * BenGoldberg is still giggling, though
01:56 tony-o looks intentional :-)
01:56 tony-o ah
01:57 tinyblak joined #perl6
01:57 BenGoldberg Not intentional when I typed it, but I did see it and choose not to fix it when I copied/pasted from where I'm chatting with camelia
02:00 geekosaur see also: wtf8
02:04 colomon Just googled, so I know what wtf8 really is, but it feels like my reaction to discovering that Microsoft had its own, incompatiable set of multibyte encodings.
02:12 noganex_ joined #perl6
02:13 TimToady m: say grep Whatever, 1,2,3;
02:13 camelia rakudo-moar 143f62: OUTPUT«␤»
02:13 TimToady m: say grep *, 1,2,3;
02:13 camelia rakudo-moar 143f62: OUTPUT«1 2 3␤»
02:14 TimToady m: say (Whatever + 3)(10)
02:14 camelia rakudo-moar 143f62: OUTPUT«13␤»
02:14 TimToady that...should fail
02:14 TimToady I think I have a fix, by accident
02:14 eli-se I just noticed my interpreter is copyable, so I can trivially implement backtracking of arbitrary code!
02:15 TimToady trivial for you :)
02:16 eli-se At least, within a single stack frame.
02:17 eli-se time to sleep, bye!
02:43 tinyblak joined #perl6
02:45 tinyblak_ joined #perl6
02:56 davido_ joined #perl6
02:56 jack_rabbit joined #perl6
02:57 Zoffix joined #perl6
02:58 dalek doc: d971ef5 | skids++ | lib/Language/syntax.pod:
02:58 dalek doc: Typo fix.
02:58 dalek doc: review: https://github.com/perl6/doc/commit/d971ef5fb7
03:16 hobbs joined #perl6
03:34 adu joined #perl6
03:47 dalek doc: abf90a7 | skids++ | lib/Language/setbagmix.pod:
03:47 dalek doc: Fix description of (>+) and (<+) "arguments" -> "elements" and order of $a,$b
03:47 dalek doc: review: https://github.com/perl6/doc/commit/abf90a71fe
03:53 TimToady >+ ?
03:54 TimToady oh, bag ops
04:04 FROGGS__ joined #perl6
04:06 dalek rakudo/nom: 292ef66 | TimToady++ | src/Perl6/Actions.nqp:
04:06 dalek rakudo/nom: allow ~~ to autoprime on * but not on WhateverCode
04:06 dalek rakudo/nom:
04:06 dalek rakudo/nom: Also, prevent Whatever and WhateverCode type objects from being
04:06 dalek rakudo/nom: used as autoprimers.
04:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/292ef666dd
04:06 dalek rakudo/nom: d76ea82 | TimToady++ | src/Perl6/Actions.nqp:
04:06 dalek rakudo/nom: add a few commatraps
04:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d76ea82edc
04:07 dalek roast: 4faae07 | TimToady++ | S0 (2 files):
04:07 dalek roast: check revised semantics for Whatever vs ~~
04:07 dalek roast: review: https://github.com/perl6/roast/commit/4faae07b3d
04:09 dalek specs: 6074ad5 | TimToady++ | S02-bits.pod:
04:09 dalek specs: revised semantics for ~~ wrt Whatever
04:09 dalek specs:
04:09 dalek specs: We now allow Whatever to autoprime a ~~, but not WhateverCode.
04:09 dalek specs: review: https://github.com/perl6/specs/commit/6074ad58e3
04:20 TimToady m: say (1,1e0).map: * ~~ Int
04:20 camelia rakudo-moar 143f62: OUTPUT«No such method 'count' for invocant of type 'Bool'␤  in method reify at src/gen/m-CORE.setting:9586␤  in block  at src/gen/m-CORE.setting:9494␤  in method reify at src/gen/m-CORE.setting:9469␤  in block  at src/gen/m-CORE.setting:9494␤  in method…»
04:21 TimToady m: say (1,1e0).map: * ~~ Int
04:21 camelia rakudo-moar d76ea8: OUTPUT«True False␤»
04:22 jack_rabbit joined #perl6
04:25 hobbs joined #perl6
04:25 TimToady .tell lucasb Fixed it for ya: http://irclog.perlgeek.de/p​erl6/2015-04-06#i_10393460
04:25 yoleaux TimToady: I'll pass your message to lucasb.
04:27 TimToady m: say (Whatever + 3)(10)
04:27 camelia rakudo-moar d76ea8: OUTPUT«use of uninitialized value of type Whatever in numeric context  in block <unit> at /tmp/rnDB6qw0qD:1␤␤Cannot find method 'postcircumfix:<( )>'␤  in block <unit> at /tmp/rnDB6qw0qD:1␤␤»
04:27 TimToady fixed that for me :)
04:52 hobbs joined #perl6
05:07 Sqirrel joined #perl6
05:13 kaare_ joined #perl6
06:55 andreoss joined #perl6
06:58 andreoss is there still a chance to see a video of TimToady's talk at fosdem or it's gone missing completely ?
07:08 vendethiel computer, message.
07:08 yoleaux 5 Apr 2015 22:07Z <eli-se> vendethiel: I implemented sleep with Boost.Asio!
07:08 vendethiel grats, eli-se
07:46 timotimo o/
07:46 yoleaux 00:08Z <tony-o> timotimo: here is a more concise gist of the problem: https://gist.github.com/to​ny-o/ad52076865a21edec940
07:46 timotimo .botsnack
07:46 yoleaux :D
07:49 Ven joined #perl6
07:59 jack_rabbit joined #perl6
07:59 RabidGravy joined #perl6
08:06 Ven m: say grep *, 0, 1, 2, 3;
08:06 camelia rakudo-moar d76ea8: OUTPUT«0 1 2 3␤»
08:19 jferrero joined #perl6
08:21 fishpig joined #perl6
08:22 fishpig left #perl6
08:25 fishpig joined #perl6
08:25 fishpig left #perl6
08:28 rindolf joined #perl6
08:31 darutoko joined #perl6
08:35 [Tux] Inline::Perl5 till broken
08:35 [Tux] still
08:36 andreoss joined #perl6
08:45 nwc10 jnthn: for NFG, I'm wonder if a viable "hybrid" approach is to implement >1 "global" NFG table. So, when comparing two strings, if they share the same table, memcmp() and be done
08:45 KCL_ joined #perl6
08:46 nwc10 and only actually use 2 or 3 if the first table is heavily used
08:47 nwc10 but, as we found with Perl 5 hashing, attempting to build something that reacts when it detects that it's "under attack" actually gives new things to attack
08:47 jnthn nwc10: Trouble is that makes every string a pointer bigger, to point to the table.
08:48 nwc10 yes, I sort of realised that as I was typing. At least "will need a pointer, so that we know when to GC the common tables"
08:48 jnthn But generally, we should make this work first in the easiest way possible so we can assemble a decent test suite, before we go on to smarter schemes.
08:48 nwc10 "simplest thing that could possibly work"
08:48 nwc10 [then you typed that]
08:48 nwc10 "simplest thing that could possibly work" is a global table
08:49 jnthn Right, which is hwy I'm starting there
08:49 timotimo i'm still aching to have something in place that reduces the number of duplicate MVMString instances ...
08:49 jnthn Also, we could cap the number of allowed combiners.
08:49 jnthn There's precedent for that in the Unicode standard.
08:49 nwc10 the *other* thing about attacks, is to figure out theoretical attacks that would take out a single table, but would be successfully mitigated by something more sophisticated
08:49 timotimo which can also lead to faster comparisons, as MVMString tries pointer compare first
08:49 nwc10 IIRC it's 32
08:50 timotimo my lord ... the combinatorics ...
08:50 nwc10 at least, for one of the specified interchance formats
08:50 jnthn Well, the actual answer is that Unicode itself doesn't spec a limit, but the safe text streaming thing in the annex about normalization forms picked 30.
08:50 nwc10 but, I think that there are enough permutaitons of "1 base character" and "1 combining thingybob" to get you well beyond 8G
08:51 nwc10 ah 30, not 32
08:51 timotimo right, 1+1 already gives you a metric ton of combinations :S
08:51 nwc10 but if $num_base_chars * $num_single_combining_things is a metric ton of pain
08:51 jnthn I suspect 30 'cus 32 bytes is a conveneient computer size, and for normalization you need the base char, the combiners, and the next base char...
08:51 nwc10 then the 30 limit doesn't hlep you
08:51 jnthn Well, we don't have to pick as high as 30.
08:51 jnthn :)
08:52 nwc10 but we're not allowed zero?
08:52 jnthn m: uniint
08:52 camelia rakudo-moar d76ea8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LLHkVqVAw1␤Undeclared routine:␤    uniint used at line 1. Did you mean 'unlink'?␤␤»
08:52 jnthn m: unival
08:52 camelia rakudo-moar d76ea8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lRIvWktrYh␤Calling unival() will never work with any of these multi signatures:␤    (Str $str) ␤    (Int $code)␤at /tmp/lRIvWktrYh:1␤------> 3<BOL>7⏏5unival␤»
08:52 jnthn m: uniprop
08:52 camelia rakudo-moar d76ea8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4yMX_OK4G8␤Calling uniprop() will never work with any of these multi signatures:␤    (Str $str, Any |c) ␤    (Int $code, Stringy $propname = { ... })␤at /tmp/4yMX_OK4G8:1␤------> 3<BOL>7⏏5uniprop…»
08:52 jnthn m: uniprop(65, 'Canonical_Combining_Class')
08:52 camelia rakudo-moar d76ea8: ( no output )
08:52 jnthn m: uniprop(65, 'Canonical_Combining_Class').say
08:52 camelia rakudo-moar d76ea8: OUTPUT«0␤»
08:53 jnthn m: (^0x10FFFF).grep({ uniprop($_, 'Canonical_Combining_Class') }).elems.say
08:54 camelia rakudo-moar d76ea8: OUTPUT«(timeout)»
08:54 jnthn aww!
08:54 jnthn m: (^0xFFFF).grep({ uniprop($_, 'Canonical_Combining_Class') }).elems.say
08:54 camelia rakudo-moar d76ea8: OUTPUT«2661␤»
08:54 jnthn m: (^0x2FFFF).grep({ uniprop($_, 'Canonical_Combining_Class') }).elems.say
08:54 camelia rakudo-moar d76ea8: OUTPUT«8993␤»
08:54 jnthn wow
08:55 jnthn m: (^0x1FFFF).grep({ uniprop($_, 'Canonical_Combining_Class') }).elems.say
08:55 camelia rakudo-moar d76ea8: OUTPUT«8993␤»
08:55 jnthn m: (0xE0000..0xEFFFF).grep({ uniprop($_, 'Canonical_Combining_Class') }).elems.say
08:55 camelia rakudo-moar d76ea8: OUTPUT«337␤»
08:55 jnthn m: say 8993 + 337
08:55 camelia rakudo-moar d76ea8: OUTPUT«9330␤»
08:56 Ven joined #perl6
08:56 jnthn That's how many combiners there are, but that doesn't mean the calculation is anyting like 9330 ** 30
08:56 jnthn Because you have to do a partial sort as part of NFD.
08:57 nwc10 m: 2**34 / 9330
08:57 camelia rakudo-moar d76ea8: ( no output )
08:57 nwc10 m: say 2**34 / 9330
08:57 jnthn But I dunno how to do an easy calculation to figure out how much that guts it down :)
08:57 camelia rakudo-moar d76ea8: OUTPUT«1841357.897535␤»
08:58 nwc10 how many things are there that they can combine with?
08:58 jnthn The rest :)
08:58 nwc10 it's going to be less than 1841357.897535
08:58 nwc10 you can do things like stick a combiner on a han character?
08:59 jnthn m: say 0x2FFFF + 0xFFFF # guesstimate based on assigned planes
08:59 camelia rakudo-moar d76ea8: OUTPUT«262142␤»
08:59 jnthn Yes, you can put them on anything.
09:00 nwc10 365 days a year? Not just on April 1st? :-(
09:00 nwc10 This is making me think that I should put some beer in the fridge. Obviously, as much as will fit.
09:03 jnthn Well, I guess you could sanely put a Combining Enclosing Circle Backslash on a 友 which I guess is "no friends allowed" or something :P
09:04 jnthn m: say "友\x20E0"
09:04 camelia rakudo-moar d76ea8: OUTPUT«友⃠␤»
09:04 jnthn Aww
09:04 jnthn oh, or maybe my font is just clueless about that one
09:06 nwc10 m: say chr 0x53cb ~ chr 0x20E3
09:06 camelia rakudo-moar d76ea8: OUTPUT«Cannot convert string to number: trailing characters after number in '21451⏏⃣' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:15894␤  in method Int at src/gen/m-CORE.setting:7049␤  in sub chr at src/gen/m-CORE.setting:5931␤  in bl…»
09:06 nwc10 m: say chr(0x53cb) ~ chr(0x20E3)
09:06 camelia rakudo-moar d76ea8: OUTPUT«友⃣␤»
09:07 nwc10 m: say chr(78) ~ chr(0x20E3)
09:07 camelia rakudo-moar d76ea8: OUTPUT«N⃣␤»
09:07 nwc10 OK, my terminal doesn't like putting COMBINING ENCLOSING KEYCAP round the 友
09:07 nwc10 but the IRC log in Firefox shows it
09:07 nwc10 I hope "友" isn't rude
09:08 telex joined #perl6
09:08 nwc10 anyway, yes, this illustrates your point - "anything with anything"
09:09 gfldex joined #perl6
09:10 jnthn No, 友 just means "friend" :)
09:11 jnthn Today seems to be continued Easter relaxation; will some good tuits tomorrow and Wednesday :)
09:12 espadrine_ joined #perl6
09:14 Rounin joined #perl6
09:14 nwc10 We had snow. (And sunshine)
09:30 diana_olhovik joined #perl6
09:32 sirdancealot joined #perl6
09:44 mohij joined #perl6
09:47 Ven joined #perl6
09:50 Ven o/, #perl6.
09:51 Ven I'm still in the process of considering stuff to remove from the perl6 tutorial (because it's useless), and want to consider other things to add. I have a list of things I *could* be talking about: https://gist.github.com/vend​ethiel/5332f431236490f39ffa
09:52 Ven I also really need to rewrite the intro to feel less "rushed", and be more like a tutorial. Maybe this'll be less fitting for learnxiny.com, but I love the code-as-documentation format...
09:52 Ven (I'm really asking for feedback here, and say, examples of tutorials that just blew your mind because they were so good)
09:55 nwc10 we have more snow.
09:55 Zoffix Ven, I really liked the pace of JQuery Succinctly: http://www.syncfusion.com/resources/techportal/​ebooks/jquery?utm_medium=BizDev-jQuery.org0513
09:55 Zoffix (it's free to download; you just have to give them random info)
09:56 Zoffix It doesn't bog you down with useless facts and info, yet gives enough material for you to understand what's going on.
10:01 Ven joined #perl6
10:02 Ven Zoffix: will read, thanks
10:02 masak good noon, #perl6
10:02 Ven that's definitely an issue with perl/perl6. the "baby perl"
10:02 Ven o/, masak
10:02 jnthn nwc10: Snow and sun sounds kinda fun...here mostly rain and cloud.
10:03 Ven you need to get a "simple enough" base language to build up from there :) can't throw some [Zeq] »xx».
10:04 nwc10 jnthn: it's also quite cold, particularly in the wind
10:04 eli-se joined #perl6
10:04 Ven (I already got feedback from tim bunce at apw14 that it was too dense, and I can definitely see where that's coming from). I've received a few issues on github that have pointed out very specific issue, twas good
10:04 nwc10 (I was getting a bit cold changing Andrea's mum's cars tyres yesterday. Summer tyres - I think that explains the snow)
10:09 jnthn Hah! So timing
10:11 nwc10 such snow
10:11 nwc10 tyres!
10:14 jnthn lanch &
10:21 lancew joined #perl6
10:22 [Tux] masak, API is completely incompatible and you do not support ESCapes
10:22 masak [Tux]: I'm just saying I don't have a big affection for my CVS module.
10:24 [Tux] I *will* have a look. Some parts are already supported in what I created (:trim -> :allow-white-space)
10:25 [Tux] :skip-header -> :skip=n
10:25 [Tux] I like you :strict
10:25 [Tux] r
10:25 masak I've forgotten all the details :)
10:27 lancew Hi all, has anyone had experience recently of installing Template::Mojo? I'm getting an install error ( http://pastebin.com/iHgPkRt1 ).
10:29 masak I think it's because https://github.com/tadzik/Templ​ate-Mojo/blob/master/META.info should have a source-url
10:29 masak tadzik: `Panda::Project $bone` -- oh, you!
10:29 masak :D
10:31 dalek perl6-examples: 197b08c | paultcochrane++ | / (3 files):
10:31 dalek perl6-examples: Remove category attr from Example() class
10:31 dalek perl6-examples:
10:31 dalek perl6-examples: A Category containes Examples, it isn't necessary for the Examples to
10:31 dalek perl6-examples: duplicate this information.
10:31 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/197b08caa8
10:31 dalek perl6-examples: 9e92e09 | paultcochrane++ | lib/Pod/Htmlify.pm6:
10:31 dalek perl6-examples: Remove extra "categories/" prefix to example link path
10:31 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/9e92e09e7a
10:31 dalek perl6-examples: 4c7ea1b | paultcochrane++ | / (2 files):
10:31 dalek perl6-examples: Create summary page of subcategories
10:31 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/4c7ea1bae8
10:31 masak tadzik: https://github.com/tadzik/Template-Mojo/pull/18
10:31 masak lancew: with the above pull request, Template::Mojo should install fine
10:32 nwc10 jnthn: "I heard you liked remotes so I baked you a patch at git@gitlab.com:nwc10/nqp.git"
10:32 nwc10 "Use the PROVE macro instead of a literal `prove` in the generated Makefiles."
10:32 lancew masak: Fantastic, thanks. I'm trying to test drive Bailador and Template::Mojo is a pre-requisite. :-)
10:33 nwc10 GitLab, whom I'd never heard of, bought Gitorious
10:33 masak lancew: if I were savvy enough with panda, I might even instruct you how to download Template::Mojo from https://github.com/masak/Template-Mojo , which has the patch already applied
10:34 masak (but I'm not that savvy. you might have some luck trying stuff yourself, though.)
10:34 lancew :-)
10:37 FROGGS jnthn: as you might have (not) seen, I've merged the 'param is rw' stuff, also for jvm
10:37 FROGGS jnthn: though we have both on moar and jvm problems with unsignedness
10:38 FROGGS t/04-nativecall/15-rw-args.t has a todo test about that
10:45 lancew masak: ==> Installing Template::Mojo ; ==> Successfully installed Template::Mojo
10:45 lancew masak: thx
10:48 tadzik masak: a full bowl of puns :)
10:48 colomon lizmat++
11:07 eli-se joined #perl6
11:25 lancew left #perl6
11:28 Ven joined #perl6
11:47 root joined #perl6
12:08 RabidGravy are there any modules on the list that just provide roles?
12:12 psch RabidGravy: OO::Actors provides a declarator that creates classes that have a role mixed in
12:13 psch it's not quite only a role, but might fit whatever you're looking for
12:13 RabidGravy let's look
12:17 Ven (also OO::Monitor)
12:18 nwc10 jnthn: ^^ should be https://gitlab.com/nwc10/nqp.git
12:18 lichtkind joined #perl6
12:19 jnthn FROGGS: I get some fail in 15-rw-args.t but let be re-build latest stuffs before I pester you about that. :)
12:20 jnthn FROGGS: Hmm. "Native call expected argument that references a native integer, but got P6opaque"
12:21 jnthn I think I have latest everything but let me do clean builds
12:22 awwaiid "Substitution now supports assignment meta-op, e.g. s[\d+] += 2" *mindblown*
12:22 awwaiid (catching up)
12:25 FROGGS jnthn: I have no local changes and it passes :/
12:30 jnthn FROGGS: Oh, somehow an earlier nqp pull failed, so almost certianly false alarm.
12:36 tadzik RabidGravy: roles are pretty much core
12:38 RabidGravy it was more of a question is if one was to make something that provides a role or roles for user classes to consume is there a naming convention
12:40 tadzik ah, hmm
12:40 tadzik I don't think there's any; my https://github.com/tadzik/​ClassX-StrictConstructor/ is a role and I had no complaints about it :)
12:42 RabidGravy I guess these are things that will emerge as the ecosystem flourishes
12:42 psch i'm not sure what kind of convention there could be
12:42 psch if anything i'd say "if you're unsure call it FooRole"
12:42 RabidGravy well like Role::Foo or something
12:43 psch oh, a top level role namespace for the ecosystem
12:44 RabidGravy yeah perhaps, it might allow for some future organisation based on what kind of thing it provides
12:44 RabidGravy or is that too prescriptive for the time being
12:44 psch fwiw, i think the OO::Actors approach is great, exposing a declarator that always applies the role to the declared class makes it clear there's something special happening
12:44 FROGGS RabidGravy: since Roles are things one can *do*, they potentially should be verbs
12:48 psch of course it wouldn't work with anything that wants multiple roles applied, unless you create that declarator in-project
12:48 tadzik there's no naming convention for classes, I don't think there's a need to have one for roles
12:48 RabidGravy on the flip side   having "class Foo does Role::Zub { .... }" seems somewhat redundant
12:49 tadzik oh, there's an idea to use different word types
12:49 tadzik so grammar makes sense, like 'class Dog does Wagging' or something
12:50 tadzik or Storable
12:50 tadzik or something
12:52 RabidGravy yeah verb-like for roles, noun-like for classes
12:57 jnthn FROGGS: Yeah, with latest NQP it works fine. Sorry for the false alarm :)
12:58 FROGGS jnthn: no problem :o)
13:01 tinyblak joined #perl6
13:14 raiph joined #perl6
13:18 jnthn fwiw, I'd rather we don't evolve a convention of putting Role in the name of roles.
13:18 jnthn It's annoying enough in .Net when exceptions get Exception on the end...
13:18 * psch meant it more as a last resort
13:19 psch but i can see having it happen at all means people adopt it when it might be unneccessary
13:20 masak IMNSHO, roles should be named such that `does <rolename>` reads nicely.
13:23 jnthn +1
13:23 jnthn shoppin'
13:24 FROGGS aye, that is what I tried to say too
13:42 muraiki joined #perl6
13:58 jfried joined #perl6
13:58 ab5tract joined #perl6
13:58 avar joined #perl6
13:58 nine_ joined #perl6
13:58 profan joined #perl6
13:58 stux|RC-only joined #perl6
13:58 literal joined #perl6
13:58 smi1er joined #perl6
13:58 pRiVi joined #perl6
13:58 Spot__ joined #perl6
13:58 clkao joined #perl6
13:58 DarthGandalf joined #perl6
13:58 skarn joined #perl6
13:58 osfameron joined #perl6
13:58 sorear joined #perl6
13:58 yogan joined #perl6
13:58 timotimo joined #perl6
13:58 prammer joined #perl6
13:58 mls joined #perl6
13:58 BinGOs joined #perl6
13:58 SHODAN joined #perl6
13:58 jnthn joined #perl6
13:58 kshannon joined #perl6
13:58 Humbedooh joined #perl6
13:58 El_Che joined #perl6
13:58 oetiker joined #perl6
13:58 jercos joined #perl6
13:58 woshty joined #perl6
13:58 felher joined #perl6
13:58 yakudza joined #perl6
13:58 jantore joined #perl6
13:58 krakan joined #perl6
13:58 integral joined #perl6
13:58 fernando___ joined #perl6
13:58 _sri_ joined #perl6
13:58 Maddingue joined #perl6
13:58 danstoner joined #perl6
13:58 krunen joined #perl6
13:58 Gothmog_ joined #perl6
13:58 burnersk joined #perl6
13:58 hahainternet joined #perl6
13:58 moritz joined #perl6
13:58 vike joined #perl6
13:58 b2gills joined #perl6
13:58 Bucciarati joined #perl6
13:58 jschulz joined #perl6
13:58 avalenn joined #perl6
13:58 awwaiid joined #perl6
13:58 retupmoca joined #perl6
13:58 ponbiki joined #perl6
13:58 sivoais joined #perl6
13:58 mephinet joined #perl6
13:58 tadzik joined #perl6
13:58 tinita_ joined #perl6
13:58 arnsholt joined #perl6
13:58 risou joined #perl6
13:58 cursork joined #perl6
13:58 mst joined #perl6
13:58 leedo joined #perl6
13:58 bartolin_ joined #perl6
13:58 nwc10 joined #perl6
13:58 Peter__R joined #perl6
13:58 [ptc] joined #perl6
13:58 larks joined #perl6
13:58 petercommand joined #perl6
13:58 ugexe joined #perl6
13:58 rjbs joined #perl6
13:58 ruoso joined #perl6
13:58 DrForr joined #perl6
13:58 d^_^b joined #perl6
13:58 mathw joined #perl6
13:58 cosimo joined #perl6
13:58 BooK joined #perl6
13:58 yoleaux joined #perl6
13:58 masak joined #perl6
13:58 psch joined #perl6
13:58 PerlJam joined #perl6
13:58 Util joined #perl6
13:58 kodok joined #perl6
13:58 simcop2387 joined #perl6
13:58 itz joined #perl6
13:58 Grrrr joined #perl6
13:58 renormalist joined #perl6
13:58 estrabd joined #perl6
13:58 broquaint joined #perl6
13:58 [Coke] joined #perl6
13:58 TimToady joined #perl6
13:58 ribasushi joined #perl6
13:58 labster joined #perl6
13:58 JimmyZ joined #perl6
13:58 rudi_s joined #perl6
13:58 sftp joined #perl6
13:58 nbrown joined #perl6
13:58 Mouq joined #perl6
13:58 zoosha joined #perl6
13:58 silug joined #perl6
13:58 atta joined #perl6
13:58 pmichaud joined #perl6
13:58 shinohai joined #perl6
13:58 egrep joined #perl6
13:58 flussence joined #perl6
13:58 Woodi joined #perl6
13:58 danaj joined #perl6
13:58 slavik joined #perl6
13:58 [particle] joined #perl6
13:58 haroldwu joined #perl6
13:58 robinsmidsrod joined #perl6
13:58 rhr_ joined #perl6
13:58 f3ew joined #perl6
13:58 hoelzro joined #perl6
13:58 pecastro joined #perl6
13:58 huf joined #perl6
13:58 ingy joined #perl6
13:58 xxx joined #perl6
13:58 tbrowder joined #perl6
13:58 ggherdov joined #perl6
13:58 isacloud joined #perl6
13:58 Foxcool joined #perl6
13:58 ASQRD joined #perl6
13:58 gcole joined #perl6
13:58 Possum joined #perl6
13:58 breinbaas joined #perl6
13:58 cdc joined #perl6
13:58 vytas joined #perl6
13:58 eiro joined #perl6
13:58 Vlavv_ joined #perl6
13:58 esaym153 joined #perl6
13:58 camelia joined #perl6
13:58 coffee` joined #perl6
13:58 yvan1 joined #perl6
13:58 baest_ joined #perl6
13:58 pierrot joined #perl6
13:58 Akagi201_ joined #perl6
13:58 wtw joined #perl6
13:58 rmgk joined #perl6
13:58 molaf joined #perl6
13:58 Patterner joined #perl6
13:58 vendethiel joined #perl6
13:58 btyler joined #perl6
13:58 Khisanth joined #perl6
13:58 dj_goku joined #perl6
13:58 xiaomiao joined #perl6
13:58 rivarun joined #perl6
13:58 davido_ joined #perl6
13:58 Zoffix joined #perl6
13:58 FROGGS joined #perl6
13:58 kaare_ joined #perl6
13:58 RabidGravy joined #perl6
13:58 jferrero joined #perl6
13:58 rindolf joined #perl6
13:58 KCL_ joined #perl6
13:58 telex joined #perl6
13:58 gfldex joined #perl6
13:58 Rounin joined #perl6
13:58 mohij joined #perl6
13:58 eli-se joined #perl6
13:58 lichtkind joined #perl6
13:58 raiph joined #perl6
13:58 muraiki joined #perl6
13:58 eternaleye joined #perl6
13:58 Celelibi joined #perl6
13:58 tinyblak joined #perl6
13:58 hobbs joined #perl6
13:58 colomon joined #perl6
13:58 [Tux] joined #perl6
13:58 kst joined #perl6
13:58 pnu joined #perl6
13:58 dalek joined #perl6
13:58 Hor|zon joined #perl6
13:58 Juerd joined #perl6
13:58 sergot joined #perl6
13:58 bcode joined #perl6
13:58 geekosaur joined #perl6
13:58 charsbar_ joined #perl6
13:58 Ulti joined #perl6
13:58 Sqirrel joined #perl6
13:58 lucasb joined #perl6
13:58 darutoko joined #perl6
13:58 noganex_ joined #perl6
13:58 erdic joined #perl6
13:58 captain-adequate joined #perl6
13:58 raydiak joined #perl6
13:58 sjn joined #perl6
13:58 StavroMueller joined #perl6
13:58 EnergyCoffee joined #perl6
13:58 betterworld joined #perl6
13:58 dylanwh joined #perl6
13:58 mtj joined #perl6
13:58 dg joined #perl6
13:58 gargamel joined #perl6
13:58 cxreg joined #perl6
13:58 diegok joined #perl6
13:58 ilogger2 joined #perl6
13:58 tony-o joined #perl6
13:58 lnr joined #perl6
13:58 dustinm` joined #perl6
13:58 cibs joined #perl6
13:58 Ven joined #perl6
13:58 torbjorn joined #perl6
13:58 pochi joined #perl6
13:58 xinming joined #perl6
13:58 Alina-malina joined #perl6
13:58 ShimmerFairy joined #perl6
13:58 revdiablo joined #perl6
13:58 iv joined #perl6
13:58 agentzh joined #perl6
13:58 jdv79 joined #perl6
13:59 lucasb Network problems?
13:59 geekosaur freenode burped
14:01 RabidGravy is it possible to use panda to install from a local directory?
14:01 dustinm` joined #perl6
14:02 psch RabidGravy: panda install can take at least '.' as argument afair.  i don't know if it understands absolute or relative paths though
14:02 sirdancealot joined #perl6
14:02 isacloud joined #perl6
14:02 RabidGravy psch, perfect
14:07 mr-foobar joined #perl6
14:15 skids joined #perl6
14:18 masak found a bug. https://gist.github.com/masak/3a8ab0dc74d6c6c25287
14:19 masak reporting it now, unless someone says it's already in RT.
14:28 Ven joined #perl6
14:33 hoelzro o/ #perl6
14:35 psch hoelzro \o
14:43 pyrimidine joined #perl6
14:43 lucasb m: $_ = '42'; s/(\d+)/<$0>/; .say
14:44 camelia rakudo-moar d76ea8: OUTPUT«<42>␤»
14:44 lucasb echo 42 | perl6 -pe 's/(\d+)/<$0>/'  #=> "<>"
14:44 colomon masak: not disagreeing that it’s a bug, but that syntax (which I do vaguely remember) seems terribly unfortunate in this example
14:44 lucasb masak: ^^ $0 doesn't get assigned the value?
14:49 mr-foobar joined #perl6
14:51 molaf_ joined #perl6
14:55 araujo joined #perl6
14:55 araujo joined #perl6
14:56 lucasb m: $_ = 42; say "numba: $0" if /(\d+)/
14:56 camelia rakudo-moar d76ea8: OUTPUT«numba: 42␤»
14:56 espadrine_ joined #perl6
14:56 lucasb m: $_ = 42; s/\d+/xxx/
14:56 camelia rakudo-moar d76ea8: OUTPUT«use of uninitialized value of type Any in string context  in block <unit> at /tmp/0koduqGXwI:1␤␤Error while creating error string: No exception handler located for warn␤»
14:57 lucasb I get a different error on my console: "Cannot call 'subst-mutate'; none of these signatures match ..."
14:58 lucasb I mean, plain match can coerce to string, but substitution can't coerce to string.
14:58 rurban_ joined #perl6
14:59 lucasb Maybe it makes sense; you can't substitute a substring inside something that is not a string. The compiler would have to change the type of the variable.
15:07 psch m: say 42.subst(/\d+/, "xxx")
15:07 camelia rakudo-moar d76ea8: OUTPUT«xxx␤»
15:07 psch lucasb: something seems inconsistent here.  to me, s/// is mostly an operator form of .subst (or the other way around)
15:08 psch except s/// is the op form of subst-mutate, to be explicit
15:09 psch s/// dying on numeric input complains about not having a dispatch candidate for Int when run with --ll-exception, although the proto is with Cool
15:11 psch maybe "we don't mutate" is enough reason, although i don't buy the "[it] would have to change the type" argument
15:12 psch because we don't need to change the type to mutate, we need to change it to match in the first place
15:13 diana_olhovik joined #perl6
15:15 raiph joined #perl6
15:17 psch oh, now i see lucasb++ saw the dispatch failure too
15:18 TimToady surely the mutating form should be trying to replace the contents of the variable, not fiddling with what's inside the variable
15:19 TimToady s:g/variable/container/
15:32 Ven joined #perl6
15:35 TimToady fwiw, subst-mutate is the only method in core that attempts to declare $self is rw:
15:36 ggoebel joined #perl6
15:37 kinslayer joined #perl6
15:38 TimToady but it's in the Str class, so doesn't know how to dispatch Int
15:38 * TimToady will play with moving subst-mutate to Cool
15:43 lucasb psch, TimToady: Thanks for taking a look at it. (I was away)
15:49 TimToady now fails deep in find_best_dispatchee when trying to match Junctions, but I think it doesn't try that unless the naïve binding has already failed
15:50 TimToady (and that's a failure trying to compile the setting, so maybe a circularity issue)
15:52 telex joined #perl6
15:53 KCL_ joined #perl6
15:59 Ven joined #perl6
15:59 Ulti the new multi line REPL doesn't play so well with my slang it gets stuck forever waiting for a statement to end :(
16:02 psch Ulti: what's your slang?
16:03 Ulti https://github.com/MattOates/Bio​Info/blob/master/lib/BioInfo.pm6
16:07 psch BioInfo is on panda?
16:08 psch hm, BioPerl6 is, but that's apparently something different
16:09 psch Ulti: if the problem is where i'd expect it you can terminate a statement with ')', '}' or ']'
16:09 psch but that's obviously bogus
16:09 psch and shouldn't be like it
16:10 psch i'm thinking i should pull what i merged for moreinput from nom again, 'cause i keep running into walls trying to get it further
16:12 eli-se joined #perl6
16:14 psch and it's of limited usefulness in the current state anyway :/
16:19 psch if it even breaks stuff it maybe should actually leave again
16:23 psch maybe just hide it behind a RAKUDO_EXPERIMENTAL_MULTILINE_REPL env var?
16:25 [Coke] http://news.perlfoundation.org/2015/0​4/wenzperl-donate-10000-eur-to-n.html lizmat++
16:26 PerlJam woolfy++ too
16:29 pmichaud good morning, #perl6
16:29 TimToady likewise
16:29 PerlJam buenos dias pmichaud
16:39 Sqirrel joined #perl6
16:40 dalek rakudo/nom: 4c1f570 | TimToady++ | src/core/Cool.pm:
16:40 dalek rakudo/nom: Cool.subst-mutate wrapper to handle coercion
16:40 dalek rakudo/nom:
16:40 dalek rakudo/nom: We can't simultaneously maintain coercion and 'rw' on the invocant
16:40 dalek rakudo/nom: to Str.subst-mutate.  So we do the two-step shimmy instead.
16:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4c1f570801
16:41 psch anyway, one problem with moreinput as-is seems to happen because statementlist doesn't match correctly, which i'm not sure i can unravel
16:43 psch input like «if 0 { 0 }\nelse { 1 }» complains about "Undeclared routine: else", and from looking at target parse that's because the it doesn't get the else in the same statement (or statementlist) as the if
16:44 raiph joined #perl6
16:44 virtualsue joined #perl6
16:47 japhb WenZPerl++  # All the white camel-icious behavior
16:48 ugexe is a lot of nativecall stuff not working currently? for instance, openssl gives a cannot unbox nativeref errors. I just want to make sure i havne't screwed something else up
16:54 dalek roast: 6f63ff8 | TimToady++ | S05-substitution/subst.t:
16:54 dalek roast: add test for s/// on non-string
16:54 dalek roast: review: https://github.com/perl6/roast/commit/6f63ff8045
16:59 kinslayer hi
16:59 RabidGravy m:  sub foo( Any:T $foo ) { say $foo }; foo("bar");
16:59 camelia rakudo-moar d76ea8: OUTPUT«bar␤»
16:59 RabidGravy Am I missing something or shouldn't that be a fail because not a type object
17:00 kinslayer I tried to get some json into a hash with JSON::Tiny but it didnt wonna work, or I couldn't figure out how to query what I got. Any suggestions on what I could do instead
17:00 pmichaud ":T" ?   Shouldn't that be ":U"  ?
17:01 pmichaud m: sub foo ( Any:U $foo ) { say $foo };  foo("bar")
17:01 camelia rakudo-moar d76ea8: OUTPUT«Parameter '$foo' requires a type object, but an object instance was passed␤  in sub foo at /tmp/nmbNQi4EYQ:1␤  in block <unit> at /tmp/nmbNQi4EYQ:1␤␤»
17:01 ugexe kinslayer: no one knows what you did in the first place
17:02 kinslayer I used from-json in JSON::Tiny but I dont know how that works for queries
17:02 RabidGravy pmichaud, I was just going by what it suggested in S06
17:02 pmichaud RabidGravy: looking
17:03 pmichaud RabidGravy: Oh.  I think :T is not yet implemented
17:03 RabidGravy kinslayer, what you mean by "queries"?
17:03 kinslayer I try to get part os the object with something like object{'room'}
17:03 kinslayer but it returns (Any)
17:04 PerlJam kinslayer: can you show us the code (and data) ?
17:04 RabidGravy pmichaud, I'll go with :U until that time.  I just want literally foo(Str) and not allow foo(Str.new) e.g.
17:04 TimToady don't paste here, use a site like gist.github.com and paste the URL here
17:04 pmichaud :U should work for that.
17:05 RabidGravy yeah it does
17:05 pmichaud might be worth filing a rakudobug for :T
17:05 pmichaud (if one doesn't already exist)
17:05 kinslayer http://lpaste.net/130251
17:06 PerlJam kinslayer: it's best if you show us all of the code.
17:06 PerlJam kinslayer: or at least the bits that don't work like you expect
17:07 TimToady like, how you're actually trying to access the structure
17:07 FROGGS RabidGravy: btw, :U currently does what :T should do
17:08 kinslayer http://lpaste.net/130251
17:08 RabidGravy FROGGS, yeah I gathered that from the message :)
17:08 kinslayer that should be all of the code I used JSON::Tiny
17:08 ugexe 'rooms' isnt a hash key
17:08 ugexe its 'room'
17:09 ugexe next time, try %json.perl to see the data structure
17:09 FROGGS RabidGravy: and :U should do a little bit more than what it does today, calling .defined on the object in question
17:10 TimToady ugexe: ooh, a fishing rod :)
17:10 kinslayer ugexe: I was pretty sure I wrote rooms but seems I messed that up, but I might have other problems
17:11 TimToady kinslayer: this is programming; other problems are almost guaranteed :)
17:11 RabidGravy :)
17:11 kinslayer timtoady: yeah but not in this case now it just works so just a typo.
17:12 PerlJam kinslayer: btw, are you a "kin slayer"  or just a "kins layer"  ?
17:12 FROGGS m: my uint8 $a = 200; say $a
17:12 camelia rakudo-moar d76ea8: OUTPUT«-56␤»
17:12 kinslayer kinslayer is from Wheel of Time
17:13 kinslayer PerlJam: so prob. kin slayer :D
17:13 TimToady .oO("Will kith not slay their kin for me?" --Guinevere)
17:14 RabidGravy or  'kin slayer for those not-heavy metal fans
17:15 skids \m/
17:15 TimToady is that hair over your face?
17:16 PerlJam skids is doing a cousin it impersonation?
17:17 [Coke] why not zoidberg?
17:17 TimToady could just be facing the other way
17:17 kinslayer I started programming in perl and did stuff in other langs but perl 6 is really awesome :D
17:17 PerlJam kinslayer: we like to think so too :)
17:17 TimToady but we're known to be prejudiced in the matter
17:18 skids Mètāl Sâlüte
17:18 PerlJam [Coke]: zoidberg would need an em with an extra leg.
17:18 kinslayer PerlJam: I like the idea of "better is better" :D
17:19 PerlJam (which I'm sure is available in unicode *somewhere* ;)
17:20 PerlJam [Coke]: though also ... if zoidberg, where did his eyes go?
17:21 [Coke] can't umlaut an m, sadly. :)
17:22 TimToady well, you could chop off ㎜
17:23 inokenty joined #perl6
17:24 psch m: say "m\x0308"
17:24 camelia rakudo-moar 4c1f57: OUTPUT«m̈␤»
17:25 nine_ FROGGS: nqp commit 7533c6bd870167cc89a9a5eb3cb0aebc945c23ed broke Inline::Perl5 and I cannot see how Inline::Perl5 may be at fault.
17:26 FROGGS nine_: how can I reproduce the failure?
17:29 skids ꖶꖶ
17:29 skids mm
17:29 nine_ FROGGS: just trying to install Inline::Perl5 is enough.
17:29 FROGGS k
17:30 nine_ FROGGS: I suspect that it's the same cause like  < ugexe> is a lot of nativecall stuff not working currently? for instance, openssl gives a cannot unbox nativeref errors. I just want to make sure i havne't screwed something else up
17:30 FROGGS hmmm
17:30 FROGGS lemme see
17:30 [Coke] \m̈/ . o O (ah, just can't do it on my mac keyboard easily. psch++)
17:36 Psyche^ joined #perl6
17:38 FROGGS nine_: it seems to be a precomp issue :S
17:42 nine_ FROGGS: sounds like not fun
17:43 FROGGS yeah, trying to hunt it down now
17:45 virtualsue_ joined #perl6
17:48 Hyer joined #perl6
17:48 Hyer I was going to learn a little P6 by porting my scrabble-cheating program
17:48 japhb So I see a change to coercing multi candidates in the Rakudo git log.  Can someone point to the discussion, or summarize the change/reasoning?
17:49 Ven joined #perl6
17:49 Hyer I can't find any definitive documentation on how, given a user-input pattern $p, I can find strings matching the contents of $p interpreted as a pattern
17:51 Hyer when I try /<$pat>/, Rakudo fails if $pat contains character classes, maybe because of their "<" delimiters
17:51 Hyer but I cannot verify whether this is a problem with Rakudo, or with my P6 code
17:51 dalek nqp: b52f49a | FROGGS++ | tools/build/MOAR_REVISION:
17:51 dalek nqp: bump moar rev to unbreak Inline::Perl5
17:51 dalek nqp: review: https://github.com/perl6/nqp/commit/b52f49a179
17:51 Hyer anyone want to take a stab at this?  I'd appreciate any help
17:52 PerlJam Hyer: show the code :)
17:52 dalek rakudo/nom: c314f4f | FROGGS++ | tools/build/NQP_REVISION:
17:52 dalek rakudo/nom: bump nqp/moar rev to unbreak Inline::Perl5
17:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c314f4fe62
17:52 FROGGS nine_: ^^
17:52 psch m: my $pat = '<[abc]>'; say "a" ~~ $pat
17:52 camelia rakudo-moar 4c1f57: OUTPUT«False␤»
17:52 psch m: my $pat = '<[abc]>'; say "a" ~~ /$pat/
17:52 camelia rakudo-moar 4c1f57: OUTPUT«Nil␤»
17:52 Hyer sure, let me simplify a bit and then paste
17:52 japhb Looks like a good time to rebuild-all, thanks FROGGS++
17:52 psch m: my $pat = '<[abc]>'; say "a" ~~ /<$pat>/
17:52 camelia rakudo-moar 4c1f57: OUTPUT«「a」␤»
17:55 Hyer Code incoming -------------------------------------
17:55 Hyer use v6;
17:56 FROGGS O.o
17:56 Hyer my $dictfile = "C:/Users/Tom/Downloads/corncob_lowercase.txt";
17:56 PerlJam Hyer: please use a paste site like gist.github.com
17:56 FROGGS Hyer: don't paste here
17:56 Hyer OK
18:00 dalek ecosystem: 74ebc9e | (Jonathan Stowe)++ | META.list:
18:00 dalek ecosystem: add EventEmitter to the modules list
18:00 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/74ebc9ee2a
18:00 dalek ecosystem: 2c69578 | (Zoffix Znet)++ | META.list:
18:00 dalek ecosystem: Merge pull request #41 from jonathanstowe/master
18:00 dalek ecosystem:
18:00 dalek ecosystem: add EventEmitter to the modules list
18:00 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/2c695787c4
18:00 masak colomon: re "syntax seems unfortunate" -- the code was golfed from a bigger one-liner where that choice of syntax made more sense
18:01 masak Hyer: if you want to show more than two lines of code, please put it in gist.github.com or similar, then paste the URL
18:04 RabidGravy ^ totally noddy module but more of a challenge to others to improve upon it ;-)
18:11 masak for non-Brits: "noddy" = "trivial" ;)
18:16 RabidGravy now back to the, er, non-trivial ones I'm procrastinating
18:19 * masak .oO( nonnoddy )
18:21 RabidGravy big earsy
18:23 awwaiid joined #perl6
18:23 PerlJam .oO( bugs? thumper? )
18:23 nine_ FROGGS: works again :) Thanks!
18:23 RabidGravy noddy != big ears
18:23 FROGGS \o/
18:24 nine_ .tell |Tux| FROGGS++ fixed the MoarVM regression that affected Inline::Perl5
18:24 yoleaux nine_: I'll pass your message to |Tux|.
18:24 RabidGravy http://en.wikipedia.org/wiki/Big_Ears_(character)
18:26 Hyer psch:  I am trying
18:26 Hyer my $in="<[be]>*"; my $pat = '^'~$in~'$'; say so "ebb" ~~ /$pat$/;
18:27 psch m: my $in = "<[be]>*"; my $pat = '^' ~ $in ~ '$'; say so "ebb" ~~ /<$pat>/
18:27 camelia rakudo-moar c314f4: OUTPUT«True␤»
18:28 psch Hyer: you've missed interpolating your variable inside the pattern
18:29 psch or rather "inside the regex quote operator"
18:29 ggoebel joined #perl6
18:29 masak Hyer: in Perl 6, strings don't accidentally interpolate as regexes. they interpolate as literal strings by default. this is for your own safety.
18:30 * PerlJam was interested in seeing code that illustrated ... <Hyer> when I try /<$pat>/, Rakudo fails if $pat contains character classes
18:32 Hyer My best understanding was that /<$pat>/ would cause variable interpolation of $pat
18:33 PerlJam ... as part of the regex and not just a literal string
18:33 masak Hyer: that's a correct understanding.
18:34 FROGGS well, variables are interpolated in any case...
18:34 FROGGS the <...> just tell whether you want to interpolate to regex rules or to a literal string
18:34 FROGGS s/literal//
18:35 psch m: my $in = "<[be]>*"; my $pat = '^' ~ $in ~ '$'; say so "ebb" ~~ /<$pat>/; say "^<[be]>*$" ~~ /$pat/
18:35 camelia rakudo-moar c314f4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FmAW3PByOG␤Non-variable $ must be backslashed␤at /tmp/FmAW3PByOG:1␤------> 3 say so "ebb" ~~ /<$pat>/; say "^<[be]>*7⏏5$" ~~ /$pat/␤    expecting any of:␤        argument list␤        double q…»
18:35 psch m: my $in = "<[be]>*"; my $pat = '^' ~ $in ~ '$'; say so "ebb" ~~ /<$pat>/; say '^<[be]>*$' ~~ /$pat/
18:35 camelia rakudo-moar c314f4: OUTPUT«True␤「^<[be]>*$」␤»
18:37 nwc10 t/spec/S05-substitution/subst.rakudo.moar is made of sin (and one more test than it planned)
18:37 Hyer psch:  trying your last m: in recent Rakudo gives error 'Non-variable $ must be backslashed'
18:38 psch Hyer: in my last i replaced " with ', because " interpolates
18:38 Hyer ah, I see that now
18:40 Hyer I will try to see how my code is different, just don't have the Perl Eye anymore
18:44 Hyer psch -- change "ebb" to "seb" in your example -- still says it matches
18:45 zakharyas joined #perl6
18:45 * [Tux] rebuilds ...
18:46 * [Tux] finds it increasingly difficult to choose between finishing Text::CSV and writing sheets for the presentation about it
18:46 hoelzro we have an official docker image now: https://registry.hub.docker.com/_/rakudo-star/
18:47 psch m: my $in = "<[be]>*"; my $pat = '^' ~ $in ~ '$'; say "seb" ~~ /<$pat>/;
18:47 camelia rakudo-moar c314f4: OUTPUT«「eb」␤»
18:47 psch hm, the anchors don't take?
18:48 jnthn std: class T{}; class S is T{}
18:48 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unable to parse class definition at /tmp/dHaATxS2mM line 1 (EOF):␤------> 3class T{}; class S is T{}7⏏5<EOL>␤Parse failed␤FAILED 00:01 136m␤»
18:49 Hyer looks like the start anchor doesn't take, the end does, but I'm not 100% sure
18:52 PerlJam m: my $in = "<[be]>*"; my $pat = '^' ~ $in ~ '$'; say "sebo" ~~ /<$pat>/;
18:52 camelia rakudo-moar c314f4: OUTPUT«Nil␤»
18:52 PerlJam m: my $in = "<[be]>*"; my $pat = '^' ~ $in ~ '$'; say "ebo" ~~ /<$pat>/;
18:52 camelia rakudo-moar c314f4: OUTPUT«Nil␤»
18:53 PerlJam Aye, looks like
18:53 Hyer psch, PerlJam:  thanks for your time and patience
18:54 dalek roast: 8d44426 | jnthn++ | S32-exceptions/misc.t:
18:54 dalek roast: Test for RT #71034.
18:54 dalek roast: review: https://github.com/perl6/roast/commit/8d4442635d
18:55 RabidGravy hoelzro, I'd better get on with what I'm doing so I can start the Docker client on my TODO list then ;-)
18:56 hoelzro RabidGravy: docker client?
18:57 RabidGravy yeah like e.g fig but in p6
18:58 masak jnthn: re http://irclog.perlgeek.de/m​oarvm/2015-04-06#i_10397602 -- I confess I didn't consider the metaclass in this. if there's no safe way to say "no funny metaclass has been applied", then I agree we cannot throw this error.
18:59 masak jnthn: my thinking was that yes, method calls are generally too late-bound, but a method call to a type object would be more predictable, and for all intents and purposes more like a sub call (and therefore analyzable like one)
18:59 jnthn masak: Well, it's going to be non-trivial to implement, and thanks to the cross-compilation unit limintation rather less useful than one may hope.
19:00 jnthn masak: I'd rather we try and make the error you get in the general case be more meaningful.
19:00 masak I did consider the cross-compilation unit angle, and decided that's fine. even within one compilation unit (which is likely to be the normal case), it's a useful error to get.
19:01 masak anyway, feel free to reject the ticket.
19:02 jnthn Will sleep on it and maybe do so tomorrow :)
19:03 * jnthn mebbe bbl, otherwise tomorrow (with tuits! :))
19:03 masak maybe 'night, jnthn
19:04 skids m: say ( "sebb" ~~ /<after s>ebb/ ); $/<after>.perl.say;
19:04 camelia rakudo-moar c314f4: OUTPUT«「ebb」␤ after #<failed match>␤Match.new(orig => "sebb", from => 3, to => 1, ast => Any, list => (), hash => EnumMap.new())␤»
19:04 * masak .oO( Maybe[Night] )
19:05 ugexe FROGGS: your last commit fixed the problem i was having installing other nativecall modules as well
19:05 spider-mario joined #perl6
19:06 FROGGS ugexe: yeah, nine_++ already guessed that... but nice to get a confirmation on that :o)
19:09 sirdancealot joined #perl6
19:20 dalek nqp: 35c589e | FROGGS++ | tools/build/MOAR_REVISION:
19:20 dalek nqp: bump moar for fix for RT #124185
19:20 dalek nqp: review: https://github.com/perl6/nqp/commit/35c589eafc
19:20 dalek rakudo/nom: ae68631 | FROGGS++ | tools/build/NQP_REVISION:
19:20 dalek rakudo/nom: bump moar for fix for RT #124185
19:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ae68631744
19:20 japhb Ackpth!  perl6-m is now taking ~3x longer to start (locally).
19:20 japhb Can anyone else confirm?
19:24 RabidGravy dunno, the one macine with latest is a celeron, the one with older is an i7 wouldn't be a fair comparison
19:26 eternaleye joined #perl6
19:34 japhb RabidGravy: Yeah, understood.
19:35 torbjorn jnthn: regarding the OSDC, would you be fine with doing *all* your posted stuff? :)
19:35 RabidGravy :)
19:35 japhb I went from ~200-300ms (depending on exact build, whether lazy serialization was working, and so on) to ~610-635ms.
19:36 FROGGS japhb: and there are no dangling processes currently?
19:36 japhb Not that I can see, but I am getting some VM pressure from Chrome.  Let me shoot that process and see if it's just a matter of an unhappy memory manager
19:37 Sqirrel joined #perl6
19:37 beastd joined #perl6
19:42 [Tux] nine_, FROGGS, will the performance also return?
19:43 FROGGS [Tux]: I... don't think I've todo something with a performance loss...
19:44 japhb OK, cleared out a boatload of RAM, trying again ...
19:44 [Tux] neither do I, but it is sad to see performance loss where other parts are said to speed up
19:44 FROGGS hmmm
19:44 japhb Yeah, best I can get right now for 'time perl6-m -e 0' is .602s
19:45 [Tux] drop happened between 20150223 and 20150305
19:45 FROGGS februrary? O.o
19:45 [Tux] bedtime. we had a 20 km hike today. tired now
19:45 japhb [Tux]: The startup time problem is more recent.
19:45 japhb Like in the last week or less, I think
19:45 [Tux] japhb, it is not startup time that dropped
19:46 japhb Ah, is this the lexicalref performance loss?
19:46 FROGGS [Tux]: then please report some code that was faster back then when you get a chance
19:46 [Tux] https://github.com/Tux/CSV/blob/master/README <= code did not change
19:47 japhb FROGGS: I thought there was a known drop, which timotimo++ had tried to fix, but got stuck, and jnthn had not had time yet to figure out the problem.  Mind you, I could have missed where it was resolved.
19:47 [Tux] https://github.com/Tux/CSV​/blob/master/csv-ip5xs.pl <= that is all the code
19:48 [Tux] $ time perl6 csv-ip5xs.pl </tmp/hello.csv
19:48 [Tux] went from 6 seconds to 15
19:48 [Tux] anyway. really bedtime now
19:48 FROGGS japhb: ahh, the native ref introduction wrt lexical something... that rings a bell
19:48 FROGGS [Tux]: gnight
19:51 japhb I'm weirded out by the sudden startup slowdown though.  That just doesn't make a ton of sense to me.
19:51 japhb Could it be that with panda/eleven merged, we're following startup CUR paths we didn't hit before, that are in need of some TLC?
19:52 FROGGS japhb: I'm at 0.315s on a core i5 laptop
19:52 FROGGS japhb: the CUR::Installation stuff only gets involved when you actually load a module you installed via panda
19:52 japhb FROGGS: What did you get with 2015.03?  And have you installed a few modules with panda/eleven in your latest build?
19:53 FROGGS let me install something...
19:54 timotimo japhb: the known drop would probably not be that visible in startup speed, i think
19:54 * timotimo visited the local zoo today
19:55 japhb Ah, gotcha
19:55 japhb Good zoo?
19:55 * japhb has been to too many bad zoos, and not enough really good ones.
19:55 timotimo i'm not sure what makes a good or bad zoo
19:56 timotimo i haven't been to many zoos in my adult life
19:56 japhb timotimo: Takes good care of the animals, gives them lots of space and time off from constant humans, separates predators and prey enough not to scare the bejeesus out of the prey, and so on.
19:56 timotimo ah
19:57 timotimo in that case, it's a ... medium zoo?
19:57 japhb Fair enough./
19:57 timotimo there's a very visible size difference between old cages/areas and new ones
19:57 timotimo the predators and prey animals are properly separated as far as i could tell
19:59 timotimo i couldn't see any indication of not good caring
19:59 timotimo two of the three polar bears were sort of stuck in an infinite loop of behavior, which scared me
20:00 timotimo but instead of worrying too much about something i can't do anything about, i was able to distract myself by looking at the cute animals they had there
20:00 FROGGS japhb: confirmed, the startup time increases the module module I install into a CUR::Installation repo :/
20:00 FROGGS japhb: and tbh, I expected penalties like that
20:01 timotimo you mean "the more modules you install"?
20:01 timotimo so it could be json parse time?
20:01 FROGGS I'll think about a solution
20:01 FROGGS timotimo: aye and aye
20:01 timotimo we have basically JSON::Tiny in there, right?
20:02 timotimo because that thing is sort of ... slow
20:02 FROGGS correct
20:02 timotimo dreadfully so :(
20:03 skids Aren't the dep md5s stored in the binary compunit?  Why is json being parsed for other-than-panda purposes?
20:03 skids *sha256s
20:03 FROGGS it could also be about IO::Path stuff, because IMO it absolutifies paths to the installed files
20:03 spider-mario joined #perl6
20:03 FROGGS skids: to locate a comp unit by dist name, author and version
20:04 skids I thought that was done during precomp and cached in the CU by sha256?
20:05 FROGGS but your script does not get precompiled, so you have at least one entry point
20:05 skids ah.
20:05 japhb Why aren't scripts precompiled?
20:06 skids Well, they are if you do it by hand.
20:06 FROGGS japhb: for one because we don't have automatic precompilation
20:06 japhb Sigh.
20:06 FROGGS and we can only load precompiled modules as of now
20:06 * japhb mentally increments the number of times he's wanted precomp -> caching
20:07 FROGGS I mean, you can precompile a script but then you have to load it as: perl6 -Mmyscript -e1
20:07 japhb Gotcha.
20:08 japhb OK, so that's back to the question of why we're parsing JSON at startup.  This feels like the kind of thing that wants to be something (much) faster.
20:08 FROGGS aye
20:09 FROGGS the solution we are aiming for is to a) not output json but a perl 6 hash, and b) precompile that hash and load it as long the precomped file is valid
20:09 FROGGS with a fallback to the hash's source file
20:11 japhb Hmmm
20:12 japhb Is that likely to land before 2015.04?
20:13 FROGGS hmmm, the chances are good I think
20:14 japhb Ah, that's good at least.
20:16 skids Could we just throw the parse-to-json-objects in a BEGIN statement in a surrogate module and constant-fold it?
20:16 timotimo how much moreinput do we actually have?
20:19 mohij joined #perl6
20:19 japhb skids: Not a bad idea, that.
20:25 ugexe in the future, will module uninstallation be handled by CompUnits as well?
20:26 ugexe we already have some manifest/uninstall stuff, but not sure if its something we should bother with further
20:26 skids ugexe: what you're too good for rm /share/perl6/site/??  ? :-)
20:27 psch timotimo: the state of moreinput in nom is "it should work if it's one block that gets broken up by newlines", more or less
20:27 FROGGS ugexe: since CUR's handle installation they should also handle uninstallation if that is possible for that CUR
20:27 ugexe well its hard to know i need to delet '/share/perl6/site/37' if i want to unisntall panda
20:28 * skids agrees
20:29 ugexe and usage messages like: /home/nickl/.rakudobrew/moar-n​om/install/share/perl6/site/37 [--notests] [--nodeps] install [<modules> ...] -- Install the specified modules
20:29 FROGGS deleting such a file would not be enough anyway... you need to unregister it as well
20:30 psch timotimo: i'm stuck, because it's still a bit of a mystery to me how exactly statementlist keeps track of nesting
20:30 ugexe right
20:32 timotimo ah
20:35 psch (at least i think that's why i'm stuck.  it's a bit hard to tell with these things sometimes...)
20:35 timotimo oh, crap, installation busts usage messages? i thought we had wrapper scripts for that, but it could very well be that those just exec a new perl6 perhaps?
20:36 timotimo AFK for a bit
20:37 skids Wait, where is panda installing the uncompiled source nowadays?
20:37 japhb Oh, as a further push to "we should land a performance fix for the startup problem before 2015.04" -- I just realized that startup increasing based on number of modules installed is going to make startup after installing Task::Star rather painful.
20:38 FROGGS skids: also to site/
20:38 FROGGS skids: look at site/MANIFEST
20:39 skids Wait ouch the souce is in decimal file names as well?
20:39 skids I guess with auths you have to but.
20:43 FROGGS well, the idea is that storing things is up to the used CUR
20:45 RabidGravy on a rough test startup is only a tad slower than a week ago
20:46 japhb RabidGravy: Highly dependent on how many modules you have installed.
20:47 FROGGS RabidGravy: well, without any module installed it is at 0.315s, and with 27 dists (116 files) it is at 0.485s
20:48 RabidGravy with the same modules
20:48 japhb I also wonder if this is defeating lazy deserialization again (pulling in too many lazy dynvars)
20:51 TimToady what's a lazy dynvar?
20:52 FROGGS a dynamic variable that's initialized on first use
20:53 FROGGS we have proxies in rakudo that replace themself
20:54 TimToady if these proxies are themselves dynamic, could be be replacing them over and over in different dynamic scopes?  or are they primarily in PROCESS or GLOBAL?
20:54 TimToady *could we be
20:55 FROGGS they live in PROCESS or GLOBAL
20:55 japhb TimToady: See 'git grep INITIALIZE_DYNAMIC' for a list
20:56 japhb (That doesn't say where the are, just which dynamics we're doing this to.)
20:56 TimToady I wonder if maybe we're overusing the one-per-frame cache
20:57 japhb TimToady: one-per-frame cache?
20:58 TimToady see try_cache_dynlex in frame.c
20:59 TimToady at one point we were looking things up 20 frames deep on average, and that cache reduced it (at one time) to about 5 frames average
20:59 TimToady but I'm sure we can do better
20:59 TimToady especially if we're filling up the caches with the "wrong" dynvars
21:01 TimToady we really only need to station a (larger) cache at each frame that actually sets a dynvar, and the rest of the frames could just pass along a pointer to that frame's cache
21:01 TimToady so you'd only ever visit the frames that actually set a dynvar
21:02 TimToady and there would "always" be room to cache any dynvar there
21:02 TimToady so it might scale a lot better with heavy dynvar use
21:04 japhb Yeah, agreed.  With only one dynvar cache slot per frame, I can easily see that getting full along fairly deep frame stacks real darn quick.
21:04 TimToady and if the names are authoritative enough, you never even have to look into lexpads, you just follow each cache to the next one till you find the dynvar, hoist it to the top-level cache if you decide it's "hot"
21:04 japhb (Where by 'deep' I mean two-digit depth)
21:06 TimToady anyway, that's one of my lines in my personal todo file
21:14 dolmen joined #perl6
21:41 noganex joined #perl6
21:41 kjs_ joined #perl6
21:43 fhelmberger joined #perl6
21:47 adu joined #perl6
22:03 hobbs joined #perl6
22:03 hobbs joined #perl6
22:19 virtualsue_ joined #perl6
22:24 masak m: my @a = 1, 2, 3; say @a.perl
22:24 camelia rakudo-moar ae6863: OUTPUT«[1, 2, 3]<>␤»
22:24 masak I don't backlog so carefully these days. I saw the commit go by that added '<>'. I didn't get why.
22:25 masak to me, when I .perl @a above, I totally expect `[1, 2, 3]`. the `<>` looks like added nit-picking to me.
22:28 masak though I guess this is the same "I don't see why we have to distinguish so much" argument that I put forth the other day...
22:29 ugexe m: my $paths = "zef/lib".IO; say $paths.perl; say @$paths.perl
22:29 camelia rakudo-moar ae6863: OUTPUT«q|zef/lib|.IO(:SPEC(IO::Spec::Unix)​,:CWD</home/camelia>)␤(q|zef/lib|.IO(:SPEC​(IO::Spec::Unix),:CWD</home/camelia>),)␤»
22:29 ugexe is that correct? the trailing comma at the end?
22:30 ugexe im tracking down a problem with CREATE-INCLUDE-SPEC and CompUnit.precomp which takes an array reference
22:30 masak guess it's there because there's only one element.
22:30 masak m: say (1).^name; say (1,).^name
22:30 camelia rakudo-moar ae6863: OUTPUT«Int␤Parcel␤»
22:31 masak 'night, #perl6
22:36 telex joined #perl6
22:38 ugexe $@VAR is the proper way to pass an array as a reference right?
22:40 TimToady well, or just bind it to something that already has a $
22:41 psch m: sub f($a) { say $a.perl }; my @a = ^5; f @a
22:41 camelia rakudo-moar ae6863: OUTPUT«[0, 1, 2, 3, 4]␤»
22:41 TimToady like that
22:41 TimToady @ only flattens if bound to a slurpy parameter
22:41 psch next i'd have asked what "as a reference" means here
22:41 TimToady the rest of the time, it effectively already is a reference
22:42 TimToady P6 doesn't have references like P5 does
22:42 TimToady on the flip side, every object is already a reference
22:42 ugexe https://github.com/rakudo/rakudo/bl​ob/2cd96450af5ee9836b449882ab080fe3​b9ca7d49/src/core/CompUnit.pm#L110 | :$INC = @*INC... and later CREATE-INCLUDE-SPEC(@$INC)
22:43 ugexe i guess is confusing me
22:45 TimToady the @ is unnecessary in the CREATE-INCLUDE-SPEC(@$INC), since the sig for that routine is (@INC), which is not a slurpy, so you can perfectly well bind $INC directly to @INC
22:46 TimToady likewise the first $INC just takes @*INC as a reference already for you
22:47 ugexe hmmm. something funny is going on. inside create-include-spec, that nqp::istype($_, CompUnitRepo::Locally) is returning true when it shouldnt be (and thus calling .short-id which doesnt exists for the values i passed to CompUnit.precomp(:INC("some/path"))
22:48 ugexe but at least i know its not that now
22:49 TimToady sneaky derivation chain to CompUnitRepo::Locally maybe?  istype is not testing ===
22:49 ugexe well im testing the :@INC im passing by iterating each value and doing that nqp check. they return false for all items
22:50 ugexe it happens after passing to CompUnit.precomp(:@INC)
22:50 ugexe No such method 'short-id' for invocant of type 'Str' (or 'IO::Path' depending on what ive tried)
22:50 TimToady are you suggesting that precomp is clobbering @INC?
22:52 ugexe im not sure im smart enough to know what im suggsting :) but if i explicitly pass in an empty array it doesn't happen
22:52 ugexe and the error changes between 'Str' and 'IO::Path' depending on what i populate the array with
22:53 TimToady hmm, I don't understand the :$INC = @*INC, line in the call
22:54 TimToady looks like there's a missing -> before the argument list
22:54 ugexe there are no tests/roasts for that afaik
22:54 TimToady so I have no idea what it thinks it's doing with the --> outside a signature
22:55 TimToady I think you should add a -> before the :$INC = @*INCline
22:56 ugexe the --> Bool is inside the signature though? doesnt that mean it returns a boolean?
22:56 TimToady I don't see a -> in your gist
22:57 TimToady but I have no idea how it could even parse without one
22:57 ugexe correct, just the -->... you said outside a signature i thought you meant you thought the --> was not inside the signature
22:57 ugexe s/...//
22:57 TimToady I don't see a signature there, if there's no ->
22:58 TimToady it's parsing the --> as a negated lambda - -> Bool {
22:59 TimToady m: my $foo; :$foo = 42; say $foo.perl
22:59 camelia rakudo-moar ae6863: OUTPUT«Cannot modify an immutable Pair␤  in block <unit> at /tmp/mp0buXJiRQ:1␤␤»
23:00 TimToady line 109, that currently reads "$out = self.precomp-path,", probably needs to be "$out = self.precomp-path, ->" instead
23:01 timotimo wow. i just watched "Grindhouse: Planet Terror" with three friends. it was quite amazing
23:01 TimToady otherwise lines 110,111, and part of 112 are not in a sinature
23:01 TimToady *sig
23:01 timotimo and now the weekly blog post is going to be "a bit" late again
23:02 ugexe i see. ill give that a shot
23:08 tony-o timotimo: did you watch it intertwined with the tarantino part of the series?
23:08 kbenson joined #perl6
23:10 TimToady m: $_ = 42; s/\d+/xxx/; .say
23:10 camelia rakudo-moar ae6863: OUTPUT«xxx␤»
23:10 timotimo tony-o: please be more precise?
23:12 tony-o timotimo: grindhouse has two movies, one by tarantino and one by rodriguez - when they played in the theaters the movies played in a way that a little bit played from one, switched to the other and played a bit there, until both were done
23:13 timotimo oh
23:13 timotimo i didn't know
23:13 timotimo we only watched the rodriguez part
23:13 timotimo but tarantino had a role in it again and it was also nice
23:13 timotimo and of course there were the "fake" previews for other videos
23:13 timotimo movies*
23:13 tony-o the other one is called death proof
23:14 tony-o they're both pretty good though ^^
23:16 timotimo we're now watching Mystery Science Theater 3000 (the movie)
23:26 ugexe -> gave me X::Syntax::Malformed :(
23:26 ugexe https://gist.github.com/ugexe/471a878e3b85be9d2446
23:27 timotimo can you show more context?
23:27 ugexe as in, more of the build log? or the piece of code i changed
23:28 skids joined #perl6
23:29 timotimo the resulting m-CORE.setting
23:29 timotimo close to the problematic line
23:31 lucasb method precomp(CompUnit:D: $out  = self.precomp-path, :$INC = @*INC, :$force, --> Bool) { ... }
23:31 lucasb ^^ The signature is this one, isn't it?
23:32 ugexe yes
23:32 ugexe except with the '->' added after $out = self.precomp-path
23:32 ugexe (updated the gist to include)
23:33 lucasb to me, it looks like a valid signature *without* the "->"
23:34 ugexe eh me too. timtoady thought it didnt look valid and suggested adding the '->'
23:35 timotimo a ->?
23:35 timotimo how can you have a -> without a { }
23:36 ugexe < TimToady> line 109, that currently reads "$out = self.precomp-path,", probably needs to be "$out = self.precomp-path, ->" instead
23:37 timotimo i'm a bit confused
23:38 timotimo well, --> needs to be inside the ( ... ), but why would it be -> instead?
23:38 ugexe --> *is* inside the ( ... )
23:39 timotimo where can i see the code?
23:39 timotimo more than just a few bytes?
23:41 ugexe https://gist.github.com/ugexe/c9222be​48783d9e81163#file-gistfile1-txt-L29
23:42 timotimo i don't see a method precomp at all
23:42 ugexe CompUnit.precomp passes that :@INC to CREATE-INCLUDE-SPEC, but CREATE-INCLUDE-SPEC incorrectly returns true for nqp::istype($_,CompUnitRepo::Locally); and thus incorrectly calls .short-id on a Str (or IO::Path)
23:42 ugexe $cu.precomp line 29?
23:42 timotimo it's a use, not a declare
23:43 timotimo i have no idea what's even ...
23:43 ugexe its calling the .precomp method on a CompUnit object
23:44 timotimo i thought there was a syntax error?
23:44 BenGoldberg joined #perl6
23:44 ugexe oh i thought you meant the code that led to the discussion between me and timtoady
23:45 ugexe https://github.com/rakudo/rakudo/bl​ob/2cd96450af5ee9836b449882ab080fe3​b9ca7d49/src/core/CompUnit.pm#L109
23:45 timotimo maybe i'm not in a state to make sense of the whole situation
23:45 ugexe all i did was add the '->' as suggested
23:46 BenGoldberg What am I doing wrong here? :
23:46 BenGoldberg m: my Array[Int] @test; @test[0][0] = 1; say 'ok';
23:46 camelia rakudo-moar ae6863: OUTPUT«Cannot look up attributes in a type object␤  in method AT-POS at src/gen/m-CORE.setting:10992␤  in method ASSIGN-POS at src/gen/m-CORE.setting:2197␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3426␤  in block <unit> at /tmp/cnURkN06rr:1…»
23:47 tinyblak joined #perl6
23:48 BenGoldberg Or to put it another way, how can I declare that @test is an Array of Array of Int?
23:49 timotimo hmm, something isn't autovivify ing properly?
23:50 BenGoldberg m: my @test; @test[0][0] = 1; say 'ok';
23:50 camelia rakudo-moar ae6863: OUTPUT«ok␤»
23:50 BenGoldberg m: my Int $anint; say $anint;
23:50 camelia rakudo-moar ae6863: OUTPUT«(Int)␤»
23:50 geekosaur m: my Array[Array[Int]] @test; @test[0][0] = 1; say 'alive';
23:50 camelia rakudo-moar ae6863: OUTPUT«Cannot look up attributes in a type object␤  in method AT-POS at src/gen/m-CORE.setting:10992␤  in method ASSIGN-POS at src/gen/m-CORE.setting:2197␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3426␤  in block <unit> at /tmp/eF0QCb0GKI:1…»
23:51 geekosaur autovivify of array elements seems b0rk?
23:51 BenGoldberg m: my Array[Int] @test; my Int $anint; $anint = @test[0][0];
23:51 camelia rakudo-moar ae6863: OUTPUT«Cannot look up attributes in a type object␤  in method AT-POS at src/gen/m-CORE.setting:10992␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3423␤  in block <unit> at /tmp/GiZgWGP_S3:1␤␤»
23:51 BenGoldberg m: my @test; my Int $anint; $anint = @test[0][0];
23:51 camelia rakudo-moar ae6863: OUTPUT«Type check failed in assignment to '$anint'; expected 'Int' but got 'Any'␤  in block <unit> at /tmp/oJfg8Ch07l:1␤␤»
23:52 BenGoldberg I'm tempted to not declare types, if that's what's going to happen.
23:54 Zoffix joined #perl6

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

Perl 6 | Reference Documentation | Rakudo