»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend!
Set by sorear on 23 June 2013.
00:11 Chillance left
masak 'night, #perl6 00:26
00:29 crab2313 left 00:39 benabik joined 00:43 moritz joined, Guest1337 left 00:46 _ilbot joined, moritz left, _ilbot left 00:50 dayangkun joined 00:53 moritz joined, moritz left 01:02 _ilbot joined, diederich joined, _ilbot left 01:04 ssutch joined
ssutch hello p6 01:04
diakopter howdy 01:05
01:06 ozmq left
ssutch so i am using parameterized 'use' - however, if in the file i am importing i start ith with 'module Foo;' my EXPORT function is not picked up, however, if i remove the module statement, it works as expected 01:07
is that a bug?
01:08 daniel-s left
ssutch if the EXPORT sub in that file is in a module at all (using curly module { our sub EXPORT(*@args) { } }) then it also doesn't work 01:09
Error while importing from 'Foo': no EXPORT sub, but you provided positional argument in the 'use' statement
diakopter method?
ssutch method? 01:10
diakopter (I don't know)
ssutch oh, call it a method instead of sub?
01:10 moritz joined, moritz left
ssutch pmichaud do you have any feedback on rakudo PR 170? github.com/rakudo/rakudo/pull/170 01:11
01:13 _ilbot joined, _ilbot left
ssutch (or anyone, for that matter) 01:13
01:15 moritz joined 01:16 daniel-s joined
diakopter ssutch: there's lots of discussion history on deepness of clones: www.google.com/search?q=site%3Airc...erl6+clone (see the caches while the log is down) 01:16
01:16 moritz left
ssutch interesting, thanks 01:18
01:20 pdurbin joined, moritz joined 01:22 moritz left 01:24 FROGGS_ joined 01:26 FROGGS left 01:30 _ilbot joined, _ilbot left 01:33 xilo left 01:42 _ilbot joined, _ilbot left
ssutch trying to export a symbol within a package in EXPORT - but i must be doing something wrong: gist.github.com/samuraisam/5855270 01:43
01:45 btyler joined 01:47 drbean_ joined
ssutch PB::Hello is never available 01:48
01:48 drbean left, drbean_ is now known as drbean
diakopter namespaces can only be created the parser, afaik 01:53
01:53 moritz joined, moritz left 01:54 ldthien0 joined 02:04 dayangkun left 02:06 dayangkun joined
ssutch d'oh 02:09
02:09 pdurbin left 02:15 _ilbot joined 02:16 moritz joined, _ilbot left, moritz left 02:18 dayangkun left, dayangkun joined
dalek ecza: 43813cf | (Solomon Foster)++ | lib/CORE.setting:
Removing incorrect --> Set.
02:19
02:25 SamuraiJack joined 02:27 moritz joined, moritz left 02:31 user1231 joined 02:37 vk_ left 02:45 atroxaper joined
geekosaur ... 02:45
geekosaur thinks the parrot folks may have some internal issues to work out...
02:46 raiph left, user1231 left 02:47 user1231 joined, _ilbot joined, user1231 left
rjbs I just did a moderation run on the perl.org lists and unfortunately at least one message from that thread was sitting in moderation too long to go out. :( 02:47
02:47 _ilbot left 02:49 moritz joined, ldthien0 left 02:50 moritz left
lue geekosaur: why? (just curious is all) 02:51
rjbs lue: There are some differing opinions about how its future should look, q.v. lists.parrot.org/pipermail/parrot-d...07489.html 02:53
geekosaur dukeleto appears to have told the rest of the parrot project to fork off. (as in "I'm going my way, you do whatever")
02:54 moritz joined 02:55 moritz left
lue was unaware that MoarVM came from m0 02:59
03:00 Jimmy__ joined 03:01 Jimmy__ is now known as JimmyZ_
benabik It's more "MoarVM" achieves the small slim VM idea of M0 03:01
lue I should've guessed that from the phrase "spiritual successor" 03:02
03:02 raiph joined
JimmyZ_ last I heard it of lua/luajit, not m0 03:03
colomon rn: say {}.defined 03:08
camelia rakudo b9869c, niecza v24-83-g43813cf: OUTPUT«True␤»
diakopter geekosaur: there isn't a "rest of the parrot project" 03:09
colomon rn: say {}.perl; 03:11
camelia rakudo b9869c, niecza v24-83-g43813cf: OUTPUT«{}␤»
03:13 shinobicl joined 03:14 JimmyZ_ left
shinobicl r: role Step { sub doStep{ say "One step" } }; class Thing { has $.stuff = 1; }; my Thing $obj .= new(); $obj does Step; say $obj.doStep(); 03:14
camelia rakudo b9869c: OUTPUT«No such method 'doStep' for invocant of type 'Thing+{Step}'␤ in block at /tmp/ko34mrlv44:1␤␤»
shinobicl std: role Step { sub doStep{ say "One step" } }; class Thing { has $.stuff = 1; }; my Thing $obj .= new(); $obj does Step; say $obj.doStep(); 03:16
camelia std d4cc5ab: OUTPUT«ok 00:00 45m␤»
benabik somewhat objects to people saying dukeleto is the only member of parrot. 03:20
benabik also has to admit he has an extreme lack of tuits. 03:21
diakopter benabik: you're right; I shouldn't say that when my definition of "member" is so severe 03:27
colomon anyone know how to get the fudgers to fudge a block which is indented? 03:30
afk # but will check in the morning for answers....
03:31 preflex_ joined, ChanServ sets mode: +v preflex_, preflex left, preflex_ is now known as preflex 03:32 _ilbot joined 03:33 _ilbot left 03:39 phpdude left 03:43 moritz joined, moritz left 03:44 dayangkun left 03:48 moritz joined 03:49 moritz left 03:53 phpdude joined, _ilbot joined, _ilbot left 03:57 phpdude left, phpdude joined 04:01 BenGoldberg left 04:02 phpdude left 04:05 moritz joined, moritz left 04:10 phpdude joined 04:14 phpdude left, phpdude joined, SmokeMachine joined 04:15 _ilbot joined, _ilbot left 04:19 phpdude left 04:20 phpdude joined 04:22 fridim_ left 04:24 phpdude left 04:25 phpdude joined 04:27 Psyche^ joined 04:30 phpdude left 04:31 Patterner left, Psyche^ is now known as Patterner 04:38 _ilbot joined 04:39 _ilbot left 04:43 ldthien0 joined
dalek kudo/nom: 7192039 | labster++ | src/core/ (3 files):
Implement Complex.ceiling, .floor, .round to fix inf recursion

in Complex. This works identically to Mathematica, (other than midpoint rounding, where they round down).
04:49
kudo/nom: 4f2a3c8 | labster++ | src/core/ (3 files):
coerce to real in rounders to make cool-num.t pass
04:50 birdwindupbird joined
labster taking all complaints on ^^ now 04:50
04:57 raiph left 05:02 tomyan joined 05:08 ldthien0 left 05:10 moritz joined, moritz left 05:11 dukeleto left 05:15 moritz joined, _ilbot joined, _ilbot left, moritz left 05:24 btyler left 05:27 domidumont joined 05:34 domidumont left 05:36 domidumont joined 05:42 kaleem joined 05:43 kaleem left 05:48 SmokeMachine left
ssutch it doesn't appear possible at all to create namespaces at runtime 05:49
05:50 ldthien0 joined 05:52 dmol joined
diakopter yeah; since the compiler understands them, they have to be declared before/while the compiler is running 05:55
05:58 moritz joined, moritz left, ecocode joined 06:01 PacoAir joined 06:02 FOAD left, FOAD joined 06:06 PacoAir left, _ilbot joined, _ilbot left 06:09 moritz joined, moritz left 06:13 FROGGS_ left 06:18 xlat joined 06:23 dmol left 06:27 tomyan left 06:38 ozmq joined
ssutch yeah, that's ok 06:38
for these generated classes i can just use a prefix 06:39
06:43 FROGGS_ joined 06:46 _ilbot joined, kaleem joined, _ilbot left 06:51 domidumont left 06:56 eternaleye left 06:57 eternaleye joined 07:00 _ilbot joined, _ilbot left 07:02 FROGGS_ is now known as FROGGS 07:06 domidumont joined 07:07 domidumont left, domidumont joined 07:08 moritz joined, moritz left 07:10 tomyan joined 07:12 sqirrel joined 07:15 tomyan left, tomyan_ joined
ssutch sorear: is this github.com/sorear/niecza/blob/8e50...l.cs#L1154 how niecza does .clone? 07:15
paired with this: github.com/sorear/niecza/blob/2692...s.cs#L2798 07:16
lizmat ssutch: wrt to EXPORT: the sub needs to live in UNIT space, so outside any class definition 07:23
could that be your problem with EXPORT ? 07:24
and good * #perl6!
ssutch lizmat: perhaps; if i use EXPORT simply, it works ok, so if i return a hash containing subs, it's ok
lizmat this is really part of the confusion that surrounds modules / compunits / etc. 07:26
07:29 _ilbot joined 07:30 _ilbot left
sorear ssutch: Yes 07:37
good * #perl6 07:38
ssutch cool
it's a lot easier to understand than rakudo's clone
FROGGS ho sorear 07:39
sorear timotimo: hi
mls: NQP can't be bootstrapped right now without modifications to the makefile, which I haven't done yet 07:40
mls: what do you need to bootstrap for? remember, every time you do it it adds a $lot to the size of the repository and slows down every subsequent clone
07:41 berekuk joined
sorear masak: HoTT has been linked to be before. I'll look at it. Someday. 07:41
jnthn: Consider me started on method splitting.  I've worked out most of the details 07:42
07:42 woolfy left, fhelmberger joined 07:43 _ilbot joined, _ilbot left, sitaktif left 07:45 sitaktif joined 07:54 berekuk left
ssutch more clone tests: github.com/samuraisam/roast/compar...lone-tests 07:55
07:56 bloonix joined
jnthn sorear++ # nice! :) 08:01
08:03 domidumont left
FROGGS why do I need method splitting? 08:05
08:05 domidumont joined, eternaleye left
sorear FROGGS: because methods are limited to 65535 bytes of bytecode, and we have some test files with lots of tests that are currently completely failing because they run into the limit 08:05
FROGGS ahh, I see 08:06
thanks
sorear jnthn: so it looks like I'm adding asm-commons-4.1.jar and asm-tree-4.1.jar into 3rdparty 08:07
ssutch does anyone have any comments on this before i merge it? github.com/samuraisam/roast/compar...lone-tests
*doing dishes whilst rakudo compiles* 08:09
FROGGS ssutch: do the tests pass?
sorear jnthn: ...it appears some smart-aleck decided that it would be a good idea to strip generic signatures in the non-debug library, so we need to either include the debug version of the library or @SuppressWarnings("unchecked") 08:10
08:11 moritz joined, moritz left
diakopter sorear: it was my understanding javac always did that 08:12
ssutch FROGGS: yes, with my patch
FROGGS ssutch: is that in a separate pull request? or is it already merges in? 08:14
merged*
ssutch in a rakudo PR
jnthn sorear: Well, the non-debug version does load faster...
sorear: What are the licenses of the things you're adding? Same as asm itself?
ssutch FROGGS: in this PR, github.com/rakudo/rakudo/pull/170 and ive got a better version of it to push here in a few minutes when spectests finish (assuming they finish properly) 08:15
FROGGS ssutch: k, then please mark the new tests as todo tests, if you can check if these fail for niecza and pugs then mark them as todo for these too
ssutch FROGGS can do 08:16
08:16 eternaleye joined
FROGGS ssutch: in general, you can freely add tests to roast, as long as they dont fail, that's why todo or skip (todo is when they are parseable, skip when not) 08:16
sorear jnthn: they're part of asm. the asm folks seem to have put each package in its own jaer
jnthn sorear: ah, gotcha
FROGGS ssutch++
sorear jnthn: opinions on bundling debug vs SuppressWarnings? 08:17
jnthn sorear: Well, I'm a little reluctant to go a way that makes load time ever longer...
FROGGS SuppressWarnings++ 08:18
08:18 ozmq left
diakopter ENOCHECKS 08:18
oh, I was thinking of jitted code at runtime 08:19
ssutch FROGGS, thanks, that makes sense
diakopter re type erasure
ssutch actually these tests pass on rakudo/nom, and niecza but im not so sure about pugs
it was some previous ones i committed that did not 08:20
08:21 _ilbot joined
dalek ast: 03f61f5 | (Samuel Sutch)++ | S12-attributes/clone.t:
make these classes lexical to be nice to future test writers
08:21
ast: 4937188 | (Samuel Sutch)++ | S12-attributes/clone.t:
test that deep attribute copying does not occur
08:21 _ilbot left, woolfy joined
sorear jnthn: Suspect that requiring two new jars on the runtime classpath is going to be a bit disruptive 08:27
jnthn sorear: Disruptive? 08:28
08:28 dag joined
sorear jnthn: tending to break rakudo's build 08:28
ahaha. the rx.t qb_1 has an estimated size of min=293704 max=320675 08:29
jnthn o.O
sorear clearly needs to be split. 08:30
lizmat afk for a few hours&
FROGGS lizmat: have fun 08:31
diakopter it wouldn't be hard to make moarvm have a 32-bit instruction space when it needs to
08:32 dakkar joined 08:33 moritz joined, moritz left 08:34 eternaleye left 08:35 berekuk joined 08:36 eternaleye joined
ssutch n: my class Foo { has @.omg; }; my $a = Foo.new(:omg<a b c>); my $b = $a.clone; push $a.omg, "nowai"; say "a={$a.perl} b={$b.perl}" 08:41
camelia niecza v24-83-g43813cf: OUTPUT«a=Foo.new(...) b=Foo.new(...)␤»
ssutch n: my class Foo { has @.omg; }; my $a = Foo.new(:omg<a b c>); my $b = $a.clone; push $a.omg, "nowai"; say "a={$a} b={$bl}" 08:42
camelia niecza v24-83-g43813cf: OUTPUT«===SORRY!===␤␤Variable $bl is not predeclared at /tmp/jgm0to2rvR line 1:␤------> e; push $a.omg, "nowai"; say "a={$a} b={⏏$bl}"␤␤Potential difficulties:␤ $b is declared but not used at /tmp/jgm0to2rvR line 1:␤------> …
sorear jnthn: do you think switching would have that noticable of an effect on startup time? we're using hundreds of unstripped classes from rt.jar...
ssutch n: my class Foo { has @.omg; }; my $a = Foo.new(:omg<a b c>); my $b = $a.clone; push $a.omg, "nowai"; say "a={$a.omg} b={$b.omg}"
camelia niecza v24-83-g43813cf: OUTPUT«a=a b c nowai b=a b c nowai␤»
ssutch is that correct? altering the array on the original should update the copy? 08:43
08:43 _ilbot joined
sorear ssutch: Well, there's only one array... 08:43
it's not like you ever called .clone on an Array object 08:44
08:44 moritz joined
ssutch yes, ok 08:44
that was my thinking
jnthn sorear: I recall comparing the NQP "make test" times between the two and getting a fairly sizable difference. Feel free to repeat the experiment; maybe I mis-measured.
08:46 eternaleye left, _ilbot left, moritz left, salv0 left 08:48 eternaleye joined 08:49 moritz joined, moritz left 08:51 fhelmberger left
sorear jnthn: i wonder if adding two jars wuldn't be just as bad 08:51
dalek ast: 57029c6 | (Samuel Sutch)++ | S12-attributes/clone.t:
yet more clone tests => ensure against deep copy of array/hash attributes
08:53
08:53 eternaleye left
jnthn sorear: Not sure; they're independent decisions, though? 08:53
dalek p/flush_cache: 33a807f | (Tobias Leich)++ | src/how/NQPClassHOW.nqp:
flush an objects cache when mixin in

  ... if this object already is an mixin. Otherwise when mixin in
several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB.
   compiling it to pbc took 49s now takes 0.8s.
08:54
08:54 _ilbot joined
sorear jnthn: the debug jar includes all the packages 08:54
08:54 tomyan_ left
jnthn sorear: Oh! 08:54
08:54 _ilbot left
jnthn sorear: No wonder the size difference was so much! 08:55
08:55 eternaleye joined
sorear may be writing a bytecode verifier. 08:56
dalek kudo/flush_cache: 9009440 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp:
flush an objects cache when mixin in

  ... if this object already is an mixin. Otherwise when mixin in
several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB.
   compiling it to pbc took 49s now takes 0.8s.
08:58
FROGGS jnthn: can I merge it in right away? 08:59
sorear why is imcc superlinear? (dumb question)
"because it's imcc"
08:59 moritz joined, moritz left 09:00 eternaleye left
jnthn FROGGS: lemme review quicly 09:01
FROGGS: passes all the specets,s eys?
ffs
FROGGS: passes all the spectests, yes?
ssutch okay, this is more sane now: github.com/rakudo/rakudo/pull/170/files 09:02
jnthn + method flush_cache($obj) { <...> }
<...> will actually return the string '...' :)
Better that's just an empty method body.
+ has $!is_mixin; 09:03
no, wait, it's fine
I'm a bit surprised it's not being initialized anywhere else 09:04
09:04 moritz joined
jnthn Like, set to 0 in BUILD 09:04
FROGGS jnthn: spectests are fine
jnthn ok
FROGGS hmmm, I can do that...
jnthn OK. That aside I think I'm happy enough with it :) 09:05
FROGGS cool :o)
09:08 eternaleye joined 09:09 ozmq joined 09:11 _ilbot joined, bbkr left 09:13 eternaleye left
moritz oh hai. the clogs are back, with ipv4 only :/ 09:19
sorear hi moritz 09:20
moritz: let me know when you want the topic changed back 09:21
moritz sorear: you can change it back now
jnthn
.oO( When will ipv6 be finished? )
09:21 ChanServ sets mode: +o sorear
tadzik jnthn: it's for early adopters ;) 09:22
sorear »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! 09:22
09:23 sorear sets mode: -o sorear
sorear it's going back to collabti if I hear any complaints about reliability 09:23
jnthn tadzik: Yes, but is it production readY? ;) 09:24
moritz it's for early producers! 09:30
09:31 rindolf joined
mls sorear: it turned out that the Makefile just needs a "/nqp.jar" in the STAGE0_NQP definition 09:33
09:34 daxim joined
mls sorear: I'm removing that "priorInvocation" element from the StaticCodeInfo 09:35
sorear mls: um 09:47
I asked jnthn earlier if that was still needed, and he said yes
mls yes, it is currently needed. That's why I'm also removing the need for it. 09:48
jnthn I'm presuming mls means "removing it by replacing what it does with a different/better mechanism"
mls I did that two years ago for parrot, I don't see why it can't be done for the jvm.
sorear curious what the replacement is :) 09:49
jnthn too :)
mls++ # looking into removing a memory leak
mls It's basically just capturing the outers previously
I almost have it working, when nqp passes again I'll paste a patch and we can discuss if it's totaly insane or the way to go ;) 09:51
09:51 SmokeMachine joined
mls (it's not only a memory leak, it's also that I don't think it can work with multiple threads. Why should it matter for a different thread of one thread calls a sub?) 09:52
jnthn mls: Yes, it's also a problem for that. 09:53
sorear now for the part where I actually write a verifier
jnthn mls: Which will be important soon :)
09:53 domidumont left, eternaleye joined
jnthn wonders if he will actually have time to do any of the parallelism/concurrency stuff ahead of YAPC::EU... 09:54
09:56 spider-mario joined 09:58 ldthien0 left, eternaleye left 09:59 berekuk left, eternaleye joined 10:01 domidumont joined 10:03 ozmq left, berekuk joined 10:05 domidumont left 10:10 domidumont joined 10:11 domidumont left, domidumont joined
dalek p/flush_cache: fc95a49 | (Tobias Leich)++ | src/how/NQPClassHOW.nqp:
initialize $!is_mixin in method BUILD
10:25
p: 33a807f | (Tobias Leich)++ | src/how/NQPClassHOW.nqp:
flush an objects cache when mixin in

  ... if this object already is an mixin. Otherwise when mixin in
