»ö« 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