»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! ! temporary logs at colabti.org/irclogger/irclogger_log/perl6
Set by moritz on 29 April 2013.
00:01 drbean joined 00:06 moritz_ joined
lue is there a reason why I can't bind to a method name? 00:09
moritz_ binding only works for variables 00:11
also you are trying to bind to a method *call*, not to a method *name* 00:12
lue: if you read doc.perl6.org/language/containers it should be fairly obvious why you can't bind to random stuff, but only to variables 00:14
lue Would I have to do the $foo!Foo::bar (with trust-enabling), or can I count on the $bar in method($bar) to be bound by default and just write the appropriate method?
00:15 berekuk left
lue guesses $class.meth = $val is equivalent to $class.meth($val) , or else he's really unaware of how $class.meth = works 00:15
moritz_ $foo!Foo::bar is a call of a private method, and $bar in method($bar) seems to be a parameter or an argument. I don't see how the two are related. 00:16
lue: do read doc.perl6.org/language/containers
lue I am. 00:17
lue will read before asking another question
00:17 eternaleye_ joined 00:18 eternaleye left, eternaleye_ is now known as eternaleye
moritz_ r: my $x; sub f() is rw { $x }; f() = 42; say $x 00:22
camelia rakudo 639d7f: OUTPUT«42␤»
dalek c: e90e09d | moritz++ | lib/containers.pod:
[containers] explain how "is rw" attribute accessors work
00:25
moritz_ and this one is just for lue++ :-)
00:26 Targen_ left, berekuk joined 00:28 berekuk left, kbenson left
moritz_ tries to sleep again 00:31
lue good ♞ moritz_ o/ 00:32
00:36 moritz_ left 00:37 adu joined
adu how do I set the current language? 00:45
yoleaux 30 Apr 2013 04:10Z <sorear> adu: andydude can now commit to nqp
adu o yey 00:46
dalek p/rak-jvm-support: 9a05abd | (Andrew Robbins)++ | t/nqp/44-try-catch.t:
Added test case for try and CATCH
00:49
p/rak-jvm-support: e395d5c | (Andrew Robbins)++ | / (36 files):
Merge branch 'rak-jvm-support' of github.com:perl6/nqp into rak-jvm-support
adu did it work?
looks like it did :) 00:50
[Coke] adu++
00:50 thou left
adu [Coke]: thanks 00:50
TimToady gah, home broadband is down again, limping along on GoogleWiFi... 00:52
this U-verse line is great when it works, except for when it doesn't... 00:53
adu so if I set %?LANG to another grammar that has QAST actions, do I need to do anything else to make it use that language instead? 00:56
TimToady kinda wishes that rosettacode.org/wiki/Determine_if_o...ing#Perl_6 didn't have to say "try link" because the link command throws an exception when it fails 01:20
TimToady also kinda wishes he didn't have to shell out to call 'kill'... 01:21
adu OMG I <3 rosettacode 01:23
TimToady otoh we're now only 3 behind Go and 5 behind Ruby :) 01:24
oh hey, my line came back up \o/ 01:31
doubtless it will work perfectly when the repairman comes tomorrow...
"Your next computer will think like you!" claims Discover Magazine. Gah, I hope not... 01:32
TimToady needs a computer that thinks differently from him...
labster just what I need, a computer that procrastinates. I'll get around to that compilation job eventually, but first, watch this Youtube video of kittens! 01:40
adu lol 01:43
01:44 Targen joined
Juerd TimToady: If you think that you need a computer that thinks differently, and the computers thinks like you, then it too thinks you need something that thinks differently. But I wonder if that'll convince it. 02:05
s/computers/computer/
02:07 census left 02:13 erkan joined, erkan left, erkan joined 02:16 arlinius left 02:21 Targen left
TimToady the benford function in rosettacode.org/wiki/Benford%27s_law looks bogus to me 02:22
why are we making a hash out of a list?
oh, wait, I miscounted parens 02:26
02:28 Targen joined 02:35 orafu left, orafu joined 02:37 jeffreykegler joined 02:39 mavcunha joined 02:40 jeffreykegler left 02:42 moritz_ joined
sorear Juerd: no, the logical consequence is that it will become dissatisfied with the user and demand a "better" one ;) 02:51
03:04 tangentstorm left 03:05 tangentstorm joined
labster Nah, most likely the computer will fall in love with your girlfriend's computer. 03:07
TimToady
.oO(Your girlfriend's computer does not reciprocate either...)
03:12
03:15 thou joined
adu that's what she said! 03:17
03:19 adu left 03:25 amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined 03:26 amkrankruleuen left, amkrankruleuen joined, amkrankruleuen left 03:27 amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined 03:30 amkrankruleuen left 03:32 amkrankruleuen joined, amkrankruleuen left 03:34 amkrankruleuen joined 03:36 amkrankruleuen left, amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined, amkrankruleuen left 03:41 Nom- joined 03:43 sizz left, amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined, amkrankruleuen left 03:45 sizz joined 04:15 arlinius joined 04:25 Psyche^ joined 04:28 Patterner left, Psyche^ is now known as Patterner 04:46 sizz left 04:52 sizz joined 05:18 dmol joined 05:23 frdmn left 05:25 moritz_ left 05:34 mavcunha left 05:37 thou left 05:40 satyavvd joined 06:02 kurahaupo left 06:05 woolfy joined 06:07 kaleem joined 06:17 eternaleye left 06:19 eternaleye joined 06:41 frdmn joined 06:47 FROGGS joined 06:55 fhelmberger joined
FROGGS .tell adu I might can tell you about how to switch to a different slang... 06:58
yoleaux FROGGS: I'll pass your message to adu.
07:03 kaleem left 07:15 rindolf joined 07:26 sqirrel joined 07:27 rindolf left 07:28 rindolf joined 07:29 jeffreykegler joined 07:33 domidumont joined 07:36 jeffreykegler left
masak kinda likes "can" in the infinitive 07:40
07:40 rindolf left 07:41 rindolf joined
FROGGS hmmm, sounds weird now I read my own sentence O.o 07:45
07:46 kaleem joined
labster Yeah, I was about to comment as a grammar correction, and then I decided someone needs to edit the English specs. 07:46
FROGGS hehe
masak yes, it's clearly a limitation to not simply can do that whenever convenient. ;) 07:47
labster masak: splitting infinitives too? That is something up with which I cannot put. 07:49
masak sorry, I don't pay much attention to bogus rules made up by prescriptivists with too much time on their hands. 07:50
(the "split infinitives" rule seems to have come about because in Latin, it's literally impossible to split an infinitive, there not being a "to" as in English, and thus in English it's supposed to be "bad style" just because it's not like Latin.) 07:51
07:51 rindolf left
labster .oO (You can't split infinitives in Japanese because it doesn't have them ) 07:51
07:52 rindolf joined
bonsaikitten neeeeeeerds ;) 07:52
labster And yes, I was joking, and that's a paraphrase of Churchill complaining about how horrible it is to work around. 07:53
masak bonsaikitten: yes. indeed. hello. welcome.
bonsaikitten masak: I do feel welcome here :) 07:54
masak :) 07:55
08:01 rindolf left, rindolf joined 08:02 pmurias joined 08:03 bruges joined, kst` joined, xenoterracide left, domidumont left, wooden left 08:04 orafu left, wooden joined, wooden left, wooden joined, clkao joined, Kharec left, bruges_ left, kst left, domidumont joined 08:05 Kharec joined, orafu joined
labster well, with with jnthn++ told me to do last night, panda changed from mysteriously broken to only slightly enigmatically broken. 08:05
08:06 espent joined 08:08 xenoterracide joined 08:10 domidumont left
tadzik good morning #perl6 08:13
labster morning tadzik
moritz \o 08:15
08:16 rindolf left 08:17 rindolf joined 08:19 donaldh left 08:23 donaldh joined 08:25 kivutar joined
lizmat morning #perl6 08:29
08:30 rindolf left 08:31 rindolf joined
hoelzro ahoy lizmat 08:33
lizmat \o 08:35
08:37 berekuk joined 08:40 kresike joined
kresike hello all you happy perl6 people 08:40
tadzik hi kresike 08:44
08:44 rindolf left
kresike tadzik, o/ 08:44
08:44 rindolf joined
masak morning tadzik, moritz, lizmat, hoelzro, kresike. 08:44
kresike masak, o/ 08:45
lizmat masak!
masak sleeping didn't help my mood. I'm still unhappy about/disappointed in Parrot. but today I'm trying to diagnose the problem, seeing what code is generated to cause this. 08:46
who knows, maybe I'll learn something.
hoelzro masak: what happened with Parrot?
masak hoelzro: I discovered a bug in which is chunks across UTF-8 characters and fails.
it* 08:47
hoelzro ouch 08:48
jnthn morning, #perl6
hoelzro I thought that maybe the Parrot team was being uncooperative 08:49
o/ jnthn
masak hoelzro: no, so far they haven't really reacted at all.
I conclude that people don't tend to use Parrot much with inputs larger than 2 kB.
tadzik :P 08:50
08:51 sqirrel left
lizmat wonders about S12 specs 08:52
class Dog is Mammal
the spec doesn't specify anything about *which* Mammal 08:53
dalek kudo/EXPORT_hash: 2c0efdc | (Timo Paulssen)++ | / (3 files):
WIP on EXPORT returning a hash.
kudo/EXPORT_hash: e0b3e03 | moritz++ | lib/lib.pm6:
actually return a Hash from EXPORT
kudo/EXPORT_hash: a887d88 | moritz++ | src/Perl6/Grammar.pm:
type check result from &EXPORT
kudo/EXPORT_hash: 18e34a1 | moritz++ | lib/lib.pm6:
fix spectests
kudo/EXPORT_hash: 4c4eac7 | moritz++ | src/Perl6/ (2 files):
run EXPORT subs always when present

not just when an argument list is present
kudo/EXPORT_hash: 1ad9b40 | moritz++ | / (188 files):
Merge remote-tracking branch 'origin/nom' into EXPORT_hash
kudo/EXPORT_hash: c66c428 | moritz++ | src/Perl6/ (2 files):
fix exporting of subroutines. jnthn++
lizmat class Mammal:auth<cpan:JRANDOM> or class Mammal:auth<cpan:ELIZABETH> ?
masak lizmat: my initial reaction: the one that the file/package has imported? 08:54
08:54 rindolf left
moritz lizmat: whatever is in the current lexical scope 08:54
lizmat ah, of course, that was P5 think
moritz lizmat: if it makes you happier, add a class Mammal { } on top
masak oh, that's a better answer.
08:54 rindolf joined
moritz then it's unambiguous 08:54
masak I was thinking packages.
but it's really about lexical bindings. 08:55
lizmat indeed… I was using P5 thinking about loaded modules
moritz timotimo: good news: with that newest commit, EXPORT_hash seems to work
(bad news: I haven't spectest it yet)
lizmat but a module doesn't exist in a scope unless it has been used in P6, right?
moritz timotimo: I've pushed it to both your fork and to rakudo/rakudo 08:56
lizmat (except maybe for Types)
moritz well, it needs to have been use'd or declared
lizmat indeed
rn: class Dog is Mammal
hoelzro who's Timo Paulssen?
camelia niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Unhandled trait Mammal for this context at /tmp/JcrhORXnAo line 1 (EOF):␤------> class Dog is Mammal⏏<EOL>␤␤Unable to parse class definition at /tmp/JcrhORXnAo line 1 (EOF):␤------> class Dog is Mamma…
..rakudo 639d7f: OUTPUT«===SORRY!===␤'Dog' cannot inherit from 'Mammal' because it is unknown.␤at /tmp/XHv9s22y7z:1␤------> ␤»
hoelzro (who here, I mean)
lizmat timotimo ? 08:57
hoelzro lizmat: ah, thanks!
timotimo++ # EXPORT work
moritz spectesting now
$ cat MyExport.pm 08:58
module MyExport { }
our sub EXPORT(|) { return ('&blubb' => sub { say 42 }).hash; }
$ ./perl6 -I. -e 'use MyExport; blubb'
42
though I guess we should change that eventually to use MyExport::EXPORT instead of plain EXPORT 08:59
to avoid the global merging issues
lizmat indeed
I'm surprised this works 09:00
moritz it works as long as only one module does it :-)
lizmat as the EXPORT is in GLOBAL, no?
moritz right
lizmat ah, and it inherits from GLOBAL ?
moritz no
modules don't inherit
lizmat ah, the lexotic lookup finds EXPORT in GLOBAL 09:01
moritz the GLOBALs of all the modules are merged when they are use'd
labster ==> Successfully installed panda \o/. This means that IO::Path stuff is now working for Windows
moritz \o/
labster++
labster jnthn+=5 for putting me on the right track 09:02
dalek kudo/nom: 2c0efdc | (Timo Paulssen)++ | / (3 files):
WIP on EXPORT returning a hash.
kudo/nom: e0b3e03 | moritz++ | lib/lib.pm6:
actually return a Hash from EXPORT
kudo/nom: a887d88 | moritz++ | src/Perl6/Grammar.pm:
type check result from &EXPORT
kudo/nom: 18e34a1 | moritz++ | lib/lib.pm6:
fix spectests
kudo/nom: 4c4eac7 | moritz++ | src/Perl6/ (2 files):
run EXPORT subs always when present

not just when an argument list is present
kudo/nom: 1ad9b40 | moritz++ | / (188 files):
Merge remote-tracking branch 'origin/nom' into EXPORT_hash
kudo/nom: c66c428 | moritz++ | src/Perl6/ (2 files):
fix exporting of subroutines. jnthn++
moritz ok, EXPORT_hash merged into nom
jnthn moritz: Why not just say it should be a *lexical* sub EXPORT? 09:03
moritz: And look it up in UNIT, the same way we look up the EXPORT package and GLOBALish? 09:04
FROGGS wow
jnthn Then no collision risk and leakage :)
mathw o/ everyone
jnthn Happy it's merged, anyways. \o/
GlitchMr olive.undo.it/log?channel=perl6&...8\W|%24%29 - karma-- is rarely used :-).
FROGGS timotimo++, labster++, moritz++ and masak++ # masak for lookup up parrot bugs
hi mathw 09:05
labster I haven't run all the spectests yet, but I think my iospec branch may be ready to merge too.
FROGGS well, run the testsuite first :o)
I guess that's always a good adivce 09:07
advice*
labster ... please wait while your tests process...
FROGGS will do that too
09:08 woosley joined
GlitchMr rn: random 09:09
camelia niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'random' 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 /h…
..rakudo 639d7f: OUTPUT«===SORRY!===␤Undeclared routine:␤ random used at line 1. Did you mean '&rand'?␤␤»
GlitchMr r: return
camelia rakudo 639d7f: ( no output ) 09:10
GlitchMr huh?
rn: return
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Illegal control operator: return␤ at /tmp/51ltbSSY39 line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583) ␤ at /home/p6eval/nie…
..rakudo 639d7f: ( no output )
GlitchMr r: next
camelia rakudo 639d7f: OUTPUT«next without loop construct␤ in block at src/gen/CORE.setting:452␤ in block at src/gen/CORE.setting:516␤ in block at /tmp/cYCYGx6Kdp:1␤␤»
GlitchMr Is it running in subroutine, or what, considering return works?
09:10 fhelmberger left, sizz left, Bucciarati left, ilbot_bck left, pjcj left, krunen left, renormalist left
lizmat $ perl6 -e 'return' 09:10
Attempt to return outside of any Routine
09:10 mj41 joined, Bucciarati joined, renormalist joined
lizmat I guess 09:10
09:10 bakedb joined, pjcj joined, krunen joined, sizz joined
GlitchMr r: 42 09:10
09:10 ilbot_bck joined
camelia rakudo 639d7f: ( no output ) 09:10
GlitchMr That was a short netsplit. 09:11
FROGGS r: return 7
camelia rakudo 639d7f: ( no output )
09:11 fhelmberger joined
FROGGS r: say $?ROUTINE 09:11
camelia rakudo 639d7f: OUTPUT«===SORRY!===␤Variable '$?ROUTINE' is not declared␤at /tmp/ww2tXmNJwq:1␤------> say $?ROUTINE⏏<EOL>␤ expecting any of:␤ postfix␤»
FROGGS :/
GlitchMr r: say &?ROUTINE
camelia rakudo 639d7f: OUTPUT«===SORRY!===␤Undeclared name:␤ &?ROUTINE used at line 1␤␤»
FROGGS NYI
jnthn r: sub foo() { say &?ROUTINE }; foo 09:12
camelia rakudo 639d7f: OUTPUT«sub foo() { ... }␤»
jnthn It is if you're in a routine.
pmurias a draft of the gsoc proposal: www.google-melange.com/gsoc/proposa...urias/9002
GlitchMr Huh? So why "return" works in camelia?
When you aren't in routine... 09:13
moritz LTA error reporting, I believe
or it picked up an outer NQP routine, or so
FROGGS jnthn: is that new that &?ROUTINE works at all?
moritz most likely a bug
FROGGS: introduced in 2012.01
FROGGS ahh, cool, thanks 09:14
09:15 birdwindupbird joined
jnthn Was gonna say, I don't remember doing it recently... :) 09:15
09:15 rindolf left 09:16 rindolf joined
FROGGS labster: get_iter() not implemented in class 'NQPMu' 09:16
current instr.: 'dissect_longname' pc 27502 (src/gen/perl6-symboltable.pir:10661) (src/Perl6/World.nqp:1914)
timotimo oooh, i wake up to lots of ++es :D 09:17
cool beans :)
FROGGS # On branch iospec
labster FROGGS: I assume you're ahead of me on spectests then. Where did that happen?
FROGGS labster: happens on stage parse :/
my nqp is 2013.04-118-gf3551cf, maybe yours is older? 09:18
labster huh. it's running for me.
FROGGS it seems to be a good say btw, lots of cool stuff happening here, and $work started with a breakfast
09:18 pecastro left
labster This is nqp version 2013.04-54-gbfb3669 built on parrot 5.2.0 revision RELEASE_5_2_0 09:19
looks like it.
FROGGS labster: I'm pulling in latest changes from nom, this should fix thinsg 09:20
thngs
things*
-.-
09:20 pecastro joined
labster yeah -- I haven't merged in nom and nqp for a while. This is the first major change I've made, and I was just concentrated on getting the darn thing running. 09:22
thanks for the help, FROGGS++
09:23 cognominal left, cognominal joined
timotimo labster: may i ignorantly ask what your iospec changes do? make the IO module behave like specced perhaps? 09:23
labster Adds in File::Spec (as IO::Spec). Makes IO::Path work as specced for the most part, including on Windows. 09:25
Maybe I should have named it IO::FileSpec or something. Not sure there. 09:26
FROGGS labster: compiles again after pulling:
git remote add rakudo git://github.com/rakudo/rakudo.git
git pull rakudo nom
spectest is running now
labster but all of the IO::Path methods work now (except for resolve) -- cleanup, parent, child, absolute, is-relative, etc. Which means that "foo".path works mostly like Path::Class does in Perl 5. 09:28
pmurias lizmat: yes 09:29
moritz finally some basic IO sanity. labster++
lizmat pmurias: I seem to have lost context?
pmurias got confused with a scrolled up terminal sorry 09:30
lizmat no pb
09:30 birdwindupbird left
lizmat moritz: trying to get the masakism PROMISE task to export it's enums 09:30
our sub EXPORT (|) { return State.enums; } 09:31
does not seem to cut it :-(
do I have to convert them to subs?
doesn't seem right if so
jnthn lizmat: You need hash
*a
lizmat: enums returns a list iirc
09:32 rindolf left
jnthn r: enum A < b c >; say A.enums.perl 09:32
camelia rakudo c66c42: OUTPUT«("b" => 0, "c" => 1).hash␤»
lizmat rn: enum State <PENDING FULFILLED REJECTED>; say State.enums
jnthn Oh...
camelia niecza v24-37-gf9c8fc2: OUTPUT«EnumMap.new(...)␤»
..rakudo c66c42: OUTPUT«("PENDING" => 0, "FULFILLED" => 1, "REJECTED" => 2).hash␤»
jnthn lizmat: In what way did it fail?
r: enum A < b c >; say A.enums.WHAT
camelia rakudo c66c42: OUTPUT«(Hash)␤»
09:32 rindolf joined
lizmat $ perl6 -I. -e 'use Promise; say PENDING' 09:32
===SORRY!===
Undeclared name:
PENDING used at line 1
jnthn Hmm 09:33
labster our?
jnthn Dunno without looking closer at the code, and I'm a bit tied up at the moment.
lizmat no worries… I was just testing the new features 09:34
moritz types and subroutines seem to work 09:35
09:36 rindolf left
moritz lizmat: what also works is our sub EXPORT(|) { (PENDING => PENDING).hash } 09:36
09:37 daxim joined
lizmat moritz: can't confirm here with This is perl6 version 2013.04-32-gc66c428 09:40
09:41 kivutar left
lizmat hmm… EXPORT doesn't seem to called at all 09:42
thinko
hoelzro lizmat: where'd you put EXPORT?
lizmat inside class Promise body 09:43
hoelzro I think it needs to be at the top level of the unit
jnthn Needs to go in UNIT
hoelzro (iirc)
lizmat that was it, and then return State.enums works 09:45
jnthn \o/
FROGGS if we can keep this progress we have a pretty nice gift this x-mas
lizmat feels counterintuitive needing to have that in UNIT 09:46
on the other hand, the constants are in a namespace of their own
FROGGS labster, two fails: t/spec/S32-io/io-path.rakudo Failed test: 11; t/spec/S32-io/IO-Socket-INET.t Failed test: 2 09:47
lizmat fwiw, it seems that the "is export" trait is not necessary to have this exported
I assume that'e because "is exported" will be picked up by a generic EXPORT in the future? 09:48
FROGGS well, if you put something manually into EXPORT, you dont need is export
lizmat but you need to do that now, as "is export" is NYI, right?
FROGGS there is "is export", but maybe not for all things... (thinking of enums) 09:49
nwc10 jnthn: I can't build NQP master for JVM on "my" machine, but I can build both parents of the merge commit :-(
lizmat indeed, subs seem to work :-) 09:50
FROGGS right 09:51
jnthn "is export" is implemented, it's just that it's not clever enough to export the individaul values of an enum, just the enum type itself.
lizmat: The way "is export" actually works is to install symbols into a UNIT::EXPORT package (that is, a lexical package). 09:52
09:52 tgt joined
FROGGS labster: scratch that IO-Socket-INET.t fail, it is passing its test on the second run 09:52
jnthn lizmat: So having the sub EXPORT be a lexical sub in UNIT is consistent with that.
lizmat is trying to wrap her head around that and starts reading S11 again 09:53
labster FROGGS: yeah, INET passed for me. Test 11 in io-path isn't actually specced -- there's no reason for weird paths to round-trip.
FROGGS ya, that is what I was thinking too 09:54
09:54 kivutar joined
labster I was tempted to make IO::Path.new always call canonpath. Right now, I've just settled for removing trailing slashes. 09:57
09:57 rhinux joined
timotimo labster: that's good work what you've done :) 09:57
labster Also -- test 10 will fail on Windows, because Win32 changes it to a backslash. huh. 09:59
lizmat rn: enum State <PENDING>; BEGIN { UNIT::EXPORT::DEFAULT::<PENDING> := PENDING }
camelia niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'UNIT::EXPORT::DEFAULT::' used at line 1␤␤Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any␤ at /tmp/S7pBj9kFhZ line 1 (ANON @ 2) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at …
..rakudo c66c42: ( no output )
labster >say IO::Path::Win32.new("/"); # IO::Path::Win32<\> 10:00
lizmat $ perl6 -e 'enum State <PENDING>; BEGIN { UNIT::EXPORT::DEFAULT::<PENDING> := PENDING }'
===SORRY!===
Null PMC access in get_attr_str()
labster Well, I'll think about that in the morning.
Good night, all. 10:01
lizmat goodnight labster!
FROGGS r: { class States { enum State <PENDING>; BEGIN { UNIT::EXPORT::DEFAULT::<PENDING> := PENDING } } }; import States; say PENDING
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Undeclared name:␤ PENDING used at line 1␤␤»
FROGGS gnight labster
jnthn No, UNIT only makes sense in a module... 10:02
10:02 rindolf joined
FROGGS r: { module States { enum State <PENDING>; BEGIN { UNIT::EXPORT::DEFAULT::<PENDING> := PENDING } } }; import States; say PENDING 10:02
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Undeclared name:␤ PENDING used at line 1␤␤»
FROGGS O.o
module like 'file' ?
lizmat FROGGS: import State (lose the s)
ah, no 10:03
sorry
FROGGS I dont wanted to have a class _and_ enum called the same...
lizmat duh
10:14 mtk left, kaleem left 10:17 mtk joined 10:19 mtk left 10:20 birdwindupbird joined 10:22 mtk joined 10:24 rindolf left, rindolf joined 10:25 kaleem joined 10:26 birdwindupbird left 10:30 sqirrel joined 10:38 rindolf left 10:39 rindolf joined
jnthn afk for the afternoon/evening 10:39
nwc10 have fun 10:40
10:59 pecastro left, rindolf left 11:00 rindolf joined 11:03 rhinux left 11:06 pecastro joined
dalek : 7cd0751 | (Tobias Leich)++ | rakudo.patch:
rebase to latest rakudo changes
11:06
11:15 fhelmberger left 11:16 rindolf left, rindolf joined 11:25 pecastro_ joined 11:26 pecastro left 11:36 woosley1 joined
timotimo how hard would it be to look for the EXPORT sub in the right place to make merging o longer a problem? 11:39
11:40 rindolf left 11:41 rindolf joined
FROGGS timotimo: what do you mean? it is looking for &EXPORT directly within the module use use/import 11:42
moritz FROGGS: make a 'use A;' look for A::EXPORT instead of EXPORT
probably doable
timotimo i will try when i get into the next train where i will have a table 11:44
11:47 woosley1 left
FROGGS moritz: but Perl6::Grammar::do_import is looking for $module<&EXPORT>, no? 11:50
moritz FROGGS: yes, and it should be looking inside $module{$name}<&EXPORT> or something along those lines 11:51
be care about ::-joined names
*careful 11:57
tadzik oh-oh 12:02
new panda coming
12:03 araujo left
FROGGS cool! 12:04
dalek nda/panda2: 2857063 | tadzik++ | / (32 files):
WIP
12:05
nda/panda2: 092e18d | tadzik++ | / (14 files):
After blood, sweat and tears: panda2

Lots of refactors. I don't hate the code anymore. UX _should_ remain
  (almost) exactly the same. It may be faster.
12:06 araujo joined
tadzik testing will be very welcome 12:06
it Works For Me [tm]
FROGGS will do that!
tadzik++
12:07 rindolf left, rindolf joined
tadzik pandabrew can be easily adjusted to use panda2 12:08
I'm now testing if it works
then emmentaler
after that I may just merge it to finally be done with it :P
masak \o/ 12:12
moritz good news from my front too: I've finally obtained a VPS 12:13
so it's just a "small" matter of configuration and DNS changes to get the irclogs back to their proper place 12:14
oh, and can I plz have a 'sanity' meta package in Debian that gives me vim, sudo, screen and all those other little essential tools? 12:15
FROGGS moritz: do you need some "financial support"? 12:17
moritz I may, yes
but I'll wait until I get my first invoice :-)
12:17 satyavvd left 12:18 Targen left 12:19 eternaleye left
moritz oh, I forgot pwgen :-) 12:19
FROGGS let me know then :o) 12:20
12:21 eternaleye joined 12:22 rindolf left 12:25 skids left 12:28 tgt left, any joined
any FROGGS: github.com/rakudo-p5/v5/commit/64b...nt-3139608 12:29
12:29 any is now known as Guest99231, Guest99231 left
FROGGS Guest99231: hmmm, true... thanks! will apply 12:31
meh
12:32 domidumont joined 12:34 tgt joined 12:40 mavcunha joined 12:41 mavcunha_ joined 12:45 mavcunha left 12:46 mavcunha_ left
tadzik 49 files changed, 605 insertions(+), 1228 deletions(-) 12:50
nice panda refactor :)
where did all that code go, I wonder 12:51
good that it still works ;O
moritz dammit 12:53
the last backup of the irclogs is from march 1st
AND I THOUGHT IT DID NIGHTLY BACKUPS 12:54
12:55 PacoAir joined
pmichaud pmurias: where would you like feedback on your gsoc proposal? #perl6 ? email? /privmsg ? 12:55
FROGGS moritz: :/ 12:56
timotimo oh my :| 12:57
moritz well, I guess the data isn't completely lost, I just don't have access to it for a while 12:58
12:58 ajr joined, ajr is now known as Guest45251
timotimo i'm not sure what kinds of carefulness are required to make sure looking into the module for the export sub works properly; also not quite sure how to find out the module name that it ended up defining in the file 12:58
moritz timotimo: don't look for the module name that's in the file; look for the module name that was passed to 'use' or 'require' 12:59
13:00 frdmn left
timotimo ah, that makes sense. i think that's just $module in that case 13:00
moritz the only problem is require $file
timotimo actually, $package_source_name 13:01
FROGGS moritz: require $file is okay, since you dont import anything in that case 13:02
moritz FROGGS: ah, right
FROGGS only require ModuleName:$file can do that
pmichaud where's the cameliabot source again, ooc? 13:03
timotimo indeed, the require code is in Actions, but do_import is defined in Grammra and cannot be called or rather won't be called from the require action
pmichaud the part that evals p6 code?
13:04 Guest45251 left
moritz pmichaud: perl6/evalbot on github 13:04
pmichaud moritz: thanks. 13:05
arnsholt Regarding importing and such, do we have a good answer for how need/require/use should interact with files that declare multiple classes or what have you? 13:06
timotimo it pushes a call to REQUIRE_IMPORT
do i have to decompose the name at :: position and write $modile{$part-one}{$part-two}{$part-three}<&EXPORT>?
moritz timotimo: probably 13:07
timotimo good to know. i'll start implementing now :)
moritz and maybe even $modile{$part-one}.WHO.{$part-two}.WHO....
timotimo do i have to write the EXPORT sub in my code differently as well? does it go into the module directly?
i mean for my test code
moritz that's what you're about to change, isn't it? 13:08
old: directly into the file; new: into the module
timotimo i think so :)
it should be s"our sub EXPORT" inside the module?
hm, "our" is enough to get it exported? or would i have to add is export to it? 13:09
FROGGS arnsholt: IMO it should only import things of the module you specify, so: 1) load a file for a module name, 2) import only the symbols of exactly this name space
moritz well, I look at it from a slightly different perspective 13:10
FROGGS arnsholt: and the lookup what file is actually loaded for a given module name might/will change if we start to support S11
moritz a module has two options to make stuff available
timotimo do i need to do World.dissect_longname for this, or is the form guaranteed to be simpler than a "general" longname? 13:11
moritz one is through 'is export' tags, one is through our sub EXPORT
FROGGS moritz: I'm not talking about custom EXPORT subs
13:11 woosley1 joined, woosley1 left
moritz and about the export tags: the caller can chose to import whatever names the module exported 13:11
the caller doesn't care if those come from different classes or not
FROGGS an EXPORT sub should be called if you import from its namespace, but it is totally up to this sub what it is going to export
moritz yes, that's the second case 13:12
FROGGS IMO "is export" should do nothing if an EXPORT sub is present... what do you think? 13:13
hmmm, or would it be better to merge the lists?
so you can easily export things using "is export", and do only the custom stuff using the EXPORT sub
moritz IMHO it shouldn't do anything, but the 'is export' mechanism (like selecting symbols by tag) should be made available to the author of EXPORT subs 13:14
easily available, I mean :-)
FROGGS hmmm, ya, sounds reasonable
13:19 moritz joined
timotimo first implementation prototype that may even work immediately :D 13:19
given the compile times, i probably should have included ebug output in this first attempt 13:24
moritz irclog.perlgeek.de is up with historical data
pmichaud moritz++ 13:25
moritz the page load times are short here, but then the data between $work and the VPS never go over a backbone :-) 13:26
FROGGS moritz: it is pretty fast here too 13:27
13:28 Targen joined 13:35 am0c joined
Nom- Can someone point me to any doco (if it exists) on these grammar specs? token identifier { <.ident> [ <[\-']> <.ident> ]* } 13:36
pmichaud Nom-: which part? 13:37
arnsholt identifier is a sequence of idents, with ' or - in between
pmichaud that rule just says that an identifier can have hyphens and apostrophes if followed by a word character
arnsholt <.foo> calls subrule foo without saving the match object for that subrule call (like [] and ())
timotimo hm. should i find the module Foobar under $module<EXPORT>.WHO<Foobar>? 13:38
Nom- Ok, so I assume ident is defined *somewhere* ?
pmichaud it's inherited from HLL::Grammar
timotimo HLL::Grammar can be found in nqp
Nom- Yep, looking at that souce now but can't see a token identification... i guess it's a function then? 13:39
pmichaud oh, wait.
just a sec
13:39 mavcunha joined
Nom- github.com/perl6/nqp/blob/master/s...rammar.nqp <-- that's the source I refer to :) 13:39
Yeah, i see lots of references in there to $termish, so sounds like my assumption might be right -- it's "virtual" and provided by code? 13:40
pmichaud <ident> is a predefined subrule, defined by S05 13:41
perlcabal.org/syn/S05.html#Predefined_Subrules
the actual code is
Nom- oh, no i'm just blind token term:sym<circumfix> { <circumfix> }
pmichaud github.com/perl6/nqp/blob/master/s...r.nqp#L486
13:41 diakopter joined
timotimo actually i can find a token ident and a token it^Hdentifier in Perl6::Grammar 13:41
Nom- but not in NQP? 13:43
13:44 mavcunha left, frdmn joined
timotimo i'm not actually sure when to go for $something.WHO<foobar> or when to go t^Hfor $module<foobar> 13:45
pmichaud Nom-: NQP's grammar relies on the built-in .ident 13:46
Nom- pmichaud: Thanks, I just found it in Parrot's source as you said that :) 13:47
pmichaud ...Parrot's source?!
No, it's in the Cursor role. 13:48
github.com/perl6/nqp/blob/master/s...r.nqp#L486
Nom- ah, brilliant 13:50
timotimo i wish i didn't have to recompile the setting every time i make a tiny little change to this method >_< 13:51
PerlJam timotimo: monkey patching is your friend 13:52
timotimo PerlJam: this is a method inside Perl6:Grammar :( 13:54
do i even have to look into the $module<EXPORT> to find the module? or is it perhaps in MANDATORY? or something similar?
tadzik bah, some rakudo changes broke Shell::Command 13:55
labster: were you changing IO::Path and friends?
moritz probably changed IO::Path stringification
tadzik yeah
some absolute/relative changes?
moritz yes 13:56
tadzik *sigh* 13:58
13:59 gtodd left, gtodd joined
tadzik ok, it wasn't that bad :) 13:59
gtodd r: say $*EXECUTABLE_NAME
camelia rakudo c66c42: OUTPUT«./nom-inst/bin/perl6␤»
gtodd is there a short version (like $0) for $*EXECUTABLE_NAME 14:00
tadzik I don't think so. Why?
masak decommutes 14:02
14:02 toebu left
tadzik argh. Installing any of panda deps with panda breaks panda 14:03
because of precomp issues
the dep is then newer than panda, so panda breaks
14:04 skids joined
timotimo moriuiaei can't really make heads or tails of this structure with its WHO and not-WHO parts and everything 14:04
tadzik I have no idea what to do about this 14:05
timotimo also, i should really try getting mosh up on this server one day
tadzik aside from forbidding panda from installing those
but one can still do that with ufo
moritz timotimo: usually the entry in a symbol table is a package. And .WHO gives you the symbol table for *that* package
gtodd tadzik: no reason :-) for sure $*EXECUTABLE_NAME is more easily/quickly readable ... $0 still exists but means something else :-) 14:07
tadzik yep :)
we have use English :only; be default ;)
timotimo OK. but during the import of Perl6::Bootstrap, which is the earliest thing i can test them with, i get nqp::existskey is false for "Perl6" as well as "Perl6::Bootstrap" for both $module and $module<EXPORT>.WHO. 14:08
so ... where is it?
PerlJam gtodd: if you don't like typing $*EXECUTABLE_NAME so much, you can always alias it to something shorter
gtodd: in fact, just like Perl 5 has "use English", you could make a "use Gibberish" (or whatever) for Perl 6 to shorten all of the long names :)
moritz timotimo: what kind of object is $module 14:09
arnsholt "use Gibberish" =D 14:10
timotimo whatever nqp::ctxlexpad returns for the object that Perl6::ModuleLoader.load_module returns 14:12
FROGGS from reading the variable names it is some sort on context 14:14
of*
timotimo: can you call .DUMP or .dump on it?
tadzik haha, I segfaulted rakudo :) 14:15
FROGGS bad tadzik!!
moritz no cookie!
timotimo FROGGS: no :( 14:17
FROGGS Method 'DUMP' not found for invocant of class 'CallContext' 14:18
but we know now what it is^^
timotimo well, maybe dump 14:19
FROGGS Method 'dump' not found for invocant of class 'CallContext'
:o(
moritz timotimo: don't invest too much time into debugging stuff with Perl6::Bootstrap; after all that's written in NQP, and might not have the same structure as Perl 6 modules 14:20
14:20 diakopter left
timotimo ^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H:( 14:21
mhm
that means i'll haev like 3 minutes or fo^Hfour of waiting between results :(
PerlJam is nqp master broken or is it just me? I get "Corruption detected (STables data starts before STables table ends)" when compiling src/stage2/gen/NQPP5QRegex.nqp
moritz PerlJam: trying now 14:23
nwc10 PerlJam: I can't build nqp master on the JVM. But I think that that's unrelated
FROGGS PerlJam: I compiled it this morning just fine
PerlJam I just did: git clean -dxf; git pull; perl Configure.pl && make && make test
14:23 bluescreen10 joined
FROGGS I just pulles 14:24
pulled*
moritz PerlJam: I just did a perl Configure.pl --gen-nqp=master in rakudo, and it now compiles rakudo's setting 14:26
so nqp build seems to have worked
tadzik sergot: ping
14:28 gtodd left
timotimo is there a way i can perhaps drop into a repl anywhere in rakudos source? 14:29
tadzik ah, Carp::Always::REPL <3 14:31
FROGGS hmmm, one whishes he had a Core i7 3970x for recompiling rakudo :/ 14:33
but 900 euro is a bit much atm 14:34
tadzik I recently moved from c2d to i5
both laptop-ish
rakudo recompiles now about 3x faster
FROGGS already have a core i5, yeah
tadzik or at least CORE.setting
hah, remember when I was trying to work on ol' prescott during SoC 14:35
it took about 1.5 hours
FROGGS Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
tadzik same here
FROGGS wow
tadzik cpu-high-five!
[Coke] moritz++ #loggerheads
FROGGS o/
*g*
my server at home takes 15minutes
an old P4 or so
TimToady I see that irc.perlgeek.de is starting to show signs of life again 14:36
moritz TimToady: yes, I've inserted the newest DB dump I have available 14:37
timotimo i could try using my desktop at home, but i can only reach it via my irc-server, because it's on v6 only; and that connection is already maddeningly unreliable
moritz I'll soon try to insert the newest data, and leave a large enough gap in the primary key so that I can later fill up the gap, if I ever get my hands on the rest of the dump 14:38
14:39 kbenson joined
TimToady I take it the data isn't actually hooked up to the webserver yet? none of the pages I've looked at have anything on 'em 14:39
(other than the standard boilerplate) 14:40
TimToady apologizes to Camelia for calling her boilerplate... 14:41
14:42 grondilu joined
grondilu Test Summary Report 14:42
-------------------
t/spec/S32-io/IO-Socket-INET.t (Wstat: 0 Tests: 21 Failed: 3) Failed tests: 17-19
This is perl6 version 2013.04-32-gc66c428 built on parrot 5.2.0 revision RELEASE_5_2_0 14:43
14:44 FROGGS left 14:47 gtodd joined 14:54 tgt left
timotimo can't even get the EXPORT sub found if i have no :: in the name :( 14:56
15:00 jaldhar left
kresike bye folks 15:01
15:01 kresike left
[Coke] jnthn: is it still "build rakudo/jvm-support on nqp/rak-jvm-support" ? 15:03
pmurias pmichaud: any of those is ok, #perl6 is ok 15:04
nwc10 [Coke]: IIRC he's afk until tomorrow 15:05
TimToady well, depending on how long his "evening" is
15:05 tgt joined, am0c left
TimToady may have outages again today as the repairfolk attempt yet again to diagnose his intermittent broadband failures 15:07
nwc10 I have inside information that suggests that it will be all evening. 15:08
TimToady at some point it would be more cost effective for them to string fiber the last 100 meters to my house :)
nwc10 I wonder how you get them to think that too. 15:09
my ex empoyer was very happy when something outside (then) our control made RBS Streamline decide that the simplest solution was to offer us stfp transfers
TimToady gee if only we had a big fiber company in town who knew how to do that, oh wait... 15:10
nwc10 (which normally the crafty things charged a lot to set up)
TimToady can see why Google wouldn't hook up Mountain View as their first fiber city, but he sure hopes it isn't the last city they hook up 15:11
15:11 alester joined
[Coke] .tell jnthn I get an error building rakudo/jvm-support on an installed nqp/rak-jvm-support. cannot find symbol public static SixModelObject booleanize(int x) { ... 15:12
yoleaux [Coke]: I'll pass your message to jnthn.
gtodd TimToady: is because they want to hookup a representative sample of "average hardworking Americans" and not the "techno-elite"? 15:13
nwc10 or did they just want to get more air-miles?
gtodd heheh
TimToady dunno, that might explain Austin too 15:14
nwc10 so Hawaii will be soon?
gtodd maybe à la Yahoo they don't want to make it easier for people to work at home ...
TimToady except, if they wanted airmiles, they'd pick Sydney or something
gtodd (unless $independent_contractor)
TimToady sigh, there are multiple terabits of fiber capacity with a block or two of me... 15:15
*within
geekosaur there's also the good old $city blocks it because (they want more bribes | comcast's bribe was bigger | ...)
nwc10 but where's the nearest point you can spice in? 15:16
TimToady I think you're confusing me with someone from Dune
nwc10 oops, naughty fingers
(And I caught one in that line) 15:17
15:27 lizmat joined, kaleem left 15:29 DarthGandalf joined 15:33 Nom- left, Nom- joined
pmurias tadzik: Carp::Always::REPL when can I find that? 15:38
tadzik pmurias: on CPAN
I think
or so I remember
metacpan.org/module/Carp::REPL just Carp::REPL
15:39 crab2313 joined 15:47 thou joined
lizmat it seems that the trick to export enums doesn't quite work 15:50
15:50 FROGGS joined
lizmat enum State is export <PENDING FULFILLED REJECTED>; 15:51
our sub EXPORT (|) { State.enums };
the type exported is (Int), not (State)
which in turn causes the test-suite to bork on: 15:52
Type check failed in assignment to '$!state'; expected 'State' but got 'Int'
in block at src/gen/CORE.setting:770
in method BUILDALL at src/gen/CORE.setting:753
in method bless at src/gen/CORE.setting:743
in method new at src/gen/CORE.setting:728
in method new at src/gen/CORE.setting:726
in method dispatch:<.=> at src/gen/CORE.setting:1057
in block at promise.t:21
gtodd is there a channel or human+bot combination that helps people translate perl5 to perl6 :-) 15:54
pmurias pmichaud: ping? 15:55
gtodd #perl11 ?
PerlJam gtodd: #perl6 will help (probably) 15:56
pmurias gtodd: this channel seems to be the best one for asking perl6 questions
15:57 domidumont left
gtodd well just wondering about ${^MATCH} $& and the like 15:59
PerlJam gtodd: $& -> ~$/ (or $/.Str) 16:01
16:01 adu joined
gtodd or right I forgot about .Str 16:02
16:03 daxim left
PerlJam There's alsos $/.prematch and $/.postmatch for $` and $' 16:04
gtodd wow ... nice error messages ... have these improved ? I try this perl5 in the perl6 REPL 16:05
$todo = "create mass sprawling permaculture food forest"; say $& if $todo =~ /perma\w+/
and it instructed me on how to fix it
lizmat I got this to work: our sub EXPORT (|) { ( map { ( $_ => eval "$_" ) }, State.enums.keys ).hash };
16:06 berekuk left
gtodd \o/ 16:06
gtodd tries it with r:
r: my $todo = "create mass sprawling permaculture food forest"; say $& if $todo =~ /perma\w+/ 16:07
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Unsupported use of $& variable; in Perl 6 please use $/ or $()␤at /tmp/L8EANwUFOt:1␤------> wling permaculture food forest"; say $&⏏ if $todo =~ /perma\w+/␤»
gtodd r: my $todo = "create mass sprawling permaculture food forest"; say $/ if $todo =~ /perma\w+/ 16:08
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~␤at /tmp/Qa66GvXKx3:1␤------> ulture food forest"; say $/ if $todo =~⏏ /perma\w+/␤»
gtodd r: my $todo = "create mass sprawling permaculture food forest"; say $/ if $todo ~~ /perma\w+/
lizmat ~~ ?
camelia rakudo c66c42: OUTPUT«「permaculture」␤␤»
PerlJam gtodd: I find that one of the more interesting bits of Perl 6...that it parses Perl 5 a little bit so that it can tell you when you've used a Perl5ism and the proper Perl6ism to use instead
gtodd rakudo just instructed me on how to use perl6! 16:09
lizmat gtodd: try anything with foo->bar
std: foo->bar
camelia std 316b40b: OUTPUT«===SORRY!===␤Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block at /tmp/ICAjMSc0PH line 1:␤------> foo->⏏bar␤Undeclared routine:␤ 'foo' used at line 1␤Parse fa…
gtodd PerlJam: yes, and it seems to be getting better at it ... is it the introspection ? 16:10
lizmat: nice ...
lizmat experience frozen in grammar
16:11 arlinius left
gtodd wow ... I wonder if a subset of this will be backported to perl5 errm 5.24 :-) 16:11
lizmat backporting Perl 6 features has been tried a few times already 16:12
I think the only one that's mostly without problems in p5 is "say"
all others have serious issues, due to lack of typing in Perl 5 16:13
gtodd so it's easy enough to create a grammar that by observing typical errors we can get a grammatically built in perlcritic perlteacher perl5to6?
lizmat wow, that's asking for a lot 16:14
and there's also the issue of performance
gtodd hah :-)
yeah
lizmat just the other day I got bitten by [email@hidden.address] &foo"
which was parsed by Perl 6 as [email@hidden.address] & foo" 16:15
and therefore not quite did what I wanted it to do
TimToady I'm testing a patch for that 16:16
lizmat cool!
PerlJam TimToady: you went with the balanced spaces idea? 16:17
gtodd I guess if they got too intrusive/featureful then turning on and off wordy error message features would be needed ... plus maybe IKnowRubyTeachMePerl6.pm would be a distraction
TimToady plus a test that the function is defined
lizmat I'm pretty sure that diff will also teach me a lot :-) 16:18
16:18 Vlavv_ joined
dalek d: fa59c1b | larry++ | STD.pm6:
catch use of &foo in infix position after ws
16:19
lizmat golfed the exporting enums issue down to "our sub EXPORT (|) { ( map { ( $_ => eval $_ ) }, State.enums.keys ).hash };"
gtodd just realized the REPL is giving me meaningfully coloured error messages (green to point of error then it turns red) 16:20
TimToady obviously you are not red/green colorblind, or you would comment on the yellow EJECT instead :)
network going down soon, later & 16:21
pmichaud pmurias: gist.github.com/pmichaud/5bd0b87f9f6366c3fd90
pmurias: pong 16:22
[Coke] note that that say in p5 is no longer like the say in p6 - they took it before it changed into something evil. ;)
gtodd :) 16:23
pmichaud or, one could say that p5 and p6 had a common 'say', then p6 infused it with evil. :) 16:24
gtodd did "state" come from perl6?
lizmat yup, afaik
wrt say: does this print "foo" with 1 or with 2 newlines: perl -lE 'say "foo"' 16:25
answer: only 1
gtodd hmm maybe Moose and some other non core modules were inspired by p6 (Moose seems nearly de facto core now) 16:26
grondilu parsing a blosum array: gist.github.com/grondilu/5510686
^ if you have a minute to spare... 16:27
gtodd grondilu: neat problem :-) .... but it's sunny and nice outside 16:29
and it will take me more than a minute
(but it would be fun to learn how to do that)
[Coke] grondilu: ... why are there no bees!
lizmat smells a (potential?) #masakism task
16:30 crab2313 left
lizmat [Coke]: pollution, insecticides, who knows? 16:30
16:30 kivutar left
lizmat no J's, U's or Z's either 16:31
or X's
16:31 crab2313 joined
grondilu there are no amino acid starting with B, J, U etc 16:31
pmichaud I'm afk -- fetching lunch
grondilu wtf, I get a "premature heredoc consumption" with this: gist.github.com/grondilu/5510878 16:38
16:39 am0c joined
gtodd grondilu: maybe my $matrix = "matrix.txt"; my $fh = open $matrix; 16:39
:-)
is there a __DATA__ in perl6?
grondilu gtodd: I think the equivalent of __DATA__ will be when $*POD will be implemented 16:40
[Coke] my @lines = "matrix.txt".IO.lines;
grondilu I don't want to put it in a separate file. I hate separate files :/
gtodd grondilu: ahh good idea since $*POD is not a separate problem 16:41
grondilu but I thought heredocs worked fine in rakudo?!
are they broken or am I missing something? 16:42
moritz there's a problem with removing whitespace when interpolating multi-line strings 16:44
[Coke] grondilu: your example is ambiguous 16:45
(or is just symetrical?)
kbenson Does anyone have a fork of NQP that has fixes so it will build for Java again (worked about the 64k of code problem)? 16:46
pmichaud maybe we should revert the commit that caused it to start breaking.
or you could just go back to the version that is broken.
*isn't
grondilu [Coke]: not sure what you mean, but it is symetrical indeed 16:47
[Coke] grondilu: I mean I can't tell if A is the row or the column.
grondilu: gist.github.com/anonymous/5511062 16:48
which is already not what you wanted. :)
if I change it to \M instead of %M, I get: Method 'ast' not found for invocant of class 'NQPMu'
grondilu first things first: can someone confirm that heredocs are broken? 16:49
16:49 dmol left
grondilu or is it me that have totally forgotten the syntax? 16:50
kbenson pmichaud: That's an entirely sensible suggestion.
timotimo moritz: github.com/timo/rakudo/commit/7aba...355cf16676 - this is my WIP, and here's the files i tested it with: gist.github.com/timo/cf455486e89695c050ad
please advise. it reports 1 for the line say( nqp::existskey($module, "foobar") ); but won't find the &EXPORT sub in there 16:51
grondilu [Coke]: yeah I was about to wrote something like this
s/wrote/write/
(but it's very ugly) 16:52
[Coke] grondilu: t/spec/S02-literals/quoting.t
(that has some heredoc examples) 16:53
grondilu I see
I had to put the semi-colon *after* the marker. I tought I could put it before. 16:54
has this rule changed recently or something?
or am I just hallucinating?
16:55 mavcunha joined
[Coke] I think the latter. 16:56
grondilu pfff and even in t/spec/S02-literals/quoting.t, there are at least two examples which differ to this regard. This is confusing.
[Coke] grondilu: which line numbers are you referring to? 16:57
16:57 berekuk joined
grondilu 316 and 326 16:57
16:57 mavcunha left
grondilu see? 16:58
grondilu notice than one is :to and the other is :heredoc 16:59
grondilu thought these were the same, but he might be wrong
timotimo interesting. i did not know you could put the semicolon at the very end 17:00
grondilu timotimo: I didn't know either. Actually I can't put them anywhere else right now.
if I do I get a "premature heredoc consumption" 17:02
gtodd [Coke]: "comb" is neat 17:03
gtodd wants to read about comb by doing " p6doc comb " instead of "p6doc Str.comb " 17:06
but still :)
17:13 ilbot_bck left
masak reduced the chunking bug to this: 17:18
my Mu $pio := nqp::open(nqp::unbox_s(q[perl -e "print(chr(32) x 2047, q|—|)"]), "rp"); $pio.encoding("utf8"); $pio.readall(); say "alive"
r: my Mu $pio := nqp::open(nqp::unbox_s(q[perl -e "print(chr(32) x 2047, q|—|)"]), "rp"); $pio.encoding("utf8"); $pio.readall(); say "alive"
camelia rakudo c66c42: OUTPUT«Unaligned end in UTF-8 string␤␤ in block at /tmp/yzWtLsHj_t:1␤␤»
17:18 bluescreen100 joined
masak error happens in .readall(), so that's what I'm going to investigate next. 17:18
17:19 bluescreen10 left
arnsholt masak: That's one Unicode character after a bunch of spaces, right? 17:20
.u —
yoleaux U+2014 EM DASH [Pd] (—)
[Coke] masak: is the pipe required? 17:21
lizmat fwiw, I think it was essential for the bug to appear
suffering from buffering? 17:22
arnsholt If both adding and removing a single space fixes the problem, I'd say it's most likely a Parrot bug where it reads 2048 bytes at a time and validates them for wellformed UTF-8 independently
lizmat: Yeah, that's what I'm thinking
17:22 _ilbot joined
arnsholt If a UTF-8 multi-byte sequence gets split in two by the chunk size, it explodes 17:22
lizmat wonders how Perl 5 IO layers handle this 17:23
wouldn't be surprised if there was no validation at that level
moritz irclog.perlgeek.de/perl6/today # back to your regularly scheduled IRC logs, updated in real time
lizmat: I'm pretty sure it handles such edge cases with care 17:24
arnsholt If the read syscall returns as many bytes as the max size I think you need to check and make sure there's not more data pending
moritz (it = perl 5)
17:24 ChanServ sets mode: +o moritz
moritz »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! 17:25
masak arnsholt, lizmat: yes. suffering from buffering. 17:25
moritz irclog.perlgeek.de/masakism/2013-05-01 also has the interesting parts
masak more exactly, my blog software brought out this failure into the daylight. I'm currently investigating.
moritz++
arnsholt masak: Running the snippet in gdb with an appropriate breakpoint should point you to the offending location in Parrot I think 17:26
(The error is thrown from parrot/src/string/encoding/utf8.c)
17:29 shinobicl joined 17:30 tgt left
masak yes, I just found that location. 17:31
I've also found the routines that are called from .readall -- trying currently to connect the dots.
17:35 domidumont joined 17:39 kaleem joined
pmurias pmichaud: thanks for feedback 17:39
17:41 kaleem left 17:42 Chillance joined
grondilu rn: constant %h = <foo bar> Z=> 42, 13; say %h.WHAT 17:45
camelia niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
..rakudo c66c42: OUTPUT«(List)␤»
grondilu rn: my %h = <foo bar> Z=> 42, 13; say %h.WHAT
camelia rakudo c66c42, niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤» 17:46
grondilu 'constant' prevents rakudo from identifying a hash assignment.
rn: constant %h = foo => "bar"; say %h.WHAT 17:48
camelia rakudo c66c42: OUTPUT«(Pair)␤»
..niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
grondilu rn: my %h = foo => "bar"; say %h.WHAT
camelia rakudo c66c42, niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
grondilu rn: constant %h = Hash.new; say %h.WHAT 17:49
camelia rakudo c66c42, niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
grondilu rn: constant %h = Hash.new( foo => "bar" ); say %h.WHAT 17:50
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Excess arguments to Hash.new, unused named foo␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/TmHCanjHXM line 1 (%h init @ 2) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/src/NieczaBackendDotnet.pm6 line 75 (d…
..rakudo c66c42: OUTPUT«(Hash)␤»
colomon rn: constant %h = Hash.new( foo => "bar" ); say %h.perl 17:51
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Excess arguments to Hash.new, unused named foo␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/fVjLk0R3tg line 1 (%h init @ 2) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/src/NieczaBackendDotnet.pm6 line 75 (d…
..rakudo c66c42: OUTPUT«().hash␤»
colomon rn: constant %h = foo => "bar"; say %h.perl 17:52
camelia niecza v24-37-gf9c8fc2: OUTPUT«{"foo" => "bar"}.hash␤»
..rakudo c66c42: OUTPUT«"foo" => "bar"␤»
[Coke] r: $$+var;
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/dLiA59nLnc:1␤------> $$⏏+var;␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤»
masak I suspect this line ultimately calls utf8_scan: github.com/parrot/parrot/blob/mast...ies.c#L389 17:53
I don't see STRING_scan defined anywhere, so I don't know how that works exactly. 17:54
but if I'm right, that line triggers the error.
17:54 crab2313 left
masak will try to rebuild Parrot with the line commented out to affirm this. 17:54
[Coke] the STRING calls I think, are macros that call the proper encoding's version.
masak yeah, suspected so. 17:55
didn't find the macros, though.
help appreciated.
dalek rl6-roast-data: 17357f9 | coke++ | / (3 files):
today (automated commit)
arnsholt masak: The macros are defined in the header files, which live in parrot/include 17:57
masak ah.
arnsholt If you grep in parrot/src you won't find them
masak found it.
arnsholt++
arnsholt I've spent some time grepping around in Parrot =) 17:58
masak #define STRING_scan(i, src) ((src)->encoding)->scan((i), (src))
so I think I can assume that it's that line that calls utf8_scan.
...and that feels to me to be a fundamentally flawed thing to do, in a not-yet fully built string.
more to the point, if Parrot_io_buffer_read_b reads N bytes, it shouldn't be trying to assert stuff about unaligned ends in UTF-8 strings. 17:59
masak tries to check out a standalone parrot, remove that line, and see what tests fail 18:00
what's the way to run tests in Parrot? 'make test'? 18:02
moritz yes
18:02 moritz sets mode: -o moritz
arnsholt masak, moritz: Maybe we should continue this discussion in #parrot? 18:03
masak read '@moritz' as 'o moritz' :)
arnsholt I suspect they might have useful things to say as well
colomon o moritz, our moritz ... 18:04
masak arnsholt: nah, I'm done for now.
arnsholt 'k
timotimo if @foo[] makes a copy of a list, how do i create a copy of a hash? will .hash do?
moritz
.oO( o tempora, or moritz )
18:05
arnsholt moritz++ # Cicero reference
masak moritz: :D 18:06
PerlJam timotimo: I don't understand. my %hash = %other_hash; # make a copy of a hash.
timotimo oh? neat. 18:07
PerlJam timotimo: also, my @array = @other_array; # make a copy of an array. 18:08
timotimo: Was there some context I'm missing?
colomon rn: my @a = 1..10; my @b = @a; @b.push(20..21); say @a.perl 18:09
camelia niecza v24-37-gf9c8fc2: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].list␤»
..rakudo c66c42: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤»
colomon copy, yup!
rn: my @a = 1..10; my @b := @a; @b.push(20..21); say @a.perl
camelia niecza v24-37-gf9c8fc2: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 21].list␤»
..rakudo c66c42: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 21)␤»
timotimo PerlJam: i want to return @!foo, and make it impossible for the outside code to change @!foo 18:11
PerlJam that just makes me more confused :)
timotimo: do you have an example where this happens? 18:12
timotimo no, i was just worried it could happen if i'm not careful
especially if the outside code does my @a := foo.get-private-thing as colomon showed above 18:13
18:16 tgt joined
gtodd grondilu: did you solve your matrix problem your way or did you copy [Coke] ? :-) 18:19
18:20 eternaleye left
grondilu gtodd: no, I did not solve it. Got distracted. 18:22
PerlJam timotimo: you can always return [ @array ]; or return { %hash }; to force a copy of the array or hash.
18:22 eternaleye joined
timotimo i've gone with .copy now 18:22
r: say [1, 2, 3, 4].copy
camelia rakudo c66c42: OUTPUT«No such method 'copy' for invocant of type 'Array'␤ in block at /tmp/2N_I6uNmS1:1␤␤»
timotimo er ...
r: say (1, 2, 3, 4).copy
PerlJam clone?
camelia rakudo c66c42: OUTPUT«No such method 'copy' for invocant of type 'Parcel'␤ in block at /tmp/Xm9Rgivwgc:1␤␤»
timotimo oh, clone
yes, indeed
18:23 dmol joined
timotimo why didn't it suggest that to me? :D 18:23
r: say "foo" < "bar"; say "bar" < "foo";
camelia rakudo c66c42: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in method Real at src/gen/CORE.setting:870␤ in method Real at src/gen/CORE.setting:2512␤ in method Real at src/gen/CORE.setting:870␤ in sub infix:<<> at src/gen/CORE.setting:3016␤ in sub i…
timotimo r: say "foo" lt "bar"; say "bar" lt "foo";
camelia rakudo c66c42: OUTPUT«False␤True␤»
timotimo nice.
FROGGS moritz++ # logs 18:27
gtodd grondilu: well your question got me to try p6 heredocs which are a bit different
grondilu gtodd: you mean you had never tried them before? 18:28
PerlJam grondilu: is your matrix row-major or column-major order?
grondilu PerlJam: it's symetric, so it does not matter (unless I don't understand your question) 18:29
PerlJam oh, I didn't even notice. 18:30
gtodd grondilu: constant MATRIX = q:heredoc/EOT/ ....
looks different than perl5 :) 18:31
grondilu: that's all
18:32 tgt left
gtodd grondilu: but then Coke demonstrated comb .... 18:32
18:32 tgt joined
PerlJam I would have probably done it similar to Coke, but used split instead :) 18:33
(that might just be some p5-think though)
timotimo my %repr = <A B B C C D>; say ("A", %repr{*} ... Nil).list
r: my %repr = <A B B C C D>; say ("A", %repr{*} ... Nil).list 18:34
camelia rakudo c66c42: OUTPUT«(timeout)»
timotimo r: my %repr = <A B B C C D>; say ("A", %repr{*} ... * !~~ %repr).list
camelia rakudo c66c42: OUTPUT«A␤»
timotimo huh.
shouldn't that at least give me B and C? 18:35
grondilu you guys know about the "words" method, right? 18:36
r: say "foo bar jeez".words
camelia rakudo c66c42: OUTPUT«foo bar jeez␤»
grondilu r: say "foo bar jeez".words.join: ","
camelia rakudo c66c42: OUTPUT«foo,bar,jeez␤»
timotimo r: my %repr = <A B B C C D>; say ("A", %repr{*} ... { not %repr{$_} :exists }).list
camelia rakudo c66c42: OUTPUT«A B C D␤»
timotimo ah, that's it! :)
18:38 cognominal left, cognominal joined
gtodd grondilu: I sort of combined your approach and Coke's but couldn't figure out how to get stuff out of the MATRIX once it seemed to be in there 18:39
grondilu: since sometimes I like everything (i.e. data and script) in one file 18:40
[Coke] "if you grep in parrot/src you won't find them" "found it." :)
masak heh. 18:41
but I found it where arnsholt++ said.
timotimo union find in perl6 with the ... operator: my %repr; sub union($a, $b) { %repr[$a] = %repr[$b] // $b; } sub find($a) { return ($a, %repr{*} ... { not %repr{$_} :exists })[*-1] } 18:43
[Coke] I am not particularly happy with my grondilu gist, btw, I do think the loop could be simplified a bit... .and I would use .words instead, aye. 18:44
[Coke] wonders how to do car/cdr in perl6. ;) 18:47
[Coke] could do it in a function call, but what about a pointy sub? 18:48
colomon r: sub car([$first, @rest]) { $first; }; my @a = 4, 1...10; say car(@a);
[Coke] r: my @a = <a b c d>; for @a -> $left, *@rest { say $left };
camelia rakudo c66c42: OUTPUT«(timeout)» 18:49
rakudo c66c42: OUTPUT«a␤b␤c␤d␤»
colomon r: sub car([$first, @rest]) { $first; }; my @a = 1...10; say car(@a);
camelia rakudo c66c42: OUTPUT«Nominal type check failed for parameter '@rest'; expected Positional but got Int instead in sub-signature␤ in sub car at /tmp/rkPHcu7SSK:1␤ in block at /tmp/rkPHcu7SSK:1␤␤»
masak r: my %repr = <A B B C C D>; say ("A", %repr{*} ... * !~~ any(%repr.keys)).list
camelia rakudo c66c42: OUTPUT«A␤»
colomon r: sub car([$first, @*rest]) { $first; }; my @a = 1...10; say car(@a);
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/La_oFRIfAu:1␤------> t]) { $first; }; my @a = 1...10; say car⏏(@a);␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ s…
colomon r: sub car([$first, *@rest]) { $first; }; my @a = 1...10; say car(@a);
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/Bb7JEbnosp:1␤------> t]) { $first; }; my @a = 1...10; say car⏏(@a);␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ s…
masak colomon: control character.
colomon dammit
masak janet
[Coke] I LOVE YOU 18:50
masak :P
colomon r: sub car([$first, *@rest]) { $first; }; my @a = 1...10; say car(@a)
camelia rakudo c66c42: OUTPUT«1␤»
colomon :p
PerlJam Isn't it the wrong time of year for hat?
[Coke] Thanks for getting THAT stuck in my head.
PerlJam s/hat/that/
colomon there's a wrong time of year for that?
masak surely not.
colomon anyway, [Coke], there's a working car
[Coke] ~/ here's the ring, to prove that I'm no joooooooker /~
colomon I leave cdr as an exercise. ;)
[Coke] colomon: aye - any ideas on how to make my version work? 18:51
18:51 am0c left
[Coke] r: my @a = <a b c d>; for @a -> $left, **@rest { say $left }; 18:51
camelia rakudo c66c42: OUTPUT«a␤b␤c␤d␤»
[Coke] r: my @a = <a b c d>; for @a -> $left, ********@rest { say $left };
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Malformed parameter␤at /tmp/ujz0zGLjKu:1␤------> my @a = <a b c d>; for @a -> $left, ⏏********@rest { say $left };␤ expecting any of:␤ postfix␤ infix stopper␤ parameterized block␤ form…
[Coke] . o O (wondering how many I could slap on there... ;) 18:52
TimToady r: my %repr = <A B B C C D>; say %repr{*}
camelia rakudo c66c42: OUTPUT«B C D␤»
masak two.
timotimo that works? neat!
masak TimToady: nice! very S09.
r: my %repr = <A B B C C D>; say %repr{}
camelia rakudo c66c42: OUTPUT«("A" => "B", "B" => "C", "C" => "D").hash␤»
colomon [Coke]: your example seems confused
masak r: my %repr = <A B B C C D>; say %repr<A B B A> 18:53
camelia rakudo c66c42: OUTPUT«B C C B␤»
masak moritz: I can't seem to connect to irclog.perlgeek.de/
[Coke] r: my @a = <a b c d>; for @a -> [$left, *@rest] { say $left };
camelia rakudo c66c42: OUTPUT«Nominal type check failed for parameter ''; expected Positional but got Str instead␤ in block at /tmp/IpsjfKscrR:1␤␤»
PerlJam r: my @a = <a b c d>; for [@a] -> ($left, *@rest) { say $left; } 18:54
camelia rakudo c66c42: OUTPUT«a␤»
[Coke] O_o
TimToady I'm not sure that %repr{*} is doing what you think in %repr{*} ... 18:55
lizmat masak: works here
[Coke] r: my @a = <a b c d>; [@a] -> ($left, *@rest) { $left; }
camelia rakudo c66c42: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/kHJ41TohgX:1␤------> my @a = <a b c d>; [@a] ⏏-> ($left, *@rest) { $left; }␤ expecting any of:␤ pos…
TimToady it's not a closure
so you're saying <A B C D> ... mumble 18:56
timotimo oh?
whoopsie.
masak lizmat: I'm sorry -- what works there?
lizmat [20:53:54] <masak> moritz: I can't seem to connect to irclog.perlgeek.de/ 18:57
[Coke] grondilu, PerlJam: gist.github.com/coke/5512802
timotimo TimToady: how do i write it shorter than { %repr{$_} }?
[Coke] I see those nested for ->'s, and it seems like there's a better way to write that with pipelines maybe. 18:58
masak lizmat: oh, good. then it's just this train wifi.
timotimo nested fors would work with the X operator, methinks
FROGGS masak: or dns resolving issue
lizmat or the mobile provider's DNS not having caught up yet
pmichaud or a cached dns entry 18:59
PerlJam [Coke]: gist.github.com/perlpilot/5512836
[Coke] nice. 19:00
PerlJam [Coke]: I get the feeling yours is missing an opportunity to use recursion :)
FROGGS r: our @a = qw[a b c]; 19:01
camelia rakudo c66c42: OUTPUT«No such method 'STORE' for invocant of type 'Any'␤ in block at /tmp/qYj91T11vg:1␤␤»
FROGGS I guess I do that next
colomon instead of for [$line.words] -> ($header, *@cells)
wouldn't my ($header, @cells) = $line.words work just as well?
PerlJam yes, but it wouldn't play with signature unpacking :)
[Coke] ;) 19:02
FROGGS r: say AST.new( :op('if') ) # is that the same as QAST? 19:04
camelia rakudo c66c42: OUTPUT«AST.new()␤»
19:08 cognominal left, cognominal joined
masak FROGGS: AST objects wrap QAST objects, but "you're not supposed to know that". :) 19:09
timotimo r: my %repr = <C D B C A B>; my $a = "A"; say ($a, { %repr{$_} } ... { not %repr{$_} :exists })
camelia rakudo c66c42: OUTPUT«A B C D␤»
masak FROGGS: at the current level of spec/implementation, AST objects are opaque and indivisible. 19:10
timotimo r: my %repr = <C D B C A B>; my $a = "A"; say ($a, { %repr{$_} } ... { not %repr{$_} })
camelia rakudo c66c42: OUTPUT«A B C D␤»
timotimo r: my %repr = <C D B C A B>; my $a = "A"; say ($a, { %repr{$_} } ... { $_ !~~ %repr })
camelia rakudo c66c42: OUTPUT«A B C D␤»
FROGGS masak: so I could write a slang in perl6 instead of nqp, and use AST instead of QAST
timotimo objections?
masak FROGGS: I... I don't think so. 19:11
FROGGS :/
masak FROGGS: at least, that's not at all what I said.
FROGGS: for now, think of AST objects as something that serves macros only.
FROGGS: whatever it is you want to do with slangs, they are not for that.
timotimo can i return custom AST objects from a macro?
masak at least not yet.
timotimo: yes, that's the goal.
FROGGS hmmm
timotimo the goal ... or already implemented? :D 19:12
FROGGS okay
masak timotimo: already implemented, to the extent that you can express what you want to do using quasi blocks.
timotimo: but not everything can/should be expressed that way, of course.
timotimo right. repetitions inside ASTs for instance is something i've recently missed 19:13
FROGGS like feelings?
pmurias how many proposals were submitted to the Parrot foundation for GSoC?
masak FROGGS: feelings are currently outside of the scope of quasi blocks, yes. 19:15
FROGGS: they don't compose well with lexical binding.
FROGGS *nod*
19:17 spider-mario joined
masak I read a paper once where someone had managed to implement delimited feelings in a dialect of Scheme. 19:19
FROGGS hehe 19:20
masak but full feelings is problematic from a GC perspective, since they essentially capture parts of the call stack. 19:21
and close over them.
FROGGS .oO( a crappy implemented GC caled alcohol ) 19:22
called*
my L doesnt work well 19:23
aaahh, a hair of a cat 19:24
masak people, we're losing FROGGS. :) 19:25
PerlJam [Coke]: Here's a crazy one based on yours: gist.github.com/perlpilot/5513104
FROGGS llLL, ahh, better :o) 19:27
TimToady sub car { .key }; sub cdr { .value }; my $list = 1 => 2 => 3 => 4; say car($list).perl; say cdr($list).perl
19:27 preflex joined
TimToady r: sub car { .key }; sub cdr { .value }; my $list = 1 => 2 => 3 => 4; say car($list).perl; say cdr($list).perl 19:27
camelia rakudo c66c42: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'car' will never work with argument types (Mu) (lines 1, 1)␤ Expected: :()␤Calling 'cdr' will never work with argument types (Mu) (lines 1, 1)␤ Expected: :()␤» 19:28
PerlJam your car will never work!
TimToady r: sub car($_) { .key }; sub cdr($_) { .value }; my $list = 1 => 2 => 3 => 4; say car($list).perl; say cdr($list).perl
PerlJam :)
camelia rakudo c66c42: OUTPUT«1␤2 => 3 => 4␤»
TimToady those are real Lisp lists
we just don't have a way to make them look like Perl lists yet 19:29
FROGGS .oO( try to say that fast trice )
TimToady though it's easy enough to turn a p-list into an l-list with [=>] 1,2,3,4 19:30
19:30 domidumont left
masak r: say [=>] 1, 2, 3, 4 19:32
camelia rakudo c66c42: OUTPUT«1 => 2 => 3 => 4␤»
PerlJam TimToady: now all you have to do is auto generate caar, cadr, cdar, cddr, caaar, caad, cadar, etc. :)
spider-mario r: my @hashes = {a => 5}, {a => 7}; @hashes»<a>».say;
camelia rakudo c66c42: OUTPUT«postcircumfix:<{ }> not defined for type Int␤ in method sink at src/gen/CORE.setting:10840␤ in method STORE at src/gen/CORE.setting:6889␤ in sub hash at src/gen/CORE.setting:7042␤ in sub hyper at src/gen/CORE.setting:13480␤ in sub hyper at src/gen/CORE.setting…
spider-mario would that not be supposed to work?
is it a rakudobug?
oh, perl6 segfaults on my machine when I exit after entering that line 19:33
it’s not the latest revision, though
(perl6 as in “the executable named `perl6`”) 19:34
colomon r: sub car($_) { .key }; sub cdr($_) { .value }; my $list = [=>] 1,2,3,4; say car($list).perl; say cdr($list).perl 19:36
camelia rakudo c66c42: OUTPUT«1␤2 => 3 => 4␤»
TimToady if we did the => pair binding like we said, we'd be able to do head/tail of such lists with a sig match 19:37
19:38 cognominal left
TimToady btw, on RC we've passed Go :) 19:38
19:39 cognominal joined
PerlJam Did we collect $200? 19:39
TimToady alas no
we're now tied with Ruby
masak at least we didn't go to jail.
r: say (((1 => 2) => 3) => 4) 19:40
camelia rakudo c66c42: OUTPUT«((1 => 2) => 3) => 4␤»
masak \o/
timotimo i remember making that output properly \o/ 19:43
TimToady n: say (((1 => 2) => 3) => 4) 19:44
camelia niecza v24-37-gf9c8fc2: OUTPUT«1 => 2 => 3 => 4␤»
TimToady p: say (((1 => 2) => 3) => 4) 19:45
camelia pugs: OUTPUT«1 2 3 4␤»
adu r: sub stringifyLinked($_) { if $_.isa(Pair) { return ~$_.key ~ ',' ~ stringifyLinked($_.value) } else { return ~$_ } }; say stringifyLinked(1 => 2 => ()) 19:48
yoleaux 06:58Z <FROGGS> adu: I might can tell you about how to switch to a different slang...
camelia rakudo c66c42: OUTPUT«1,2,␤»
adu FROGGS: really? 19:50
TimToady see also rosettacode.org/wiki/Singly-linked_...sal#Perl_6 19:51
timotimo my kruskal implementation doesn't seem to create a spanning tree :|
now is the time to already have written lots of tests. 19:52
19:53 tgt left
labster good morning, #perl6 19:53
.tell tadzik yes, I'm changing IO::Path stringification, but it hasn't caused any test failures for Shell::Command
yoleaux labster: I'll pass your message to tadzik.
FROGGS adu: sure 19:54
adu: first you have to know that you can only write slang as an nqp module atm 19:55
adu: github.com/rakudo-p5/v5/ is a working example
though a bit huge
morning labster 19:56
labster \o FROGGS
FROGGS adu: the (my) idea is that you make a module that sets %LANG<MySlang> := MySlang::Grammer, %LANG<MySlang-actions> := MySlang::Actions, then set $*MAIN := 'MySlang' 19:58
adu: after that the grammar will switch to the statementlist of your MySlang grammar
adu: I am working on a sample slang module too, but I guess that wont be finished within a week 20:00
tadzik labster: well, I fixed S::C today 20:06
yoleaux 19:53Z <labster> tadzik: yes, I'm changing IO::Path stringification, but it hasn't caused any test failures for Shell::Command
20:07 adu left
spider-mario r: my @hashes = {a => 5}, {a => 7}; @hashes.map(*<a>)».say; 20:24
r: my @hashes = {a => 5}, {a => 7}; @hashes».<a>».say;
camelia rakudo c66c42: OUTPUT«7␤5␤» 20:25
rakudo c66c42: OUTPUT«postcircumfix:<{ }> not defined for type Int␤ in method sink at src/gen/CORE.setting:10840␤ in method STORE at src/gen/CORE.setting:6889␤ in sub hash at src/gen/CORE.setting:7042␤ in sub hyper at src/gen/CORE.setting:13480␤ in sub hyper at src/gen/CORE.setting…
spider-mario it does look like a bug to me
n: my @hashes = {a => 5}, {a => 7}; @hashes».<a>».say;
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Cannot use hash access on an object of type Int␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 352 (Any.at_key @ 9) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/X8OSPdb_hQ line 0 (ANON @ …
spider-mario oh.
TimToady note that hypers are still not working according to spec; they're not supposed to descend into subhashes or subarrays any more 20:35
so for now .map is the workaround 20:36
masak real 64m24.082s 20:38
that's the time it takes for psyde, my blogging platform, to generate all my blog post these days.
it used to take about a tenth of that time. 20:39
timotimo does it regenerate all blog posts each time?
masak no, not in general.
lizmat that's not the issue
timotimo wow, 10x as much? that's harsh
masak yes.
I'm curious what change caused that.
timotimo have you looked at --profile yet?
pmichaud masak: the size of the input has remained fairly constant? 20:40
masak pmichaud: fairly, yes. only a few more blog posts in the past months. definitely not 10x as many.
pmichaud well, it could be O(n**2), depending on cross linking.
(don't know much about psyde's architecture, thus the questions :) 20:41
masak sure, sure.
pmichaud would psyde still work with older versions of rakudo?
masak yes, with perhaps minor modifications.
pmichaud e.g., 2013.01 or a late 2012.xx version?
masak oh, sure.
it was written in 2010.
pmichaud might be worth bisecting
masak I will attempt a bisect in the weekend.
Sunday, to be exact.
pmichaud a profile could be helpful also :) 20:42
masak I'll remember that.
just ooc, when did *Rakudo* switch beyond the Parrot IO refactor?
pmichaud checking. Parrot IO refactor was 2012.08, iirc. 20:43
masak ok.
grondilu r: sub Lisp(@l) { @l>1 ?? ( @l.shift, Lisp(@l) ) !! @l }; say Lisp([^10]).perl
camelia rakudo c66c42: OUTPUT«(0, (1, (2, (3, (4, (5, (6, (7, (8, Array.new(9))))))))))␤»
grondilu ^ that's how I'd do it.
pmichaud I/O refactor was 2012-09, the 4.8.0 release. 20:44
checking Rakudo history.
rakudo 2012.09 used Parrot 4.8.0 20:46
20:46 arlinius joined
masak yeah, looks like. 20:46
didn't we downgrade or something for a while, though?
Back PARROT_REVISION down to 4.4.0, bump VERSION to 2012.09.1 20:47
that's the Fri Sep 28 commit to tools/build/PARROT_REVISION in the nqp repo.
and the next one, in November, bumps up to 4.10.0 20:48
pmichaud yeah, my quick archive doesn't have those versions in it. I'm adding them now.
but yes, we bumped down for a bit, iirc
anyway, we stayed at 4.10.0 for several months 20:49
masak but that's post-IO-refactor already.
pmichaud correct.
masak ok, good. then I know about how far to bisect. 20:50
masak detrains
pmichaud just checks the github repos directly. 20:51
2012.09.1 was Parrot 4.4.0
2012.10 was Parrot 4.4.0 20:52
2012.11.1 was Parrot 4.10.0
so 2012.10 is the latest Rakudo version that is pre IO-branch merge
20:57 rindolf joined 20:59 sqirrel left 21:00 sahadev joined 21:01 pmurias left
jnthn Good evening, #perl6 21:04
yoleaux 15:12Z <[Coke]> jnthn: I get an error building rakudo/jvm-support on an installed nqp/rak-jvm-support. cannot find symbol public static SixModelObject booleanize(int x) { ...
FROGGS o/ jnthn 21:05
lizmat o/ jnthn!
jnthn [Coke]: May need a re-configure, or may be that I missed a dependency... 21:07
21:07 census joined
pmichaud anyone else experiencing delays in RT tickets showing up in email? 21:09
FROGGS yes 21:10
pmichaud: I get them days to late
pmichaud for example, lizmat++ posted RT #117829 on May 1, but it didn't show up in my inbox until a few minutes ago. 21:11
lizmat is checking her email
jnthn pmichaud: I often get them at a delay. 21:12
lizmat Received: from x17.develooper.com (HELO x17.develooper.com) (207.171.7.217) by mx1.dijkmat.nl (qpsmtpd/0.84) with ESMTP; Thu, 02 May 2013 00:22:40 +0200
Received: by x17.develooper.com (Postfix, from userid 405) id 0B8CE35BBD; Wed, 1 May 2013 14:59:03 -0700 (PDT)
pmichaud Received: from x6.develooper.com (x6.develooper.com [207.171.7.86]) by maroon.pobox.com (Postfix) with ESMTP id E285AC83988 for [email@hidden.address] Fri, 3 May 2013 02:27:09 -0400 (EDT) 21:13
lizmat so I got it within ~ 5 minutes or so
*25
pmichaud it didn't hit pobox until about 12 hours ago 21:14
lizmat: you may have received it sooner, since you were the person posting the bug report. 21:15
i.e., you get a reply directly from RT; the rest of us get it through the perl6-compiler list.
yes, because I have... 21:16
Received: (qmail 16632 invoked from network); 1 May 2013 21:59:10 -0000
Delivered-To: [email@hidden.address]
and then in the same message
Received: from lists-nntp.develooper.com (localhost.localdomain [127.0.0.1]) by x6.develooper.com (Postfix) with SMTP id 0428517AEE for [email@hidden.address] Thu, 2 May 2013 23:26:42 -0700 (PDT)
Received: (qmail 14062 invoked by uid 514); 3 May 2013 06:26:08 -0000
so it looks like it spent a day or so in the perl6-compiler queue. :-/
FROGGS ya, I see the same headers 21:17
lizmat ack, me too: Received: from x6.develooper.com (HELO x6.develooper.com) (207.171.7.86) by mx1.dijkmat.nl (qpsmtpd/0.84) with ESMTP; Fri, 03 May 2013 08:27:28 +0200
FROGGS after that delay it just took a minute to hit my mailbox 21:18
Received: (qmail 28751 invoked from network); 3 May 2013 08:27:11 +0200
dalek p: e3b8ef2 | pmichaud++ | / (2 files):
P6Regex: Make sure that <alpha> + % <sep> properly captures
21:19
jnthn ooh, pmichaud++ 21:20
That one has been around for a while.
FROGGS cool
pmichaud RT 117821 was just reported.
FROGGS pmichaud++
pmichaud is there another one?
timotimo oh, it will give a list of <sep>?
jnthn pmichaud: I know I've run into it somewhere in Rakudo's grammar before.
pmichaud: I *think* there was an RT too 21:21
pmichaud yes, it now gives a list of <sep>
jnthn The RT queue is too big for me to keep in my head :)
timotimo so if the sep differ between instances, you'll get every one of them. cool!
pmichaud I'm still in favor of moving to GitHub issues (but masak++ continues to hold the veto vote)
21:21 rindolf left
pmichaud I find github's issue interface a lot easier to work with, for some reason. 21:22
timotimo it integrates nicely with pull requests, i find.
pmichaud well, it's also easier to tag.
timotimo maybe it's harder to get the data out of there?
pmichaud and the tags make more sense. I'm not a fan of "rejected"
"closed" is much friendlier. 21:23
anyway -- yes, the RT queue is on the big side. Coke++ keeps doing his bit to keep it down, though. 21:24
21:24 dmol left, sahadev left
FROGGS timotimo: well, there are interfaces, and I've seen a script once to move rt tickets to gh issues and it was pretty short 21:25
... and clean
lizmat wrt to 117829: perhaps this should at least be activated during tests? 21:26
so that "new" complaints about excess named parameters? 21:27
21:27 census left
lizmat n: class Foo { has $.bar }; my Foo $a .= new( bar => 1, baz => 2 ) 21:28
camelia niecza v24-37-gf9c8fc2: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/bY2D_twm2f line 1:␤------> class Foo { has $.bar }; my Foo ⏏$a .= new( bar => 1, baz => 2 )␤␤»
lizmat n: class Foo { has $.bar }; my Foo $a .= new( bar => 1, baz => 2 ); $a
camelia niecza v24-37-gf9c8fc2: ( no output )
lizmat hmmm.. I seem to recall Niecza complaining about excess named parameters
rn: say :foo
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Excess arguments to gistcat, unused named foo␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (gistcat @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1366 (say @ 7) ␤ at /tmp/luJiMs62qw line 1 (mainline @ 3) ␤ at /home/p6eval/…
..rakudo c66c42: OUTPUT«␤»
jnthn #117829 should probably not be an RT ticket, because it's not a Rakudo bug, as far as I know. 21:29
lizmat I guess not always
pmichaud yeah, it's a specbug.
well, not even a specbug.
rakudo is performing as specced.
jnthn It's not automatically a bug. It's a request to reconsider an aspect of the design.
pmichaud right.
lizmat indeed
jnthn Anyway, part of keeping RT to a sane size is not having such things in it.
lizmat so where would this live then?
pmichaud github.com/perl6/specs/issues 21:30
jnthn (We used to have some [spec] tickets there, but they got moved to GitHub issues in the spec repo)
21:30 skids left, tgt joined
pmichaud I'm looking at the Mu.new and Mu.BUILD code to see how hard it would be to manage. 21:30
lizmat (then by all means close it in RT, I'll create in issue in spec) 21:31
an
jnthn pmichaud: Trouble is knowing when to complain. 21:32
pmichaud I would think it'd have to be at the end of BUILDALL
if anything in %attrinit didn't get used, then complain about it.
(I agree it's potentially a lot of checking and overhead) 21:33
jnthn Yeah :(
lizmat indeed. It wouldn't make things faster
jnthn And it's a hot path.
lizmat agree with that
jnthn The code is already, um, interesting 'cus of things I did to try and cope with that.
lizmat therefore I was more thinking about a compile time only
check
pmichaud you don't know what is being .newed at compile time, though. 21:34
jnthn We don't tend to do analysis of any methody stuff at compile time.
Because it's too late bound / overridable.
We go wild on stuff in lexical scopes after CHECK time, but method calls are more, "can't touch this". 21:35
pmichaud my Foo $obj = (Bool.pick ?? Foo !! Bar).new( @args )
lizmat I was more thinking about the case of my Foo $obj .= new( foo => 1, bar => 2 ) 21:36
where bar is not an attribute
pmichaud so, only in a declaration.
jnthn But what if there's a new that knows what to do with it, or a BUILD that knows how to process those things?
lizmat indeed...
pmichaud so, only in a declaration for a class that hasn't overridden .new, .BUILD, .BUILDALL, or .bless :-)
or .create 21:37
lizmat I was thinking of a pragma that would lexically wrap .new ?
pmichaud er, .CREATE
jnthn Lex...what? It's a method. :)
lizmat wrap the candidate(s) ?
you can .wrap methods, no? 21:38
jnthn Wrapping is (a) not that cheap already, and (b) frustrates optimizations.
lizmat I see it more as a "use diagnostics" type of thing
jnthn lizmat: You can. You can wrap subs, but you have to put a "use soft" pragma in place. In return, the compiler will refuse to do any inlining. 21:39
lizmat to be used when you're willing to pay the price
pmichaud whatever checking we're going to do, really ought to be in the build process directly. It could be something that is activated only by a lexical pragma.
jnthn *nod*
pmichaud (at a penalty, of course)
lizmat indeed... 21:40
jnthn I mean, there's nothing that is stopping you writing a role, sticking it in a module and applying it to your classes. The role provides an alternative new or BUILD or whatever that gives the semantics you wish.
pmichaud anyway, it's worth filing a spec ticket for.
lizmat which is what I will do… and then the RT ticket can be closed or deleted or whatever :-)
jnthn Then if you want a "do it to all classes I declare in this scope", just write a meta-class override that adds the role by default to any class declaration :)
pmichaud "just write a meta-class override" 21:41
jnthn All the ingredients should be there for such a pragma to be written in Perl 6 already. :)
pmichaud :-D
lizmat jnthn: indeed, and it would be something I could put on *my* list
;-)
21:41 tgt left
jnthn pmichaud: Well, Grammar::Tracer "just" does that ;) 21:42
lizmat: Well, it also allows prototyping this out of core, meaning if it works out Totally Awesome there's a concrete thing to play with and consider spec'ing. 21:43
lizmat indeed :-)
dalek kudo/nom: 4741028 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get fix for RT #117831 (quantified separator).
21:44
21:44 berekuk left 21:45 bluescreen100 left
lizmat github.com/perl6/specs/issues/36 just added 21:46
pmichaud lizmat++
and indeed, I got the notification of the spec issue ticket immediately. :-)
(email notification, that is)
timotimo tadzik: No such method 'get-project' for invocant of type 'Any' - when i try to install something with panda2 21:48
21:48 census joined
timotimo hm, i may have a combination of old and new panda actually 21:49
dalek : d5ac643 | (Tobias Leich)++ | lib/Perl5.nqp:
EXPORT sub requires returning a hash now
: daf70c3 | (Tobias Leich)++ | / (3 files):
?-quantifier doenst create RPAs anymore
21:51 tgt joined 21:54 alester left
masak 'night, #perl6 21:56
lizmat goodnight masak!
sleep as well& 21:59
dalek : 0bf4332 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
cleanup, zhuomingliang++
22:04
timotimo i'm kind of stuck here at my hackspace. no way to get home without getting thoroughly soaked
FROGGS :/ 22:06
jnthn Urgh
Guess somebody has gotta have the bad weather...
22:12 woolfy left 22:13 spider-mario left
Tene timotimo: just email yourself here for a few hours. 22:23
or maybe CTCP TELEPORT
jnthn sleep; 'night o/ 22:43
22:44 berekuk joined 22:45 tgt left 22:49 tgt joined
[Coke] (rt emails) if you're not whitelisted, the messages are held for moderation. 22:49
(move to github) I just talked to robrt about that. 22:50
FROGGS do we have masak's approval to do so? 22:51
[Coke] and mentioned we had someone who was strictly opposed to a move.
he's not trying to get rid of us, but perl.org admins have even fewer tuits than usual, it seems.
lue
.oO(IIRC masak's objections were along the lines of "we don't *need* to move, so why do it?")
22:53
[Coke] no, those are my objections. ;) 22:54
masak's was closer to "You'll pry RT from my cold dead hands".
22:55 skids joined
masak comes back from sleep 22:55
FROGGS uhh, now you done it [Coke], see 22:56
masak if you move from RT, please have really really good reasons for doing so.
RT is good to me. I like RT. I use RT. I know RT. I use it a lot.
FROGGS is receiving mails 3 days later a good reason?
masak not really. 22:57
'night again, #perl6
FROGGS night :o)
timotimo gnite masak
[Coke] pmichaud: I tagged that ticket testneeded 22:58
22:59 ajr joined
lue
.oO(If RT had a web-based submission form (like every other bugtracker on the planet^W^W^W I've seen), I'd be very fine with it)
22:59
22:59 ajr is now known as Guest7709 23:00 Guest7709 left, diakopter joined
timotimo er, RT has a web based submission form, doesn't it? /me looks 23:01
FROGGS nope
timotimo o_O
lue I personally would move from RT purely on that fact (less-friendly-than-standard ability to submit bugs), but as masak stated just now, an issue with bug submission is not enough for a move. 23:03
[Coke] *RT* has it. rt.perl.org doesn't.
also, big upgrade to RT4 coming at some point.
timotimo mhm. 23:04
FROGGS hmmm, since *I* dont want to move the ticket I'd say we wait :o)
lue would also like bugtrackers to allow bug submissions without creating an account, but nobody does that so far as I know
FROGGS lue, that is what you can do right now 23:05
lue I recall emailing a bug to rt.perl.org before getting an account there, and I remember it not appearing (although my memory is very fuzzy there) 23:06
timotimo well, we wouldn't have that problem if openid were to catch on properly
[Coke] lue: no account needed to email tickets in.
FROGGS gnight pals 23:07
timotimo: come safe and dry home :/
[Coke] FROGGS: ~~
timotimo i may spend the night here :|
lue (RT didn't give me a first good impression in general, but it's usable (dear rt.perl.org: web-based submission. there's a reason many bugtrackers use it))
timotimo i wish i could tell RT to never show me bugs from the perl5 queue ever 23:08
lue :) 23:09
[Coke] timotimo: create a login and don't show those queues.
[Coke] doublechecks.
timotimo huh? 23:10
how do i ... what? 23:11
geekosaur (this is hard?) 23:12
[Coke] ... I think somewhere under configuration you can do that. 23:13
I am on a slow shared wifi link, and will try to remember to check this from home for you. 23:14
pmichaud just to be clear, I'm not in favor of moving off of RT until masak++ says he's okay with doing so. 23:21
or until we're forced to move by some other circumstances. 23:22
lue agreed. 23:23
pmichaud my issue with RT isn't about submission of bugs, because I rarely do that. It's mainly that it's really hard for me to manage bugs once they're created. 23:24
23:25 ajr_ joined
pmichaud every report I want to generate ends up being a long query string, which often chooses to work or not work depending on whether I'm logged into RT or not, and since RT doesn't remember me across sessions....... *sigh* 23:25
huf wouldnt adding persistent(-er) sessions and an url-shortener solve most of that? 23:26
pmichaud or there's some other setting that changes or that I'm unaware of that causes the report to fail, and by the time I figure it all out I've lost whatever tuits/energy I had to work on bugs in the first place.
ajr_ Which Synopsis explains the methods that can be used on scalars and arrays to determine their sizes?
huf or is RT so painful that this would be hard?
pmichaud huf: I don't own the rt instance. I don't have the ability to say "make logins persistent".
huf ah 23:27
pmichaud yes, I suspect the software could be configured to make it less painful for me. I don't have permission (or knowledge) into that level of configuration. 23:29
I know that when I go searching for an issue in the Parrot queue, I can locate it right away. I can also quickly find the tickets that are of greatest interest to me.
anyway, we're not switching anytime soon, so we'll live with what we have. Not getting bug reports for several days is a pain, though. 23:31
that we really do need to have fixed. If someone submits a bug report, you often want to respond right away while you have their attention. If the response comes 3-4 days later, they've probably moved on by then and you've lost momentum on the bug.
s/probably/possibly/ 23:32
for example, lizmat++ submitted a bug on May 1st, and she even said on #perl6 that she was submitting a bug. I never got an email about it, though, so I guessed that for some reason she decided not to submit it. 23:33
I didn't even notice the email about the bug until I happened to look back a couple of days in my inbox; even though the message arrived this afternoon, it was dated May 1st and thus sorted along with my older (already read) messages. 23:34
end of rant. :)
TimToady ajr_: what do you mean by "their sizes"? abstract, or concrete? 23:35
23:36 Chillance left
ajr_ TimToady : characters, which I suppose would be abstraCT 23:37
TimToady well. a string's chars are measured with .chars
an arrays elements are measures with .elems
ajr_ Thanks; which sysnopis describes the methods? 23:38
TimToady the ones down in S32, mostly
perlcabal.org/syn/S32/Containers.html for instance 23:39
or Str for strings
ajr_ Good, I'll look there. I prefer to RTFM, rather than bug people, but when I can't even find TFM.....
TimToady I know the feeling
TimToady hates asking questions
pmichaud perl6.org/documentation/
doc.perl6.org/ 23:40
(You may have already looked there; if so, tell us where you hoped to find it :)
ajr_ Been ther, done that, got confused.
TimToady "size" is a very nebulous concept these days
so we tend to try for more specific concepts
but that also makes them harder to search for 23:41
if this were a book index we could do 'size; in chars' 'size; in bytes' 'size; in elements' etc 23:42
and the index would teach you to subdivide the concepts
pmichaud so, what we'd really want is for doc.perl6.org/size to present a disambiguation page
TimToady that would probably help 23:43
pmichaud we have disambiguation pages already... see doc.perl6.org/clone
so, the question is how to add other disambiguation pages
TimToady it's not clear what that is disambiguating, when it's only one thing :) 23:44
pmichaud yeah, I just picked one off the top of my head
TimToady in this case it's more of a simple inversion
pmichaud doc.perl6.org/elems might be better.
TimToady nodnod
pmichaud my point being mainly that p6doc already has a concept of "disambiguation" -- we need to teach it about terms like "size" somehow. 23:45
TimToady it matters :)
pmichaud agreed.
doc.perl6.org/length is LTA 23:46
it's closer to what we want, but it goes the wrong way to get there.
TimToady it's a description entry trying to be a redirect/disambituator and not succeeding very well 23:47
*big 23:48
pmichaud if we already have "operators", "variables", "types", "methods", etc.... we probably need "concepts" as a category
or even just "index" :)
ajr_ Perl 6 has expanded from a camel to something closer to an elephant, and the only way to eat an elephant is to reduce it to bite-size chunks. I've been trying to do that. If I can draft a coherent description, where would be the best place to post it?
pmichaud what kind of "coherent description" ?
lue (a concepts category sounds like a nice place to put high-level intros to aspects of Perl 6, as needed) 23:49
pmichaud maybe "aliases", then.
or "akas"
or "formerly known as"
or "mislabeled as in other languages"
ajr_ A description of how I would try to break down the learning task into levels.
pmichaud ajr_: sounds like a tutorial, book, or series of blog postings 23:50
ajr_ Something like that 23:51
pmichaud see if any of the things on perl6.org/documentation look like a good fit for some contributions. 23:52
If yes, then work on those; if not, then perhaps start a blog or a github repo to publish your drafts 23:53
announcements about articles and improvements can certainly go to the perl6-users mailing list, Perl ironman, Perl Weekly, perlbuzz, etc.