»ö« 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 1Unhandled 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 declaredat /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 1Unhandled 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->⏏barUndeclared routine: 'foo' used at line 1Parse 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 nameat /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«FalseTrue» | ||
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«abcd» | |||
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 rowat /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 rowat /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«abcd» | ||
[Coke] | r: my @a = <a b c d>; for @a -> $left, ********@rest { say $left }; | ||
camelia | rakudo c66c42: OUTPUT«===SORRY!===Malformed parameterat /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«12 => 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«12 => 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«75» | 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. |