»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
timotimo oh? 00:01
you mean as in: "that's ugly"?
rjbs irclog.perlgeek.de/perl6/2015-04-02#i_10382903
I also have no idea what it means or why it needs to be there, but that may just mean that beginners need to learn more stuff than I have yet.
00:02 mr-foobar left
timotimo it's the difference between [1, 2, 3] and (1, 2, 3), for example 00:03
m: my @test = 1, (4, 5, 6), 10; say @test.perl
camelia rakudo-moar 87b1ee: OUTPUT«[1, 4, 5, 6, 10]<>␤»
00:03 rarara left
timotimo m: my @test = 1, [4, 5, 6], 10; say @test.perl 00:03
camelia rakudo-moar 87b1ee: OUTPUT«[1, [4, 5, 6], 10]<>␤»
timotimo m: my @test = 1, [4, 5, 6]<>, 10; say @test.perl
camelia rakudo-moar 87b1ee: OUTPUT«[1, 4, 5, 6, 10]<>␤»
timotimo the <> gets the (...) out of a [...], more or less
rjbs Blah. 00:04
timotimo so flattening vs non-flattenin, basically
rjbs m: say {:a(1)}.perl; my %h = {:a(1)}.perl; say %h.perl 00:06
camelia rakudo-moar 87b1ee: OUTPUT«{:a(1)}␤Odd number of elements found where hash initializer expected␤ in block <unit> at /tmp/Xu8ss4GztQ:1␤␤»
rjbs oops
m: say {:a(1)}.perl; my %h = {:a(1)}; say %h.perl
camelia rakudo-moar 87b1ee: OUTPUT«{:a(1)}␤{:a(1)}<>␤Saw 1 call to deprecated code during execution.␤%h = itemized hash called at:␤ /tmp/Hz41QBqcm3, line 1␤Deprecated since v2014.7, will be removed with release v2015.7!␤Please use %h = %(itemized hash) instead.␤»
rjbs Hm.
Why don't I see that warning when I'm running my perl6? 00:07
But the real thing I wanted ot ask is: why does only the latter get <>?
Oh, because deprecations come outa at the end.
00:09 mr-foobar joined 00:10 Akagi201_ left 00:15 vendethiel joined 00:16 jack_rabbit left 00:36 vendethiel left
rjbs Here is the terrible perl6 program I wrote to build a "hello world" program binary that runs on the Z-Machine: github.com/rjbs/ZMachine-Whiz/blob...er/whiz.p6 00:39
timotimo i know pretty much nothing about how a z machine works
what is ZSCII? 00:40
rjbs It's the internal string representation used by Z-Machine. More in a sec...
rjbs pushes a tiny improvement.
Z-Machine text has a character set with 10 bits of characters, but inpractice only 255 codepoints are used. Characters are encoded into a five-bit-based representation, with three quints packed into a word, with the high bit marking end-of-string. 00:41
timotimo ah, ok 00:43
that probably works a bit better than pascal-style strings 00:44
rjbs The high bit thing isn't bad, but everything else is a mild pita. 00:46
timotimo mhm 00:47
weird packing
rjbs timotimo: ZSCII: rjbs.manxome.org/rubric/entry/2014 00:49
00:50 BenGoldberg left
timotimo thanks :) 00:51
00:52 vendethiel joined
colomon rjbs++ 01:04
timotimo i'm currently playing a lot with valgrind
rjbs next, I may port p5 ZMachine::ZSCII to replace my lousy p6 one.
timotimo the interaction between the GC and the nursery and such is ... interesting %)
i may just call "no more error reports for now please" before the gc starts and "you can resume error reporting again!" after the gc is finished 01:08
01:14 vendethiel left 01:20 raiph joined 01:21 Akagi201 joined 01:46 Akagi201 left 01:47 Akagi201 joined 01:48 Akagi201_ joined, Akagi201 left 01:52 hobbs left 01:54 hobbs joined
rjbs I'm looking for, but failing to find, docs on an enumerated type. What's the simplest way to declare an attribute that's known to be one of three values? 01:58
Algebraic or choice-of-string, either way. :)
raiph rjbs: doc.perl6.org/type/EnumMap ? 02:01
rjbs Documentation is a bit thin, but I'm not sure that's what I want. I want, say: has OneOf<<pie cake pudding>> $.favorite; 02:07
or: type Dessert = Pie | Cake | Pudding; if I may wax a bit MLish. 02:08
I will read any reply happily in the morning. I am falling asleep at my terminal. Good night! 02:09
leedo_ rjbs: i think it could be done with a subtype, but i don't see a way to do it as one line 02:10
japhb .tell rjbs If only keys matter: 'enum Foo < Bar Baz Quux >;' or if you need to pick specific values, use pairs: 'enum Foo :Bar(-12), Baz(16), Quux(42);' 02:14
yoleaux japhb: I'll pass your message to rjbs.
japhb Dangit
leedo_ ah, maybe has Str $.favorite where /Cake|Pie|Pudding/; ?
japhb .tell rjbs (sorry, typo) If only keys matter: 'enum Foo < Bar Baz Quux >;' or if you need to pick specific values, use pairs: 'enum Foo :Bar(-12), :Baz(16), :Quux(42);'
yoleaux japhb: I'll pass your message to rjbs.
japhb .tell rjbs Then you can use the enum type in declarations: 'my Foo $choices;' or 'has Foo $subtype;' 02:16
yoleaux japhb: I'll pass your message to rjbs.
02:17 noganex joined 02:18 cognominal left 02:21 noganex_ left 02:24 rmgk_ joined, rmgk is now known as Guest69227, Guest69227 left, rmgk_ is now known as rmgk 02:27 jack_rabbit joined 02:36 dayangkun joined 02:39 BenGoldberg joined 02:50 jack_rabbit left 02:57 jack_rabbit joined 03:01 raiph left
ugexe m: class A {}; class B {}; class C {}; class D {}; my $a where A|B|C; $a = A.new; say 1; my $b where A|B|C; $b = D.new; 03:10
camelia rakudo-moar 87b1ee: OUTPUT«1␤Type check failed in assignment to '$b'; expected '<anon>' but got 'D'␤ in block <unit> at /tmp/TKohyOC9Xr:1␤␤»
03:12 yeahnoob joined 03:22 tinyblak joined 03:24 kaare_ joined 03:39 TimToady left
leedo_ ugexe: i noticed that when trying it on the repl as well 03:43
m: my Str $a where /A/; $a = "B"; 03:44
camelia rakudo-moar 87b1ee: OUTPUT«Type check failed in assignment to '$a'; expected '<anon>' but got 'Str'␤ in block <unit> at /tmp/QIOhSPg7_H:1␤␤»
leedo_ oh, guess that is actually a better error message than i remembered!
03:46 Sqirrel left 03:47 Sqirrel joined 03:54 yeahnoob left, telex left 03:56 telex joined 04:12 TimToady joined 04:17 TimToady left, TimToady joined 04:21 jack_rabbit left
BenGoldberg m: class A {}; class B {}; class C {}; class D {}; my $a where A|B|C; $a .= new; $a.say; 04:22
camelia rakudo-moar 87b1ee: OUTPUT«Type check failed in binding mutate; expected 'Any' but got '<anon>'␤ in block <unit> at /tmp/ZPA6sNVNr2:1␤␤»
BenGoldberg m: class A {}; my $a where A; $a .= new; 04:23
camelia rakudo-moar 87b1ee: OUTPUT«Type check failed in binding mutate; expected 'Any' but got '<anon>'␤ in block <unit> at /tmp/KhChI3MHYG:1␤␤»
BenGoldberg m: class A {}; class B {}; my $a where A; $a = B.new;
camelia rakudo-moar 87b1ee: OUTPUT«Type check failed in assignment to '$a'; expected '<anon>' but got 'B'␤ in block <unit> at /tmp/xQkN4YeBW7:1␤␤»
04:28 hobbs left 04:33 konsolebox joined 04:34 hobbs joined 04:36 vendethiel joined 04:52 skids left 05:25 BenGoldberg left 05:36 araujo joined, araujo left 05:45 Psyche^ joined
[Tux] o/ good morning perl6 crowd 05:49
05:50 Patterner left
[Tux] Though I am (very) happy to see panda (and thus Slang::Tuxic) back in business again, Inline::Perl5 shows some new fails 05:51
05:52 vendethiel left
[Tux] gist.github.com/Tux/8fc93bc87e4e60a1c83e 05:56
06:00 rindolf joined 06:04 araujo joined 06:05 araujo left 06:06 hobbs left, domidumont1 joined 06:08 hobbs joined 06:10 domidumont1 left 06:11 domidumont joined, araujo joined 06:12 araujo left 06:13 cibs joined 06:15 vendethiel joined 06:16 diana_olhovik_ joined
masak morning, #perl6! \o 06:25
06:27 tinyblak left 06:28 quester joined 06:30 grondilu joined
moritz \o masak 06:35
06:37 vendethiel left 06:40 TimToady left 06:44 tinyblak joined 06:48 tinyblak left, tinyblak joined
labster morning /^m/ 06:50
06:56 ribasushi left, cognominal joined 06:58 hobbs left 06:59 hobbs joined 07:00 konsolebox left, ribasushi joined 07:11 RabidGravy joined 07:12 vendethiel joined 07:14 TimToady joined 07:15 Foxcool joined 07:16 abraxxa joined, Tux__ joined, |Tux| left
masak is proud to be a card-carrying /^m/ member 07:17
07:22 Rounin joined
nwc10 ENOEM :-) 07:24
07:26 Sqirrel left
RabidGravy marning 07:27
labster morning /\d$/, *.condiment 07:29
07:32 _mg_ joined 07:34 rindolf left, vendethiel left 07:35 Tux__ is now known as |Tux| 07:36 quester left
labster I wrote a blog comparing the major revisions in Python 3 and PHP 6^H7 to Perl 6, mainly about the scope of the projects and the community response. blog.brentlaabs.com/2015/05/three-t...drome.html 07:38
Not sure if it's any good, but I was somewhat inspired after reading some insults about PHP on Hacker News.
07:42 [Tux] left, rurban joined 07:47 rurban left 07:48 Gruber joined 07:50 kaare__ joined 07:51 Grrrr left, sue__ left, sue_ joined, kaare_ left, rurban joined
dalek c: 7dcccbe | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
earliest
07:52
c: 2460f90 | (Jonathan Stowe)++ | / (3 files):
Merge branch 'master' of github.com:perl6/doc
c: ac5f0a4 | (Jonathan Stowe)++ | lib/ (4 files):
Merge branch 'master' of github.com:perl6/doc
DrForr If the insults are from "fractal of bad design" then I'd look for fresher insult material :)
dalek c: 679c478 | (Jonathan Stowe)++ | lib/Language/testing.pod:
replace _ names with hyphen ones
07:54 [Tux] joined 07:59 Ven joined 08:00 rurban left 08:04 darutoko joined, brrt joined
RabidGravy labster, good article 08:07
(shared to Perl Developers group on FB) 08:14
DrForr So I just saw.
RabidGravy if nothing else it lures out the strange PHP advocates 08:15
08:16 Ven left, Ven_ joined 08:18 espadrine joined, cibs left
lizmat good morning, #perl6! 08:19
labster++ # excellent blog post
08:23 cibs joined 08:26 bjz joined
masak where? where? :) 08:28
labster Thanks lizmat, RabidGravy. I was a little worried that my article appeared in Perl Weekly before I had any feedback. 08:30
lizmat masak: blog.brentlaabs.com/2015/05/three-t...drome.html 08:31
labster Also trolling PHP advocates is something I want to do after every time I have to program something in PHP.
DrForr I'm convinced PHP has more to do with Stockholm Syndrome than actual programming. 08:32
jnthn morning, #perl6 08:34
RabidGravy marnin'
lizmat jnthn o/ 08:35
nwc10 dear Tiobe, where is last month's article? Oh, wait, I see... 08:36
08:36 bjz left 08:37 fhelmberger joined
jnthn
.oO( "This is our biased estimate" )
08:37
nwc10 I guess they're doing a year-on-year comparison because they've fixed a bug, as COBOL is now at 27
you're too kind. 08:38
science is stuff you can repeat.
Tiobe is not science. It's not even close.
at least you can put real shit on your roses.
DrForr Voudoun.
RabidGravy the PHP is most of the reason I started github.com/jonathanstowe/Emitria infact now given that it's likely not to be finished this year I am probably going to actually do it in P6 08:41
of course more yak shaving in the latter course 08:42
08:45 cognominal left
DrForr Oh, that's why you were asking about icecast on that particular FB thread. 08:46
labster RabidGravy: them yaks aren't gonna shave themselves.
RabidGravy DrForr, yep ;-) I have an interim strategy based on a NativeCall binding to libshout but it would be nice to have it done completely natively 08:48
DrForr I'll probably put up readline this weekend... 08:49
08:49 vendethiel joined
RabidGravy yay! 08:50
08:50 risou is now known as risou_awy, risou_awy is now known as risou
DrForr I haven't gotten around to the callback setup, but the binding doesn't crash. 08:51
It needs documentation, that'll be this week. 08:52
And the ANTLR binding handles basic stuff as well.
RabidGravy :-) 08:53
Ven_ \o, #perl6
RabidGravy erp 08:54
DrForr considers a NativeCall binding for libmarpa.
08:54 laouji joined 08:55 [Sno] joined 08:56 pauekn joined, pauekn is now known as Pauekn
lizmat jnthn: can I safely die in a Lock.protect block ? 08:59
btyler DrForr: it would probably be a good thing to drop into #marpa and ask about that -- I know someone asking about python bindings recently received a message which wasn't quite "yes, go for it!", since there's a lot of work going on to modularize and de-XS the user-facing bits of marpa (as I understand it)
DrForr Thanks. 09:00
|Tux| who to poke for NativeCall (Inline::Perl5)?
jnthn lizmat: Yeah, the LEAVE should make sure the lock is released.
09:00 bjz joined
btyler (I started lurking in #marpa because I had a similar brainwave about NativeCall bindings for it) 09:01
jnthn lizmat: Or however Lock.protect implements it. But it has release-on-LEAVE semantics, anyway.
lizmat and that LEAVE is added automagically, right ?
ok
DrForr Pretty tiny channel.
lizmat jnthn: if a Lock.protect block is in a sub, I should be able to return out of it, or not? 09:02
09:02 perlvim joined
btyler yeah. mostly a message distribution point for the author to mention what's going on and solicit feedback on ideas for areas to focus on 09:02
but active more days than not, I'd say 09:03
lizmat
.oO( I just saw a 'Attempt to return outside of any Routine' :-( )
jnthn lizmat: Should be able to provided you aren't doing something crazy like being in a start block :) 09:04
lizmat hmmm... will try to reproduce later 09:05
jnthn OK. I'm planning to work on concurrency things a bit later today 09:06
btyler DrForr: here's the log about python bindings: irclog.perlgeek.de/marpa/2015-04-29#i_10521295
|Tux| gist.github.com/Tux/8fc93bc87e4e60a1c83e just to draw jnthn's attention :P\
DrForr Thanks, reading. 09:07
jnthn [Tux]: Are those with RT #s considered still not fixed? 09:09
|Tux| one sec. those are uncolored
jnthn But the gist is colorless! 09:10
|Tux| 1, 2, 4, 6, and 13 are fixed
gist.github.com/Tux/8fc93bc87e4e60a1c83e
RabidGravy jnthn, I was going to look at Channel::EARLIEST later, if you're going to be in there I'll leave it a bit
jnthn RabidGravy: No, I was planning to look for lower level issues than that. 09:11
|Tux| currently unale to create screenshot :(
RabidGravy okay cool
09:13 vendethiel left
|Tux| screenshot /should/ be available on tux.nl/Files/20150504111202.png 09:15
jnthn [Tux]: It ain't but no worries. 09:16
jnthn can delete lines from text :)
lizmat can anybody tell me *why* PERL6LIB/RAKUDOLIB use ":" (or ";" on Win) as path separator, instead of just something like "," ?
is that something todo with distributions needing that? or some OS's ?
|Tux| jnthn, I am more worried about the errors at the bottom of that gist than I am about the problems listed in the header 09:17
nwc10 dear wise ones, is there a thing for which the assumption is "as soon as you figure out the rules, they change them" ? 09:18
lizmat Heisenbug ? 09:19
nwc10 anything more sentient than that? 09:21
09:21 vendethiel joined
RabidGravy nwc10, see Kafka's The Trial for reference 09:21
DrForr 42.
moritz nwc10: the card game Mao (which debian developers like to play during debconf) 09:22
09:22 TimToady left
moritz (though it's more like "if somebody has figured out the rules, and won this round, they change the rules") 09:22
09:23 diana_olhovik_ left
jnthn nwc10: The Perl 6 design :P 09:24
|Tux| Fluxx changes the rules faster 09:26
09:26 hobbs left 09:27 hobbs joined
nwc10 on another channel on another network, Zefram stated that "the prologue to one of the HHGTTG books suggests that the universe does that" 09:30
which was probably the thing in my head
DrForr And that was the source of my 42 ref :) 09:31
nwc10 DrForr: too subtle. 09:32
(sorrY)
DrForr I regularly get accused of that. Or I would if I were less subtle.
09:34 Ven_ left 09:38 Tux__ joined 09:39 |Tux| left 09:40 rindolf joined
literal labster: "In poker terms, Python 3 called, PHP 7 folded, and Perl 6 went all-in." <-- nice line, but wouldn't it make more sense to say "PHP 6 folded" ? 09:48
09:49 perlvim left
labster literal: Probably. Fixing. 09:50
brrt here's skepticism that 'this time, php7 will work' 09:52
dalek c: f5c65a2 | paultcochrane++ | htmlify.p6:
Document svg-for-file()
09:54
c: 15dc4a1 | paultcochrane++ | t/pod-htmlify.t:
Add a test for svg-for-file()
c: 2f987de | paultcochrane++ | / (2 files):
Move svg-for-file() into Pod::Htmlify
c: a4f2932 | paultcochrane++ | lib/Pod/Htmlify.pm6:
Remove superfluous use of file handle in svg-for-file
c: 086dcee | paultcochrane++ | lib/Pod/Htmlify.pm6:
Document routines in Pod::Htmlify
c: fd8520f | paultcochrane++ | lib/Language/ (2 files):
Merge branch 'master' of github.com:perl6/doc
09:54 TimToady joined
lizmat down to 1 failing spectest file :-) 09:55
labster :-) indeed 09:56
brrt \o/
09:56 brrt left
labster good night, #perl6 09:59
lizmat good night, labster!
10:05 vendethiel left 10:10 tinyblak left 10:14 laouji left, tinyblak joined
ab5tract_ lizmat: regarding ':' delimited paths, I would just assume that it reflects posix $PATH 10:16
lizmat yeah, put PERL6LIB/RAKUDOLIB only have Perl6 internal uses, so it doesn't matter what delimiter is used, is my assumption 10:17
*but
ab5tract_ lizmat: agreed. and one could argue that ':' is not a good choice because it is a directory delimiter in some OSes/FSes/ 10:19
lizmat and it is part of Foo::Bar notation :-)
jnthn I think making it follow the same convention for PATH makes some sense.
ab5tract_ we can make it futureproof with a unicode symbol :)
jnthn For one 'cus we already have to deal with that separator
lizmat making it different between OS's makes sense ?
10:20 kd` joined
jnthn i'd say so, then it's just "parsed the same way your OS's idea of PATH is" 10:20
Rather than another different notation/convention
lizmat well, I would like to make it a comma over all OS's 10:21
kd` the documentation on rakudo.org/how-to-get-rakudo/ needs some love. How do I contribute?
mostly seems the heading structure that is wrong 10:24
10:25 Isp-sec joined
nine lizmat: but comma is also a valid character in a directory name 10:26
Juerd 12:20 < jnthn> i'd say so, then it's just "parsed the same way your OS's idea of PATH is"
PATH is a shell thing, not an OS thing.
And it's insane to even try and figure out which shell Perl was started from :D
nine [Tux]: Inline::Perl5 tests fine here?
jnthn Juerd: Is this pedantry or do you actually have a real world example we have to care about? :) 10:27
Tux__ the tests itself do, but when used with Text::CSV_XS it doesn't :/
Juerd jnthn: Pure pedantry, of course
jnthn Ah, phew :)
10:27 Tux__ is now known as |Tux|
nine Tux__: so I'm missing some test case there. Could you maybe golf it down? 10:27
|Tux| I'll try that instantly :) 10:28
lizmat nine: so is ":", at least on OS/X:
mkdir "foo:blah"
LizyPro:rakudo.moar liz$ ls -lsd foo:blah
0 drwxr-xr-x 2 liz macports 68 May 4 12:27 foo:blah
Juerd jnthn: Although in fish, PATH is not colon separated. 10:29
nine lizmat: same on Linux. So I wonder, why : was chosen for $PATH and how other programs deal with that
10:30 Ven_ joined
jnthn Probably DIHWIDT :) 10:30
Juerd jnthn: juerd.nl/i/938760ddfbe892c194cc2ed6fa0b492b.png fish has arrays. 10:32
So, I guess it's both: I was being pedantic, but I do have a real world example. I don't know if you have to care about that one... :) 10:33
jnthn Wow. :)
Juerd I love fish but I use bash because fish doesn't have the reverse-incremental search (^R) 10:34
10:42 TimToady left, Akagi201_ left 10:46 TimToady joined
RabidGravy kd, rakudo.org is on wordpress it appears so I guess it's get someone to give you the keys ;-) 10:49
10:50 TimToady left 10:51 vendethiel joined
|Tux| nine, is this enough? gist.github.com/Tux/9d34d87eea19aa7d5dd9 10:59
lizmat spectest clean now, working on panda now: progress: gist.github.com/lizmat/8eb1c68396157f8897ca
|Tux| lizmat++; # work on panda 11:00
may I suggest «panda Inline::Perl5» to mean «panda install Inline::Perl5», like cpan?
nwc10 if so, please "ban" (or at least refuse to index) any distro name which could be confused with a panda command. 11:01
lizmat nwc10: why? I mean, any serious installer would use "install $module" anyway 11:04
RabidGravy hahaha, yeah I so remember that one from cpan about 10 years ago
lizmat this is about making it easier for the casual user
RabidGravy "cpan install Foo" would mysteriously try to install some package that had a module "install" in it
nwc10 for the avoidance of confusion. Which has existed in Perl 5
lizmat and anyway, there will be no central index for P6 modules anyway 11:05
nwc10 so which index is panda using?
lizmat well, a temporary one until we got S22 implemented :-)
nwc10 the problem is as RabidGravy described better than I did.
lizmat ok, so let's not make the same mistake
nwc10 exactly. I meant "not making the same mistake." 11:06
lizmat |Tux|: perhaps you need to make an alias "pi" that does "panda install" ?
nwc10 the easier-for-the-user feels the right choice to me
but the upshot is that to avoid ambugiuty, you can't then have certain distro names. At least, not as recognised by panda. Or life gets very confusing.
nine |Tux|: thanks. Can repro with that and will have a look at it 11:08
lizmat so we agree that to install a module Foo with panda, "panda install Foo" would be the only way ?
11:09 RabidGravy left
|Tux| wisely holds his vote to himself 11:12
nwc10 no, I think was trying to say the other "panda Foo" is much better.
But the upshot of permitting that, is that one needs to make a decision about what happens if someone names a module "bar", where "panda bar ..." is a valid command for panda
lizmat indeed, and I don't want that ambiguity 11:13
so if you want to install a module with panda, you will have to include the word "install"
and all ambiguity is gone, or am I missing the point here?
lunch&
11:13 vendethiel left
|Tux| user experience: if there is no ambiguity, why not support it? 11:14
«panda install» is minvalid as such (nothing to install)
so is «panda bar» currently 11:15
so, as a alternative, "install" could be default is only one single argument is passed
Ven_ far prefers an explicit "install" to mean "install" :-) 11:18
11:18 TimToady joined
nine |Tux|: I golfed it further down. Seems like passing empty strings to P5 is broken. 11:20
|Tux| glad to have been of assistance 11:21
nine perl6 -e 'use Inline::Perl5; my $p5 = Inline::Perl5.new; $p5.run(q/$| = 1; sub test { print $_[0]; };/); $p5.call("test", "");'
xf{5
Ven_ haha 11:22
11:24 xfix joined, xfix left, xfix joined 11:42 rurban joined, Akagi201 joined 11:44 raiph joined
dalek line-Perl5: 8b3af84 | (Stefan Seifert)++ | / (2 files):
Fix passing empty strings and bufs to Perl 5.

A 0 len parameter passed to newSVpv makes perl5 use strlen() to determine len. We don't need this magic anymore, since we determine the length of the buffer in Perl 6 code already for binary safety.
Works around an apparent bug in Rakudo. The pointer to the supposedly empty string points to random garbage now.
11:49
nine |Tux|: ^^^
|Tux| (re)builds ... 11:50
sounds nasty 11:51
lizmat nine: could you golf the apparent rakudo bug and rakudobug it ? :-) 11:52
does anybody use DESTDIR with panda??
nine Well I'm not sure if it really is a bug in Rakudo. It's not an empty string but an empty blob8 at that point. And with Bufs/blobs one has to handle the length of the buffer by oneself anyway. Assumptions of NULL termination may be just off.
lizmat %*ENV<RAKUDOLIB> = "$destdir.^name()=$destdir" if $destdir.^can('install'); # if $destdir isa Str, how can this ever fire ??? 11:55
11:58 Ven_ left 12:00 airdisa joined 12:09 xinming_ left, xinming joined
lizmat is puzzled by "Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm')" 12:10
p6capturelex?
jnthn wtf... 12:13
Looks like an error reporting fail of some kind
lizmat yeah, a very confused panda
jnthn Well, that error comes from the VM level 12:14
12:14 Akagi201 left 12:15 xinming left
lizmat well, maybe it is all moot 12:15
I have a diff for rakudo and a diff for panda, and together they work
jnthn If you're getting that error, though, it probably is some version skew :)
12:15 xinming joined
jnthn But yeah, curious reported fail 12:16
lizmat and take bare startup from .23 to .16 on my machine
so I could push both now, or spend more time finding out why panda doesn't work with the diff on the rakudo without the diff
jnthn lizmat: The win sounds worth it; I suspect we'll see the other issue again at some point 12:17
lizmat: Do what you feel is best.
lizmat I feel like pushing forward
:-)
[Coke] morningish 12:20
12:21 Gruber is now known as Grrrr 12:22 brrt joined
brrt wow, hater news really deserved it's name today 12:22
12:25 yoleaux left
tadzik hmm, looks pretty civilized to me, if you're talking about labster's post 12:27
for which a labster++ is well deserved :) 12:28
dalek kudo/nom: 3c5fe7f | lizmat++ | / (7 files):
Implement new @*INC handling

