»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by diakopter on 6 April 2013.
labster r: my $class = "IO"; class Bar { also is $class } 00:17
p6eval rakudo 00ca10: OUTPUT«===SORRY!===␤No valid trait found after also␤at /tmp/UwAfMxNb2k:1␤------> my $class = "IO"; class Bar { also is ⏏$class }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤»…
labster how is $class not a term? 00:18
lue r: class Bar { also is IO } 00:21
p6eval rakudo 00ca10: ( no output )
labster of course that works. it's just a LTA error message. 00:28
00:42 berekuk left 00:44 berekuk joined 00:49 thundergnat joined 00:52 tgt left 00:53 thundergnat left, gcole left 01:01 hoelzro joined 01:02 felher left 01:04 felher joined 01:12 anuby joined 01:14 FROGGS_ joined 01:16 moritz joined 01:17 FROGGS left 01:23 Yappo______ left 01:24 berekuk left
lee_ these metaops seem to get passed a Parcel, with the Range as the private storage attribute. which makes it rather hard to optimize 01:24
so you can't access .min or .max directly on the Range
01:25 Yappo______ joined 01:26 arlinius joined, Patterner left 01:28 Psyche^ joined, Psyche^ is now known as Patterner 02:02 lustlife joined
gtodd r: my $class = "IO"; class Bar { also is $class } 02:15
p6eval rakudo 00ca10: OUTPUT«===SORRY!===␤No valid trait found after also␤at /tmp/MYxf4vlZq6:1␤------> my $class = "IO"; class Bar { also is ⏏$class }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤»…
gtodd hmm
02:20 Targen joined 02:39 japhb_ joined, japhb_ left 02:40 japhb_ joined
japhb_ Is there a better way to make an object attribute required than this construction? 02:42
r: lass Foo { has $.foo = die "Must supply a value for attribute foo to create a " ~ self.^name; }; my Foo $f .= new;
p6eval rakudo 00ca10: OUTPUT«===SORRY!===␤You cannot declare attribute '$.foo' here; maybe you'd like a class or a role?␤at /tmp/9ZXB7P7f6u:1␤------> lass Foo { has $.foo ⏏= die "Must supply a value for attribute␤ expecting any of:␤ scoped declara…
japhb_ r: class Foo { has $.foo = die "Must supply a value for attribute foo to create a " ~ self.^name; }; my Foo $f .= new; 02:43
p6eval rakudo 00ca10: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤Must supply a value for attr…
japhb_ That's odd ... I don't get the uninitialized value warnings at the command line. 02:44
Anyway, the point was, is there a better / cleaner way to force the caller to set certain object attributes? I've got a couple classes with a half dozen or more required attributes, and the above construction gets boilerplate-ugly. 02:45
02:48 orafu left, orafu joined 02:49 drbean joined 02:50 Gruu_ joined 02:51 preflex_ joined 02:52 preflex left, preflex_ is now known as preflex 03:01 rindolf joined 03:33 araujo left 03:35 Gruu_ left 03:39 araujo joined 04:12 anuby left 04:14 anuby joined 04:27 fgomez left 04:31 fhelmberger joined 04:32 fhelmberger left 04:39 fgomez joined 04:45 sizz joined
japhb
.oO( Either I have gone crazy, or the IO::Socket{,::INET} implementation has. )
04:50
Is it just me, or is the handling of encoding, line separators, packet boundaries, and detecting end of data in IO::Socket and IO::Socket::INET very ... confused? 04:52
japhb decides to let his subconcious brane stew on it for a while 04:53
&
04:59 skids left 05:14 denisboyun_ joined 05:21 kingbeast joined 05:24 kaleem joined 05:25 grondilu joined 05:28 drbean left 05:30 drbean joined
moritz jnthn: some of the recent commits broke error reporting 05:43
05:44 dmol joined
moritz not ok 2 - Runtime error contains line number 05:44
# got err: "use of uninitialized value of type Mu in string context\nuse of uninitialized value of type Mu in string context\nuse of uninitialized value of type Mu in string context\nuse of uninitialized value of type Mu in string cont
ext\n===SORRY!===\n6\n"
that's from t/spec/integration/error-reporting.t
05:47 fhelmberger joined 05:49 nwc10_ is now known as nwc10
moritz a simple perl6 -e 'die 6' reproduces it 05:52
fwiw this is on Singapore-62-g8051900
oh, and lots changed since then. Maybe I should update before complaining :-) 05:53
timotimo japhb: maybe you can put a type restriction with :D or what it's called in the submethod BUILD 05:54
r: sub boing(Any:D $foo) { say "yay" }; boing(1); Boing(Any)
p6eval rakudo 00ca10: OUTPUT«===SORRY!===␤Undeclared name:␤ Boing used at line 1␤␤»
timotimo r: sub boing(Any:D $foo) { say "yay" }; boing(1); boing(Any)
p6eval rakudo 00ca10: OUTPUT«yay␤use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤Parameter '$foo' require…
timotimo i wonder where that comes from. probably from the guts of rakudo? 05:55
diakopter the YAPC::NA schedule is up
masak good morning, #perl6 05:59
moritz good am, ma<tab> 06:00
timotimo: yes, that's what I meant with broken error reporting
masak good mo<tab>, mo<tab>
diakopter: \o/ 06:01
06:01 denisboyun_ left
diakopter masak: I need abstracts for your 3 Zero to Perl 6 talks. 06:01
masak: also, you have 4x as many talks as everyone else.
timotimo moritz: do you think a bisect would help?
moritz timotimo: maybe 06:02
06:04 frdmn joined
masak diakopter: schedule looks good. I'll send the abstracts during the day. 06:04
or more likely, just add them, I guess. 06:05
diakopter \o/ 06:12
tadzik good morning #perl6 06:13
diakopter masak++ for ^4
yoleaux 9 Apr 2013 22:52Z <japhb> tadzik: Please take a gander at the panda enhancement idea starting at irclog.perlgeek.de/perl6/2013-04-09#i_6684351 and let me know what you think
diakopter read that as take a gender 06:14
06:21 dmol left
masak & 06:23
06:25 census joined
tadzik japhb: well, you can always write yourself a panda with subclassed Panda::Ecocystem, which will fetch multiple projects.json and merge them afterwards 06:26
06:29 drbean left 06:30 drbean joined 06:34 FROGGS_ left 06:36 anuby left, anuby joined 06:38 anuby left, anuby joined
timotimo my bisect says 5cb7046ff is the first bad commit 06:40
"add ForeignCode, to wrap foreign code objects". 06:41
06:41 fgomez left
labster good $local-time, #perl6 06:42
06:42 SamuraiJack joined
timotimo but i couldn't get nqp to downgrade just with configure.pl 06:42
06:46 FROGGS_ joined 06:48 SamuraiJack left
moritz perl Configure.pl --gen-nqp=$(cat tools/build/NQP_REVISION) should force it rebuild the right revision 06:52
timotimo ah 06:54
and nqp/tools/build/PARROT_REVISION?
07:00 rindolf left, domidumont joined, rindolf joined 07:03 _daniel-s__ joined 07:05 rindolf left
timotimo jnthn: i hope that hint helps? "my bisect says 5cb7046ff is the first bad commit" 07:05
07:05 rindolf joined
FROGGS_ timotimo: what's wrong? 07:06
07:07 kst` joined 07:09 rindolf left, rindolf joined
timotimo r: die 6; 07:09
p6eval rakudo 00ca10: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤6␤»
timotimo this is wrong
labster yes, that seems fairly wrong. 07:10
07:11 fgomez joined
FROGGS_ hmmm 07:14
07:15 brrt joined
moritz it's not too surprising, because the backtrace stuff marshalls foreign objects quite a bit 07:15
FROGGS_ maybe we just need to hide some methods from backtrace? like src/core/ForeignCode.pm method gist/Str ? 07:16
07:17 domidumont left 07:20 domidumont joined
moritz travel& 07:22
labster FROGGS_: After reading about Moe and the history of perl 6, I've been more in a mood to break some perl 5 compatibility. Would we lose that much by moving case_tolerant out of File::Spec and into its own module? 07:23
FROGGS_ labster: does it help if it would be in a separate module? 07:24
labster Reasons include: it's working but it's not awesome and nothing in core really needs it.
07:25 kst`` joined
FROGGS_ hmmm, okay 07:26
labster I don't really care either way, but it just seems like an extra bit of commonly used code which is rarely used.
FROGGS_ what module would be the best to put it in? File::System? (maybe a bad name), which lets you peek and poke your volumes/devices? 07:27
labster Actually I kind of like the name, I was thinking of File::Spec::Case or something lame like that. Though If we had File::System, we'd probably want other stuff to go in there too. 07:29
07:30 domidumont left, kst` left, domidumont joined
labster cpan says: File::System - A virtual file system written in pure Perl. It looks sort of like Path::Class. 07:32
diakopter .u lightning 07:35
yoleaux U+2607 LIGHTNING [So] (☇)
diakopter .u bolt
yoleaux U+2EAA CJK RADICAL BOLT OF CLOTH [So] (⺪)
U+2F66 KANGXI RADICAL BOLT OF CLOTH [So] (⽦)
U+1F529 NUT AND BOLT [So] (🔩)
diakopter .u voltage
yoleaux U+26A1 HIGH VOLTAGE SIGN [So] (⚡)
diakopter .u volt
yoleaux U+26A1 HIGH VOLTAGE SIGN [So] (⚡) 07:36
diakopter .u zig
yoleaux U+035B COMBINING ZIGZAG ABOVE [Mn] (◌͛)
U+1DCF COMBINING ZIGZAG BELOW [Mn] (◌᷏)
U+21AF DOWNWARDS ZIGZAG ARROW [So] (↯)
FROGGS_ labster: dunno what else it could be named then... but I guess we dont need this functionality right now? 07:39
07:41 kresike joined
kresike hello all you happy perl6 people 07:41
labster hi kresike
07:43 snearch joined
diakopter .u A138 07:45
yoleaux U+A138 YI SYLLABLE DDI [Lo] (ꄸ)
07:45 toddr__ joined
diakopter .u A138 07:45
yoleaux U+A138 YI SYLLABLE DDI [Lo] (ꄸ)
timotimo ingy: are you planning on finishing YAML and TestML some time soon? 07:48
i only now realize that there's no actual yaml loading code in there yet
kresike labster, o/
labster \o
hoelzro ahoy #perl6 07:49
07:50 kurahaupo left
diakopter .u bulb 07:52
yoleaux U+1F4A1 ELECTRIC LIGHT BULB [So] (💡)
labster FROGGS_: I can't think of any places we need to find case-tolerant in Rakudo. Actually, it's hard to think of any applications where it's important to know -- usually you'd just test .e or match m:i//. Let me look around and see if I can find it used in perl 5 somewhere.
07:54 toddr__ left 08:03 kaleem left 08:05 berekuk joined
labster Okay, I looked through every result for case_tolerant in google, and the only result on all 13 pages that looks like a use case (i.e. isn't documentation or a commit by me or an RT bug) is here: www.perlmonks.org/?node_id=796321 08:08
08:08 xinming_ joined 08:11 FROGGS_ left, census left 08:13 Guest82856 joined 08:15 sizz left 08:16 FROGGS joined
FROGGS labster: I think we can just strip it out for now 08:18
labster FROGGS, I have mostly working code. I'll brew a module. 08:19
08:19 kaleem joined
FROGGS k 08:20
08:27 woolfy joined 08:31 Guest82856 left
jnthn Hm, I'm guessing all the tests that show up the error reporting issue are marked # icu, given I had a clean spectest run here. 08:32
08:35 dakkar joined
timotimo jnthn: do you imagine building on your work someone would go ahead and do a rakudo.Net? 08:36
is that a sensible proposition? 08:37
lizmat thinks that was the idea all along, to support multiple VM's, no? 08:39
and good morning #perl6! 08:40
timotimo sure, but someone would have to come along and actually do it 08:41
hoelzro lizmat: o/
lizmat hoelzro: /o
08:42 berekuk left
FROGGS I know that Go is not a VM but I'd love to see a nqp@Go 08:47
hoelzro I thought someone was working on that? 08:50
jnthn timotimo: The CLR is not all that different from the JVM, so following the same path I took with the JVM stuff would probably produce similar results - with whoever does it having the added benefit that they don't have to do a bunch of the one-off work to make NQP sufficiently portable.
timotimo that's very good to hear 08:51
jnthn is looking into the error reporting regression 08:52
I've got it down to a couple of places in the code that probably need updates.
moritz lemme guess, src/core/{Exception,Backtrace}.pm 08:54
jnthn Right
moritz travel for real& 08:55
08:56 daxim joined 08:58 berekuk joined
lizmat lotrrotk 08:59
masak lizmat: I think you have to be more specific than that. :) 09:10
lizmat just a case of ww 09:11
masak .oO( Lord Of The Rings Return Of The King, that took me far too long )
it must be early still.
jnthn was wondering what lizmat knew about the epicness of moritz's travel :P
masak but I got gardenpathed by the fact that it also looks a bit like "rotfl"
jnthn Got a fix for the bustage I caused; spectesting. 09:12
09:13 tgt joined
timotimo the next thing i'll try out for my brownian tree thing is how making a resizing sparse array will change the performance 09:17
that shall be interesting.
lizmat we live in interesting times ;-) 09:20
dalek kudo/nom: b64279b | jnthn++ | src/core/ (3 files):
Fix error reporting breakage.