several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB.
   compiling it to pbc took 49s now takes 0.8s.
10:26
p: fc95a49 | (Tobias Leich)++ | src/how/NQPClassHOW.nqp:
initialize $!is_mixin in method BUILD
kudo/flush_cache: 8f8f134 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp:
have an empty method decl
10:28
moritz FROGGS++ 10:29
dalek kudo/nom: 9009440 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp:
flush an objects cache when mixin in

  ... if this object already is an mixin. Otherwise when mixin in
several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB.
   compiling it to pbc took 49s now takes 0.8s.
kudo/nom: 8f8f134 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp:
have an empty method decl
FROGGS :o)
SPAM\o/
moritz double karma for that (Tobias Leich)++ guy 10:30
FROGGS *g*
10:33 pecastro joined 10:35 berekuk left, atroxaper left 10:38 Stygia joined
timotimo hello 10:56
lizmat timotimo! 10:57
timotimo oh no, did i do something wrong? :P 10:58
jnthn yeah, you said "hello", dammit :P 10:59
sorear suddenly realizes that it might be better to copy the almost-but-not-quite verifier from MethodWriter and modify that
jnthn sorear: Why the verifier, ooc? To make sure the splitting doesn't go wild?
sorear: Or 'cus you're tired of code-gen errors showing up as NullPointerException? ;) 11:00
sorear jnthn: I can't split properly unless I know what the types on the stack are. 11:01
jnthn sorear: ah, I see
sorear unfortunately, the MethodWriter verifier is... really tightly integrated with other stuf 11:02
jnthn wonders how many more tests sorear++ will win us with the splitting :) 11:03
sorear stores scratch values in package-private fields on Label, etc
jnthn Given that it will enable us to attempt some of the large test files we currently can't :D
Oh, ouch
11:03 Chillance joined
masak good afternoon, #perl6 11:04
sorear o/ masak
lizmat masak! 11:05
jnthn o/ masak
lizmat I think FROGGS++ changes cause the PIR stage to go from Stage pir from 9.105 to 5.669 seconds
11:06 eternaleye left
masak FROGGS++ # a really good point made on parrot-dev 11:06
lizmat percentage wise a great win… alas, not much in the grand scheme of 6 minutes to do a make on my machine 11:07
running spectest now 11:08
11:11 cogno joined
timotimo that's still a good thing :) 11:11
perhaps it also causes the setting to become smaller, i'd like that really much
11:14 berekuk joined
lizmat ls -lsh CORE.setting.pbc 11:17
33776 -rw-r--r-- 1 liz liz 16M Jun 25 13:00 CORE.setting.pbc
timotimo that's not much smaller, i think it was 17M once?
the majority is still small integers being stored in big memory locations 11:18
lizmat an older settings.pbc: 28864 -rw-r--r-- 1 liz liz 14M May 31 18:32 CORE.setting.pbc
11:18 eternaleye joined
timotimo could that be caused by fewer things implemented? it's not that old ... 11:19
11:20 benabik left
lizmat I have no idea… I know I added quite some code for handling adverbs on hash slices 11:20
timotimo shrugs 11:22
11:30 salv0 joined
lizmat S11:206 states: "The C<need> declarator takes a list of modules and loads them" but doesn't show an example 11:32
r: use Test Test # doesn't work
camelia rakudo 8f8f13: OUTPUT«===SORRY!===␤Could not find sub &Test␤»
lizmat r: use Test, Test # doesn't work
camelia rakudo 8f8f13: OUTPUT«===SORRY!===␤Confused␤at /tmp/pq5pGtijMv:1␤------> use Test⏏, Test # doesn't work␤ expecting any of:␤ statement list␤»
lizmat so I'm wondering what a list of modules would look like in this context 11:33
FROGGS ohh, all that karme R-)
karma*
std: need Test, Test;
camelia std d4cc5ab: OUTPUT«Compiled lib/Test.pm6␤ok 00:00 43m␤» 11:34
FROGGS interesting output
std: need Test;
camelia std d4cc5ab: OUTPUT«ok 00:00 41m␤»
FROGGS std: need Test, Test, Test;
camelia std d4cc5ab: OUTPUT«ok 00:00 41m␤»
11:34 potatogim left
FROGGS std: need Test, Test; 11:34
camelia std d4cc5ab: OUTPUT«ok 00:00 41m␤»
FROGGS ahh, it did it once
lizmat actually, the comma syntax is shown a bit later in the spec 11:35
*sigh*
sorry for the noise 11:36
on the brighter side: the spectest just came out ok
FROGGS np, we have this room for makes noise :o)
11:37 ztt_ joined
lizmat at +16 clone tests, it used 55 CPU seconds more than the one I did just before 11:38
so no visible effect for the spectest :-(
FROGGS making*
bah, I really need to start learning how to type
11:42 fhelmberger joined, ztt_ left
moritz typing is roverrated 11:43
FROGGS yaeh :/ 11:44
lizmat idneed
11:44 Stygia left
lizmat r: my $x=1; sub a { import CALLER <$x>; say $x }; a # shouldn't this work? 11:49
camelia rakudo 8f8f13: OUTPUT«===SORRY!===␤Could not find module CALLER to import symbols from␤at /tmp/kZOiDQcAKl:1␤------> my $x=1; sub a { import CALLER <$x>⏏; say $x }; a # shouldn't this work?␤ expecting any of:␤ postfix␤»
11:49 Stygia joined
lizmat n: my $x=1; sub a { import CALLER <$x>; say $x }; a # shouldn't this work? 11:49
camelia niecza v24-83-g43813cf: OUTPUT«===SORRY!===␤␤Action method statement_control:import not yet implemented at /tmp/qXWYCBhSYx line 1:␤------> my $x=1; sub a { import CALLER <$x>⏏; say $x }; a # shouldn't this work?␤␤Unhandled exception: Unable to resol…
jnthn Given CALLER is a rather runtime thing, and import happens at BEGIN time, it looks odd to me.
lizmat r: my $x=1; sub a { my $y:= $CALLER::x; say $y }; a # this works 11:50
camelia rakudo 8f8f13: OUTPUT«1␤» 11:51
jnthn Yes, but there it's resolved at runtime when we know what the caller is
timotimo FROGGS: i've typed much better since i learnt to type neo2, maybe you'll find it interesting, too?
lizmat I think I'll throw away the section "Importing from a pseudo-package" from S11
jnthn OUTER makes more sense
as does GLOBAL
But CALLER is...kinda odd
Unless it means "set a lexical $x up and arrange CALLER::<$x> to be bound to it 11:52
"
FROGGS timotimo: omfg
jnthn But that again feels odd as import does its binding at BEGIN time in normal circumstances, so it'd have to be a weird special case.
Thanks to closures, so would OUTER... 11:53
11:55 Stygia left
timotimo what facility is used to parse the pod of the documentation synopsis? how is it fed to Pod::To::HTML? 11:55
lizmat jnthn: I've removed that section from my version of S11
timotimo does it use the actual pod objects from src/core and the parser in Grammar and Actions?
jnthn timotimo: Believe so, yes 11:56
moritz only S26 is processed by Pod::To::HTML 11:57
timotimo good. i'll poke at it for a bit to hopefully make the documentation synopsis somewhat more readable
yes, that part i know :)
moritz ok :-)
11:57 atroxaper joined
timotimo i think one part to the puzzle is that cells in tables are not parsed for markup contents 11:58
unfortunately, for many parts i don't know wht the result is suppoded to look like. should it say =R<BLOCK_TYPE> R<BLOCK DATA> \n R<MORE BLOCK DATA>? or should those R<...> be turned into some kind of markup? 11:59
colomon I asked last night, but there was no log and there's been so much traffic today (yay!) it's no longer in my IRC scrollback buffer: 12:00
timotimo and in =Z<>begin code :!nested that Z<> is probably supposed to have disappeared? 12:01
colomon How do you fudge skip a block of code which is indented?
moritz you outdent the block
or you patch fudge
(at least that was the state when I tried it the last time)
timotimo i'm kind of annoyed that the ":allow" configuration option that's used throughout S26 is not actually specified in S26 :( 12:02
i can only guess that :allow<B> means, that any B<...> inside should be echoed out as plain text, yes?
moritz as bold text 12:03
12:03 cogno left
timotimo oh, so it means "inside this block, normally B<...> would be echoed as plain text, but please turn it into bold text instead"? 12:03
oh, it *is* mentioned in there, but it doesn't have a heading 12:04
moritz correct
timotimo fixes
hm. i already generated the html files once, but i don't know how to do it again; especially with the S26 one ... 12:06
it's probably somewhere in perl6/mu 12:07
moritz S26 is just genrerated with perl6 --doc=html S26-*.pod > S26.html
(and manually at that; there's no cron job that does it) 12:08
timotimo oh? that's easy :)
does that use the Pod::To::HTML package that can be found on modules.perl6.org? 12:09
hm. =begin defn \n C<:allow> \n \n One single paragraph \n \n =end defn; this should be the same as =defn C<:allow> \n \n One single paragraph \n \n; right? 12:11
maybe i should fix the parsing code instead of the documentation source in this case.
or is that only supposed to work if the single paragraph is indented perhaps?
timotimo reads the docs he's supposed to be fixing 12:13
moritz timotimo: normally all C<...> are allowed, so :allow only applies to blocks that are normally parsed verbatim 12:15
timotimo that's what i meant, yes :) 12:16
colomon moritz++ # knew that worked, hoped there was a better way...
timotimo so, :allow is a configuration that really ought to be recognized in Grammar and/or Actions, not just in ::To::HTML
moritz timotimo: correct 12:17
timotimo digs
moritz timotimo: speaking of parsing: parsing of nested B< ... C<..> ... > constructs and the like also needs fixing :-)
dalek ast: 6f9f8ea | (Solomon Foster)++ | S32-list/categorize.t:
Refudge for Niecza.
12:19
timotimo that may or may not be easier
the pod grammar pieces seem somewhat harder to read than the rest of the perl6 grammar :|
dalek ecza: 19355dd | (Solomon Foster)++ | lib/CORE.setting:
Port lizmat++'s categorize to Niecza.
pmichaud timotimo: I wonder if that's related to the fact that pod6 describing pod6 is harder to read than "normal" pod6. 12:20
timotimo with grammar pieces i meant the actual contents of Grammar.nqp, though :) 12:21
pmichaud yes, I took it that way.
it might be more difficult because there are fewer keywords involved. I dunno -- I'll look again someday. 12:23
lizmat colomon: is "self{$k} //= [];" needed on niecza? 12:25
colomon lizmat: yes 12:26
FROGGS timotimo: the nibbler does the nested structure parsing pretty well and easy...
lizmat ok, I was surprised to see them again, as I removed those from the rakudo version
timotimo at the moment there's $*ALLOW_CODE which is either 0 or 1; maybe it should become @*ALLOWED_CODES or at least get that in addition to make :allow work 12:27
colomon lizmat: I suspect that means the rakudo version originally borrowed that code from the niecza version. ;)
lizmat could well be, nice example of cross-pollination 12:28
FROGGS timotimo: where is that grammar?
colomon lizmat: a lot of the setting stuff goes back and forth
timotimo FROGGS: Grammar.nqp starting at line 487 12:29
FROGGS ahh, yes, of course
colomon lizmat: took me a bit to convince myself that having it as a modifying method for Hash made sense. But I'm pretty convinced now. lizmat++
12:29 btyler joined
lizmat especially being able to run .categorize multiple times on the same hash, makes a lot of sense to me 12:30
especially in situations where you're getting chunks to process
timotimo that's something i hadn't even thought of, and is a good point. lizmat++
lizmat also in async situations, having multiple threads work on the same hash 12:31
dalek : b244fe4 | (Tobias Leich)++ | / (4 files):
refactor P5 ops
12:34
: f9bdb0b | (Tobias Leich)++ | t/test_summary:
generate RGRESSIONS file
12:35 konundra joined, btyler left
sorear sleep& 12:40
jnthn 'night, sorear 12:41
timotimo :allow is only needed for verbatim blocks, so i don't have to worry about nesting, right?
because inside a block that would need :allow, another block wouldn't be parsed as a "block" anyway? 12:42
FROGGS gnight sorear 12:48
12:48 FROGGS left
timotimo froggs went to bed early today o_O 12:50
lizmat timotimo: I guess you meant sorear ?
I guess 5:40 am qualifies as early :-) 12:51
timotimo no, i meant froggs, but i was being facetious 12:53
12:55 fridim_ joined 13:00 sqirrel left
timotimo made some codes, now prays that it will compiles 13:00
i have quite a bit of repetition in there, i think i have to change something, but what? :| 13:01
13:02 dayangkun joined
timotimo if i :my $*SOMETHING := $*SOMETHING; and make changes inside the token/rule/whatevs and it falls out of the scope, the changes will be reverted, yes? that should make my code quite a bit prettier. 13:05
but first it all has to work.
13:06 Woodi joined 13:07 ajr joined 13:08 ajr is now known as Guest46471, Guest46471 is now known as ajr_
Woodi r: "4" ~~ /<[1..31]>/; 13:10
camelia rakudo 8f8f13: ( no output )
Woodi r: say "4" ~~ /<[1..31]>/;
camelia rakudo 8f8f13: OUTPUT«Nil␤»
jnthn That parses as <[1..3 1]> 13:11
It's a character range, not a number range.
Woodi I thinked '..' is united :)
jnthn r: say "4" ~~ /(\d+) { $0 ~~ 1..31 }/ # may do it 13:12
camelia rakudo 8f8f13: OUTPUT«「4」␤ 0 => 「4」␤␤»
jnthn r: say "41" ~~ /(\d+) { $0 ~~ 1..31 }/ # may do it
camelia rakudo 8f8f13: OUTPUT«「41」␤ 0 => 「41」␤␤»
jnthn Oh...
13:12 fridim_ left
timotimo you may want to + that? 13:12
jnthn r: say "41" ~~ /(\d+) { +$0 ~~ 1..31 }/ # may do it
camelia rakudo 8f8f13: OUTPUT«「41」␤ 0 => 「41」␤␤»
jnthn r: say "41" ~~ /(\d+) { say +$0; $0 ~~ 1..31 }/ # may do it
camelia rakudo 8f8f13: OUTPUT«41␤「41」␤ 0 => 「41」␤␤»
timotimo ah!
jnthn r: say 41 ~~ 1..31 13:13
camelia rakudo 8f8f13: OUTPUT«False␤»
timotimo that's weird. why is it a pair?
oh, it's not even.
jnthn It wasn't, that's the match output
timotimo you forgot to + a second time
jnthn r: say "41" ~~ 1..31
camelia rakudo 8f8f13: OUTPUT«False␤»
jnthn oh!
r: say "41" ~~ /(\d+) { +$0 ~~ 1..31 }/ # may do it
camelia rakudo 8f8f13: OUTPUT«「41」␤ 0 => 「41」␤␤»
jnthn No...
timotimo (+$0)?
r: say "41" ~~ /(\d+) { (+$0) ~~ 1..31 }/
camelia rakudo 8f8f13: OUTPUT«「41」␤ 0 => 「41」␤␤»
timotimo nopes.
jnthn Nah, precedence doesn't work like that 13:14
timotimo of course not
jnthn wtf
r: say "41" ~~ /(\d+) { 1 <= $0 <= 31 }/ # may do it
camelia rakudo 8f8f13: OUTPUT«「41」␤ 0 => 「41」␤␤»
Woodi 41 > 31 ?
jnthn Oh!!!!
duh duh duh
timotimo oh
hahaha
<?{ ... }> please
jnthn r: say "41" ~~ /(\d+) <?{ $0 ~~ 1..31 }>/ # may do it
camelia rakudo 8f8f13: OUTPUT«「1」␤ 0 => 「1」␤␤»
dalek ecs: 4425736 | (Elizabeth Mattijsen)++ | S11-modules.pod:
My attempt at unslushing S11