This reduces bare startup time by about 30% (.23 to .16 on my machine), and running a spectest from 240 to 215 wallclock (1620 to 1435 CPU), again on my machine.
List of features:
  - @*INC / %*CUSTOM_LIB only contain strings, never any (other) object
  - the separator between paths is now ","
  - the separator between include path specification is now "#"
  - all module loading code is now threadsafe (afaics)
  - added RAKUDO_MODULE_DEBUG helper sub for module loading diag info
  - added DISTRO.cur-sep to help with migration from older panda's
  - adapted parse-include-spec sanity testing
We should now be ready to making 'use lib' a pragma and truly lexical.
lizmat *phew*
tadzik :o
lizmat++
nwc10 lizmat++
12:28 rarara joined
colomon went through his (far too large) to-do list today, and discovered a bunch of to-do’s involving niecza still hanging around… 12:28
tadzik so, how does that fix the panda problem?
nwc10 I'm not *comfortable* about the , bit, but it might turn out that I'm wrong and you're right. 12:29
but that's not exactly a blocker on merging the awesomness
lizmat tadzik: which panda problem?
for the first time, an up-to-date perl6 and up-to-date panda actually work for me
(in a long time) 12:30
tadzik lizmat: the one we tried to track down on perlqah
12:30 rarara left, rararara joined
dalek p: f8baa95 | jnthn++ | src/core/IO.nqp:
Make the join sub avoid boxing.
12:30
p: a4d1d5f | jnthn++ | src/core/IO.nqp:
Make say/print/note do a single VM I/O op.