Wasn't shown up by the non-"# icu" spectests, so went unnoticed in the commit that introduced it.
09:21 SamuraiJack joined
lizmat nr: say cat <a b c> 09:23
p6eval rakudo 00ca10: OUTPUT«===SORRY!===␤Undeclared routine:␤ cat used at line 1␤␤»
..niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'cat' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /home…
lizmat I assume 'cat' is NYI ?
masak correct.
and I'll believe in lazy strings when I see them. :)
jnthn Yeah. And probably a candidate for a "stuff we won't do until after 6.0.0"
lizmat ack 09:24
09:29 berekuk left 09:30 cognominal left 09:31 berekuk joined 09:33 berekuk left 09:35 cognominal joined 09:48 cognominal left 09:53 snearch left 09:57 BigBear joined
nwc10 jnthn: that recent change breaks stuff quite badly with SEGVs in the spectest on "my" machine: pasta.test-smoke.org/478 10:00
valgrind not happy
==8928== Conditional jump or move depends on uninitialised value(s)
==8928== at 0x4FA099E: pop_parser_state (imcc.l:1268)
OK, it's broken. Not certain if it's that change. 10:01
jnthn nwc10: Odd, spectest was clean again here. 10:02
And IMCC is a long, long way from what I just changed. 10:03
oh, hang on...
shit
I need better coffee...
nwc10 :-) 10:04
next one down is the fun bit?
use of uninitialized value of type Any in string context==8928== Invalid read of size 8
==8928== at 0xDA72638: Rakudo_cont_store (container.c:65)
==8928== by 0xDA6AFD7: Parrot_perl6_container_store_p_p (perl6_ops.c:4827)
dalek p: ebd44e7 | jnthn++ | src/ops/nqp.ops:
Avoid a NULL escaping.
jnthn I needed to push that too...
dalek kudo/nom: 39cf717 | jnthn++ | tools/build/NQP_REVISION:
Get nqp::getcodeobj NULL fix.
10:05
jnthn ...and dump that.
*bump
fail...
Those should help.
nwc10 step away from the keyboard, and seek help from a qualified barista? :-) 10:06
(or just give up for the day and open a beer?)
BigBear Guten morgen - Good morning #perl6
jnthn has a nice coffee machine here, but the current batch of stuff he's putting into it wasn't one of his better selections...
heh, I think I'm meant to be doing $dayjob stuff today ;) 10:07
I guess I could always blame the tap water, which we're curently not meant to drink without boiling here thanks to some kind of contamination... 10:08
.oO( see, beer is the SAFE option! )
10:08 daxim left
nwc10 :-) 10:08
kresike jnthn, fish have sex in water ... no one should drink that stuff :) 10:09
FROGGS kresike: fishes do everything in water... 10:10
lizmat jnthn: historically, that was the reason beer was preferred over water as a supplier of fluids 10:11
10:12 anuby left
BigBear tadzik:not sure you'll see this, but I have gone and fixed panda on windows 7 pro on latest R* by removing the File::Tools files under 'site' (File/Find.pm + File/Find.pir & Shell/Command.pm + Shell/Command.pir) and leaving the install using the ones under 'lib' 10:13
dalek osystem: 3696d0e | (Brent Laabs)++ | META.list:
add File::Directory::Tree
10:14
FROGGS can somebody help me? I've got a statement block within the grammar-actions, and I want to wrap its AST within an implicit loop over one element 10:21
like: $past := $<sblock>.ast; $past := QAST::Op.new( :op<call>, :name<map>, QAST::IVal.new('1'), $past ) 10:22
err, *callmethod
10:23 Gruu_ joined
jnthn Does this not work? 10:24
FROGGS no, I'll paste the error in a sec
Too many positional parameters passed; got 1 but expected 0
jnthn Wait what do you mean by a statement block? 10:25
10:25 Gruu_ left, labster left
FROGGS code is actually: $past := $<sblock>.ast; $past := QAST::Op.new( :op<call>, :name<map>, QAST::IVal.new(:value('1')), $past ) 10:25
jnthn: it is an sblock
jnthn What sort of AST does it produce? 10:26
FROGGS I've got a rule statement_control:sym<{ }> { <?before '{' > <sblock> }
or do you want to get the ast, produced by method sblock? 10:27
jnthn yeah, 'cus I'm guessing that's where the problem may be...
FROGGS method sblock returns a reference_to_code_object(...) 10:28
damn, pizza is there now :/
jnthn OK, and does that code object accept an argument?
FROGGS hmmm, dont think so 10:29
I see what you mean
the loop wants to give "me" the iterator, and my block doesnt take one
thanks! 10:30
lunch &
BigBear tadzik: i have commented on gist showing the way the "SAME" action under win 7 breaks but under mac os x has no effect? last commnets under gist.github.com/anonymous/5331694
10:37 daxim joined 10:41 brrt left 10:47 grondilu left 10:48 grondilu joined
tadzik BigBear: sorry, I don't have time to look at this right now 10:48
FROGGS back 11:00
jnthn: so I need to add a signature, right?
.u heart 11:02
yoleaux U+2619 REVERSED ROTATED FLORAL HEART BULLET [So] (☙)
U+2661 WHITE HEART SUIT [So] (♡)
U+2665 BLACK HEART SUIT [So] (♥)
FROGGS jnthn: I ♥ you!
Juerd That's colorschemism! 11:03
They're the other way around on my white-on-black terminal
FROGGS should be called "filled heart suit"
nwc10 jnthn: All tests successful.
jnthn FROGGS: Yes, and you can probably steal code to do it...make_topic_block comes to mind 11:07
nwc10: phew!
FROGGS well, I used <sblock(1)> which sets $*IMPLICIT, will test if that is enough
nwc10 you can drink the coffee again, if you want 11:08
11:08 brrt joined 11:10 cognominal joined
jnthn FROGGS: Probably :) 11:10
11:11 lizmat joined 11:14 erkan left 11:24 _jaldhar joined 11:25 drbean left 11:27 drbean joined 11:31 BigBear left 11:32 erkan joined
masak Juerd: that's nothing: what about the new GREEN BOOK and ORANGE BOOK that tadzik found? 11:33
FROGGS .u book
masak the Unicode consortium has jumped the shark.
yoleaux U+1F4D1 BOOKMARK TABS [So] (📑)
U+1F4D5 CLOSED BOOK [So] (📕)
U+1F4D6 OPEN BOOK [So] (📖)
FROGGS .u green
yoleaux U+1F005 MAHJONG TILE GREEN DRAGON [So] (🀅)
U+1F34F GREEN APPLE [So] (🍏)
U+1F49A GREEN HEART [So] (💚)
nwc10 .g 1F4A9 11:34
yoleaux www.fileformat.info/info/unicode/char/1f4a9/
nwc10 ah
.u 1F4A9
yoleaux U+1F4A9 PILE OF POO [So] (💩) 11:35
nwc10 that one
masak memo to the Unicode consortium: "stahp!"
"you're not helping"
"we liked it better when you did alphabets" 11:36
Juerd masak: Hahaha
nwc10 It's a shame that the Fake Unicode Consortium has been rather quiet currently
daxim the consortium only standardises exisiting character repertoires! 11:37
if you don't like poo in your characters, then tell docomo to revoke 11:38
nwc10 Yes, Fake Unicode Consortium mentioned the apples, and that explanation came up in the comments: plus.google.com/109925364564856140...ZbVLhHV52n 11:41
er, reasoning: Google was saying, "here is an existing character set that our users already use and want/expect to be able to search".
11:48 tgt left 11:51 tgt joined, domidumont left 11:54 domidumont joined 11:55 domidumont left, domidumont joined
FROGGS jnthn: what do I have to do to add another block to map's body? It only accepts one positional, but how do I have to wrap it? 11:56
if I call infix:<,>, it tells me that there is no method count for parcel
which makes sense of course 11:57
jnthn ...add another block?
jnthn doesn't understand the question...
FROGGS what I want to do is to support the statement: BLOCK continue BLOCK 11:59
both block should be wrapped by the loop we had earlier
*blocks
jnthn Then yeah, you'd need to wrap the two in another block that calls them in turn, if that's the semantics you want 12:01
Should it only run the second one under certain conditions in that construct? 12:02
jnthn is a very rusty Perl 5 programmer...
FROGGS the continue block should run unless you call 'last' within the main block
jnthn Ah, I remembered rightish :) 12:03
Anyway, doing what I suggested should work out
Oh, but what about if you call "next"?
FROGGS k, thanks :o)
should call the continue block too
jnthn Yeah, then what I suggested won't work for that :P
FROGGS next would be actually a noop there
meh 12:04
:o)
jnthn Well, not a no-op really, it leaves the block?
Anyway, you could always install the continue block as a NEXT phaser ;)
If you kept that bit of infrastructure in place :)
Then it will probably do the Right Thing.
FROGGS that's what I tried for: 'for BLOCK continue BLOCK', and I think I have more grey hair now...
it is easy if the next phaser is within the loop 12:05
jnthn The phasers handling code doesn't actually care in the slightest if the continue block is outside of the other block.
FROGGS hmmmm
jnthn Yeah...you need both code refs around
But provided you have that...you're good.
FROGGS well, I came to the point where it added the phaser (according to my debug output)... but it didnt get fired 12:06
timotimo FROGGS: do you have any modules in particular that you're trying to get to run first? or a few "success stories" so far? :) 12:07
FROGGS errm, my success stories are that about 10 test files pass
need to provide the core modules some day
timotimo oh, core modules, of course 12:08
i guess some of them are implemented in C in perl5?
FROGGS think so, yes 12:09
had no time yet to figure that out
timotimo do you already know how to supply a bunch of modules that would only get loaded if you use v5? 12:13
like if a module of the same name existed in v6 space, that would need to be overshadowed perhaps? or more probably explicitly asked for
12:14 _jaldhar left
FROGGS timotimo: the behavior of having modules of different auth's is specced 12:16
NYI though
but I have influence of load_module from within v5 land 12:17
timotimo ah, nice.
any low hanging fruit i could perhaps look at? those modules could be implemented in v6, right?
FROGGS ya, if they have exactly the same api they could be in perl6 12:18
wourd work like a charm
timotimo well, all those new fancy typed exceptions might be problematic?
FROGGS no, they stringify, I dont think they actually hurt 12:19
I'm not sure about LHFs though :/
timotimo mhm
that's all right
FROGGS but I would actually would like to get some help :o9 12:20
:o)
it is not really an LHF, but maybe you want to implement labels in rakudo? (for 6 and 5) 12:21
timotimo not really LHF, no :( 12:22
FROGGS ya, might be true 12:23
but I know one thing 12:24
you could go over the operators, and add missing dispatchers... perldoc.perl.org/perlop.html
jnthn can offer a few LHF that would help with JVM porting stuff
FROGGS jnthn: make a list/doc 12:25
timotimo jnthn: if they are low enough for me, i'll check them out 12:28
since i have no perl5 experience whatsoever, jakudo is more interesting to me than rakudo5 12:29
jnthn gist.github.com/jnthn/5354193 12:30
There's 2, I'll add more as I have time
They don't need JVM skills either, or even getting nqp-jvm-prep. Just stuff to make Rakudo itself more portable.
Though adding the things mentioned in there to the JVM stuff is welcome too ;) 12:31
12:32 cognominal left 12:34 kaleem left 12:43 sqirrel joined
[Coke] rn: BEGIN CHECK INIT END START ENTER LEAVE KEEP UNDO FIRST NEXT LAST LEAVE PRE 1 12:44
p6eval rakudo 39cf71: ( no output )
..niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Action method statement_prefix:LAST not yet implemented at /tmp/h1_3uAxpuT line 1 (EOF):␤------> VE KEEP UNDO FIRST NEXT LAST LEAVE PRE 1⏏<EOL>␤␤Unhandled exception: Unable to resolve method statement_leve…
jnthn Use all the phasers!
[Coke] I tried, you can't! 12:45
jnthn Rakudo let you :P 12:46
[Coke] (not without some block magic near the end. PRE POST CONTROL CATCH get twitchy when you try to line them up. ;)
jnthn oh...
Yeah, those will be trickier :)
rn: BEGIN CHECK INIT END START ENTER say 'omgz' 12:47
p6eval rakudo 39cf71, niecza v24-37-gf9c8fc2: OUTPUT«omgz␤»
12:47 mtk joined
jnthn :) 12:47
masak uhn.
wait -- when does that run? :)
rn: BEGIN CHECK INIT END START ENTER say 'omgz'; say "x" 12:48
jnthn END time
p6eval rakudo 39cf71, niecza v24-37-gf9c8fc2: OUTPUT«omgz␤x␤»
masak don't think so.
jnthn oh, maybe not
:)
masak may have found a bug! :P
jnthn Oh...
masak rn: BEGIN END say 'omgz'; say "x"
p6eval rakudo 39cf71, niecza v24-37-gf9c8fc2: OUTPUT«x␤omgz␤»
masak rn: BEGIN CHECK END say 'omgz'; say "x" 12:49
p6eval rakudo 39cf71, niecza v24-37-gf9c8fc2: OUTPUT«x␤omgz␤»
jnthn Oh...I see why
masak rn: BEGIN CHECK INIT END say 'omgz'; say "x"
jnthn You didn't write a block after the END
p6eval rakudo 39cf71, niecza v24-37-gf9c8fc2: OUTPUT«x␤omgz␤»
jnthn so that ENTER attaches directly to the current block you are in.
Which is correct, I think.
masak rn: BEGIN CHECK INIT END { START ENTER say 'omgz' }; say "x"
p6eval rakudo 39cf71, niecza v24-37-gf9c8fc2: OUTPUT«x␤omgz␤» 12:50
masak indeed.
but... why does it attach?
shouldn't that attachment run at END time?
jnthn Phasers are block traits.
masak ah. right.
yes, no bug here.
12:56 jtpalmer joined 12:57 isBEKaml joined, SamuraiJack left
isBEKaml hello, #perl6! 13:00
hoelzro isBEKaml: ahoy! 13:01
13:01 woosley1 joined
colomon o/ 13:02
isBEKaml colomon, hoelzro: hey! :) 13:05
hoelzro: wow, I was just looking at your pygments-main pull req a couple of days back. Boy, that's huge.. I wonder how that maintainer keeps up with all these pull requests on the pipeline. :)
13:05 BigBear joined
hoelzro yeah, I know! Perl 6 was a lot of work 13:06
but it was actually easier than I expected
I had the first 95% working in like a week
hoelzro needs to follow up on the comments
isBEKaml I feel sorry for that maintainer, it's a lot of work just to integrate things. :)
what with every language needing work and all. 13:07
hoelzro yeah 13:08
colomon does this mean github will be getting proper p6 highlighting soon?
isBEKaml colomon: if that gets integrated, yeah. I won't expect it soonish, though.
colomon yay! and boo. 13:09
13:10 bluescreen10 joined
hoelzro I have to submit a PR to linguist as well 13:11
but that should simply be a few lines in a YAML file plus a corpus of sample p6 data
hard part's over
well, the politics of a pull request are in front of me, so maybe not =/
daxim what did rakudo used to employ for ffi? not libffi, but a different C lib? 13:13
jnthn Parrot had some amount of its own ffi stuff a while back, but it was fairly limited. These days, Rakudo's ffi support (which is actually implemented as part of NQP) uses the dyncall library. 13:14
daxim dyncall, that was the name, thanks 13:16
jnthn Yeah, but that's not "used to". That's "now". :)
gtodd hmm I play around with some of the code snippets posted in the channel and ...
our token word {\w+}; ('word:arg1:arg2' ~~ / ^ <keyword=.word> [ ':' <arg=.word> ]* $ /).gist.say
for example
prints out strange characters 13:17
daxim aha, I take it it's an optional dep? before asking here I looked first at the requirements of rakudo in the package manager of my distro, it's not listed there
jnthn gtodd: Not sure about the strange chars, but I'm pretty sure you want <arg=&word> there.
daxim: No, we bundle it with NQP; it's built as part of the NQP build process.
gtodd hehe 13:18
daxim aha
isBEKaml daxim: dyncall is part of nqp
gtodd ok ... just finding the unicodeness font and terminal madness starting to leak into my world more frequently 13:19
isBEKaml That just reminds me, nqp, parrot and rakudo are all still in the pending queue here: slackbuilds.org/pending/ (for slackware) 13:20
13:21 PacoAir joined
jnthn A lot of the work was not just using dyncall, but getting C structs and C arrays expressable as normal Perl 6 types/objects, so you can do stuff like class Point is repr('CStruct') { has num $!x; has num $!y; .. } and it organizes the memory like a C struct would, so it can be easily passed off to C land and reflect any changes that happen thanks to the called C code. 13:22
13:22 kaleem joined, cognominal joined
nwc10 jnthn: interesting. I didn't know that. 13:23
gtodd that line (i.e. "our token word {\w+}; ('word:arg1:arg2' ~~ / ^ <keyword=.word> [ ':' <arg=&word> ]* $ /).gist.say" ) prints out
「word:arg1:arg2」
keyword => 「word」
arg => 「arg1」
arg => 「arg2」
jnthn Looks correct in my font... :)
gtodd viz. --> 「 」
nwc10 that follows though. "Being able to dynmically generate a call stack" isn't that useful if your C API takes anything more funky than non-aggregate value parameters 13:24
jnthn .u 「 」
yoleaux U+0020 SPACE [Zs] ( )
U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
gtodd the little backwards L and the upside down L
jnthn nwc10: Right.
nwc10: And since we have representation polymorphism in Perl 6, we can do nice stuff in this area 13:25
gtodd jnthn: yes so those are correct (I remember them being part of perl6 and having a meaning etc)
FROGGS gtodd: matches are printed like that
gtodd yes and they worked
but recently started printing square boxes :-(
isBEKaml hoelzro: have you had some previous pull requests to either linguist or pygments? 13:26
FROGGS keep in mind, 'say' does that, 'print' not
hoelzro isBEKaml: this is my first
gtodd even though my terminal and font are constant ... so ... I am wondering why :-) possibly a change to libicu or or?? 13:27
isBEKaml hoelzro: ah
gtodd FROGGS: hmm ok maybe when I was playing around previously I did not use say
isBEKaml .u square 13:28
yoleaux U+005B LEFT SQUARE BRACKET [Ps] ([)
U+005D RIGHT SQUARE BRACKET [Pe] (])
U+033B COMBINING SQUARE BELOW [Mn] (◌̻)
gtodd until this point I have led a sheltered life with respect to unicode/fonts/terminals/locales/perl6 13:29
since everything "just worked" .... I felt like I was using a Mac or something
FROGGS gtodd: no, I mean if you do "our token word {\w+}; ('word:arg1:arg2' ~~ / ^ <keyword=.word> [ ':' <arg=&word> ]* $ /).gist.print" you dont get the nice L's 13:30
gtodd it works as expect if I stop using OTF TT fonts in my xterms 13:31
FROGGS: even .print does not work ... I've probably found some whackiness in my XTerm, the codepoints "supported" by my font etc. etc. 13:32
Too many layers to expect that it was the constantly changing perl6 that changed something ... :) 13:33
FROGGS calls it progress :o) 13:35
gtodd hah .. what impressed me earlier (but this must have been my system being set up correctly) was that things printed/displayed correctly in my terminal/console/xterm etc 13:36
13:37 frdmn|afk joined 13:40 frdmn left 13:47 drbean left 13:49 drbean joined 13:53 SmokeMachine left 13:58 drbean left, PerlJam joined 13:59 skids joined 14:00 drbean joined 14:13 xilo left 14:23 bluescreen100 joined 14:26 kaare_ joined 14:27 bluescreen10 left 14:31 FROGGS left 14:35 PacoAir left 14:36 kaleem left 14:42 lizmat left 14:43 xilo joined 14:44 frdmn|afk left 14:45 woosley1 left 14:51 woolfy left
cognominal is there any caching for Perl 6 methods equivalent of -X in Perl 5 ? 14:55
14:57 crab2313 joined 15:00 FROGGS joined, isBEKaml left 15:11 fhelmberger left
gtodd FROGGS: apparently I had a framebuffer device on my console 15:13
which made U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「) etc. display correctly 15:14
FROGGS ahh, interesting
gtodd not sure what is happening with my xterms hah ... the fonts I'm using (dejavu) have coverage for everything ♡ ♥ ... but not 「 or 」 :-) 15:18
FROGGS hmmm, my terminal tells me it uses 'monospace 10' 15:20
whatever font that is
gtodd clearly something auto updated and screwed everything up :) 15:22
15:22 isBEKaml joined, isBEKaml left, isBEKaml joined
FROGGS ya, I'm using ubuntu too *g* 15:22
gtodd heh 15:23
does anyone know why my builds of rakudo (using --gen-parrot which pulls latest parrot) seem to break on building documentation for parrot/docs/ops/bits.pod ? if I cd parrot/docs ; make and then cd .. perl Configure.pl and build parrot and then add cd to rakudo and start over --with-parrot ... it works and builds 15:26
is the parrot build expected to break on little things like that now and then?
pmichaud gtodd: No, I wouldn't expect that.
note that --gen-parrot doesn't pull latest parrot. 15:27
[Coke] tries to figure out what perl5 -X does - can someone point me to the appropriate perldoc?
pmichaud --gen-parrot pulls a revision of Parrot that is expected to work with Rakudo. That's not necessarily (or even usually) the "latest Parrot". 15:28
[Coke] gtodd: if you are upgrading parrot in between builds, parrot is not guaranteed to build clean if you had already started a build in a previous version.
isBEKaml [Coke]: perlrun, I think
gtodd hmm ok it seems like everything but stuff under parrot/docs/ops builds normally and it's really only bits.pod that breaks
[Coke] (I often do a (cd parrot && git clean --xdf) to avoid tht sort of (infrequent) issue.
pmichaud one can do --gen-parrot=master to be sure to pull the "latest parrot".
isBEKaml [Coke]: yep, disables all warnings, it says. :) 15:29
[Coke] URK. "perldoc perlrun" generates lots of ugly bold <C2>'s
gtodd it seems to be breaking when it trys to generate manual pages from pods?
[Coke] cognominal: did you mean -X above? 15:30
gtodd [Coke]: ok will try that
pmichaud: great ... this will help me simulate a release locally :-)
FROGGS [Coke]: I dont see a connection of -X and method caching
jnthn o/ pmichaud 15:31
15:31 brrt left
pmichaud o/ jnthn 15:33
jnthn pmichaud: I'm fairly likely going to be looking at getting the JVM stuff into the NQP repo sometime around the weekend. If you don't beat me to it, I'll take the opportunity to rename all the files to .pm then 15:34
uh
to .nqp !!
pmichaud I'm very unlikely to beat you to it.
+1 to moving the jvm stuff into nqp repo. btw.
(I saw your query about it yesterday)
jnthn Yeah, I think now is about the time.
pmichaud +1 to renaming .pm to .nqp, also. 15:35
jnthn It passes just about all the non-Parrot-specific tests that the Parrot implementation does.
pmichaud \o/
jnthn Am gradually working towards getting Rakudo into shape for making a push towards supporting that on the JVM also. :) 15:36
pmichaud excellent :) 15:37
it will hopefully be good material for my yapc::na talk :)
gtodd jnthn: you might know the answer to this re: LLVM project ... what is the vmkit ?!? 15:38
jnthn gtodd: A starting point for building VMs using some of the LLVM infrastructure. Still leaves you a lot of building to do, though, afaik... 15:39
gtodd ah ok it seems more of a research phd dissertation project at this stage but I wondered if it is something that needs to be part of the resulting vm 15:40
whether you'd be tied to llvm in someway 15:41
isBEKaml gtodd: vmkit, IIRC - is LLVM's work towards the jvm (?)
jnthn isBEKaml: iiuc, they're building a JVM implementation using vmkit but it could in theory be used to build some other VM too 15:43
Not sure how many examples of that there are.
isBEKaml jnthn: yeah, it seems pretty barren/dead ATM 15:44
gtodd ok ... so it's early days or the end of time ... but basic takeaway is that vm's are cooler than vc's :)
isBEKaml jnthn: last commit into vmkit was a lone commit in Jan2013. 15:45
gtodd so people are writing and porting etc.
isBEKaml lists.cs.uiuc.edu/pipermail/vmkit-c...hread.html
gtodd: VCs?
gtodd venture capitalists ;-) 15:46
isBEKaml and VMs? Venture Men? :-)
gtodd heh
hmm here are my parrot build errors when using --gen-parrot .... 15:47
usr/local/bin/perldoc -ud packfile-c.pod ../src/packfile/api.c
No documentation found for "/usr/local/bin/perldoc".
No documentation found for "-ud".
No documentation found for "packfile-c.pod".
then it pops into a manual page and stops the build (?) if 15:48
I quit out of there it gives me another error:
[Coke] are you building as root?
pmichaud 15:47 <gtodd> No documentation found for "/usr/local/bin/perldoc".
That's weird. That looks like perldoc is trying to compile itself. 15:49
gtodd yeah
[Coke]: I haven't had to do that in the past
the second error is:
[Coke] gtodd: you shouldn't build as root, no.
gtodd /usr/local/bin/perl5.16.2 -MExtUtils::Command -e chmod 0644 ops/bit.pod
Cannot chmod 0644 ops/bit.pod:No such file or directory at /usr/local/lib/perl5/5.16.2/ExtUtils/Command.pm line 274.
gmake[1]: *** [ops/bit.pod] Error 2
gmake[1]: Leaving directory `/usr/home/gtodd/development/rakudo-release/rakudo/parrot/docs'
gmake: *** [docs.dummy] Error 2
Command failed (status 512): gmake install-dev
[Coke] (but that has been the source of weird perldoc errors in parrot build in the past.) 15:50
gtodd [Coke]: ahh ok
will try
[Coke] no, DON'T Build as root.
gtodd I can fix it with a lot of manual cd ; make ; and other dancing
[Coke] building as root has been a problem in the past.
gtodd: are you passing in an options to rakudo's Configure? 15:51
gtodd oh ok I was only going to test if it worked :-)
[Coke] *any
I have to run, but if you are having trouble building parrot, you might want to ping #parrot on irc.perl.org
gtodd perl Configure.pl --gen-nqp --gen-parrot
[Coke] (which is filled with many sixers)
gtodd ooops yeah duh :-)
I forgot parrot is a separate thing :-)
PerlJam Are both "--gen-parrot" and "--gen-nqp" needed? Or does one imply the other? 15:53
pmichaud --gen-parrot implies --gen-nqp
(if you build a new parrot, you need a new nqp also.)
kresike bye folks 15:54
15:54 kresike left
isBEKaml bye, kresike 15:54
.tell kresike thanks for all the "happy"s. :-) 15:55
yoleaux isBEKaml: I'll pass your message to kresike.
15:55 grondilu left 15:56 grondilu joined 15:58 grondilu left 16:00 bbkr left 16:01 drbean left 16:06 kaleem joined 16:08 drbean joined
isBEKaml .u bucket 16:16
yoleaux No characters found
isBEKaml .u hat
yoleaux U+05B1 HEBREW POINT HATAF SEGOL [Mn] (◌ֱ)
BigBear I am now out of here and go and watch G I Joe Retaliation in 3D - should be fun night #perl6
yoleaux U+05B2 HEBREW POINT HATAF PATAH [Mn] (◌ֲ)
U+05B3 HEBREW POINT HATAF QAMATS [Mn] (◌ֳ)
16:17 dmol joined
BigBear tadzik: no problem I understand. I am sorted for now. If you need me to do anything , further tests and such like let me know here , I will come back and read the daily logs and see if there is anything else. Happy studying. 16:17
16:19 BigBear left 16:33 kaleem left 16:40 lizmat joined 16:44 lizmat left 16:45 lizmat joined
gtodd .u é 16:49
yoleaux U+00E9 LATIN SMALL LETTER E WITH ACUTE [Ll] (é)
16:51 kaleem joined, kaleem left 16:54 SamuraiJack joined, PacoAir joined 16:55 frdmn joined 16:57 dakkar left 16:59 kst`` is now known as kst 17:04 loops joined 17:05 daxim left 17:08 SHODAN joined
[Coke] masak: -> (12:07) From Kazrak, to random: 17:11
- "The two top sources of error in software are concu and buffer overflow%^$#@@
- ~rrency. And off-by-one errors.
17:12 zby_home_ joined
huf :D 17:14
17:19 lizmat left, lizmat joined
timotimo i'll do the STAT const LHF for rakudo now. 17:36
17:37 crab2313 left 17:43 cognominal left 17:47 bluescreen100 left
timotimo hm, i may have started this on the wrong end 17:50
dalek p: 445f1ac | (Timo Paulssen)++ | src/QAST/Operations.nqp:
add STAT_* constants to nqp::const::
18:01
timotimo spectesting my rakudo changes right now
PerlJam masak: have you heard of hackfoldr.org or its ilk? Might prove useful for the workshop (or a distributed hackathon) 18:07
18:08 SamuraiJack left
timotimo i have no idea what this hackfoldr thing is, it looks like a jumbled mess of different things 18:10
18:13 loops left
timotimo great, my changes all pass 18:24
18:27 johnjohn101 joined
johnjohn101 so i heard perl 6 will be out on jvm this summer. is this correct? 18:28
timotimo hopefully
that effort is currently underway
lue hello world o/ 18:30
gtodd ok now I want to write a test to make sure my terminals/fonts/localesettings work :)
how can I get perl6 to give me the codepoint from character name? like the reverse of: say "\c[LATIN SMALL LETTER E WITH ACUTE]"
or maybe print the character é ?
the code point and the name 18:31
wait .. I want a script that does what .u does
in the channel ... except I just run it with utf8_sample.txt or big unicode text file and look at the output to see if my terminal/local/font/Xresources etc. are working 18:32
18:32 isBEKaml left
timotimo r: say "\c[FULL BLOCK]".ords 18:33
p6eval rakudo 39cf71: OUTPUT«9608␤»
timotimo r: say "\u9608"
p6eval rakudo 39cf71: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\u'␤at /tmp/JDFQsFcMFw:1␤------> say "\⏏u9608"␤ expecting any of:␤ argument list␤ prefix or term␤ prefix or meta-prefix␤ double quotes␤»…
timotimo er, whoops
r: say "\c9608"
p6eval rakudo 39cf71: OUTPUT«█␤»
timotimo there you go
gtodd because now I'm finding lots of undisplayable characters showing up in the REPL ... (which must be due to something I've done here sigh)
timotimo: oh hah thanks .. I'm going to have make a test I can run on login or something 18:34
dalek kudo/nom: c1c25dd | (Timo Paulssen)++ | src/core/IO.pm:
use the new NQP STAT constants
18:38
kudo/nom: 4dc8590 | (Timo Paulssen)++ | tools/build/NQP_REVISION:
bump NQP version to get new STAT_ consts
kudo/nom: 17f5e59 | jonathan++ | / (2 files):
Merge pull request #120 from timo/use_nqp_const_stat

Use nqp::const::stat_...
timotimo thanks :)
jnthn Thank you :) 18:39
pir:: in setting now down to 163 hits 18:40
timotimo neat.
[Coke] jnthn++
etal.++
timotimo i'm not familiar enough with the codegen to implement flip, though :|
jnthn timotimo: oh, I can probably point you at an example that may help 18:41
gtodd timotimo: it's like important like to put .ords *after* the "" :-\
sigh
jnthn timotimo: look up getcodecuid as an example
gtodd perl makes one suitably ambitious and suitably humble ... 18:42
lue I added some ideas on the actions side of slangs at the bottom of this, if you care: gist.github.com/lue/5241230
timotimo i'll have a look, thanks
gtodd hmm k good thanks
timotimo r: say .ords for "foo"; # gtodd
p6eval rakudo 39cf71: OUTPUT«102 111 111␤»
timotimo ;)
gtodd arg
jnthn timotimo: oh, but it may be a bit trickier as it'll want a Parrot string constructing 18:43
hmm
gtodd say .unicodecharactername for "these are so easy to remember"; 18:45
timotimo jnthn: i would have to create a QAST::VM node for that? 18:46
jnthn timotimo: You could do it that way, yeah 18:47
timotimo that looks like i'd have to write PIR, though, which i am not capable of
i assume i'd have to generate code to call nqp::some_unboxing_op, then pir::flip on that resulting parrot string (i hope) and then nqp::perl6ify on the parrot string again and use that? 18:48
jnthn Desugar to something like: QAST::VM.new( :pirop('set__SP'), QAST::Op.new( :op('callmethod'), :name('reverse'), QAST::VM.new( :pirop('box__PS'), $op[0] ) ) )
timotimo uh, set__SP has only one parameter? 18:49
well, since box__PS does, too, i guess that's correct
18:50 johnjohn101 left
diakopter right, the output parameter is implied 18:50
jnthn Yes
timotimo but calling box on $op[0] - wouldn't that ... box it again?
jnthn The first character is the output type
timotimo ah, so it turns a Pointer into a String, more or less
jnthn Yes, we use box (the Parrot op) to box it to a Parrot String
from a string register
timotimo why don't i have to unbox it from a perl6 string into a string register manually? 18:51
jnthn In CORE.setting you'll want something like nqp::p6box_s(nqp::flip(nqp::unbox_s(self.Str))) 18:52
timotimo ah, ok
jnthn You leave those bits to be done in Perl 6, and from the QAST level expose an op that takes a str and produces a str
timotimo > nqp::say(nqp::flip("foo")) 18:57
oof
do i put some tests in the nqp testsuite for this? 18:58
jnthn please
59-nqpop.t is suitable
timotimo will do 18:59
dalek p: e92eff1 | (Timo Paulssen)++ | / (2 files):
add nqp::flip op with a simple test for 59-nqpops
19:02
timotimo i guess i'll hunt pir::reverse usages in rakudo now 19:03
jnthn I think there's only one in Cool.flip 19:04
timotimo found it, thanks!
compiling and spectesting now 19:05
19:05 berekuk joined
timotimo t/spec/S32-str/flip.rakudo ................................ ok 19:12
i guess i'll push & pullrq 19:13
19:13 tgt left, snearch joined
jnthn timotimo: Hm, I guess that means you did All The Things I Suggested ;) 19:14
timotimo it seems so! 19:15
it's almost as if you did all the work!
jnthn I have more suggestions, if you're not bored yet ;)
IO.pm is a treasure trove of similarly straightforward things. 19:16
19:16 domidumont left
jnthn pir::new__PS('OS').unlink($path); for example 19:16
Which could really be Ps...
QAST::Op.new( :op('callmethod'), :name('unlink'), QAST::VM.new( :pirop('new__Ps'), QAST::SVal.new( :value('OS') ) ), $op[0] ) ) # or so 19:17
There's a range of similar; rmdir, mkdir, chdir, rename, copy (second ones take two operands but same principle) 19:18
19:18 rindolf left
timotimo i guess i can try that 19:18
jnthn timotimo++ 19:19
timotimo how many days will jakudo be finished earlier due to my hard work^W^Wpestering you for the solution instead of thinking for myself?
dalek kudo/nom: 33d2614 | (Timo Paulssen)++ | / (2 files):
new NQP, use nqp::flip op in Cool.flip.
kudo/nom: 1ee3b4c | jonathan++ | / (2 files):
Merge pull request #121 from timo/nqp_flip_op

new NQP, use nqp::flip op in Cool.flip.
19:20 GlitchMr joined
jnthn Depends how many pir:: you can kill. ;-) Generally, though, any of these bits I can offload the coding/testing of help in so far as they free me up to do other bits :) 19:21
timotimo jnthn: is there a replacement for pir::perl6_current_args_rpa__P(); already? (as used in sub note/say/print/gist(|))
dalek p: 788df18 | jnthn++ | src/QAST/Operations.nqp:
Add an nqp::getlexcaller.
19:22
jnthn timotimo: No; I'm still pondering exactly how to handle that one.
timotimo 'k
dalek kudo/nom: 400fb2c | jnthn++ | / (8 files):
Use nqp::getlexcaller op.
19:23
jnthn Search "pir::" (151 hits in 25 files) # progress :)
timotimo jnthn: nqp::usecapture and such are not right for that? 19:26
jnthn timotimo: They could in theory be used for it, but the op does a little bit more than that. 19:28
19:28 tgt joined
timotimo OK. i'll let you think about it some more then ;) 19:29
sergot feather.perl6.nl/~sergot/modules/ so... It works! 19:35
\o/
timotimo oh, smokin'!
tadzik sergot: autoupdates?
sergot: and individual module pages broken, no? 19:36
for some new ones
sergot tadzik: autoupdate - yes. 19:37
tadzik: oh... which one e.g.?
tadzik erm, I don't know anymore 19:38
sergot ADT?
tadzik feather.perl6.nl/~sergot/modules/mo...gnore.html was 404 for me 2 minutes ago
it's ok now :)
sergot Great! :)
tadzik yeah, super-awesome
sergot++
sergot tadzik++ for help. :) thanks 19:39
timotimo sergot: any way to get the readme rendered instead of plain text? 19:44
19:45 zby_home_ left, GlitchMr left
[Coke] sergot: yay, my lame module passes all tests! ;) 19:46
tadzik Text::Markdown is green :)
so should be doable 19:47
timotimo jnthn: how do i properly test the functions like chdir, mkdir, rename, move?
jnthn timotimo: Hm...good question. I'm sure Rakudo's tests must do it.
timotimo: I'd look there for inspiration
timotimo oh, so i'll have to copy them :|
jnthn That or we just let the Rakudo tests cover it :) 19:48
The lazy option. :)
timotimo i'm lazy for now. we could make it a LHF for other people :D
jnthn ;)
19:49 snearch left
tadzik sergot: will you blog about it? 19:49
also, I see no reason why we wouldn't now eat our own dogfood and generate modules.perl6.org with Perl 6
not only it works, but is more awesome than the existing one
moritz: ?
sergot tadzik: should I? 19:51
tadzik sergot: I think so
sergot So, it'll be done.
[Coke] tadzik: +1 here.
masak things so too
tadzik "look, we are self-sustaining"
masak thinks*
tadzik i.imgur.com/TvYipWU.gif -- the current state of Panda development
[Coke] owww.
masak awww, good thing they're so soft! 19:52
dalek p: b208fc2 | (Timo Paulssen)++ | src/QAST/Operations.nqp:
add a few nqp ops for IO.pm

chmod, unlink, rmdir, cwd, chdir, mkdir, rename, copy.
they will be tested by the rakudo testsuite later, but adding tests to nqpops.t would be neat, too.
19:53 arlinius left
[Coke] attempts to rebuild his installed rakudo since it seems to have gone haywire at some point. :| 19:53
dalek kudo/nom: 9642243 | jnthn++ | src/Perl6/ (5 files):
Some more pir:: => nqp:: in the MOP/BOOTSTRAP.
sergot timotimo: what did you mean?
[Coke] (haywire== getting huge backtraces when running "./perl6"; I think all I did sixwise was build rakudo with a different install path in another folder)
timotimo sergot: on the individual info page of my ADT module it's just <pre>, but my readme is actually a .md file, so it could be rendered instead 19:54
huh, suddenly lots of changes
flussence aw crap, text-tabs-wrap failed? I *really* didn't want to have to touch that giant tangled ball of meat hooks again... 19:55
jnthn timotimo: One other easy one I just spotted is adding a simple mapping for nqp::settypecheckmode to stable_set_type_check_mode, sig 0PI. Can use add_core_pirop_mapping at end of object ops section. Then there's a couple of places it's used in src/Perl6/Metamodel/ :)
flussence
.oO( OTOH, maybe it's been long enough I can finally get rid of all the hacks in that code... )
sergot timotimo: oh, right! I was thinking about it. Will do this. thanks timotimo++
timotimo sure
tadzik flussence: I have the same feelings about a couple of my modules :)
timotimo very cool to have, great work!
flussence ow, that was a *lot* of lag.
raiph for when we replace diakopter with a conventional fuzzer: blog.regehr.org/archives/925 19:56
(about making fuzzing results much more useful)
(focused on fuzzing of compilers) 19:57
flussence rn: my $line-len = 5; 'foo bar' ~~ /\N ** {0..$line-len} [\n|\s|$]/
p6eval niecza v24-37-gf9c8fc2: ( no output )
..rakudo 17f5e5: OUTPUT«===SORRY!===␤Quantifier quantifies nothing␤at /tmp/XcjzbpUezm:1␤------> my $line-len = 5; 'foo bar' ~~ /\N ** ⏏{0..$line-len} [\n|\s|$]/␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ …
flussence n: my $line-len = 5; say 'foo bar' ~~ /\N ** {0..$line-len} [\n|\s|$]/
p6eval niecza v24-37-gf9c8fc2: OUTPUT«「foo 」␤␤»
19:59 labster joined 20:00 GlitchMr joined
[Coke] looks forward to running rakudo through jvisualvm. 20:00
timotimo hehe 20:01
lue wonders if having an optional logotype/logo_64x64.png for individual module pages (using 32x32 as a fallback) would be a bad thing
timotimo about to spectest my IO.pm nqpisations
20:03 zby_home_ joined
lizmat timotimo++ 20:03
20:04 prammer left 20:05 prammer joined 20:09 loops joined
timotimo seems like i didn't make a silly mistake so far :) 20:09
jnthn: feel free to merge dr 20:12
:)
i'm finished for today.
dalek kudo/nom: 2cc823a | (Timo Paulssen)++ | / (2 files):
use the several new IO nqp:: ops in IO.pm
20:15
kudo/nom: 7776447 | jonathan++ | / (2 files):
Merge pull request #122 from timo/io_pm_nqp_ops

use the several new IO nqp:: ops in IO.pm
jnthn timotimo++ # thanks! 20:16
timotimo sure thing! 20:18
i'm just now considering writing a python dialect where the whitespace that determines block nesting is on the right side of the code rather than on the left
lizmat is there something like race { $a=1; $b=2; $c=3 } that would potentially execute the statements in parallel ? 20:23
inside the block ?
20:24 arlinius joined
flussence I guess you could something like [{$a=1},{$b=2},{$c=3}]».() 20:24
lizmat I can only find "race" and "hyper" as listop in S02
yuck :-)
Tene timotimo: lies; you considered that about an hour ago! 20:26
lue r: my ($a,$b,$c); any({$a=1},{$b=2},{$c=3}).(); say $a,$b,$c;
p6eval rakudo 964224: OUTPUT«123␤»
jnthn I guess if async returns some kind of future/promise object then you can do it as a kind of task combinator on those.
timotimo Tene: that's true! but time is an illusion!
(lunchtime doubly so)
masak lue: bzzzt. use of junctions only for their parallelism side effect detected. 20:27
gtodd .u é
yoleaux U+00E9 LATIN SMALL LETTER E WITH ACUTE [Ll] (é)
lizmat I'm more thinking in the realm of compiler hints
Tene timotimo: Very deep.
timotimo but not mine :)
lue ENOS17
lizmat rn: say $_ for hyper ^10 20:35
p6eval niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: No value for parameter '$dwimr' in 'hyper'␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (hyper @ 1) ␤ at /tmp/squat0vSAO line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6eval/niec…
..rakudo 964224: OUTPUT«Cannot call 'hyper'; none of these signatures match:␤:(\op, \a, \b, :dwim-left(:$dwim-left), :dwim-right(:$dwim-right))␤:(\op, \obj)␤:(\op, Associative \h)␤:(\op, Associative \a, Associative \b, :dwim-left(:$dwim-left), :dwim-right(:$dwim-right))␤:(\op, Associative…
lue wonders if there's anything else in Perl 6 that can be used for their non-primary purposes (like junctions purely for parallelism)
timotimo oh, that's interesting
lizmat rn: say $_ for race ^10
p6eval niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'race' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /hom…
..rakudo 964224: OUTPUT«===SORRY!===␤Undeclared routine:␤ race used at line 1␤␤»
lizmat I would think we would need better syntax for parallellism in Perl 6 than abusing junctions 20:37
masak lue: the reason you shouldn't use junctions for parallelism is that they don't guarantee it, they only allow it.
20:37 kaare_ left
lue lizmat: naturally, but S17 is a mess right now. Junctions are the only thing I know of that can do the parallelism thing. 20:37
timotimo except they are not actually parallelised :) 20:38
not even with green threads
masak lue: no, 'hyper' does the parallelism thing, too.
lizmat I guess I need to revisit S07, after 8 years or so :-(
lue
.oO(oh yeah)
20:39
masak lue: and 'race'.
lizmat so,my understanding of "say $_ for race ^10" is that that would print 0 through 9 in a random order 20:40
lue hyper (aside from use in hyperops) and race appear to be NYI though. (I was referring to the only *working* thing, unless I really need to read all the concurrency things)
lizmat is that understanding correct, masak ?
it's all NYI, and some not even specced
masak lizmat: I'm no expect, but I haven't seen 'race' and similar modifiers in that position before. 20:41
lizmat: they tend to go before a statement. like 'hyper for @a {...}'
in a sense, they are contextualizers. 20:42
ingy timotimo: yes :)
for some definition of soon
jnthn lizmat: Once Rakudo is on the JVM and we have a platform to play with all of these parallel things, we should maybe have some hackathon on it. I'd be happy to participate and provide quick prototyping of ideas.
lizmat sounds like a plan! 20:43
lue for those who know better than I: is S17 just in need of a reformatting/rearranging of content, or does its content need serious changes?
timotimo ingy: all right. i'll not try to bash my head against it then :) 20:45
moritz \o
lue hello moritz o/ 20:46
jnthn o/ moritz
masak moritz! \o/
lizmat lue: I think that in general people shouldn't have to program in threads
it is simply too difficult 20:47
jnthn Aye. Threads are part of the assembly language of parallel/concurrent programming.
ingy just bought some cool new threads
lizmat so I'm looking for other paradigms for using multi-core CPU's transparently
jnthn Most of the time we want to use higher level tools :)
lue It'd still be useful to provide lower-level threads though. 20:48
lizmat I'm not 100% sure
:-) 20:49
about providing lower level threads at a higher level
jnthn We may wish to purely out of wishing to write the higher level pieces in a HLL :)
lue just thought of a high-level meanwhile statemnt, of questionable usefulness: sub foo { my $a = 0; meanwhile { $a++ }; while $a < 10 { say $a } }
lizmat jnthn: ;-) 20:50
masak 'night, #perl6 20:51
lizmat finishing up at the Niederrhein PM meeting
night masak!
moritz re modules.perl6.org generated by Perl 6 code: I'm all for it, but the generation can't be done on the host that is serving the pages
jnthn ...where?
lue g'♞ masak o/ 20:52
moritz because it has too little memory to build rakudo
so the files need to be rsync'ed over
20:52 lizmat left, frdmn left
jnthn Oh...area near the Rhein... I guess... 20:53
moritz yes
[Coke] moritz: too little to /build/ or /run/ rakudo? 21:00
r: PRE 21:01
p6eval rakudo 964224: OUTPUT«===SORRY!===␤Undeclared name:␤ PRE used at line 1␤␤»
21:01 dmol left
[Coke] r: PRE ; 21:01
p6eval rakudo 964224: OUTPUT«===SORRY!===␤Error while compiling block (source text: "PRE ;"): Error while compiling op call: Error while compiling block : Error while compiling block (source text: " "): Error while compiling op unless: Can only use get_how on a SixModelObject␤»
[Coke] masak: ^^ ?
21:02 skids left 21:09 dmol joined
dalek : 7efe338 | (Tobias Leich)++ | lib/Perl6/P5 (2 files):
support: (loop) BLOCK continue BLOCK
21:11
21:12 zby_home_ left
dalek : 934d143 | (Tobias Leich)++ | t/spectest.data:
we pass cmd/switch.t now; added comments about other test files
21:12
21:13 cogno joined 21:14 Chillance joined
dalek : 7626362 | (Tobias Leich)++ | TODO_compound_statements.md:
remove todos, add hints about labels
21:14
cogno Hi from the maldoror 21:15
FROGGS hi cogno
r: PRE; 21:16
p6eval rakudo 964224: OUTPUT«===SORRY!===␤Undeclared name:␤ PRE used at line 1␤␤»
FROGGS r: PRE ;
p6eval rakudo 964224: OUTPUT«===SORRY!===␤Error while compiling block (source text: "PRE ;"): Error while compiling op call: Error while compiling block : Error while compiling block (source text: " "): Error while compiling op unless: Can only use get_how on a SixModelObject␤»
FROGGS hmmm
cogno Is there an equivalent 21:17
Oops
21:18 LlamaRider joined 21:19 ironcame1 is now known as ironcamel
cogno is there a perl6 equvalent of the perl5 filetest -X with the caching of the stat result 21:19
LlamaRider FROGGS: How can I help in the v5 effort? I just forked and will have time over the weekend for a first in depth look.
FROGGS r: say 'filename'.IO.x # dunno about caching
p6eval rakudo 777644: OUTPUT«False␤»
FROGGS cogno: that was for you --^ 21:20
LlamaRider: well, grab a failing test files (one that is commented out in spectest.data) and try to implement the missing pieces 21:21
LlamaRider: one of the most important things are typeglobs, and stuff like opne(), close()
LlamaRider FROGGS: Sounds like a plan :)
FROGGS :o) 21:22
cool
cogno Thx, too bad, my question was about caching
[Coke] cogno: perlcabal.org/syn/S32/IO.html#IO%3A%3AFileTests - no mention about caching.
[Coke] notes that there is some mojibake just above the TITLE in perlcabal.org/syn/S32/IO.html#IO%3A%3AFileTests 21:24
er, perlcabal.org/syn/S32/IO.html puts you much closer to the title.
FROGGS r: PRE say 1 if 2;
p6eval rakudo 777644: OUTPUT«1␤»
[Coke] cogno: are you trying to satisfy a current coding requirement, or just curious about the spec?
FROGGS [Coke]: I might have a fix for the 'PRE ;' problem 21:27
std: PRE ;
p6eval std 86b102f: OUTPUT«ok 00:00 41m␤» 21:28
21:29 PacoAir left
jnthn 'night, #perl6 21:29
FROGGS night jnthn 21:30
21:31 LlamaRider left
timotimo here's a tricky one for flattening and such 21:33
21:33 cogno left
timotimo i have a sparse 2dim array, so something like [Any, Any, Any, [Any, Any, Any, True], Any, [True]] or something 21:34
now i'd like to extend it a bit.
so i tried this: @map = [], (map { if $_.defined { Any, $_ } else { $_ } }, @map);
21:34 grondilu joined
timotimo but that seems to be very strange, and i suspect it does some kind of flattening that i don't expect 21:35
advice?
21:38 dmol left, dmol joined 21:40 BigBear joined 21:41 cogno joined 21:45 dmol left, kurahaupo joined 21:51 cogno left 21:52 grondilu left 21:53 cogno joined 21:55 erkan left, erkan joined, erkan left, erkan joined 21:58 xilo left 22:04 lustlife left 22:11 cogno left
dalek kudo/nom: 460c2ad | (Tobias Leich)++ | src/Perl6/Grammar.pm:
add exception for token blorst

This will make "PRE ;" not die with a dubious error message.
22:16
: 4787eea | (Tobias Leich)++ | lib/Perl6/P5Actions.pm:
pull latest changes from rakudo
22:28
22:31 frdmn joined 22:38 skids joined 22:45 BigBear left 22:49 berekuk left 22:51 berekuk joined 22:54 Chillance left 23:00 sqirrel left 23:10 berekuk left 23:11 lizmat joined 23:22 cognominal joined 23:40 xilo joined, lizmat left