Highlights:
  - Introduce the "unit" statement, with :auth, :ver and :created adverbs
  - Emphasize the use of compilation unit, or "compunit"
  - Remove "auth" and "ver" from package like statements
  - Remove section "Importing from a pseudo-package"
  - Try to disambiguate "module" and "package" into "distribution",
   "compunit" and "namespace"
  - various other tweaks
jnthn lol, and then it backtracks :P
r: say "41" ~~ /(\d+:) <?{ $0 ~~ 1..31 }>/ # may do it
camelia rakudo 8f8f13: OUTPUT«「1」␤ 0 => 「1」␤␤»
timotimo hehe :)
jnthn And that's scanning 13:15
r: say "41" ~~ /^(\d+:) <?{ $0 ~~ 1..31 }>/ # may do it
camelia rakudo 8f8f13: OUTPUT«Nil␤»
jnthn r: say "21" ~~ /^(\d+:) <?{ $0 ~~ 1..31 }>/ # may do it
camelia rakudo 8f8f13: OUTPUT«「21」␤ 0 => 「21」␤␤»
jnthn finally
:/
lizmat has now unslushed S11 and is waiting for the barrage of comments
and possible revert :-)
jnthn lizmat: OMG WHAT HAVE YOU DONE?
;)
timotimo lizmat: not having looked at it: nice work :)
jnthn will read it later :)
13:15 PacoAir joined
jnthn lizmat++ # S11 needed unslushing quite badly 13:15
Woodi thanx jnthn++ 13:16
masak lizmat++
PerlJam lizmat++ 13:17
masak though I don't believe "unslushing" is a single action. I believe it happens over a longer period of time.
lizmat looking at the diff now, I see some small errors, but will wait with fixing this
PerlJam lizmat: I don't understand "Such a directory can be marked as not allowing installed compunits" enough (github.com/perl6/specs/commit/4425736dd2#L0R54) 13:18
lizmat the idea behind that is that directories in which you are developing
you will never want to install compunits in there 13:19
directories like "." and "lib"
maybe I should emphasize the difference with loading an installed compunit and an uninstalled one 13:20
s/uninstalled/not installed/
timotimo wowsers
Unable to checkout '6f278c68d77080d889e09cba1cd7a0e8f1632c34' in submodule path 'ext/File__Tools'
[1] 26301 segmentation fault (core dumped) ./bootstrap.pl
lizmat I specifically wanted to decouple the "magic" directory "." from only having development versions of compunits 13:21
PerlJam lizmat: yeah, I guess I'm having trouble with that very thing. What does it mean to be "installed"? That is shows up in a meta-info database?
lizmat installed means that some kind of installer has installed the compunit from a distribution
timotimo oh, actually *everything* is coredumping at the moment 13:22
lizmat and that its meta-information is recorded in a "database" living inside the directory in which it was installed
timotimo everything containing pod, perhaps.
lizmat I'm specifically vague here, because I don't want to enforce my implementation ideas into the spec 13:23
PerlJam lizmat: fair enough
13:24 kingbeast joined
timotimo pod_configuration makes a serialized hash object, but i'd like to access the hash content in the grammar after pod_configuration is done; do i need to deserialize that? :| 13:25
that seems pretty wasteful
jnthn I think some of the Pod code was done before we had real BS 13:26
tadzik I don't think so
jnthn So simplifications may well be possible
tadzik but you probably know better :)
timotimo ah, so the serialize_object stuff can just be removed and it'll continue to work perhaps?
jnthn Well, before we used to have to build QAST to reconstruct objects 13:27
True serialization removed that need.
tadzik I wrote Pod code after that
jnthn Really? I thought you wrote it the summer when nom was still coming to be, and I did the full serialization stuff the Feb or so after that? :)
Maybe I misremember.
tadzik hmm 13:28
timotimo so there should be something that can remove serialize_object(...).compiletime_value?
tadzik maybe we talk about different hings
timotimo compile_time_value*
tadzik but I remember that at first I wanted to construct PAST which would evaluate at runtime
but you were already working on BS so I thought I'd wait, and then moved everything to nom
jnthn We certainly had QAST::WVal and serialization contexts before the bull blown BS 13:35
*full blown
....ouch!
13:36 btyler joined
lizmat full blown BS ? 13:36
Is that something Scrum like ?
timotimo all that BS everywhere :|
[Coke] ssutch: don't worry about implementations you can't run when adding tests. They may not run the file in question, and we'll catch them the next day on the daily run. 13:37
JimmyZ Good evening... 13:40
13:43 Guest1337 joined
timotimo i think i just made it worse ... :( 13:44
13:45 colomon left, skids joined
timotimo Pod documents are specified using {Pod::FormattingCode<-4940668745965231836>.type} - yup, i broke it. 13:48
13:51 bluescreen10 joined
timotimo i'm not sure where i'd need to interface the pod objects with World and WVal nodes 13:52
huh, there already are mentions of the world object 13:53
JimmyZ Good evening... 13:56
oops..
timotimo good evening again :)
JimmyZ irssi--, I just want to switch next window 13:57
moritz ctrl+n 13:58
sjn lizmat: The sentence "You can use C<our module> to explicitly declare a module in the current namespace (or module, or class)" in your S11 update may need some tlc... :-)
(line 136 after your changes are applied) 13:59
JimmyZ I can't use ctrl+n in Xshell 4 14:00
lizmat sjn: noted
14:01 snarkyboojum joined 14:02 woosley1 joined
moritz JimmyZ: /window next works too :-) 14:02
JimmyZ yes.. I'm using it :)
14:05 jercos_ joined, prammer joined 14:09 Hor|zon_ joined
lizmat cycling& 14:11
14:11 drbean left, arlinius left 14:16 cognominal left, drbean joined, arlinius joined, lee_ joined 14:17 colomon joined 14:20 arlinius left 14:23 salv0 left 14:24 colomon left 14:26 PacoAir left 14:29 salv0 joined, drbean_ joined 14:30 drbean left, lee_ left, drbean_ is now known as drbean 14:31 woosley1 left 14:33 salv0 left 14:35 salv0 joined, lee_ joined
masak a nice Haskell-perspective take on threads: www.haskellforall.com/2013/06/from-...in-33.html -- HN discussion: news.ycombinator.com/item?id=5937899 14:38
timotimo i don't think i really understand what's going wrong :|
14:38 cognominal joined
GlitchMr rn: say pick * 14:39
camelia rakudo 8f8f13: OUTPUT«Nil␤»
..niecza v24-84-g19355dd: OUTPUT«␤»
GlitchMr I'm not sure whatever pick(*) should return Nil.
I ask it to shuffle empty list, so I should get empty list.
masak hm, I think I agree. 14:40
GlitchMr Not list that doesn't exist.
14:40 MrMeek-afk joined
masak rn: say ().pick(*) 14:40
camelia rakudo 8f8f13: OUTPUT«Nil␤»
..niecza v24-84-g19355dd: OUTPUT«␤»
GlitchMr rn: sub prefix:<sort randomly> { pick *, @_ }; say sort randomly 3, 1, 4, 1, 5, 9, 2, 6, 5, 3; 14:43
camelia rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«3141592653␤»
GlitchMr I
14:43 fhelmberger_ joined
GlitchMr I've a feeling it sorts @_ itself 14:43
rn: sub prefix:<sort randomly> { pick *, [,] @_ }; say sort randomly 3, 1, 4, 1, 5, 9, 2, 6, 5, 3;
camelia rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«3141592653␤»
GlitchMr rn: sub prefix:<sort randomly> { @_.pick(*) }; say sort randomly 3, 1, 4, 1, 5, 9, 2, 6, 5, 3;
camelia rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«3141592653␤»
14:44 cosimo_ joined 14:45 kshannon_ joined, sivoais joined
GlitchMr rn: say ([,] 1, 2, 3, 4).perl 14:45
camelia rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«(1, 2, 3, 4)␤»
GlitchMr Oh, right, I forgot it's chain operator.
So I won't get (((1, 2), 3), 4) or anything silly like that. 14:46
14:49 ecocode` joined, fhelmberger left, kaleem left, birdwindupbird left, ssutch left, cosimo left, MrMeek left, araujo left, kshannon left, MrMeek joined, arlinius joined 14:50 MrMeek-afk left, dalek left, sivoais left 14:51 dalek joined, ChanServ sets mode: +v dalek 14:52 ecocode left 14:53 konundra left, konundra joined 14:54 GlitchMr left, GlitchMr joined, sivoais joined 14:55 kaleem joined 14:56 araujo joined 14:57 birdwindupbird joined
masak GlitchMr: technically it's "list associativity", not "a chain operator". "chain associativity" is for things like infix:<eq> which do comparisons. 15:01
jnthn
.oO( are the tests for chain associativity doing chain smoking? )
15:02
15:04 xlat left 15:07 ecocode` left 15:11 jeff_s1 left 15:29 snearch joined 15:42 breinbaa1 joined, breinbaa1 left
dalek ecs: 2341bcf | (Stéphane Payrard)++ | S11-modules.pod:
Minor Spelling and formatting changes