This means two operations on the same handle done by two threads will come out ordered.
p: 3d9efcc | jnthn++ | src/core/testing.nqp:
Make 'ok' always do a single I/O operation.

Means t/concurrency/01-thread.t output will not be garbled.
nine wow, lizmat++ :) 12:31
12:32 dayangkun left
lizmat tadzik: my head hurts: seen so many problem since, could you elaborate ? 12:33
tadzik lizmat: about PERL6LIB not being respected, something 12:34
lizmat ah, that should be fixed with the latest push to panda, I think
tadzik well, the headhurt must be because of the memory of it, sorry for bringing it up
oh, /me looks
ok, awesome :) 12:35
lizmat Ah, I see the Inline::Perl5 tests need some adjusting
jnthn lizmat: My "make test" is rather explodey on everything doing a 'use Test'
brrt maybe it's been reposted? the latest was just about as meanspirited / childish as i've read in a long time
lizmat jnthn: huh???
jnthn lizmat: But when I run them individually at the command line with -Ilib they work out OK 12:36
lizmat the only one failing for me is:
t/04-nativecall/02-simple-args.t ..... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/12 subtests
and that's a known issue ?
jnthn lizmat: Everything from t\01-sanity\52-parse-include-spec.t on explodes here
12:36 abraxxa left
lizmat could you gist your ENV ? 12:36
Juerd Verbing weirds language, but it greats anyway. 12:37
12:37 abraxxa joined
jnthn lizmat: gist.github.com/jnthn/4f8ea22ea1530259aa17 12:37
12:37 Foxcool left
leedo_ perl6 starts up faster than perl -MMoose now :D 12:37
jnthn lizmat: I notice these lines in t/harness: 12:38
my $path_sep = $^O eq 'MSWin32' ? ';' : ':';
$ENV{'PERL6LIB'} = join $path_sep, qw/ lib . /;
Juerd leedo_: How much faster?
jnthn lizmat: Was that the think you comma'd?
*thing
leedo_ Juerd: 0.145 vs 0.164 here
lizmat lemme check
Juerd leedo_: Wow 12:39
lizmat jnthn: yeah, that might be it
dalek kudo/nom: 31f3db1 | lizmat++ | t/harness:
Forgot to commafy one PERL6LIB ref
12:40
jnthn lizmat: That helps. And "make test" down to 3s here now :) 12:42
lizmat++ # nice startup improvement
timotimo labster: is "to justify a much reduced scope new features for the next major version of PHP" a correct sentence? my brain has trouble parsing it
arnsholt Accidentally a preposition, perhaps? 12:44
12:48 raiph left
lizmat nine: INline::Perl5 assumed @*INC contained objects, fixing that now 12:50
timotimo Juerd: in fish you can just press arrow up after typing something and that'll give you something very similar to ^R
i use that all the time
nine lizmat: thanks. Had a quick look, but I'm not sure what the replacement for files() is in our IO system
12:51 Foxcool joined, risou is now known as risou_awy, risou_awy is now known as risou 12:52 raiph joined
Juerd timotimo: Very unsimilar if you're actually used to ^R. The difference is that incremental search is incremental, while fish has no support for incremental searching. If you press the arrow and continue typing, it won't continue searching for the longer substring. 12:52
timotimo: I use ^R because I *don't* remember what I did before, so I don't know how much I have to type in order to have a sufficiently long substring for fish to match the line I wanted. 12:53
12:53 diana_olhovik_ joined
timotimo fair enough 12:56
dalek line-Perl5: c4292b5 | lizmat++ | lib/Inline/Perl5.pm6:
Fix breakage caused by @*INC only containing Str
12:57
lizmat should work with both this rakudo and pre @*INC == Str ones
timotimo leedo_: how exactly do you measure startup for both?
leedo_ timotimo: probably in a very unscientific way :P -e '' 12:58
timotimo i think -e '' is all right
lizmat afk for a bit& 12:59
12:59 RabidGravy joined
timotimo i always do -e 'say 1' so that there's some actual parsing and compiling rather than just the empty CompUnit 13:00
the tricky thing is that if you echo '' | perl6 you'll get the REPL that only loads the compiler after the user has actually typed in a command, so that startup time is massively smaller
13:01 cognominal joined
[Coke] so, what's the current state of REPL readline/linenoise? Should things be working on nom now? 13:04
13:08 FROGGS joined
FROGGS hello from an hotel 13:08
dalek p: 5c54c73 | jnthn++ | t/concurrency/01-thread.t:
Remove a comment, now latest Moar doesn't hang.
13:10
timotimo removing that comment makes Moar not han gany more? 13:11
hang any*
that's amazing :P
jnthn 50 chars is too short for good grammar :P
timotimo %) 13:12
jnthn .ask japhb I fixed the hang in 01-thread.t in NQP. Some tests now fail identically on JVM and Moar, but I think they're busted. yield is only a OS scheduler hint, it doesn't promise anything, so I feel the thread yield tests are bogus.
RabidGravy oops, seems like HTTP::UserAgent tests b0rked by the "something not ordered anymore change"
jnthn .tell japhb I fixed the hang in 01-thread.t in NQP. Some tests now fail identically on JVM and Moar, but I think they're busted. yield is only a OS scheduler hint, it doesn't promise anything, so I feel the thread yield tests are bogus.
RabidGravy patchy, patchy
timotimo thank you, RabidGravy
jnthn bah, where is the darn bot :P
timotimo hm, so, did anything happen in the last week? 13:17
RabidGravy duchess of cambridge had a child apparently 13:18
jnthn timotimo: Many things :) 13:19
timotimo is that the "royal baby" business i've heard so many people go out of their way to say "I DONT CARE ABOUT THAT"?
RabidGravy there's also a possibility that "ufo" may have been shagged by recent CompUnitRepo changes, if anyone wants to prod whoever made it
timotimo masak made it
wowzers 13:20
not only is -e '' now a whole bunch faster, it also uses up a bunch less memory
69 megs instead of 85 megs 13:21
FROGGS is panda still broken on HEAD? 13:22
13:22 konsolebox joined, coffee` left
RabidGravy FROGGS, works for me 13:24
timotimo (and also: down to ~0.17s elapsed from 0.30s elapsed) 13:25
13:26 tinyblak left
FROGGS jnthn: is it possible that I get some jnthntime in the next days? 13:26
I want to tackle the CompUnitRepo+serialization stuff
13:29 coffee` joined 13:31 vendethiel joined 13:32 konsolebox left, Akagi201 joined, dada joined 13:33 Isp-sec left
jnthn FROGGS: Yes; I do have 2 days of teaching (and the travel there tomorrow afternoon), but I'm doing Perl 6 things now and will have time at OSDC.no 13:33
FROGGS: I had one realization: there's a really easy way, after deserializatin, for an SC to "disclaim" all objects 13:34
FROGGS ohh?
jnthn: do tell
I have an easy test case where I can try things
jnthn FROGGS: It has them in its root set, so we can just make an nqp::scdisclaim($sc) or so that loops over all the objs/stables/codes in the SC and clears their ->sc pointer
FROGGS: Then they'll be unowned 13:35
FROGGS ahh!
that's something I have not tried yet :D
jnthn FROGGS: And it means we can disclaim precisely the things in that SC that we deserialized.
And it should be fast/cheap.
FROGGS okay, that seems to exactly what I want it seems
to be*
jnthn Only thing is we'll have to defeat the lazy serialization to make it happen 13:36
FROGGS nice, 2 minutes worth of jnthntime probably solved my problem :D
jnthn I can do an impl of the op in Moar later on today if you want
FROGGS k
jnthn (right now I'm hunting concurrency bugs)
FROGGS no, I can do that, I stubbed a similar op...
dada aloha 13:39
is this place ok for stupid userland questions, or not?
FROGGS there are no stupid questions...
just ask
dada right :-) 13:40
FROGGS :o)
dada I installed rakudobrew (nom), but panda doesn't seem to work
13:40 Akagi201_ joined
dada as far as I can see, Shell::Command doesn't install because of "Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm')" 13:40
FROGGS huh 13:41
dada: can make sure that everything is up to date?
dada FROGGS: just used rakudobrew to get from git ~1h ago
This is perl6 version 2015.04-151-g87b1eea built on MoarVM version 2015.04-57-g0c052ea 13:42
FROGGS hmmm, I was away for almost 4 days, so I'm not sure what is going on there
nine dada: that's ancient :) 13:43
dada: seriously, there have been fixes in that time frame for exactly that problem.
FROGGS m: say 1
camelia rakudo-moar 87b1ee: OUTPUT«1␤»
FROGGS but 87b1ee is HEAD
13:43 Akagi201 left, skids joined
dada but maybe MoarVM is newer 13:44
nine FROGGS: I see two commits since 87b1ee 13:45
dada no, actually 31f3db1 is HEAD
FROGGS ahh
dada oh yeah, Shell::Command tests successfully now 13:47
and panda works :-)
13:48 Akagi201 joined
dada nine: thanks 13:48
cool stuff, guys
13:48 tinyblak joined 13:49 krunen left
FROGGS \o/ 13:49
13:51 Akagi201_ left, krunen joined 13:53 zakharyas joined 13:56 El_Che left, vendethiel left
tadzik yay :) 13:56
13:59 coffee` left
[Coke] several spectests with "#?rakudo skip "'is ObjectType' NYI"" ... which is not mentioned in the skipped tests or the syn. lizmat? 14:00
moritz maybe this is about 'my @array is MyArrayImplementation' ? 14:01
which is indeed not yet implemented
timotimo with our lovely arrays, why would you ever want to have a different array implementation? 14:02
[Coke] my %h is BagHash, etc. ok.
timotimo: more on the hash end where we have like 80 hash types. 14:03
moritz timotimo: whenever you want non-lazy arrays? :-)
[Coke] ok, so this is really the same issue, it seems. thanks.
14:03 camelia left
timotimo right 14:04
brrt m: my %h = BagHash.new; my @a = 1, 2, 3; my @a[3] := %h<foo>; my @a[^10] = ^10; say @a.perl; say %h.perl;
14:04 camelia joined
brrt aw man... haha 14:05
14:06 ChanServ sets mode: +v camelia
brrt m: my %h = BagHash.new; 14:06
camelia rakudo-moar 87b1ee: OUTPUT«Odd number of elements found where hash initializer expected␤ in block <unit> at /tmp/O4EQKSvCwF:1␤␤»
brrt i can't initialize a baghash... at all
timotimo you need to := it
brrt why :-( 14:07
timotimo because if you write my %h = ... it'll want to build a regular Hash
brrt oh...
masak labster++ # "In poker terms, Python 3 called, PHP 6 folded, and Perl 6 went all-in." 14:08
timotimo brrt: same way @a = ... behaves, actually 14:09
brrt hmmm, yeah
ok
14:10 airdisa left, El_Che joined
masak wow, the first comment jn HN about labster++'s article is attacking a "no-one uses py3" strawman. and getting called on it. nice. 14:11
RabidGravy haha 14:13
14:14 telex left 14:15 Isp-sec joined 14:16 telex joined
[Coke] down to 1275 tickets. still no sign of davidnmfarrell 14:17
1274, one of 'em was spam. :)
14:26 Ven joined
arnsholt masak: Yeah, turns out Python 3 is a bit of a lightning rod for the Perl 6 hate =) 14:27
timotimo flussence: how far are you into making the profile json use arrays instead of hashes for the most common structure? 14:30
RabidGravy I'm having a bit of a dumb brain moment with regular expressions, is there any sane way of saying "all of these things in any order but separated by ';'" ? 14:33
14:33 _mg_ left
moritz [ thing1 | thing2 | thing3 ] ** ';' 14:34
in p6 regexes
masak arnsholt: who'd have thought? :P
[Coke] note that that allows multiple thing1s, e.g.
timotimo wait
RabidGravy moritz++ # groovy
timotimo shouldn't it be [ thing1 | thing2 | thing3 ] * % ';'
[Coke] there isn't a way to say "A;B;C" for all n-combo permutations of elements.
timotimo well, the * would cling to the ] probably 14:35
you can still do it, but you have to put in a code assertion
which the regex engine cannot be smart about :(
masak .oO( Python 2 programmers hate on Perl. Python 3 programmers have evolved a new, more modern and powerful hate on Perl 6 )
timotimo hm. how about <!before $<firstthing>><!before $<secondthing>>[ thing1 | thing2 | thing3 ] for the last piece 14:36
and the saem with only $<firstthing> for the second 14:37
mst masak++ 14:39
arnsholt timotimo: If you just have three options, I'd just encode all six possibilities in the grammar. If you have more than that, not entirely sure how I'd do it 14:40
Perhaps check for duplicates in the action method
hoelzro o/ #perl6 14:42
timotimo if you put it into the action method, you won't get backtracking, if you want to do something like a search through a large portion of items for n unique items in a row or something
masak how about `[ <t1> | <t2> | <t3> ] * % ';' <?{ $<t1> & $<t2> & $t<t3> == 1 }>` ?
pretty short. haven't tried it, but should work. 14:43
not much repetition. good use of junctions :)
moritz m: say 1 & 2 == 1
camelia rakudo-moar 87b1ee: OUTPUT«all(True, False)␤»
timotimo that looks neat
masak or even something like `all($<t1 t2 t3> == 1`
14:43 cognominal left
masak er, `all($<t1 t2 t3>) == 1` 14:44
moritz all %($/).values == 1
1 == all %($/).values
masak yes, the latter.
that even removes the `t1 t2 t3` repetition. moritz++ 14:45
timotimo m: say "F1a" ~~ / [ <digit> | <upper> | <lower> ]* { say +«$<digit upper lower> } /
camelia rakudo-moar 87b1ee: OUTPUT«2 1 ␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏F' (indicated by ⏏)␤ in block <unit> at /tmp/oEwJJev2dM:1␤␤»
timotimo m: say "F1a" ~~ / [ <digit> | <upper> | <lower> ]* { say $<digit upper lower>».elems } /
camelia rakudo-moar 87b1ee: OUTPUT«1 1 1␤「F1a」␤ upper => 「F」␤ digit => 「1」␤ lower => 「a」␤»
timotimo m: say "F1A" ~~ / [ <digit> | <upper> | <lower> ]* { say $<digit upper lower>».elems } / 14:46
camelia rakudo-moar 87b1ee: OUTPUT«1 2 0␤「F1A」␤ upper => 「F」␤ digit => 「1」␤ upper => 「A」␤»
timotimo oh, .values
m: say "F1A" ~~ / [ <digit> | <upper> | <lower> ]* { say $<digit upper lower>».values } /
camelia rakudo-moar 87b1ee: OUTPUT«「1」 「F」 「A」 ␤「F1A」␤ upper => 「F」␤ digit => 「1」␤ upper => 「A」␤»
masak right.
timotimo nah, not .values
masak %($/).values
moritz m: say "F1A" ~~ / [ <digit> | <upper> | <lower> ]* { %(/$).values>>.elems } /
camelia rakudo-moar 87b1ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5v_Vqow9RD␤Unable to parse regex; couldn't find final '/'␤at /tmp/5v_Vqow9RD:1␤------> 3 [ <digit> | <upper> | <lower> ]* { %(/$7⏏5).values>>.elems } /␤ expecting any of:␤ infix stoppe…»
moritz m: say "F1A" ~~ / [ <digit> | <upper> | <lower> ]* { %($/).values>>.elems } /
camelia rakudo-moar 87b1ee: OUTPUT«「F1A」␤ upper => 「F」␤ digit => 「1」␤ upper => 「A」␤» 14:47
rjbs has $.x is rw; # now I can $obj.x = 123;
moritz m: say so "F1A" ~~ / [ <digit> | <upper> | <lower> ]* { %($/).values>>.elems } /
camelia rakudo-moar 87b1ee: OUTPUT«True␤»
moritz m: say so "F1A" ~~ / [ <digit> | <upper> | <lower> ]* { say %($/).values>>.elems } /
camelia rakudo-moar 87b1ee: OUTPUT«2 0 1␤True␤»
rjbs How do I make a method such that I can ($obj.y = 123) through it? i.e., what ruby would call "def x="
moritz rjbs: method y() is rw { ... }
timotimo rjbs: you want to "is rw" and return-rw (or just use the last-statement-of-block instead of returning)
14:48 coffee` joined
timotimo more precisely: or "is rw" + last-statement-of-block 14:48
hoelzro you can also use a Proxy, iirc
timotimo right, that's if you have something more complex than a simple container you want to have assignments tno 14:49
to*
rjbs So if I want to validate the thing being assigned, I must use a type on the thing I'm assigning?
er, returning
timotimo that's one way, aye 14:50
moritz the other is to return a Proxy
which calls a callback for you on assignment
rjbs looks for PRoxy in doc.perl6.org/language.html 14:51
masak Proxy objects define FETCH and STORE methods
or perhaps it's better to think of them as functions
(because you pass them in as constructor arguments)
dalek c: 11edcb0 | moritz++ | WANTED:
Add Proxy to WANTED
14:52
rjbs That page has a search box at the to pright, but it appears to do nothing.
masak: With a proxy, the method shoudl still be is rw? 14:53
Pardon my typos, the bus is bumpy. :)
masak rjbs: no, the function doesn't have to be rw
rjbs: let me dig you up an example from CORE
moritz masak: I think rjbs meant the routine returning a Proxy
rjbs I did. 14:54
14:54 lolisa joined
masak right. yes. 14:54
it should be `is rw`
rjbs: github.com/rakudo/rakudo/blob/nom/...uf.pm#L463
rjbs method x is rw { return Proxy.new(STORE => {...}, FETCH => {...}) }
Thanks. Next question, then I think I'm done for a while... 14:55
masak hm, shoulda done the link like this for posterity: github.com/rakudo/rakudo/blob/31f3...uf.pm#L463
rjbs my $x = $obj.x; my $y = $x;
The method call returns a Proxy. The copy does a FETC, right? There is no action at a distance when later I reassign $y?
masak to a first approximation, no. 14:56
though of course, your FETCH could return a reference, etc...
but likely no, no action at a distance.
rjbs Great, thanks.
hoelzro speaking of rw methods, I've often wondered what the semantics of gist.github.com/2f0b8ed59e684c59ca08 15:01
should be
timotimo same as my Int $foo = "foo", i think?
lizmat masak: I think jnthn said that a sub returning a Proxy *should*be marked "is rw" 15:03
masak: the fact that it isn't needed right now, is a bug
timotimo right; return is supposed to recont-ro things it returns 15:04
15:04 Ven left
ab5tract_ hmmm.. that could explain why I wanted to bash my head in while coming up with a working example and the cognitive understanding to explain said example 15:04
(tl;dr -- I failed)
15:04 Ven_ joined
hoelzro timotimo: except that the type check has to be deferred until runtime, right? 15:04
timotimo correct 15:05
15:05 muraiki joined
ab5tract_ in this case I am tlaking about a working example of Proxy 15:05
|Tux| nine, tux.nl/Files/20150504170542.png
timotimo oh, we install files under their original name again? 15:07
lizmat timotimo: if in is an inst, it shouldn't :0(
hoelzro ok, thanks timotimo!
timotimo lizmat: just what i see in tux' screenshot there
"copying blib/lib/Inline/p5helper.so to /.../perl6/site/lib/Inline/p5helper.so" 15:08
[Tux]: can you quickly verify that that path actually has that file?
dalek kudo/nom: 52bf35d | lizmat++ | src/core/CompUnitRepo.pm:
Make CompUnitRepo.new do something sensible
15:09
|Tux| $ find /pro/3gl/CPAN/rakudobrew/ -name p5helper.so
/pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Inline/p5helper.so
masak lizmat: right; agree.
timotimo interesting!
[Tux]: what's the date on that file?
15:09 konsolebox joined
|Tux| 2015-05-04 16:50:23 15:09
masak lizmat: I was confused as to which routine we were talking about; the FETCH and STORE routines don't need to be thus marked.
|Tux| MET
timotimo so it's current
|Tux| no, it is not 15:10
15:10 fhelmberger left, konsolebox left
literal W/ 31 15:10
|Tux| well, it is, but not as new as Inline::Perl5
colomon woah, spectacular number of fails in the smoke test this morning. :\
timotimo oh?
15:10 konsolebox joined 15:11 fhelmberger joined
lizmat probably something I did :-( 15:11
colomon smoke.perl6.org/report
|Tux| rebuilds from start ...
15:12 konsolebox left
[Coke] masak: I wonder if recent NFG work has fixed RT #107204 in moar. 15:12
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=107204
15:12 konsolebox joined 15:13 konsolebox left
masak [Coke]: either way, that RT ticket doesn't have a decent observable, and should be rejected on principle. 15:13
15:14 konsolebox joined, coffee` left
|Tux| ll /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Inline/p5helper.so 15:14
59639010 -rw-rw-r-- 1 merijn 1966431 2015-05-04 17:14:24 /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Inline/p5helper.so
15:14 konsolebox left
|Tux| csv-ip5xs ===SORRY!=== 15:15
unable to find Inline/p5helper.so IN @*INC
15:15 lolisa left, konsolebox joined 15:17 konsolebox left 15:18 konsolebox joined 15:19 konsolebox left, konsolebox joined
dalek line-Perl5: 093878c | lizmat++ | lib/Inline/Perl5.pm6:
Don't use rakudo internal subs
15:20
colomon lizmat: Hmmm, I think it might indeed have been you. At least, it looks like it happened in between your commits today.
lizmat |Tux| could you retry with absolute latest rakudo and Inline::Perl5 ?
15:20 konsolebox left
|Tux| damn, I almost left :/ 15:20
colomon lizmat: and my latest attempt for one of them worked fine.
lizmat ok, then I assume it's going to be better tomorrow
|Tux| tries anyway 15:21
colomon lizmat: gonna fire off another smoke run now, actually.
15:21 konsolebox joined
lizmat ok, cool! 15:21
|Tux| suggests lizmat to include '$ git pull && make test && make time' on Text::CSV :P 15:22
15:22 konsolebox left, coffee` joined
|Tux| in your test/accept procedure 15:22
15:22 konsolebox joined
lizmat ok, I see it 15:23
15:23 konsolebox left 15:24 konsolebox joined 15:25 konsolebox left
|Tux| csv-ip5xs ===SORRY!=== 15:25
unable to find Inline/p5helper.so IN @*INC
off to home. back in 65
15:25 konsolebox joined
lizmat |Tux|: I see the panda install problem 15:25
also off for a few hours
so will look at it when I'm back
15:26 konsolebox left 15:27 konsolebox joined, konsolebox left 15:28 lolisa joined, konsolebox joined 15:29 konsolebox left, konsolebox joined 15:30 konsolebox left 15:31 konsolebox joined, konsolebox left 15:32 konsolebox joined 15:34 konsolebox left 15:35 Rounin left
dalek ast: 046e9f5 | jnthn++ | S17-promise/stress.t:
Add test for RT #123883.
15:39
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123883
15:39 brrt left
dalek p: a5b7ade | jnthn++ | tools/build/MOAR_REVISION:
Get MoarVM with some concurrency fixes.
15:40
15:41 vendethiel joined
dalek kudo/nom: 5ebbd47 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for Moar with concurrency fixes.
15:42
kudo/nom: 66e15e5 | jnthn++ | t/spectest.data:
Add S17-promise/stress.t as a stress test.
15:43 cognominal joined
raydiak good morning, #perl6 15:44
[Coke] r: my \do = 42; say do do ; 15:46
camelia rakudo-{moar,jvm} 87b1ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Missing block or statement␤at /tmp/tmpfile:1␤------> 3my \do = 42; say do do7⏏5 ;␤»
15:46 domidumont left
hoelzro m: macro f { '1 + 1' } ; say f(); 15:46
camelia rakudo-moar 87b1ee: OUTPUT«===SORRY!===␤Too few positionals passed; expected 3 arguments but got 2␤»
hoelzro do returning strings from macros no longer work? 15:47
[Coke] from rt.perl.org/Ticket/Display.html?id=115230 if someone wants to mark that testneeded.
15:48 [Sno] left 15:49 zakharyas left
dalek kudo/nom: 4ad94f3 | jnthn++ | src/core/ThreadPoolScheduler.pm:
Don't assume time-based things won't hog threads.

Fixes RT #123520.
15:50
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123520
dalek ast: db5a920 | jnthn++ | S17-promise/in.t:
Fix and test for RT #123520.
15:51
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123520
15:52 konsolebox joined 15:53 Ven_ left, konsolebox left, konsolebox joined 15:54 konsolebox left, konsolebox joined 15:55 konsolebox left 15:56 konsolebox joined 15:58 konsolebox left, konsolebox joined 15:59 konsolebox left 16:00 abraxxa left 16:04 dada left
hoelzro I ask about the macros thing because that's the first example in S06, and I'm wondering if it needs amending 16:05
16:06 vendethiel left, gfldex joined
ab5tract_ \o/ concurrency patches :D 16:07
pmichaud good morning, #perl6 16:08
timotimo ohai pmichaud!
16:09 cognominal left
RabidGravy I hate regular expressions 16:09
took me two hours to fix the tests for HTTP::UserAgent 16:10
16:10 eternaleye left
flussence timotimo: I had a look at that json stuff, but I don't feel confident about changing structural things around myself... 16:10
timotimo oh
we should start a brain trust :P 16:11
flussence but afaik, my guess was right and 90% of it is a single hash repeated over and over. The only awkward part is that there's recursion in the middle that makes it variable length. 16:12
16:12 eternaleye joined, yoleaux joined, ChanServ sets mode: +v yoleaux
timotimo ... variable length? 16:13
you mean one of the values in the hash is just more hashes/lists?
flussence like, it's easy enough to pull the keys out, but the way it's naturally ordered means the last few indexes would jump around. I'm not sure shuffling things around is a good idea given how slow the --profile option can be sometimes... 16:14
timotimo what is the last few things?
flussence there's an allocations list at the end, and a nested call stack that may or may not appear before that 16:15
timotimo ah, i see
i think if you always allocate the list with empty slots and put the allocation list and call stack into a numbered slot of that list, you should be fine 16:16
if we could get the profile of core setting compilation small enough to have the qt-based profiler load it, that'd be a nice win
16:16 konsolebox joined 16:17 konsolebox left 16:18 konsolebox joined 16:19 konsolebox left
flussence I wonder if it'd be possible to turn this into a flat binary thing... every entry has an "id" field and the callees list doesn't *have* to recurse like that. 16:19
16:19 konsolebox joined 16:20 konsolebox left
timotimo i'd be gladder if you could look into making my old-ish code for summarising call nodes after a given recursion depth work ... :) 16:20
16:20 konsolebox joined 16:21 konsolebox left 16:22 konsolebox joined
flussence I could take a look... point me to it? 16:22
timotimo sure! :D
github.com/MoarVM/MoarVM/commits/f...ph_depth'- uppermost three commits
16:23 konsolebox left, konsolebox joined 16:24 konsolebox left, konsolebox joined
flussence ooh, C code. this is gonna be fun... 16:25
16:25 konsolebox left 16:26 konsolebox joined
timotimo you'd most probably also have to change C code to make the generated list/hash structure different, FWIW 16:26
16:27 konsolebox left
timotimo when does the "end" block for a variable fire? at the same time END would? 16:29
jnthn timotimo: yes
jnthn away for abit 16:30
flussence
.oO( oh, so *that's* why the json is wrapped in []s, it's an array of threads... )
16:31
timotimo yup, though the profiler doesn't really do multiple threads yet 16:32
and i don't think the html frontend could deal with it yet
16:33 vendethiel joined 16:36 espadrine left
timotimo could someone try to come up with a short piece of example code that looks good with RAKUDO_VERBOSE_STACKFRAME set to some number? 16:42
16:42 jack_rabbit joined
dalek rl6-roast-data: 47476f5 | coke++ | / (9 files):
today (automated commit)
16:44
hoelzro I found some language in the specs that seems a little contradictory: design.perl6.org/S04.html#line_1507 vs design.perl6.org/S06.html#line_2331 16:48
the language in S06 about class invariants makes it sound like that's a definite language feature (just NYI)
timotimo looks like a good catch 16:49
pmichaud well, almost by definition, anything NYI is conjectural. :) 16:50
rjbs m: my @x := 0,2...*; @x[^10].perl.say
yoleaux 02:14Z <japhb> rjbs: If only keys matter: 'enum Foo < Bar Baz Quux >;' or if you need to pick specific values, use pairs: 'enum Foo :Bar(-12), Baz(16), Quux(42);'
camelia rakudo-moar 87b1ee: OUTPUT«(0, 2, 4, 6, 8, 10, 12, 14, 16, 18)␤»
yoleaux 02:14Z <japhb> rjbs: (sorry, typo) If only keys matter: 'enum Foo < Bar Baz Quux >;' or if you need to pick specific values, use pairs: 'enum Foo :Bar(-12), :Baz(16), :Quux(42);'
02:16Z <japhb> rjbs: Then you can use the enum type in declarations: 'my Foo $choices;' or 'has Foo $subtype;'
16:50 konsolebox joined
rjbs m: [0,2 .. *].perl.say 16:51
16:51 jack_rabbit left
hoelzro =) 16:51
camelia rakudo-moar 87b1ee: OUTPUT«(timeout)»
rjbs Oops. :-)
m: [0,2 .. *].say
camelia rakudo-moar 87b1ee: OUTPUT«0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8…»
rjbs So, why does the first one, with the @x, get 0,2,4,6,... and the other... not?
timotimo you want "..." and not ".." 16:52
in order to get the 0, 2, 4, ... i mean
16:52 konsolebox left
timotimo the reason is that .gist (which is what .say normally uses) will cut off a long list at some point and thus not fully reify that lazy list 16:52
whereas .perl will try to print out the full list from start to finish
rjbs Ha! One sec. 16:53
so, that was a foolish typo that I made repeatedly; but what is .. for? 16:54
aha, I see
Range constructor
timotimo aye
16:55 konsolebox joined
hoelzro rjbs: I made that same mistake myself this morning =) 16:56
16:59 jack_rabbit joined
rjbs japhb: Thanks, re: enum type. 16:59
japhb++
colomon lizmat: you may be off the hook, everything is still broken 17:01
17:04 [Sno] joined 17:05 gtodd left 17:06 gtodd joined 17:08 atweiden joined 17:12 liztormato joined
liztormato colomon: doesn't that imply I'm on the hook? 17:12
colomon well, still on the hook, I suppose. not enough information yet. :)
liztormato Ok. I'll be back home in 1.5 hours or so. Will then look again 17:14
In the smoketest, please double check how PERL6LIB and RAKUDOLIB are set up. 17:17
If they are, of course 17:18
17:22 romel joined, _mg_ joined
colomon liztormato: hmmm, indeed, emmentaler is messing with PERL6LIB in a suspicious looking way 17:23
liztormato Try replacing : with , ;-)
colomon rerunning now.... 17:25
17:26 _mg_ left
liztormato Cycling again& 17:37
17:37 liztormato left 17:39 spider-mario joined
ugexe im a fan of all the recent compunit changes :) 17:39
17:40 jack_rabbit left
labster what the hell happened on HN last night? I'm thinking of replying, but ugh, where do I even start. 17:40
pmichaud labster: reference? 17:42
vendethiel labster: ??
labster "This article is total FUD and garbage from yet another Python 2 ideological holdout dogmatist." Wha? I guess they stopped reading before I spent 10 paragraphs talking about Perl 6.
vendethiel www.reddit.com/r/MoarVM/ lol. really.
labster pmichaud: news.ycombinator.com/item?id=9484939
[Coke] vendethiel: ah, squatter? 17:43
vendethiel [Coke]: yeah.
DrForr labster: TL;DR I'm guessing.
moritz labster: there's somebody wrong on the Internet *shrug* 17:44
labster: it happens whenver something becomes sufficiently popular; somebody else it trying to drag it through the mud 17:45
pmichaud In the Python community, there's an assumption that Python 3 will be successful when most people have migrated away from Python 2... i.e., Python 3 is an "upgrade" to Python 2.
rjbs Oh, that php6/perl6/python3 article got HNed?
I thought it was a pretty reasonable piece.
so no wonder people are angry! 17:46
labster DrForr: It was a pretty long way of saying "deploying breaking changes are really hard"
rjbs ain't that the truth
pmichaud However, we don't consider Perl 6 as an "upgrade" or "replacement" for Perl 5; i.e., our measure of success isn't dependent on the short-term migration way from Perl 5.
labster Next time I'll just tweet it
pmichaud *away
moritz m: my $p = Proxy.new; say $p 17:47
camelia rakudo-moar 87b1ee: OUTPUT«Cannot invoke this object (REPR: P6opaque, cs = 0)␤ in block <unit> at /tmp/Q81J3Pc0_k:1␤␤»
[Coke] m: say byte(3); # that error looks familiar.
camelia rakudo-moar 87b1ee: OUTPUT«Cannot invoke this object (REPR: P6int, cs = 0)␤ in block <unit> at /tmp/PnquapSX3a:1␤␤»
rjbs labster: Oh, that was your article? labster++
vendethiel I must agree the PHP part of the article was pretty ... misinformed. 17:48
labster pmichaud: I agree, and acknolwedge that Perl 5 is never going away. But also Perl 6 is going to have a hard time catching on without the support of the Perl 5 developers. 17:49
dalek c: b371543 | moritz++ | / (2 files):
document Proxy
17:50
pmichaud labster: I'm not sure I agree with the latter part of that.
labster I read about 10 PHP articles. It's much easier to find quality information about Python than PHP.
[Coke] m: say 'ß'.uc, 'ß'.tclc, 'ΣΣΣ'.lc
camelia rakudo-moar 87b1ee: OUTPUT«ßßσσσ␤»
pmichaud And there are some other parts of the OP that I'm not sure I agree with. 17:51
rjbs [Coke]: tclc? is that like ucfirst?
pmichaud "There is a very real possibility that six years from now, Perl 5 will still be the dominant form of an ever shrinking faction of Perl users. " Is there evidence to support "ever shrinking faction of Perl users"? I thought some of the metrics were pointing in the opposite direction.
moritz rjbs: it's like ucfirst(lc($_))
rjbs moritz: right, thanks :)
[Coke] rjbs: sort of. ^^
moritz rjbs: tc is like ucfirst
vendethiel Just want to take a minute to say ruby1.9 went much better than others :P 17:52
rjbs pmichaud: I found that sentence awkward and thought it meant that "while p5 will dominate, it will dominate a fraction of all p* users that is shrinking as people switch to p6"
pmichaud: saying nothing about the absolute size of perl* users over time
pmichaud it seems to me that the OP confuses "shrinking market share" with "shrinking population"
RabidGravy I think there is an increasing balkanisation of the dynamic languages space 17:53
rjbs also static languages space
labster pmichaud: "possibility" is a key word there. And I don't think we can pretend that Perl* has the dominance it had in the 1990s.
pmichaud labster: does it need to have that dominance to be successful, though? 17:54
labster No.
RabidGravy all the hip young kids jump to whatever is the hot thing every year
pmichaud I often keep in mind the model of Southwest Airlines -- they don't define success by being the biggest, or largest market share, or the traditional forms of "best". They define it by "are we profitable?" and "are we serving the populations we want to serve?" 17:56
17:57 xinming left
labster Well, I wrote a lot of wrong things, but at least it's starting a conversation. I had kinda hoped to bring it up here first for feedback, but Gabor emailed it out before I even brought it up here. 17:57
moritz and "are we profitable?" for a programming language would be "are we a self-sustaining, growing community?"
17:57 Entonian joined
pmichaud moritz: +1 exactly 17:57
17:58 xinming joined, TimToady left, TimToady joined 17:59 zakharyas joined, spider-mario left
baest labster: I thought it was very interesting and yes it definitely started a conversation/discussion #labster++ 18:01
18:01 Entonian left
pmichaud agreed, it's started some very useful conversations. #labster++ 18:03
labster pmichaud moritz: A lot of the things that determine whether or not we have a growing community depend on how things appear from the outside. So we can serve our people very well, but people are still going to make snap decisions based on whether or not the programmer believes the product was a success, whether or not it was a "successful upgrade". Those decision moments are going to be determined in large part by our legac 18:06
And I do fly Southwest.
[Coke] "by our legac" 18:07
labster ... by our legacy. And I do fly Southwest.
RabidGravy yeah there is an extent to which this is dependent on whether the ecosystem achieves sufficient critical mass that someone can take a casual look and go "yep I could do this project easily in Perl 6" 18:12
pmichaud RabidGravy: and more to the point: "I can do this in Perl 6 and I'd prefer that over other alternatives" 18:13
RabidGravy (and I've never flown south west)
pmichaud I agree that outside appearances have an impact. It also depends on how we react. For a long time Perl had a reputation of being a very ugly language, and people "on the outside" would mock it for being so cryptic and terse and the Perl community's reaction was "yeah, you're right, it's ugly and it gets the job done". 18:17
18:19 konsolebox left 18:25 zakharyas left 18:26 raiph left
RabidGravy I've never quite got the ugly thing (as long as you ignore regular expressions) 18:27
18:27 [Sno] left, [Sno] joined
pmichaud RabidGravy: it's all of the sigils, too. 18:29
e.g., things like for (0..@#array-1)
18:29 domidumont joined
pmichaud I'm afk 18:29
labster RabidGravy: the other part of it was in the large amount of poor-quality scripts hacked together by sysadmins in the early days. And some people just think anything with sigils is ugly. 18:33
PerlJam And lots of marketing of poor quality scripts didn't help either (who remember's Matt's Script Archive?) 18:34
raydiak I think it's the sigils, plus p5's -> instead of . for method calls, plus the number of operators, plus the regexes (not just the fact that they have their own special syntaxes, but also just how popular they are in Perl culture) 18:35
RabidGravy oh yeah, Matt's Script Archive was a disaster
the NMS project spent a lot of effort attempting to eradicate them well into the 21st century 18:36
PerlJam raydiak: but Perl's regex were adopted by everybody eventually in one form or another
labster and JAPHs on forum sigs
raydiak PerlJam: surely, but not all those langs had their own special // and =~ syntax outside of the regex lang itself
RabidGravy and JAPHs and the "elegant", er, succinct code 18:37
labster m: "Just another perl hacker".say #golfed it 18:39
camelia rakudo-moar 87b1ee: OUTPUT«Just another perl hacker␤»
RabidGravy and software like majordomo that refused to die but no-one managed to replace
raydiak PerlJam: but what I meant was, besides the various scary-looking regex syntaxes both inside and outside, they are deeply ingrained in perl culture and get (or got) used a lot more frequently than non-Perl programmers might be used to
PerlJam raydiak: oh, yes indeed.
raydiak so the end result of all those things I listed is an overall impression of "yikes!" I think :) 18:40
18:40 brrt joined
brrt (the inline::perl5 stuff is /really/ cool 18:40
nine++ 18:41
raydiak (also we should probably brace ourselves for patience with that perception; with a much longer list of operators, and meta and hypers on top of that, we are a lot more susceptible to "line noise" jokes than even P5 was) 18:42
brrt let them joke :-) 18:43
i
labster Everybody: only write clean code!
18:43 LuxOcculta joined
brrt am already having a lot of fun with perl6 now 18:43
RabidGravy I'm too stupid to right objuscated code
LuxOcculta Hello guys, 18:44
RabidGravy write
obfuscated
colomon lizmat: switching : to , for PERL6LIB in emmentaler literally broke EVERYTHING. 0 passing modules now.
LuxOcculta I've been a perl dev for 4 years, and I enjoy perl5 a lot
raydiak could probably stand to clean up some scary corners of a couple of his ecosystem modules
RabidGravy what is the matter with my typing
hoelzro welcome LuxOcculta 18:45
LuxOcculta and I'm starting to get the perl6 hype :X
do you think it would be a good time to start writing production perl 6 code ?
RabidGravy the more the merrier
labster LuxOcculta: I too write a lot of Perl 5 ^Hfor $dayjob, it's pretty fun.
RabidGravy the more, the fewer yaks I have to shave 18:46
PerlJam LuxOcculta: depends on what you mean by "production code", but I'd say "yes".
ugexe perl6-j is also failing to build, and seems due to modules: ./perl6-j --target=jar --output=lib/Test.pm.jar -Ilib lib/Test.pm
LuxOcculta iii :D, I'll get started :D 18:47
ugexe ===SORRY!=== Don't know how to handle Makefile:423: recipe for target 'lib/Test.pm.jar' failed
18:47 spider-mario joined
ugexe i am able to test/compile on moar stil though 18:49
test/compile modules
RabidGravy LuxOcculta, I'd say due to the relative immaturity of the ecosystem you may find yourself with more work, but yeah it's definitely getting to that point 18:51
labster LuxOcculta: Keep in mind that the module ecosystem isn't complete yet. I'm a place where I use Perl 6 for development tasks, but I still use Perl 5 for code that needs to be deployed. 18:52
18:53 rurban left
lizmat colomon: looking at perl6-j not building report first 18:55
LuxOcculta Thanks guys, I'll give perl6 a go on some non critical scripts that need to be updated, see how it goes :D 18:56
18:56 espadrine joined
colomon lizmat: and I got sidetracked with paying $work 18:57
lizmat: I still think PERL6LIB is probably issue, just the fix wasn’t right
lizmat where does emmentaler live ?
ugexe i dont see anything in the emmentaler smoker that should cause any problems, unless it has to do with absolute/relative file paths 18:58
oh i was looking at SmokeResults 18:59
%*ENV<PERL6LIB> = "{cwd}/installlib/lib:" ~ (%*ENV<PERL6LIB> // ''); 19:00
19:01 TimToady left
ugexe s/:/,/ i imagine 19:01
colomon ugexe: yes, that’s the line
no, that change made everything worse
or… not? 19:02
brrt good luck LuxOcculta
if you hit any snags, please let us know :-)
ugexe i imagine it should be 19:03
file#/{cwd}/installlib/lib,some-other-path,some-other-path
colomon no, that’s what I did and it broke everything
ugexe but the file# looks like it should get tacked on by rakudo
brrt inline REPL help would be a really awesome feature
lizmat colomon: huh, that broke everything?
colomon 100% module fail, yse 19:04
ugexe its also pushing onto INC instead of unshift
lizmat is the panda up to date ?
colomon I dunno about panda 19:05
after the PERL6LIB assignment line, PERL6LIB is /home/colomon/emmentaler/installlib/lib,
could that be the problem?
lizmat $ 6 'BEGIN @*INC.unshift("."); use Foo' 19:06
===SORRY!===
Missing or wrong version of dependency 'src/gen/m-CORE.setting' (from 'Foo.pm')
I think that's the pb
colomon huh? I mean, it’s definitely getting past that line. 19:07
lizmat colomon: could you try this diff:
- @*INC.push("{cwd}/installlib/lib");
- %*ENV<PERL6LIB> = "{cwd}/installlib/lib:" ~ (%*ENV<PERL6LIB> // '');
+ @*INC.push("file:{cwd}/installlib/lib");
+ %*ENV<PERL6LIB> = "{cwd}/installlib/lib," ~ (%*ENV<PERL6LIB> // '');
19:07 diana_olhovik_ left
lizmat sorry 19:07
19:08 TimToady joined
ugexe isnt it file# now 19:08
lizmat + @*INC.push("file#{cwd}/installlib/lib");
yeah
perl6-j build confirmed broken here, looking at it now
19:10 diana_olhovik_ joined, yqt joined
ugexe panda also seems to use PERL6LIB in a way that may not work correctly 19:11
github.com/tadzik/panda/blob/81893...pm#L24-L28
i.e. it joins with a path seperator
lizmat DISTRO.cur-sep is ',' if it exists 19:12
ugexe ah
lizmat that was part of code I did to mitigate the transition
19:13 TimToady left
ugexe panda smoke works fine (other than when it hits a segfault and skips all tests after) 19:15
but that problem has been around for awhile 19:16
RabidGravy ah that :/, thing seems to be what the problem with ufo is too 19:17
colomon Hmmm, what I’m getting is messages that look like this:
==> Fetching Nonongram
==> Building Nonongram
Compiling lib/Nonogram.pm to mbc
===SORRY!===
Don't know how to handle
moritz also doesn't know how to handle 19:18
lizmat neither
same on jvm :-(
:q
ugexe emmentaler seems to be smoke testing fine for me 19:21
Inline::Perl5 is puking but thats the only thing sticking out so far (and i think thats been happening for a few days) unable to find Inline/p5helper.so IN @*INC 19:22
19:28 rindolf left
colomon ugexe: “stock” ennemtaler, or with the changes? 19:28
colomon ponders blowing away his rakudo build and starting from scratch
ugexe stock. also your 'Dont know how to handle' is probably due to a comma getting placed at the end of the string 19:29
%*ENV<PERL6LIB> = join ',', "file#{cwd}/installlib/lib",%*ENV<PERL6LIB> // ();
that acts the same as stock for me
eiro hello people
lizmat well, I guess the simple fix would be to ignore any empty specs 19:30
ugexe well i assume he was doing "/some/path," ~ %*ENV<PERL6LIB>
so the first time around you get the ',' 19:31
lizmat yeah, could be it indeed
ugexe at the end. and it stays for everything else as it gets prepended
dalek kudo/nom: 5708c60 | lizmat++ | src/core/CompUnitRepo.pm:
Only complain about non-empty specs
lizmat that's probably also the issue on the JVM, as it has a custom code path filling @*INC 19:33
19:34 _mg_ joined, tinyblak left 19:35 TimToady joined
ugexe so what happens when i have a file named 'bad,file#../../some-other-file' 19:36
vendethiel a file name containing "/"?
colomon is getting more and more baffled by the proposed changes, and nothing works for him on hack. 19:37
ugexe well, not an actual file. if i pass that as a filename
lizmat my last fix fixed the JVM build
together with the proposed emmentaler fixes, the smoke should run 19:38
[Tux] Inline::Perl5 still fails 19:39
lizmat not in its testing, but in usage with Text::CVS, right ?
19:39 cognominal joined
[Tux] correct 19:39
csv-ip5xsio ===SORRY!=== 19:40
unable to find Inline/p5helper.so IN @*INC
lizmat colomon: I'm sorry about the confusion I created, but this fix was really badly needed wrt to performance
[Tux] so I don't think it matters *what* module to load
ugexe thats a compile time error
hoelzro [Tux]: I think that's probably relating to the compunit stuff
[Tux] likely 19:41
hoelzro I have the same problem with linenoise =(
[Tux] wonders if RT#124298 will be adressed in the process of fixing
I also want to tak e alook at *DISTRO 19:42
19:42 jack_rabbit joined
ugexe Inline::Perl5 problem is likely due to its Build.pm file and in Tester.pm @*INC.push('.'); 19:44
lizmat ugexe: wrt to :bad,file#: the idea is that externally delivered data is normalized (-I RAKUDOLIB PERL6LIB)
so "bad" would become "file#bad"
19:45 TimToady left, LuxOcculta left, TimToady joined
lizmat if the creation of the CURLF on "bad" fails, we have 2 choices: complain or ignore 19:45
|Tux|: confiirmed the Inline::Perl5 issue: 19:46
$ perl6 -MInline::Perl5 -e 1
===SORRY!===
unable to find Inline/p5helper.dylib IN @*INC
ugexe what if the filename is actually 'file,bad'
lizmat DIHWIDT
and it's not a file, it's supposed to be a dir 19:47
19:47 _mg_ left
[Coke] Is there a ticket driving these changes? 19:48
(trying to follow along at home)
DrForr gist.github.com/drforr/4a05d0dcf52cffb9b438 # Whitespace issue? 19:49
masak DrForr: looks like. 19:51
m: say ""
camelia rakudo-moar 5708c6: OUTPUT«␤»
DrForr With => on the previous line it's fine.
lizmat [Coke] I *think* there is a ticket for startup slownes depending on number of modules installed
masak m: foo␤=> 42 19:52
camelia rakudo-moar 5708c6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rUzddqAhnj␤Preceding context expects a term, but found infix => instead␤at /tmp/rUzddqAhnj:2␤------> 3=>7⏏5 42␤»
masak golf'd a bit.
std: foo␤=> 42
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Preceding context expects a term, but found infix => instead at /tmp/5XB5B1vOvc line 2:␤------> 3<BOL>7⏏5=> 42␤Parse failed␤FAILED 00:00 136m␤»
masak hm :)
so maybe not a parsing bug after all.
jnthn It appears deliberate:
masak will have to wait for TimToady's input, now that STD fails, too.
jnthn token fatarrow {
<key=.identifier> \h* '=>' <.ws> <val=.EXPR(item %item_assignment)>
}
Note the \h* 19:53
masak right.
yeah.
ok, so notabug. until further notice, at least.
mebbe it's one of them "heuristics".
jnthn Easy workaround is to quote the string on the LHS
(or put it on one line)
Mebbe :)
I *think* the parsing relies on the LTM being able to see the => 19:54
So we likely can't just throw <.ws> in place of the \h*
masak and knowing TimToady, he didn't just put that \h* there for no reason. 19:55
jnthn Aye
I leave TimToady++ to call it, but I think you could liberalize it to \s* but not to <.ws>
(without breaking the parse)
DrForr I would hope so. I don't usually do foo\n=>blah, but in this case the indentation just seemed to work out. 19:58
masak .oO( I don't always do foon=>blah... but when I do, I break the parse ) 19:59
20:00 brrt left
ugexe theres also :foo(␤ 42) but i doubt that has the asthetic appeal you are looking for 20:00
lizmat nine: looking ath the loop in Inline::Perl5.native: shouldn't it "last" as soon as you found it ? 20:01
DrForr Well, if someone wants to dub me the most ineresting programmer alive I ... won't stop them :)
PerlJam cites DrForr for excessive newlines 20:02
ugexe did pushing onto @INC always clear @*INC out?
lizmat no, never
and still doesn't
it's just that @*INC is supposed to contain sanitized entries
DrForr treats PerlJam to LoTR courtesy Newline Cinema :) 20:03
lizmat before long, @*INC will only be settable through the "use lib" interface
ugexe well pandas Tester.pm does @INC.push(".")
which clears out @*INC
lizmat checks
japhb DrForr: Dang it, now I'll never be able to unthink that when I watch one of their films
ugexe pushing on @*INC does nto clear out @INC though 20:04
er, does nto clear out @*INC
damn dyslexia 20:05
sorry, panda is only pushing onto @*INC. But the @INC thing is still strange behavior 20:06
lizmat well, changes to @*INC should be compile time only 20:07
that's one of the things I'll be able to fix soon now
bartolin [Coke]: you started that gist for "dnmfarrell RT consolidation". I'd like to merge some of those new tickets (e.g. 124696-124736). what's the best way to do that? just merging the tickets and leaving a note on your gist?
20:08 TimToady left, romel left, Rounin joined
ugexe i've been using CompUnit.precomp(... :@TMP-INC) 20:08
well, :INC(@TMP-INC) 20:09
lizmat well, panda should start using CompUnit.precomp as well, but I thought I'd break only one set of features at a time :-)
ugexe will there be a way to do 'use cur <$some-file>'? 20:10
[Coke] bartolin: Yes, that's fine.
or .tell me here, or something.
lizmat ugexe: it's really include spec that you specify with "use cur"
(use lib in the future) 20:11
[Coke] thank you. I did some yesterday and this morning, but there's a lot to get through.
lizmat so, you can create a Module Foo, with a .short-id that returns "foo"
[Coke] If possible, please use the same tags I'm using, (ok, resolved, rejected, merged <id>)
bartolin [Coke]: yes, will do.
ugexe im probably just handling dependency injection wrong, but ive ended up wanting to do use lib $some-lib or use cur $some-path-to-modules
lizmat and you can refer to your CUR's as "foo#path_or_whatever_specifciation" 20:12
DrForr masak: Should I file a bug, or will TimToady have to make a call?
(headed to bed here shortly.)
ugexe instead its a tangle of require $module, if ::($module) ~~ Failure { hope jvm doesnt crap itself }
[Coke] bartolin++ Also, I heard from @perltricks, who will be trying to update his pull request this evening; at that point, once it's committed, we can just update roast when we do something with the tickets. 20:13
I think we still need to keep track of what we've touched though - someone has to review each of those automatically generated tix.
bartolin [Coke]: great!
masak DrForr: filing a ticket is almost never wrong :) 20:14
DrForr Consider it done.
masak ++DrForr 20:16
20:16 atweiden left
lizmat Inline::Perl5 issue seems to be a problem in CURLI.files 20:19
zeroing in...
[Coke] bartolin: we can move that list somewhere we you can commit to it too, also. 20:24
DrForr rt#125101 20:25
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=125101
20:26 TimToady joined
ugexe that double slash 20:27
masak right there in the source: github.com/tadzik/synopsebot/blob/...bot.p6#L19
RabidGravy a little slash with clogs on, there in the source right there 20:28
bartolin [Coke]: what about misc/rt.perl.org in the perl6/mu repository?
[Coke]: there lives the list of closed parrot tickets 20:29
20:30 TimToady left 20:32 Foxcool left
ugexe personally i think it should use 4 slashes 20:34
20:34 darutoko left
[Coke] bartolin: sure, give me a minute to clone that. 20:34
20:36 TimToady joined
ugexe lizmat: ignoring the fact pushing @*INC is wrong, shouldn't panda be unshifting onto @*INC instead? seems like that could solve some possible problems related to compiling with an old previously installed module 20:37
20:37 synbot6 left
lizmat well, I'm not sure, I figured there was a reason for pushing 20:37
instead of unshifting 20:38
20:38 domidumont left 20:39 diana_olhovik_ left
ugexe from what i remember there is no reason, but thats just from going over the code and not from tadzik. and i think unshifting would solve some bugs ive encountered and fixed via deleting all modules and reinstalling. 20:40
20:40 diana_olhovik_ joined
ugexe sort of ashamed it took me until now to realize 20:41
lizmat it feels like CURLI.install doesn't create a MANIFEST
ugexe: could well be 20:44
[Coke] bartolin: done 20:45
20:45 xfix left
dalek : 41fc623 | coke++ | misc/rt.perl.org/c (2 files):
bring files from rt cleanup gist
20:46
ugexe i think CURLI.install is giving me MANIFEST... give me a few minutes
[Coke] er, done.
bartolin *g* [Coke]++
dalek kudo/nom: 198d9e7 | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm:
Remove some more beautiful plumage
20:50
ugexe yeah CURLI.install is failing to write the manifest/numbered files 20:51
lizmat and after that it can't find any files 20:52
20:53 telex left
ugexe hmm in the MANIFEST that i moved to see if a new one gets generated it has: 2015.04-158-g5708c60 20:54
20:54 telex joined
dalek : 52ae744 | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
Mark merged tickets for S32-str/sprintf-b.t
20:54
: a1ab1a4 | usev6++ | misc/rt.perl.org/tickets_closed_parrot_only.txt:
Add one ticket closed as 'parrot only'
20:57
20:59 skids left 21:03 dolmen joined
ugexe I'm getting a few extra "Missing serialize function for REPR ReentrantMutex" on jvm when compiling modules now 21:03
21:03 TimToady left
lizmat jnthn might know 21:03
jnthn I think I fixed that on Moar... 21:04
lizmat jnthn: this is specificallly on JVM
so NYI ?
jnthn Yeah, the fix needs porting I guess
lizmat ugexe: looks like CURLI.install is not called at all 21:05
jnthn RT it and I'll get to it. I've developed a mild headache, so think I'll leave more coding until tomorrow...
[Coke] bartolin++ 21:07
masak 'night, #perl6
lizmat good night, masak! 21:08
21:09 spider-mario left
ugexe for me its returning True 21:10
21:11 spider-mario joined
ugexe ok it created the manifest as well 21:14
21:19 TimToady joined
lizmat I think the issue is that CUSTOM_LIB<site> now contains a Str, rather than a CURLI 21:19
21:19 silug left 21:20 Guest96 joined
lizmat bingo 21:21
ugexe sounds likely. i dont use CUSTOM_LIB/PERL6LIB which might explain why i dont encounter the same behavior
lizmat testing a fix 21:22
dalek : c8d9fa7 | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
Merge 8 tickets for ':: NYI' into existing ticket
21:23
bartolin good night, #perl6 21:25
lizmat good night. bartolin 21:26
ugexe m: say @*INC 21:29
camelia rakudo-moar 198d9e: OUTPUT«file#/home/camelia/.perl6/2015.04-159-g198d9e7/lib inst#/home/camelia/.perl6/2015.04-159-g198d9e7 file#/home/camelia/rakudo-inst-2/share/perl6/lib file#/home/camelia/rakudo-inst-2/share/perl6/vendor/lib file#/home/camelia/rakudo-inst-2/share/perl6/site/lib…»
ugexe m: say @*INC; @INC.push(".")
camelia rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9KuQAYO7Sj␤Variable '@INC' is not declared␤at /tmp/9KuQAYO7Sj:1␤------> 3say @*INC; @INC.push(".")7⏏5<EOL>␤»
ugexe well, on the command line that prints out nothing 21:30
21:30 muraiki left
kd` /w/w 11 21:30
21:32 silug joined
ugexe i guess non-strict is clobbering the INC name 21:32
21:32 bjz left
lizmat m: @*INC.push("."); say @*INC 21:34
camelia rakudo-moar 198d9e: OUTPUT«file#/home/camelia/.perl6/2015.04-159-g198d9e7/lib inst#/home/camelia/.perl6/2015.04-159-g198d9e7 file#/home/camelia/rakudo-inst-2/share/perl6/lib file#/home/camelia/rakudo-inst-2/share/perl6/vendor/lib file#/home/camelia/rakudo-inst-2/share/perl6/site/lib…»
lizmat m: @*INC.push("."); say @*INC[*-1]
camelia rakudo-moar 198d9e: OUTPUT«.␤»
lizmat m: @*INC.push("file#."); say @*INC[*-1] # better
camelia rakudo-moar 198d9e: OUTPUT«file#.␤»
ugexe my confusion seemed to be from [email@hidden.address] not being declared, so i guess it automatically gets declared my @INC before the say @*INC but after @*INC was populated 21:37
lizmat ok, I pushed a change to panda that will at least create the MANIFEST 21:43
unfortunately, this breaks testing on Shell::Command
in the panda bootstrap process
and I'm getting too tired to look at this 21:44
so, I will get me some sleep and look at it again in the morn
*on
ugexe on JVM the reentrant mutex error i can get trying to compile just 'use Perl6::Grammar:from<NQP>' 21:47
lizmat &
ugexe which yesterday it could 21:49
jnthn 'night, lizmat 21:51
21:53 vendethiel left 22:05 kaare__ left 22:07 wtw left 22:08 diana_olhovik_ left 22:16 dolmen left 22:20 Isp-sec left
raydiak looks out the window at the again-broken car sitting there, and wonders what software would be like if bytes were as costly as bolts and every recompilation required new gaskets and fluids 22:24
22:24 jack_rabbit left 22:26 RabidGravy left
ugexe imagine if most software ran as long as most cars 22:27
raydiak
.oO( oh yeah? well MY uptime is 270k miles! )
22:33
22:40 skids joined 22:46 Rounin left 23:13 Peter_R left, lolisa left
TimToady the \h* is intentional for LTM purposes, and it can't be liberalized to \s* without potentially breaking heredocs 23:15
23:15 Peter_R joined 23:16 vike left
TimToady it also reduces the LTM lookahead greatly on identifiers without a subsequent => 23:16
if you let it go past \n then it probably has to scan a whole bunch of spaces on the next line on the offchance someone wanted to put a newline before the => 23:17
and you'll note that this is the first time in a decade that someone has actually attempted it :)
so it's gonna stay \h* 23:18
labster awww
labster doesn't actually care
23:19 vike joined
labster Actually that's all pretty reasonable. 23:19
23:20 xiaomiao left 23:22 xiaomiao joined 23:27 spider-mario left, cognominal left
tony-o m: my $r = start { sleep 3; }; my $timeout = Promise.in(1); await Promise.anyof($r, $timeout); $r.break if $timeout.status ~~ Kept; 23:35
camelia rakudo-moar 198d9e: OUTPUT«Access denied to keep/break this Promise; already vowed␤ in block <unit> at /tmp/Zx2vszPkZ9:1␤␤»
tony-o is there a mechanism to break a start {} ? 23:39
pmichaud good afternoon, #perl6 23:40
tony-o hi pmichaud
23:48 gfldex left 23:53 espadrine left