I suppose this does not warrant changing the version number.
15:44
15:44 Woodi_ joined, rjbs- joined, BinGOs_ joined, Maddingu1 joined, Lorn_ joined, avarab joined, avarab left, avarab joined 15:46 daxim left, Timbus left, Woodi left, cotto left, breinbaas left, Maddingue left, BinGOs left, rjbs left 15:48 kaleem left 15:52 breinbaas joined 15:53 cotto joined 15:54 btyler_ joined, domidumont left 15:56 btyler left 16:00 SamuraiJack left
mls All tests successful. \o/ 16:01
masak time to write more tests!
16:03 vk joined 16:08 xilo joined, kaleem joined 16:10 snearch left 16:11 Maddingu1 is now known as Maddingue 16:13 daxim joined, Timbus joined, dag left, hypolin joined 16:15 woolfy1 joined, FOAD_ joined, kshannon joined 16:16 DrEeevil joined, moritz_ joined 16:17 prammer_ joined, telex left, telex joined, betterwo1ld joined 16:18 Util_ joined, logie_ joined, chayin_ joined 16:19 cooper_ joined, woolfy left, kshannon_ left, FOAD left 16:20 mtk left, bonsaikitten left, sftp left, woosley left 16:21 prammer left, moritz left, cooper left, logie left, chayin left 16:22 Chillance left, FOAD_ is now known as FOAD, Chillance joined, Hor|zon_ left, sftp joined, woosley joined, Hor|zon joined, mtk joined, Celelibi joined 16:23 SamuraiJack joined 16:24 konundra left
dalek ast: 0cb4df8 | coke++ | S12-attributes/clone.t:
pugs fudge
16:25
16:29 fhelmberger_ left 16:30 SamuraiJack left 16:34 daxim left, kaleem left
timotimo Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("This is ", Pod::FormattingCode.new(type => "C", config => ().hash, content => Array.new("A ", Pod::FormattingCode.new(type => "I", config => ().hash, content => Array.new("Amazing")), " Test!")), " for reals;"))))) 16:36
that seems like it worked
r: say "have a newline on the house!" 16:38
camelia rakudo 8f8f13: OUTPUT«have a newline on the house!␤»
timotimo thanks, camelia
r: =begin pod␤This is C<an amazing I<test> for reals> yeah␤=end pod␤say $=pod.perl;
camelia rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("This is ", Pod::FormattingCode.new(type => "C", config => ().hash, content => Array.new("an amazing ", Pod::Formatti
timotimo oh, that *always* worked
16:39 FROGGS joined, ssutch joined 16:41 atroxaper left
cognominal sent a pull request for a rakudo typo 16:42
so much work for changing one character :(
timotimo hehe. 16:44
16:44 PacoAir joined 16:45 alester left
cognominal I think I have a pull request pending on nqp 16:46
timotimo there's a function that works just like say, but outputs to stderr, right? 16:49
cognominal timotimo, note 16:50
I don't know why it is not called "err" 16:51
timotimo mhm
cognominal github.com/rakudo/rakudo/blob/nom/.../IO.pm#L15
TimToady because not all notes are errors 16:52
stderr can also be used for informational messages, such as traces 16:53
cognominal it prints to $*ERR nevertheless
masak and usage messages.
cognominal often, I err on checky ground. 16:54
masak you mean "for debugging reasons"? 16:55
cognominal s/in/on/ ?
16:55 DAAWB73 joined
FROGGS lizmat++ # unslushing S11 16:57
timotimo r: =begin pod␤ Foo! Z<inline comment> Bar!␤=end pod␤say $=pod.perl;
camelia rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Code.new(allowed => Array.new(), config => ().hash, content => Array.new("Foo! Z<inline comment> Bar!")))))␤»
timotimo r: =begin pod␤Foo! Z<inline comment> Bar!␤=end pod␤say $=pod.perl; 16:58
camelia rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("Foo! ", Pod::FormattingCode.new(type => "Z", config => ().hash, content => Array.new("inline comment")), " Bar!"))))…
timotimo ah, so the Z is visible to the converter. interesting.
FROGGS lizmat: atm I agree to all modifications 16:59
16:59 user1231 joined
TimToady atm I am still rather uncomfortable with the file/directory-centric view of identity 17:00
17:01 dakkar left
TimToady would prefer that official units, being immutable, have value semantics that are more independent of their containers 17:02
but I'll need to read more and think more 17:03
diakopter TimToady: have you looked at lizmat's proposed new S11?
oh, is that what you're talking about
masak TimToady! \o/ diakopter! \o/
FROGGS I dont see a file/directory-centric view of identity 17:04
TimToady The Gettysburg Address is not defined by which directory it's stored in
"Therefor, an authoritative "database" of meta-information of installed compunits is needed in those directories that contain installed compunits." 17:05
I would buy that if it said "for" rather than "in"
but this presumes the metadata has to live in the directories
FROGGS TimToady: the directories are the vendor/perl/site/home where the installer database is stored, it is not about the dirs where .pm files might be 17:06
17:06 ajr_ left 17:07 ajr joined, ajr left
TimToady it doesn't even have to be in files anymore 17:07
FROGGS true, can be slurped from your twitter account on demand :P
and then you have dirs for dev modules, these will work exactly like modules/units/whatever work now 17:08
TimToady it's like a git hash, and you don't care how git stores it
FROGGS right, the installer creates some sort of database, and the moduleloader must be able to read that
and maybe you have different backends for dist storage 17:09
[Coke] I know lots of people who care about how git does it, because it's wrong! WRONG THEY TELL ME.
FROGGS like flat on disk, in an sql db, or whereever
[Coke] (they might be a little edgy.)
TimToady I'm all for dev modules working like P5's INC semantics, that's fine; just trying to keep the assumptions out of the library API
FROGGS right
there is basically no other sane way to handle dev modules
TimToady well, I wouldn't go that far, but p5's methods is certainly well-honed over time 17:10
*thod
FROGGS btw, my proposal was that @*INC stays, and will be there for P5-style module loading, while %*CUSTOM_LIB points to the installer DBs 17:11
so you could even have an installation db on a stick, und plug it in and it works (because its path is known to %*CUSTOM_LIB because panda was told to honor it) 17:12
17:12 colomon joined, user1234 joined
FROGGS @*INC because that is what 'use lib' mangles 17:13
TimToady also, I'm not sure I see the utility of separating out a 'unit' verb; it just seems to force repetition of the name after the actual class/module keyword...
but these are first impressions...
17:14 birdwindupbird left
FROGGS well, a semicolon form of a package description can replace a unit statement 17:14
but only in this case
17:14 ggoebel2 joined 17:15 kaleem joined
TimToady "If a compunit contains a unit declaration, but was loaded from a directory that is not part of the installation, then the credentials are ignored." 17:15
there again, it's the directory that is deciding
that's not how I see it 17:16
masak lizmat++ # got the discussion going
TimToady sure, lizmat++ :)
17:17 Woodi joined, ponbiki_ joined, zakalwe_ joined, smash_ joined
diakopter I think unit could be implied in usual cases 17:17
17:17 spider-mario_ joined
diakopter but optional override in others 17:17
TimToady well, lemme cogitate on it from a language point of view 17:18
17:18 athomason_ joined
FROGGS TimToady: I read it more like 'directory tree', or, the dir in which its DB is... 17:18
TimToady I'm not saying there's no reason for the separation, I just don't see it yet
17:18 spider-mario left, spider-mario_ is now known as spider-mario
TimToady well, pecking order is still defined somewhere, but more likely in something like @*INC 17:18
FROGGS but yes, one or two "directory"'s could be stripped/relaced
p*
17:20 amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined
TimToady where we stop thinking about INC as a list of directories, but start thinking about it as a list of library repositories (presumably local in some unspecified fashion), some of which might be represented as local directories 17:20
FROGGS I'd really like to start an implementation with an sql-db backend... (for dist storage, not only metadata storage)
diakopter are we thinking of the local installation as just another auth?
TimToady or all of which might be local directores, but we don't assume it on behalf of the library API
FROGGS diakopter: local installations 17:21
diakopter FROGGS: lemme clarify:
FROGGS where "local" dont mean it must be on your pc
TimToady local is a location; auth has nothing to do with location, and everything to do with identity
17:21 jercos_ is now known as jercos, user1231 left, mtk left, Hor|zon left, betterwo1ld left, Woodi_ left 17:22 smash left, athomason left, ggoebel left, zakalwe left, ponbiki left, djanatyn left
TimToady but maybe one could bend it around into some kind of "local unauth" direction :) 17:22
FROGGS diakopter: auth is like "github/FROGGS"
TimToady "unauthorized meddling" :)
diakopter I'm suggesting that to specify that auth (localsystem) when requesting to load a module, it's a kindof meta-auth that picks from the ones installed locally based on the other criteria
17:22 betterworld joined
FROGGS and %*CUSTOM_LIB<home> points to some sort of database of installed modules 17:22
diakopter hm, maybe I should read the diff
TimToady metoo :)
diakopter (and S11 for that matter, since it probably has completely escaped my mind again)
17:23 Hor|zon joined
FROGGS I dont understand the localauth thing... 17:23
if I installed Module::Build from cpan, the auth is "cpan" for example
TimToady "in the current namespace (or module, or class)" is confusing two levels of semantics 17:24
17:24 ssutch left
FROGGS and it stays "cpan" when it gets installed 17:24
TimToady "in the current namespace (such as package, module, or class)" would be more accurate
FROGGS .oO( so TimToady++ hits the edit button *g* )
TimToady "Every compunit has a C<UNIT> namespace" now it's reading like UNIT is a package-like thing rather than a lexical scope 17:26
FROGGS hmmm, I must have missed that
TimToady we avoided using the term "namespace" precisely because Parrot was using it to mean "package", and because it means something more ambiguous in the literature than "package", and we wanted to distinguish packages from lexical scopes 17:27
17:28 djanatyn joined, kaleem left, mtk joined
FROGGS brb 17:28
TimToady so I don't really think s:g/package/namespace/ is an improvement from that standpoint 17:29
17:30 Rotwang joined
TimToady I can also see the problem with using "package", so maybe there's some other term that better indicates a global namespace that is not lexical 17:31
17:32 rindolf left 17:35 diakopter joined
TimToady it's also messing with the idea that moduleness is the minimal set of semantics for export, changing some instances of "module" to "compunit", and others to "namespace", one of which is too specific for export, and the other too general 17:36
since things that are not compunits can export, but not all namespaces can export 17:37
17:38 konundra joined
timotimo r: class Base { has $.foo; }; class Sub { has $.bar = $!foo * 1000 }; Sub.new(:foo(5)).perl.say 17:39
camelia rakudo 8f8f13: OUTPUT«===SORRY!===␤Attribute $!foo not declared in class Sub␤at /tmp/sU2ZGIaUMm:1␤------> $.foo; }; class Sub { has $.bar = $!foo⏏ * 1000 }; Sub.new(:foo(5)).perl.say␤»
timotimo r: class Base { has $.foo; }; class Sub { has $.bar = $.foo * 1000 }; Sub.new(:foo(5)).perl.say
camelia rakudo 8f8f13: OUTPUT«===SORRY!===␤Virtual call $.foo may not be used on partially constructed objects␤at /tmp/xiBCiOSMjD:1␤------> $.foo; }; class Sub { has $.bar = $.foo⏏ * 1000 }; Sub.new(:foo(5)).perl.say␤ expecting any of:␤ scoped dec…
timotimo where's the best place to put code like that? 17:40
r: =begin pod :frob<wob wob>␤Foo! Z<inline comment> Bar!␤=end pod␤say $=pod.perl; 17:42
camelia rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ("frob" => "wob wob").hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("Foo! ", Pod::FormattingCode.new(type => "Z", config => ().hash, content => Array.new("inline comm…
timotimo hm. 17:43
r: try { require Term::ANSIColor <&colored>; } say &colored.defined; 17:52
camelia rakudo 8f8f13: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/0RYhJT9Glv:1␤------> { require Term::ANSIColor <&colored>; } ⏏say &colored.defined;␤ expecting any of:␤ postfix␤ horizontal whitespace␤ infix stopper␤ infix …
timotimo star: try { require Term::ANSIColor <&colored>; }; say &colored.defined;
camelia star 2013.02: OUTPUT«===SORRY!===␤Undeclared name:␤ &colored used at line 1␤␤»
timotimo isn't that how it's supposed to be done?
r: try { require Term::ANSIColor <&colored>; }; say &colored.defined;
camelia rakudo 8f8f13: OUTPUT«===SORRY!===␤Undeclared name:␤ &colored used at line 1␤␤»
TimToady your declaration is inside the block's lexical scope 17:53
dinner &
timotimo oooh 17:56
r: require Term::ANSIColor <&colored>; say &colored.defined;
camelia rakudo 8f8f13: OUTPUT«Could not find Term::ANSIColor in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home/p6eval/…
timotimo r: try require Term::ANSIColor <&colored>; say &colored.defined;
camelia rakudo 8f8f13: OUTPUT«False␤»
timotimo that's how it's supposed to be done! 17:57
star: try require Term::ANSIColor <&colored>; say &colored.defined;
camelia star 2013.02: OUTPUT«False␤»
timotimo star: use Term::ANSIColor; say colored("huh?", "bold");
camelia star 2013.02: OUTPUT«huh?␤»
17:57 kaleem joined 17:58 kaleem left 17:59 stevan_ left
timotimo star: try require Term::ANSIColor <&colored>; say colored("huh?", "red"); 18:07
camelia star 2013.02: OUTPUT«No such method 'Any' for invocant of type 'Parcel'␤ in at src/gen/BOOTSTRAP.pm:876␤ in at src/gen/BOOTSTRAP.pm:870␤ in any at src/gen/BOOTSTRAP.pm:867␤ in block at /tmp/YZ_wiiGb97:1␤␤»
18:09 ssutch joined, spider-mario left, spider-mario joined
timotimo oh, yikes, if i wanted to make tables work i'd either have to translate the logic for recognizing delimiters to the grammar or call back to the grammar from Perl6::Pod 18:11
dalek ecs: 803d6f1 | (Elizabeth Mattijsen)++ | S11-modules.pod:
Small fix, as spotted by sjn and others.
18:12
lizmat back from cycling, will digest what's been said about S11 18:13
will be back in ~2.5 hours
dalek kudo/nom: ffa9838 | (Stéphane Payrard)++ | src/Perl6/Grammar.nqp:
typo
18:15
kudo/nom: b4d858d | pmichaud++ | src/Perl6/Grammar.nqp:
Merge pull request #172 from cognominal/typo

typo
timotimo i can understand why that decision was made; merging multiline table cells is not easy to do when you've gone into a subrule that knows nothing about that ... 18:17
ssutch pmichaud i think this is good to go: github.com/rakudo/rakudo/pull/170 18:19
18:23 stevan_ joined 18:24 stevan__ joined
timotimo all of this is hard :| 18:24
18:26 rindolf joined 18:27 kaare_ joined 18:28 stevan_ left 18:32 ilogger2 joined, ChanServ sets mode: +v ilogger2
tadzik timotimo, I recognize your problems ;) 18:36
as they say, "been there, done that". At least you can blame me :) 18:37
timotimo you won't see me blaming you.
i'm just looking for a way to make developmen tpossible without a huge compile cycle each time i change a little thing
tadzik Pod development? 18:38
timotimo yes 18:39
tadzik doing 'make perl6' instead of 'make' is a biiig difference
and usually that's what you're after
timotimo i put a bit nicer debugging into Pod::To::HTML and made it recognize D<...|...> and Z<...> tags properly 18:40
that makes a bit of a difference already
tadzik cool!
timotimo but i can't seem to make it load Term::ANSIColor non-fatally :(
tadzik load it conditionally, eh?
timotimo indeed 18:41
i'm wondering: can i call a token on a text that's not in the source code? 18:44
tadzik it could be possible in nqp 18:46
timotimo that ought to be enough for now 18:47
in that case i could probably parse the cell contents with the pod_textcontent rule or something similar 18:48
which i'd have to do after they were concatenated from multilines
tadzik table parsing, mmm 18:49
timotimo you buy the awesomeness that is pod6 tables with the pain that is implementing them 18:51
18:52 abnorman joined 18:54 Chillance_ joined 18:56 cognominal joined
cognominal r: say "a b c" ~~ / :s [\w]+ / ; "a b c" ~~ / :s [\w]+ /; say "a, b , c" ~~ / :s \w+ % [ ',' ] / 18:57
camelia rakudo 8f8f13: OUTPUT«「a 」␤␤「a, b , c」␤␤»
cognominal r: say "a b c" ~~ / :s \w+ / ; "a b c" ~~ / :s [\w]+ /; say "a, b , c" ~~ / :s \w+ % ',' / 18:58
camelia rakudo 8f8f13: OUTPUT«「a 」␤␤「a」␤␤»
18:58 dmol joined 18:59 ssutch joined
cognominal I have trouble to understand the sigspace mode. It works inconstantly with quantifiers and with the % operator. 18:59
oops I hav a stray expression at the middle of each line. 19:00
I thought that to force sigmode on a atom, that is matching spaces around him when it is not otherwise possible. I could "group" it. It works with % but not for 19:02
a quantified atom
19:06 BinGOs joined 19:08 segomos joined 19:16 kaleem joined, kaleem left
timotimo isn't sigspace always off for the beginning? 19:20
unless you put a <?> or something?
19:21 abnorman left
PerlJam timotimo: aye, it is. 19:28
timotimo cognominal: ^^
cognominal timotimo, in my examples. I start all my regex with a :s 19:31
PerlJam r: say "a, b ,c" ~~ / :s [<?> \w ]+ % ',' / 19:32
camelia rakudo b4d858: OUTPUT«「a, b ,c」␤␤»
Util_ #ps time
timotimo ... post script?
19:32 domidumont joined
masak timotimo: #parrotsketch 19:32
PerlJam cognominal: nothing in your regex matches the whitespace in front of "b" though. 19:33
cognominal r: say "a b c" ~~ / :s [ <?> \w]+ / ;
camelia rakudo b4d858: OUTPUT«「a b c」␤␤»
cognominal ok, thx 19:34
19:34 tomyan joined 19:40 abnorman joined
PerlJam say "a , b ,c " ~~ / :s [ \w ]+ % ',' /; 19:41
r: say "a , b ,c " ~~ / :s [ \w ]+ % ',' /;
camelia rakudo b4d858: OUTPUT«「a , b ,c 」␤␤»
PerlJam huh.
ah ... there's even a section about this at S05:1132 19:43
r: say "a , b ,c " ~~ / :s \w + % ',' /;
camelia rakudo b4d858: OUTPUT«「a 」␤␤»
PerlJam r: say "a ,b ,c " ~~ / :s \w + % ',' /; 19:44
camelia rakudo b4d858: OUTPUT«「a 」␤␤»
PerlJam r: say "a, b, c " ~~ / :s \w + % ',' /; 19:45
camelia rakudo b4d858: OUTPUT«「a」␤␤»
PerlJam unless I'm misreading the spec, that's a rakudobug. 19:47
cognominal someone has got to look gist.github.com/cognominal/5846277 someday 19:56
lue hello world o/ 19:58
cognominal hi lue \o 20:01
20:03 bluescreen10 joined
dalek rl6-roast-data: 33a3a09 | coke++ | / (5 files):
today (automated commit)
20:10
timotimo Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Code.new(allowed => Array.new("A"), config => ("allow" => "A").hash, content => Array.new(" Foo!\n\n"))))) 20:14
i made the allowed property work in the generated ast; now i only have to make code blocks parse such allowed formatting codes :| 20:15
jnthn Up to 71.42%, eh :)
timotimo jnthn: does that include or exclude the huge amount of not-asked-for tests that appear in the middle? 20:16
[Coke] we're plateauing!
jnthn timotimo: huh? no idea :)
timotimo S02-names-vars/perl.rakudo.jvm: 103 tests more than planned were run 20:18
S32-exceptions/misc.rakudo.jvm: 395 tests more than planned were run
integration/advent2009-day16.t: 7 tests more than planned were run
[Coke] timotimo: I blame junctions.
timotimo is it a bad idea to fudge these? 20:19
FROGGS why do you want to silence it? 20:20
[Coke] timotimo: yes. don't fudge them.
fix them.
once we get past 95%, we can talk about fudging.
timotimo hehehe 20:21
FROGGS right, that would be the day we want to put in to a release and call it "ready"
btw, perl 5's loose not is weird 20:22
masak so, Rakudo on the JVM passes 71% of the test suite? that sounds like... a lot. 20:23
timotimo no, just 71% of the tests rakudo passes
masak oh!
yes, of course.
timotimo aiui
jnthn yes 20:24
masak still, that sounds like a lot.
jnthn I'm wondering if that "395 tests more than planned were run" means "there was no test plan but you died before the end"
I'm pretty sure S32-exceptions/misc.t is planless
timotimo interesting, L<I<foo bar>|baz <a newline appears here> quux> causes the L<...> to not be parsed. 20:25
jnthn yeah, it's that
timotimo ah, planless. in that case, it's all good :)
jnthn So no, doesn't look like we're over-estimating.
FROGGS lets fudge EOF \o/
jnthn The 71% or so is accurate
lizmat TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248785 : I call a file anything that can be accessed by a some kind of key 20:27
in the end, they're all eval strings anyway, that get compiled in different contexts
also: everytime I say "directory" in S11, I really mean a directory that is part / can be part of an @*INC, or can be specified with -I 20:28
so *not* any subdirectories of such directories 20:29
if there is a more generic term for file and directory, I'll be glad to use those
timotimo my first idea, "repository", sounds way too loaded
sorear o/ 20:31
lizmat TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248813 : the reason I said "in" and not "for", is to allow relocation of directories, and/or to have that database be part of the data (subdirectories and files) it is about
jnthn o/ sorear 20:34
lizmat at runtime, the order of search directories can be changed (unshifting to @*INC or whatever we come up with)
so there cannot be one central database for all installed compunits
this is one of the things learned from Perl 5 (as decided about .packfiles at the last Q&A Hackathon on Lancaster) 20:35
TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248876 : allowing auth/ver and associated information (such as emulates and exlcudes) with package like statements 20:37
gives problems as soon as there is more than one package like statement in a compunit
-use- only knows about compunits currently
we could also go completely the other way and saying that -use- really only knows about package like statemens 20:38
but then we get into a problem for development, because of new files we cannot really know what package like statements are in there 20:39
timotimo please excuse repeating my question, but since we're on the module/use/... topic anyway: why won't try require Term::ANSIColor <&colored>; say &colored.defined; give True if the module is installed (and use Term::ANSIColor instead of try require will make it work)?
lizmat so if we want to go that way, we would have to install each compunit before it can actually be run
timotimo: because runtime importation with require is NI ? 20:40
timotimo aaw, for reals? :(
FROGGS r: try require Term::ANSIColor <&colored>; say ::('&colored').defined 20:41
camelia rakudo b4d858: OUTPUT«False␤»
FROGGS r: try require Term::ANSIColor <&colored>; say ::('colored').defined
camelia rakudo b4d858: OUTPUT«False␤»
20:41 domidumont left
FROGGS r: try require Term::ANSIColor <colored>; say ::('colored').defined 20:41
camelia rakudo b4d858: OUTPUT«False␤»
lizmat jnthn would knowf for sure
FROGGS it is implemented
jnthn r: require Term::ANSIColor 20:42
camelia rakudo b4d858: OUTPUT«Could not find Term::ANSIColor in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home/p6eval/…
lizmat TimToady: there is a certain charm about making use load package like blocks, rather than files
jnthn star: require Term::ANSIColor
camelia star 2013.02: ( no output )
FROGGS github.com/perl6/roast/blob/master...uire.t#L63
jnthn star: require Term::ANSIColor <&colored>; say ::<&colored> 20:43
camelia star 2013.02: OUTPUT«sub colored(Str $what, Str $how) { ... }␤»
FROGGS star: try require Term::ANSIColor <&colored>; say &colored.defined
camelia star 2013.02: OUTPUT«False␤»
FROGGS star: require Term::ANSIColor <&colored>; say &colored.defined
camelia star 2013.02: OUTPUT«True␤»
jnthn star: require Term::ANSIColor <&colored>; say colored('whale', 'blue')
camelia star 2013.02: OUTPUT«whale␤»
FROGGS ha!
try is messing with it
jnthn FROGGS: No, r: vs star:
FROGGS star: require Term::ANSIColor <&colored>; say &colored.defined
camelia star 2013.02: OUTPUT«True␤»
FROGGS star: try require Term::ANSIColor <&colored>; say &colored.defined 20:44
camelia star 2013.02: OUTPUT«False␤»
jnthn oh
lizmat TimToady: but then we would need a gitlike blob structure to keep code in
FROGGS ----------------^
jnthn try I guess is implying an extra scope
Probably incorrectly in this cse.
FROGGS hmmm
jnthn *case
FROGGS r: try my $x = 7; say $x
camelia rakudo b4d858: OUTPUT«7␤»
lizmat timotimo: according to spec, you should be able to say :OUR<All> to have things exported to :OUR 20:46
r: try require Term::ANSIColor :OUTER<&colored>; say &colored.defined # does this work?
timotimo oh!
camelia rakudo b4d858: OUTPUT«===SORRY!===␤Undeclared name:␤ &colored used at line 1␤␤» 20:47
lizmat r: try { require Term::ANSIColor :OUTER<&colored>}; say &colored.defined # does this work?
camelia rakudo b4d858: OUTPUT«===SORRY!===␤Undeclared name:␤ &colored used at line 1␤␤»
timotimo r: say ::('&colored').defined;
camelia rakudo b4d858: OUTPUT«False␤»
lizmat r: try { require Term::ANSIColor :OUR<&colored>}; say &colored.defined # does this work?
camelia rakudo b4d858: OUTPUT«===SORRY!===␤Undeclared name:␤ &colored used at line 1␤␤»
FROGGS star: { require Term::ANSIColor :OUTER<&colored>}; say &colored.defined # does this work?
camelia star 2013.02: OUTPUT«===SORRY!===␤Undeclared name:␤ &colored used at line 1␤␤»
FROGGS use star
timotimo star: try require Term::ANSIColor <&colored>; say ::('&colored').defined;
camelia star 2013.02: OUTPUT«False␤»
timotimo star: try require Term::ANSIColor <&colored>; say ::('colored').defined;
camelia star 2013.02: OUTPUT«False␤»
timotimo star: try require Term::ANSIColor :OUR<&colored>; say ::('colored').defined; 20:48
camelia star 2013.02: OUTPUT«False␤»
timotimo star: try require Term::ANSIColor :OUR<&colored>; say ::('&colored').defined;
camelia star 2013.02: OUTPUT«False␤»
timotimo star: try require Term::ANSIColor :OUR<&colored>; say &colored.defined;
camelia star 2013.02: OUTPUT«===SORRY!===␤Undeclared name:␤ &colored used at line 1␤␤»
lizmat I guess the :XXX<…> part is really NYI
timotimo mhm
FROGGS star: try require Term::ANSIColor <&colored>; say GLOBAL::
camelia star 2013.02: OUTPUT«("Term" => Term).hash␤»
FROGGS star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor:: 20:49
timotimo oh, maybe that's it!
camelia star 2013.02: OUTPUT«("EXPORT" => EXPORT).hash␤»
timotimo star: try require Term::ANSIColor <&colored>; say Term::ANSIColor::colored("foo?", "red");
camelia star 2013.02: OUTPUT«Could not find symbol '&colored'␤ in method <anon> at src/gen/CORE.setting:10522␤ in at src/gen/Metamodel.pm:2488␤ in any find_method_fallback at src/gen/Metamodel.pm:2476␤ in any find_method at src/gen/Metamodel.pm:925␤ in at src/gen/BOOTSTRAP.pm:883␤ in an…
timotimo star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor::colored("foo?", "red");
camelia star 2013.02: OUTPUT«Could not find symbol 'colored'␤ in method <anon> at src/gen/CORE.setting:10522␤ in at src/gen/Metamodel.pm:2488␤ in any find_method_fallback at src/gen/Metamodel.pm:2476␤ in any find_method at src/gen/Metamodel.pm:925␤ in at src/gen/BOOTSTRAP.pm:883␤ in any…
timotimo star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor::EXPORT<colored>("foo?", "red");
camelia star 2013.02: OUTPUT«No such method 'Any' for invocant of type 'Parcel'␤ in at src/gen/BOOTSTRAP.pm:876␤ in at src/gen/BOOTSTRAP.pm:870␤ in any at src/gen/BOOTSTRAP.pm:867␤ in block at /tmp/nIrgpPc23f:1␤␤»
timotimo star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor::EXPORT<&colored>("foo?", "red");
camelia star 2013.02: OUTPUT«No such method 'Any' for invocant of type 'Parcel'␤ in at src/gen/BOOTSTRAP.pm:876␤ in at src/gen/BOOTSTRAP.pm:870␤ in any at src/gen/BOOTSTRAP.pm:867␤ in block at /tmp/scTekHWx72:1␤␤»
timotimo ...
lizmat TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248904 : that part was a perhaps ill-thought out way of allowing developers to have "unit" specification in their development file 20:51
but it would be ignored, so that it would become an auth(Any):ver(Any), so they don't have to change the "unit" statement while developing 20:52
TimToady,diakopter: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248928 : it is. But then your compunit is *always :auth(Any):ver(Any), because you cannot specify auth/ver with package like statements anymore 20:53
20:55 ssutch left
lizmat TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248967 : completely agree, too bad this didn't come across. I felt like I was going to lean too close to an implementation that I have in mind 20:55
sorear somehow I had remained blissfully ignorant of the existance of multianewarray 20:56
lizmat FROGGS: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248970 : I hope you don't intend his sql-db backend to be used for doing the smartmatch needed to find a compunit matching a variable auth/ver specification, such as "use Dog:auth(/:i jrandom/):ver(v1.2.1 | v1.3.4);" 20:57
there are quite some smartmatch situations that you can't mimic in SQL easily 20:58
FROGGS why not play with an sql backend?
the matching logic would be in perl of course 20:59
an sql db would just be a bit nicer than a filessytem
PerlJam sqlite++ 21:00
lizmat ah, but that is my point really about the database: once a repository directory has been access, all of its installed compunits would have their meta-information already in memory
and it would just be a matter of minimum of 4 smartmatches to find a compunit's content (aka file) 21:01
FROGGS lizmat: I mean to store the file in that database too
lizmat ah!
well, I guess we then come to the point that each @*INC entry is really an object with a given API 21:02
and some installations could then use SQLite to store the files in
if you ask me, that goes against KISS
FROGGS KISS ?
lizmat Keep It Simple, S…. 21:03
masak "Keep It Simple, Senior-developer" :)
lizmat fill in derogatory term starting with S
timotimo :D
lizmat :-)
timotimo that's derogatory?
masak oh yah
lizmat it's only one step up to Senile-developer 21:04
FROGGS I'm not saying that putting files in a db will the ultimate thing, I just think it is easier to test module installation+lookup with that approach
because the filesystem storage can be kind of hairy
[Coke] timotimo: traditionally, the second S is "Stupid"
FROGGS (I'm talking about a S11-somulation module)
lizmat that would simply be a mangling function that is dependent on the storage system being used 21:05
some file systems would just got for s/::/\//
others would need to add some mangling
but since the database knows which file belongs to which compunit, the actual filename is not important 21:06
21:06 vk joined
lizmat one could even argue that a repository directory would not have any subdirectories at all 21:06
to allow for quicker lookups on more modern filesystems 21:07
(think ReiserFS and the like)
TimToady: writ irclog.perlgeek.de/perl6/2013-06-25#i_7249053 : I found the use of module/class/package really confusing, and I tried to normalize that 21:08
timotimo does =begin pod :allow<I> \nC<foo I<italic?>> \n=end pod have an italic inside the C<...>? 21:09
lizmat I wasn't aware of the Parrot ambiguity (although one could argue that is not so important anymore)
timotimo in other words: will :allow on a block cause "Code" formattingcodes allow other tags inside?
21:10 vk left
lizmat TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7249139 : we need a glossary here, maybe at the beginning of the document, or maybe completely separately ? 21:11
This has been suggested many times before, I think, even a few days ago again
</replies to comments made earlier today> 21:14
labster good postnoon, #perl6 21:21
lizmat++ has been busy 21:22
lizmat yes, but if that's a good thing, that remains to be seen :-)
timotimo smart me, comparing strings with == again 21:23
nqp: say("Z" == "A") # success! 21:24
camelia nqp: OUTPUT«1␤»
masak or, as they would have said in the olden days, "garbage in, garbage out". 21:25
labster lizmat: well, at the very least, this is going to move discussion forward. 21:27
lizmat I sincerely hope so, so that I can finally really start implementing whatever we decide on
labster I have a hard time knowing whether what I'm doing is the "right" thing, but eventually I end up deciding to just choose *something*, because it's better than nothing. 21:29
lizmat know the feeling 21:30
I will check the backlog tomorrow, sleep&
labster g'night, lizmat
timotimo hum. 21:34
if i put a :my @*FOO_BAR := 1, 1, 1, 1, 1, 1; into token compunit, shouldn't that be set when my pod tokens hit?
i *suppose* i could set this in pod_toplevel, though
for some reason that doesn't seem to work. huh? 21:38
lacks parens, it seems 21:39
21:44 stevan_ joined
timotimo huh 21:48
is there something wrong about :my @*POD_ALLOWED_FCODES := @*POD_ALLOWED_FCODES;? 21:52
apparently that line swallows up my complete list immediately 21:56
21:58 Guest1337 joined
timotimo nqp: my $foo := nqp::list(1, 2, 3, 4); 21:58
camelia nqp: ( no output )
timotimo nqp: my $foo := nqp::list(1, 2, 3, 4); say(+$foo);
camelia nqp: OUTPUT«4␤»
timotimo maybe i just need to change the sigil
22:01 bluescreen10 left, ssutch joined
timotimo i'm at my wit's end now. 22:06
nqp: say(1<<27); 22:07
camelia nqp: OUTPUT«Confused at line 2, near "say(1<<27)"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
timotimo nqp: say(1+<27);
camelia nqp: OUTPUT«Confused at line 2, near "say(1+<27)"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
timotimo r: say 1+<27;
camelia rakudo b4d858: OUTPUT«134217728␤»
timotimo nqp:: say(134217728);
22:07 tomyan left
timotimo er. 22:07
well, whatever. it seems like i'm resolving this by making bitfields >_<
nqp: say(0b111111111111111111111111111); 22:08
camelia nqp: OUTPUT«134217727␤»
sorear verifier appears to be working :D 22:17
timotimo ooh sweet! :) 22:18
now you can start with the splitter :D
whyyyyyy is it still b0rken?! 22:21
dalek p: 91407c7 | sorear++ | / (3 files):
Add asm-commons and asm-tree to build
p: 6e09227 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java:
Start on a bytecode verifier/spliter component; does not work yet
22:22
timotimo why is my dynamic variable disappearing? 22:34
... my $*foo := $*foo should copy the previous value, shouldn't it? 22:35
nqp: my $*foo := 100; { my $*foo := $*foo; say($*foo) }; say($*foo);
camelia nqp: OUTPUT«␤100␤»
timotimo apparently not :o
but i read it somewhere >_<
sorear no 22:37
possibly in perl 5 docs
in perl 5, local $foo = $foo does what you expect, because the local is processed after the rhs is evaluated
in perl 6, variables are always created at block entry 22:38
you need to use my $*foo = CALLER::<$*foo>, or (short form) temp $*foo
timotimo does that work in nqp? 22:40
and inside tokens?
huh?! 22:42
not even :my $temp := $*FOO; :my $*FOO := $temp; works?!
maybe because those two are in the same scope and the variable gets put into the lexpad "at the beginning of the scope" or something 22:48
sorear like I said, at block entry. 22:53
timotimo i really don't know how to solve this damn mistery
there's no other way to properly reset a variable when leaving a token?
a dynamic variable, even
sorear github.com/perl6/nqp/blob/master/s....nqp#L3031 22:54
timotimo that may work in a method, but not so easily in a token where i still have to do matching 22:55
and i don't want to create a token to wrap that just to have that work
that seems like a very bad time
22:59 skids joined
timotimo i can't even turn this into a list and push/pop like a stack because i have no way of specifying that it should be popped again when the backtracker kicks in 23:01
pmichaud dynamic variable is indeed what you want here. 23:02
23:02 lee_ joined
sorear o/ pmichaud 23:02
pmichaud Perl 6 says that "temp $*foo" should do what you want, I think.
afaik that's NYI in NQP and Rakudo as yet.
sorear can you use my $*foo := nqp::getcallerlexdyn('$*foo') or however that's spelt? 23:03
pmichaud I would not be opposed to adding it to NQP grammars.
yes, nqp::getcallerlexdynwhatever should be a reasonable workaround for now.
timotimo phew
pmichaud please feel free to add ":temp $*foo" as an NQP issue 23:04
then I'll remember to get to it when I get tuits
timotimo will do 23:05
for grammars only? 23:06
or should the issue cover temp in nqp in general, too?
No registered operation handler for 'getcallerlexdyn' - huh? did i misspell it?
ah, perhaps getlexouterdyn 23:07
nope.
getcallerlexdyn should be right 23:08
but it doesn' texist
oh, getlexdyn might be all i need, without "outer"
ssutch it's unfortunate that this junk is on the top of planetsix planetsix.perl.org/ 23:10
23:12 rjbs joined
timotimo d'oh, the config for :allow<A B C> is turned into "allow" => "a b c" 23:16
well, nothing i can't handle.
23:20 arlinius joined 23:23 omakase joined
masak ssutch: I kindly asked them to stop mailing to that address. 23:34
if it were up to me, p6a should be hooked straight into planetsix. 23:36
shouldn't*
lue are the announcements usually posted on some blog that is also monitored by planetsix? 23:37
23:37 berekuk joined 23:40 berekuk left
masak good question. 23:40
timotimo i'm getting closer and closer to working :allow for =code blocks and friends 23:45
that will hopefully make S26 so much better
aw, shucks. =begin without matching =end :( 23:47
ssutch is there a destructuring assignment like my $a,$b = (1,2); 23:52
timotimo yes, there is 23:53
r: my ($a, $b) = (1, 2); say "$a, $b"; 23:54
camelia rakudo b4d858: OUTPUT«1, 2␤»
ssutch r: sub f() { (1, 2) }; my ($a, $b) = f(); say "$a, $b";
camelia rakudo b4d858: OUTPUT«1, 2␤»
timotimo r: my ($a, $b, $c, $d, $e) = <hello ssutch how are you>; ($a, $b, $c, $d, $e) .= pick(*); say "$a $b $c $d $e"; 23:55
camelia rakudo b4d858: OUTPUT«hello you how ssutch are␤»
ssutch r: my ($a, $b) = [1,2]; say "$a $b"
camelia rakudo b4d858: OUTPUT«1 2 ␤»
ssutch r: my ($a, $b) = [1,2]; say "a=$a b=$b"
camelia rakudo b4d858: OUTPUT«a=1 2 b=␤»
ssutch is that right?
23:56 Guest1337 left 23:57 Guest1337 joined
timotimo arrays are apparently handled like items there 23:58
i think you need to use [ ... ] a lot less if you want to be happy in perl6land :)