Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-05-03

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 drbean joined #perl6
00:06 moritz_ joined #perl6
00:09 lue is there a reason why I can't bind to a method name?
00:11 moritz_ binding only works for variables
00:12 moritz_ also you are trying to bind to a method *call*, not to a method *name*
00:14 moritz_ lue: if you read http://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 * lue guesses $class.meth = $val is equivalent to $class.meth($val) , or else he's really unaware of how $class.meth = works
00:16 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 moritz_ lue: do read http://doc.perl6.org/language/containers
00:17 lue I am.
00:17 * lue will read before asking another question
00:17 eternaleye_ joined #perl6
00:22 moritz_ r: my $x; sub f() is rw { $x }; f() = 42; say $x
00:22 camelia rakudo 639d7f: OUTPUT«42␤»
00:25 dalek doc: e90e09d | moritz++ | lib/containers.pod:
00:25 dalek doc: [containers] explain how "is rw" attribute accessors work
00:25 dalek doc: review: https://github.com/perl6/doc/commit/e90e09d6c0
00:25 moritz_ and this one is just for lue++ :-)
00:26 berekuk joined #perl6
00:31 * moritz_ tries to sleep again
00:32 lue good ♞ moritz_ o/
00:37 adu joined #perl6
00:45 adu how do I set the current language?
00:45 yoleaux 30 Apr 2013 04:10Z <sorear> adu: andydude can now commit to nqp
00:46 adu o yey
00:49 dalek nqp/rak-jvm-support: 9a05abd | (Andrew Robbins)++ | t/nqp/44-try-catch.t:
00:49 dalek nqp/rak-jvm-support: Added test case for try and CATCH
00:49 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/9a05abdd70
00:49 dalek nqp/rak-jvm-support: e395d5c | (Andrew Robbins)++ | / (36 files):
00:49 dalek nqp/rak-jvm-support: Merge branch 'rak-jvm-support' of github.com:perl6/nqp into rak-jvm-support
00:49 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/e395d5c413
00:49 adu did it work?
00:50 adu looks like it did :)
00:50 [Coke] adu++
00:50 adu [Coke]: thanks
00:52 TimToady gah, home broadband is down again, limping along on GoogleWiFi...
00:53 TimToady this U-verse line is great when it works, except for when it doesn't...
00:56 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?
01:20 * TimToady kinda wishes that http://rosettacode.org/wiki/Determine_if_only_one_instance_is_running#Perl_6 didn't have to say "try link" because the link command throws an exception when it fails
01:21 * TimToady also kinda wishes he didn't have to shell out to call 'kill'...
01:23 adu OMG I <3 rosettacode
01:24 TimToady otoh we're now only 3 behind Go and 5 behind Ruby :)
01:31 TimToady oh hey, my line came back up \o/
01:31 TimToady doubtless it will work perfectly when the repairman comes tomorrow...
01:32 TimToady "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...
01:40 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:43 adu lol
01:44 Targen joined #perl6
02:05 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 Juerd s/computers/computer/
02:13 erkan joined #perl6
02:13 erkan joined #perl6
02:22 TimToady the benford function in http://rosettacode.org/wiki/Benford%27s_law looks bogus to me
02:22 TimToady why are we making a hash out of a list?
02:26 TimToady oh, wait, I miscounted parens
02:28 Targen joined #perl6
02:35 orafu joined #perl6
02:37 jeffreykegler joined #perl6
02:39 mavcunha joined #perl6
02:42 moritz_ joined #perl6
02:51 sorear Juerd: no, the logical consequence is that it will become dissatisfied with the user and demand a "better" one ;)
03:05 tangentstorm joined #perl6
03:07 labster Nah, most likely the computer will fall in love with your girlfriend's computer.
03:12 TimToady .oO(Your girlfriend's computer does not reciprocate either...)
03:15 thou joined #perl6
03:17 adu that's what she said!
03:25 amkrankruleuen joined #perl6
03:25 amkrankruleuen joined #perl6
03:26 amkrankruleuen joined #perl6
03:27 amkrankruleuen joined #perl6
03:27 amkrankruleuen joined #perl6
03:32 amkrankruleuen joined #perl6
03:34 amkrankruleuen joined #perl6
03:36 amkrankruleuen joined #perl6
03:36 amkrankruleuen joined #perl6
03:41 Nom- joined #perl6
03:43 amkrankruleuen joined #perl6
03:43 amkrankruleuen joined #perl6
03:45 sizz joined #perl6
04:15 arlinius joined #perl6
04:25 Psyche^ joined #perl6
04:52 sizz joined #perl6
05:18 dmol joined #perl6
05:40 satyavvd joined #perl6
06:05 woolfy joined #perl6
06:07 kaleem joined #perl6
06:19 eternaleye joined #perl6
06:41 frdmn joined #perl6
06:47 FROGGS joined #perl6
06:55 fhelmberger joined #perl6
06:58 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:15 rindolf joined #perl6
07:26 sqirrel joined #perl6
07:28 rindolf joined #perl6
07:29 jeffreykegler joined #perl6
07:33 domidumont joined #perl6
07:40 * masak kinda likes "can" in the infinitive
07:41 rindolf joined #perl6
07:45 FROGGS hmmm, sounds weird now I read my own sentence O.o
07:46 kaleem joined #perl6
07:46 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
07:47 masak yes, it's clearly a limitation to not simply can do that whenever convenient. ;)
07:49 labster masak:  splitting infinitives too?  That is something up with which I cannot put.
07:50 masak sorry, I don't pay much attention to bogus rules made up by prescriptivists with too much time on their hands.
07:51 masak (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 labster .oO (You can't split infinitives in Japanese because it doesn't have them )
07:52 rindolf joined #perl6
07:52 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.
07:54 bonsaikitten masak: I do feel welcome here :)
07:55 masak :)
08:01 rindolf joined #perl6
08:02 pmurias joined #perl6
08:03 bruges joined #perl6
08:03 kst` joined #perl6
08:04 wooden joined #perl6
08:04 wooden joined #perl6
08:04 clkao joined #perl6
08:04 domidumont joined #perl6
08:05 Kharec joined #perl6
08:05 orafu joined #perl6
08:05 labster well, with with jnthn++ told me to do last night, panda changed from mysteriously broken to only slightly enigmatically broken.
08:06 espent joined #perl6
08:08 xenoterracide joined #perl6
08:13 tadzik good morning #perl6
08:13 labster morning tadzik
08:15 moritz \o
08:17 rindolf joined #perl6
08:23 donaldh joined #perl6
08:25 kivutar joined #perl6
08:29 lizmat morning #perl6
08:31 rindolf joined #perl6
08:33 hoelzro ahoy lizmat
08:35 lizmat \o
08:37 berekuk joined #perl6
08:40 kresike joined #perl6
08:40 kresike hello all you happy perl6 people
08:44 tadzik hi kresike
08:44 kresike tadzik, o/
08:44 rindolf joined #perl6
08:44 masak morning tadzik, moritz, lizmat, hoelzro, kresike.
08:45 kresike masak, o/
08:45 lizmat masak!
08:46 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 masak who knows, maybe I'll learn something.
08:46 hoelzro masak: what happened with Parrot?
08:46 masak hoelzro: I discovered a bug in which is chunks across UTF-8 characters and fails.
08:47 masak it*
08:48 hoelzro ouch
08:48 jnthn morning, #perl6
08:49 hoelzro I thought that maybe the Parrot team was being uncooperative
08:49 hoelzro o/ jnthn
08:49 masak hoelzro: no, so far they haven't really reacted at all.
08:49 masak I conclude that people don't tend to use Parrot much with inputs larger than 2 kB.
08:50 tadzik :P
08:52 * lizmat wonders about S12 specs
08:52 lizmat class Dog is Mammal
08:53 lizmat the spec doesn't specify anything about *which* Mammal
08:53 dalek rakudo/EXPORT_hash: 2c0efdc | (Timo Paulssen)++ | / (3 files):
08:53 dalek rakudo/EXPORT_hash: WIP on EXPORT returning a hash.
08:53 dalek rakudo/EXPORT_hash: review: https://github.com/rakudo/rakudo/commit/2c0efdc2d1
08:53 dalek rakudo/EXPORT_hash: e0b3e03 | moritz++ | lib/lib.pm6:
08:53 dalek rakudo/EXPORT_hash: actually return a Hash from EXPORT
08:53 dalek rakudo/EXPORT_hash: review: https://github.com/rakudo/rakudo/commit/e0b3e03420
08:53 dalek rakudo/EXPORT_hash: a887d88 | moritz++ | src/Perl6/Grammar.pm:
08:53 dalek rakudo/EXPORT_hash: type check result from &EXPORT
08:53 dalek rakudo/EXPORT_hash: review: https://github.com/rakudo/rakudo/commit/a887d88086
08:53 dalek rakudo/EXPORT_hash: 18e34a1 | moritz++ | lib/lib.pm6:
08:53 dalek rakudo/EXPORT_hash: fix spectests
08:53 dalek rakudo/EXPORT_hash: review: https://github.com/rakudo/rakudo/commit/18e34a1279
08:53 dalek rakudo/EXPORT_hash: 4c4eac7 | moritz++ | src/Perl6/ (2 files):
08:53 dalek rakudo/EXPORT_hash: run EXPORT subs always when present
08:53 dalek rakudo/EXPORT_hash:
08:53 dalek rakudo/EXPORT_hash: not just when an argument list is present
08:53 dalek rakudo/EXPORT_hash: review: https://github.com/rakudo/rakudo/commit/4c4eac774f
08:53 dalek rakudo/EXPORT_hash: 1ad9b40 | moritz++ | / (188 files):
08:53 dalek rakudo/EXPORT_hash: Merge remote-tracking branch 'origin/nom' into EXPORT_hash
08:53 dalek rakudo/EXPORT_hash: review: https://github.com/rakudo/rakudo/commit/1ad9b40af1
08:53 dalek rakudo/EXPORT_hash: c66c428 | moritz++ | src/Perl6/ (2 files):
08:53 dalek rakudo/EXPORT_hash: fix exporting of subroutines. jnthn++
08:53 dalek rakudo/EXPORT_hash: review: https://github.com/rakudo/rakudo/commit/c66c428cee
08:53 lizmat class Mammal:auth<cpan:JRANDOM> or class Mammal:auth<cpan:ELIZABETH> ?
08:54 masak lizmat: my initial reaction: the one that the file/package has imported?
08:54 moritz lizmat: whatever is in the current lexical scope
08:54 moritz lizmat: if it makes you happier, add a    class Mammal { }  on top
08:54 lizmat ah, of course, that was P5 think
08:54 masak oh, that's a better answer.
08:54 rindolf joined #perl6
08:54 moritz then it's unambiguous
08:54 masak I was thinking packages.
08:55 masak but it's really about lexical bindings.
08:55 lizmat indeed…  I was using P5 thinking about loaded modules
08:55 moritz timotimo: good news: with that newest commit, EXPORT_hash seems to work
08:55 moritz (bad news: I haven't spectest it yet)
08:55 lizmat but a module doesn't exist in a scope unless it has been used in P6, right?
08:56 moritz timotimo: I've pushed it to both your fork and to rakudo/rakudo
08:56 lizmat (except maybe for Types)
08:56 moritz well, it needs to have been use'd or declared
08:56 lizmat indeed
08:56 lizmat rn: class Dog is Mammal
08:56 hoelzro who's Timo Paulssen?
08:56 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![31m===[0m��Unhandled trait Mammal for this context at /tmp/JcrhORXnAo line 1 (EOF):�------> [32mclass Dog is Mammal[33m�[31m<EOL>[0m��Unable to parse class definition at /tmp/JcrhORXnAo line 1 (EOF):�------> [32mclass Dog is Mamma…
08:56 camelia ..rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�'Dog' cannot inherit from 'Mammal' because it is unknown.�at /tmp/XHv9s22y7z:1�------> �»
08:56 hoelzro (who here, I mean)
08:57 lizmat timotimo ?
08:57 hoelzro lizmat: ah, thanks!
08:57 hoelzro timotimo++ # EXPORT work
08:57 moritz spectesting now
08:58 moritz $ cat MyExport.pm
08:58 moritz module MyExport { }
08:58 moritz our sub EXPORT(|) { return ('&blubb' => sub { say 42 }).hash; }
08:58 moritz $ ./perl6 -I. -e 'use MyExport; blubb'
08:58 moritz 42
08:59 moritz though I guess we should change that eventually to use   MyExport::EXPORT   instead of plain EXPORT
08:59 moritz to avoid the global merging issues
08:59 lizmat indeed
09:00 lizmat I'm surprised this works
09:00 moritz it works as long as only one module does it :-)
09:00 lizmat as the EXPORT is in GLOBAL, no?
09:00 moritz right
09:00 lizmat ah, and it inherits from GLOBAL ?
09:00 moritz no
09:00 moritz modules don't inherit
09:01 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
09:01 labster ==> Successfully installed panda \o/.  This means that IO::Path stuff is now working for Windows
09:01 moritz \o/
09:01 moritz labster++
09:02 labster jnthn+=5 for putting me on the right track
09:02 dalek rakudo/nom: 2c0efdc | (Timo Paulssen)++ | / (3 files):
09:02 dalek rakudo/nom: WIP on EXPORT returning a hash.
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2c0efdc2d1
09:02 dalek rakudo/nom: e0b3e03 | moritz++ | lib/lib.pm6:
09:02 dalek rakudo/nom: actually return a Hash from EXPORT
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e0b3e03420
09:02 dalek rakudo/nom: a887d88 | moritz++ | src/Perl6/Grammar.pm:
09:02 dalek rakudo/nom: type check result from &EXPORT
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a887d88086
09:02 dalek rakudo/nom: 18e34a1 | moritz++ | lib/lib.pm6:
09:02 dalek rakudo/nom: fix spectests
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/18e34a1279
09:02 dalek rakudo/nom: 4c4eac7 | moritz++ | src/Perl6/ (2 files):
09:02 dalek rakudo/nom: run EXPORT subs always when present
09:02 dalek rakudo/nom:
09:02 dalek rakudo/nom: not just when an argument list is present
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4c4eac774f
09:02 dalek rakudo/nom: 1ad9b40 | moritz++ | / (188 files):
09:02 dalek rakudo/nom: Merge remote-tracking branch 'origin/nom' into EXPORT_hash
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ad9b40af1
09:02 dalek rakudo/nom: c66c428 | moritz++ | src/Perl6/ (2 files):
09:02 dalek rakudo/nom: fix exporting of subroutines. jnthn++
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c66c428cee
09:02 moritz ok, EXPORT_hash merged into nom
09:03 jnthn moritz: Why not just say it should be a *lexical* sub EXPORT?
09:04 jnthn moritz: And look it up in UNIT, the same way we look up the EXPORT package and GLOBALish?
09:04 FROGGS wow
09:04 jnthn Then no collision risk and leakage :)
09:04 mathw o/ everyone
09:04 jnthn Happy it's merged, anyways. \o/
09:04 GlitchMr http://olive.undo.it/log?channel=perl6&amp;search=\w%2B--%28\W|%24%29 - karma-- is rarely used :-).
09:04 FROGGS timotimo++, labster++, moritz++ and masak++ # masak for lookup up parrot bugs
09:05 FROGGS 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.
09:05 FROGGS well, run the testsuite first :o)
09:07 FROGGS I guess that's always a good adivce
09:07 FROGGS advice*
09:07 labster ... please wait while your tests process...
09:07 FROGGS will do that too
09:08 woosley joined #perl6
09:09 GlitchMr rn: random
09:09 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![31m===[0m��Undeclared routine:�     'random' used at line 1��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) �  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) �  at /h…
09:09 camelia ..rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    random used at line 1. Did you mean '&rand'?��»
09:09 GlitchMr r: return
09:10 camelia rakudo 639d7f:  ( no output )
09:10 GlitchMr huh?
09:10 GlitchMr rn: return
09:10 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…
09:10 camelia ..rakudo 639d7f:  ( no output )
09:10 GlitchMr r: next
09:10 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␤␤»
09:10 GlitchMr Is it running in subroutine, or what, considering return works?
09:10 ilbot_bck joined #perl6
09:10 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend! ! temporary logs at http://colabti.org/irclogger/irclogger_log/perl6
09:10 sizz joined #perl6
09:10 camelia rakudo 639d7f:  ( no output )
09:11 GlitchMr That was a short netsplit.
09:11 FROGGS r: return 7
09:11 camelia rakudo 639d7f:  ( no output )
09:11 fhelmberger joined #perl6
09:11 FROGGS r: say $?ROUTINE
09:11 camelia rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$?ROUTINE' is not declared�at /tmp/ww2tXmNJwq:1�------> [32msay $?ROUTINE[33m�[31m<EOL>[0m�    expecting any of:�        postfix�»
09:11 FROGGS :/
09:11 GlitchMr r: say &?ROUTINE
09:11 camelia rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    &?ROUTINE used at line 1��»
09:11 FROGGS NYI
09:12 jnthn r: sub foo() { say &?ROUTINE }; foo
09:12 camelia rakudo 639d7f: OUTPUT«sub foo() { ... }␤»
09:12 jnthn It is if you're in a routine.
09:12 pmurias a draft of the gsoc proposal: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/pmurias/9002
09:12 GlitchMr Huh? So why "return" works in camelia?
09:13 GlitchMr When you aren't in routine...
09:13 moritz LTA error reporting, I believe
09:13 moritz or it picked up an outer NQP routine, or so
09:13 FROGGS jnthn: is that new that &?ROUTINE works at all?
09:13 moritz most likely a bug
09:13 moritz FROGGS: introduced in 2012.01
09:14 FROGGS ahh, cool, thanks
09:15 birdwindupbird joined #perl6
09:15 jnthn Was gonna say, I don't remember doing it recently... :)
09:16 rindolf joined #perl6
09:16 FROGGS labster: get_iter() not implemented in class 'NQPMu'
09:16 FROGGS current instr.: 'dissect_longname' pc 27502 (src/gen/perl6-symboltable.pir:10661) (src/Perl6/World.nqp:1914)
09:17 timotimo oooh, i wake up to lots of ++es :D
09:17 timotimo cool beans :)
09:17 FROGGS # On branch iospec
09:17 labster FROGGS: I assume you're ahead of me on spectests then.  Where did that happen?
09:17 FROGGS labster: happens on stage parse :/
09:18 FROGGS my nqp is 2013.04-118-gf3551cf, maybe yours is older?
09:18 labster huh.  it's running for me.
09:18 FROGGS it seems to be a good say btw, lots of cool stuff happening here, and $work started with a breakfast
09:19 labster This is nqp version 2013.04-54-gbfb3669 built on parrot 5.2.0 revision RELEASE_5_2_0
09:19 labster looks like it.
09:20 FROGGS labster: I'm pulling in latest changes from nom, this should fix thinsg
09:20 FROGGS thngs
09:20 FROGGS things*
09:20 FROGGS -.-
09:20 pecastro joined #perl6
09:22 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 labster thanks for the help, FROGGS++
09:23 cognominal joined #perl6
09:23 timotimo labster: may i ignorantly ask what your iospec changes do? make the IO module behave like specced perhaps?
09:25 labster Adds in File::Spec (as IO::Spec).  Makes IO::Path work as specced for the most part, including on Windows.
09:26 labster Maybe I should have named it IO::FileSpec or something.  Not sure there.
09:26 FROGGS labster: compiles again after pulling:
09:26 FROGGS git remote add rakudo git://github.com/rakudo/rakudo.git
09:26 FROGGS git pull rakudo nom
09:26 FROGGS spectest is running now
09:28 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:29 pmurias lizmat: yes
09:29 moritz finally some basic IO sanity. labster++
09:29 lizmat pmurias: I seem to have lost context?
09:30 pmurias got confused with a scrolled up terminal sorry
09:30 lizmat no pb
09:30 lizmat moritz: trying to get the masakism PROMISE task to export it's enums
09:31 lizmat our sub EXPORT (|) { return State.enums; }
09:31 lizmat does not seem to cut it  :-(
09:31 lizmat do I have to convert them to subs?
09:31 lizmat doesn't seem right if so
09:31 jnthn lizmat: You need hash
09:31 jnthn *a
09:31 jnthn lizmat: enums returns a list iirc
09:32 jnthn r: enum A < b c >; say A.enums.perl
09:32 camelia rakudo c66c42: OUTPUT«("b" => 0, "c" => 1).hash␤»
09:32 lizmat rn: enum State <PENDING FULFILLED REJECTED>; say State.enums
09:32 jnthn Oh...
09:32 camelia niecza v24-37-gf9c8fc2: OUTPUT«EnumMap.new(...)␤»
09:32 camelia ..rakudo c66c42: OUTPUT«("PENDING" => 0, "FULFILLED" => 1, "REJECTED" => 2).hash␤»
09:32 jnthn lizmat: In what way did it fail?
09:32 jnthn r: enum A < b c >; say A.enums.WHAT
09:32 camelia rakudo c66c42: OUTPUT«(Hash)␤»
09:32 rindolf joined #perl6
09:32 lizmat $ perl6 -I. -e 'use Promise; say PENDING'
09:32 lizmat ===SORRY!===
09:32 lizmat Undeclared name:
09:32 lizmat PENDING used at line 1
09:33 jnthn Hmm
09:33 labster our?
09:33 jnthn Dunno without looking closer at the code, and I'm a bit tied up at the moment.
09:34 lizmat no worries…  I was just testing the new features
09:35 moritz types and subroutines seem to work
09:36 moritz lizmat: what also works is   our sub EXPORT(|) { (PENDING => PENDING).hash }
09:37 daxim joined #perl6
09:40 lizmat moritz: can't confirm here with This is perl6 version 2013.04-32-gc66c428
09:42 lizmat hmm…  EXPORT doesn't seem to called at all
09:42 lizmat thinko
09:42 hoelzro lizmat: where'd you put EXPORT?
09:43 lizmat inside class Promise body
09:43 hoelzro I think it needs to be at the top level of the unit
09:43 hoelzro (iirc)
09:43 jnthn Needs to go in UNIT
09:45 lizmat that was it, and then return State.enums works
09:45 jnthn \o/
09:45 FROGGS if we can keep this progress we have a pretty nice gift this x-mas
09:46 lizmat feels counterintuitive needing to have that in UNIT
09:46 lizmat on the other hand, the constants are in a namespace of their own
09:47 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
09:48 lizmat 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
09:48 lizmat but you need to do that now, as "is export" is NYI, right?
09:49 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 :-(
09:50 lizmat indeed, subs seem to work  :-)
09:51 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.
09:52 jnthn lizmat: The way "is export" actually works is to install symbols into a UNIT::EXPORT package (that is, a lexical package).
09:52 tgt joined #perl6
09:52 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.
09:53 * 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.
09:54 FROGGS ya, that is what I was thinking too
09:54 kivutar joined #perl6
09:57 labster I was tempted to make IO::Path.new always call canonpath.  Right now, I've just settled for removing trailing slashes.
09:57 rhinux joined #perl6
09:57 timotimo labster: that's good work what you've done :)
09:59 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 }
09:59 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![31m===[0m��Undeclared name:�        'UNIT::EXPORT::DEFAULT::' used at line 1��Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any�  at /tmp/S7pBj9kFhZ line 1 (ANON @ 2) �  at <unknown> line 0 (ExitRunloop @ 0) �  at …
09:59 camelia ..rakudo c66c42:  ( no output )
10:00 labster >say IO::Path::Win32.new("/");  # IO::Path::Win32<\>
10:00 lizmat $ perl6 -e 'enum State <PENDING>; BEGIN { UNIT::EXPORT::DEFAULT::<PENDING> := PENDING }'
10:00 lizmat ===SORRY!===
10:00 lizmat Null PMC access in get_attr_str()
10:00 labster Well, I'll think about that in the morning.
10:01 labster Good night, all.
10:01 lizmat goodnight labster!
10:01 FROGGS r: { class States { enum State <PENDING>; BEGIN { UNIT::EXPORT::DEFAULT::<PENDING> := PENDING } } }; import States; say PENDING
10:01 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    PENDING used at line 1��»
10:01 FROGGS gnight labster
10:02 jnthn No, UNIT only makes sense in a module...
10:02 rindolf joined #perl6
10:02 FROGGS r: { module States { enum State <PENDING>; BEGIN { UNIT::EXPORT::DEFAULT::<PENDING> := PENDING } } }; import States; say PENDING
10:02 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    PENDING used at line 1��»
10:02 FROGGS O.o
10:02 FROGGS module like 'file' ?
10:02 lizmat FROGGS: import State (lose the s)
10:03 lizmat ah, no
10:03 lizmat sorry
10:03 FROGGS I dont wanted to have a class _and_ enum called the same...
10:03 lizmat duh
10:17 mtk joined #perl6
10:20 birdwindupbird joined #perl6
10:22 mtk joined #perl6
10:24 rindolf joined #perl6
10:25 kaleem joined #perl6
10:30 sqirrel joined #perl6
10:39 rindolf joined #perl6
10:39 jnthn afk for the afternoon/evening
10:40 nwc10 have fun
11:00 rindolf joined #perl6
11:06 pecastro joined #perl6
11:06 dalek v5: 7cd0751 | (Tobias Leich)++ | rakudo.patch:
11:06 dalek v5: rebase to latest rakudo changes
11:06 dalek v5: review: https://github.com/rakudo-p5/v5/commit/7cd07517cf
11:16 rindolf joined #perl6
11:25 pecastro_ joined #perl6
11:36 woosley1 joined #perl6
11:39 timotimo how hard would it be to look for the EXPORT sub in the right place to make merging o longer a problem?
11:41 rindolf joined #perl6
11:42 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
11:42 moritz probably doable
11:44 timotimo i will try when i get into the next train where i will have a table
11:50 FROGGS moritz: but Perl6::Grammar::do_import is looking for $module<&EXPORT>, no?
11:51 moritz FROGGS: yes, and it should be looking inside $module{$name}<&EXPORT> or something along those lines
11:51 moritz be care about ::-joined names
11:57 moritz *careful
12:02 tadzik oh-oh
12:02 tadzik new panda coming
12:04 FROGGS cool!
12:05 dalek panda/panda2: 2857063 | tadzik++ | / (32 files):
12:05 dalek panda/panda2: WIP
12:05 dalek panda/panda2: review: https://github.com/tadzik/panda/commit/2857063ac8
12:05 dalek panda/panda2: 092e18d | tadzik++ | / (14 files):
12:05 dalek panda/panda2: After blood, sweat and tears: panda2
12:05 dalek panda/panda2:
12:05 dalek panda/panda2: Lots of refactors. I don't hate the code anymore. UX _should_ remain
12:05 dalek panda/panda2: (almost) exactly the same. It may be faster.
12:05 dalek panda/panda2: review: https://github.com/tadzik/panda/commit/092e18d65b
12:06 araujo joined #perl6
12:06 tadzik testing will be very welcome
12:06 tadzik it Works For Me [tm]
12:06 FROGGS will do that!
12:06 FROGGS tadzik++
12:07 rindolf joined #perl6
12:08 tadzik pandabrew can be easily adjusted to use panda2
12:08 tadzik I'm now testing if it works
12:08 tadzik then emmentaler
12:08 tadzik after that I may just merge it to finally be done with it :P
12:12 masak \o/
12:13 moritz good news from my front too: I've finally obtained a VPS
12:14 moritz so it's just a "small" matter of configuration and DNS changes to get the irclogs back to their proper place
12:15 moritz 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:17 FROGGS moritz: do you need some "financial support"?
12:17 moritz I may, yes
12:17 moritz but I'll wait until I get my first invoice :-)
12:19 moritz oh, I forgot pwgen :-)
12:20 FROGGS let me know then :o)
12:21 eternaleye joined #perl6
12:22 rindolf left #perl6
12:28 any joined #perl6
12:29 any FROGGS: https://github.com/rakudo-p5/v5/commit/64b67da4f570fde8a3bf2e71ba8af4e71555e350#commitcomment-3139608
12:31 FROGGS Guest99231: hmmm, true... thanks! will apply
12:31 FROGGS meh
12:32 domidumont joined #perl6
12:34 tgt joined #perl6
12:40 mavcunha joined #perl6
12:41 mavcunha_ joined #perl6
12:50 tadzik 49 files changed, 605 insertions(+), 1228 deletions(-)
12:50 tadzik nice panda refactor :)
12:51 tadzik where did all that code go, I wonder
12:51 tadzik good that it still works ;O
12:53 moritz dammit
12:53 moritz the last backup of the irclogs is from march 1st
12:54 moritz AND I THOUGHT IT DID NIGHTLY BACKUPS
12:55 PacoAir joined #perl6
12:55 pmichaud pmurias: where would you like feedback on your gsoc proposal?  #perl6 ? email?  /privmsg ?
12:56 FROGGS moritz: :/
12:57 timotimo oh my :|
12:58 moritz well, I guess the data isn't completely lost, I just don't have access to it for a while
12:58 ajr joined #perl6
12:58 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:59 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'
13:00 timotimo ah, that makes sense. i think that's just $module in that case
13:00 moritz the only problem is require $file
13:01 timotimo actually, $package_source_name
13:02 FROGGS moritz: require $file is okay, since you dont import anything in that case
13:02 moritz FROGGS: ah, right
13:02 FROGGS only require ModuleName:$file can do that
13:03 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
13:03 pmichaud the part that evals p6 code?
13:04 moritz pmichaud: perl6/evalbot on github
13:05 pmichaud moritz: thanks.
13:06 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
13:06 timotimo do i have to decompose the name at :: position and write $modile{$part-one}{$part-two}{$part-three}<&EXPORT>?
13:07 moritz timotimo: probably
13:07 timotimo good to know. i'll start implementing now :)
13:07 moritz and maybe even $modile{$part-one}.WHO.{$part-two}.WHO....
13:07 timotimo do i have to write the EXPORT sub in my code differently as well? does it go into the module directly?
13:07 timotimo i mean for my test code
13:08 moritz that's what you're about to change, isn't it?
13:08 moritz old: directly into the file; new: into the module
13:08 timotimo i think so :)
13:08 timotimo it should be s"our sub EXPORT" inside the module?
13:09 timotimo 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
13:10 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
13:10 moritz a module has two options to make stuff available
13:11 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
13:11 FROGGS moritz: I'm not talking about custom EXPORT subs
13:11 woosley1 joined #perl6
13:11 moritz and about the export tags: the caller can chose to import whatever names the module exported
13:11 moritz the caller doesn't care if those come from different classes or not
13:11 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
13:12 moritz yes, that's the second case
13:13 FROGGS IMO "is export" should do nothing if an EXPORT sub is present... what do you think?
13:13 FROGGS hmmm, or would it be better to merge the lists?
13:13 FROGGS so you can easily export things using "is export", and do only the custom stuff using the EXPORT sub
13:14 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 moritz easily available, I mean :-)
13:14 FROGGS hmmm, ya, sounds reasonable
13:17 moritz left #perl6
13:19 moritz joined #perl6
13:19 timotimo first implementation prototype that may even work immediately :D
13:24 timotimo 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
13:25 pmichaud moritz++
13:26 moritz the page load times are short here, but then the data between $work and the VPS never go over a backbone :-)
13:27 FROGGS moritz: it is pretty fast here too
13:28 Targen joined #perl6
13:35 am0c joined #perl6
13:36 Nom- Can someone point me to any doco (if it exists) on these grammar specs? token identifier { <.ident> [ <[\-']> <.ident> ]* }
13:37 pmichaud Nom-: which part?
13:37 arnsholt identifier is a sequence of idents, with ' or - in between
13:37 pmichaud that rule just says that an identifier can have hyphens and apostrophes if followed by a word character
13:37 arnsholt <.foo> calls subrule foo without saving the match object for that subrule call (like [] and ())
13:38 timotimo hm. should i find the module Foobar under $module<EXPORT>.WHO<Foobar>?
13:38 Nom- Ok, so I assume ident is defined *somewhere* ?
13:38 pmichaud it's inherited from HLL::Grammar
13:38 timotimo HLL::Grammar can be found in nqp
13:39 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.
13:39 pmichaud just a sec
13:39 mavcunha joined #perl6
13:39 Nom- https://github.com/perl6/nqp/blob/master/src/HLL/Grammar.nqp <-- that's the source I refer to :)
13:40 Nom- 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:41 pmichaud <ident> is a predefined subrule, defined by S05
13:41 pmichaud http://perlcabal.org/syn/S05.html#Predefined_Subrules
13:41 pmichaud the actual code is
13:41 Nom- oh, no i'm just blind token term:sym<circumfix> { <circumfix> }
13:41 pmichaud https://github.com/perl6/nqp/blob/master/src/QRegex/Cursor.nqp#L486
13:41 diakopter joined #perl6
13:41 timotimo actually i can find a token ident and a token itdentifier in Perl6::Grammar
13:43 Nom- but not in NQP?
13:44 frdmn joined #perl6
13:45 timotimo i'm not actually sure when to go for $something.WHO<foobar> or when to go tfor $module<foobar>
13:46 pmichaud Nom-: NQP's grammar relies on the built-in .ident
13:47 Nom- pmichaud: Thanks, I just found it in Parrot's source as you said that :)
13:47 pmichaud ...Parrot's source?!
13:48 pmichaud No, it's in the Cursor role.
13:48 pmichaud https://github.com/perl6/nqp/blob/master/src/QRegex/Cursor.nqp#L486
13:50 Nom- ah, brilliant
13:51 timotimo i wish i didn't have to recompile the setting every time i make a tiny little change to this method >_<
13:52 PerlJam timotimo: monkey patching is your friend
13:54 timotimo PerlJam: this is a method inside Perl6:Grammar :(
13:54 timotimo do i even have to look into the $module<EXPORT> to find the module? or is it perhaps in MANDATORY? or something similar?
13:55 tadzik bah, some rakudo changes broke Shell::Command
13:55 tadzik labster: were you changing IO::Path and friends?
13:55 moritz probably changed IO::Path stringification
13:55 tadzik yeah
13:55 tadzik some absolute/relative changes?
13:56 moritz yes
13:58 tadzik *sigh*
13:59 gtodd left #perl6
13:59 gtodd joined #perl6
13:59 tadzik ok, it wasn't that bad :)
13:59 gtodd r: say $*EXECUTABLE_NAME
13:59 camelia rakudo c66c42: OUTPUT«./nom-inst/bin/perl6␤»
14:00 gtodd is there a short version (like $0) for $*EXECUTABLE_NAME
14:00 tadzik I don't think so. Why?
14:02 * masak decommutes
14:03 tadzik argh. Installing any of panda deps with panda breaks panda
14:03 tadzik because of precomp issues
14:03 tadzik the dep is then newer than panda, so panda breaks
14:04 skids joined #perl6
14:04 timotimo moriuiaei can't really make heads or tails of this structure with its WHO and not-WHO parts and everything
14:05 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
14:05 tadzik aside from forbidding panda from installing those
14:05 tadzik but one can still do that with ufo
14:05 moritz timotimo: usually the entry in a symbol table is a package. And .WHO gives you the symbol table for *that* package
14:07 gtodd tadzik:  no reason :-) for sure $*EXECUTABLE_NAME  is more easily/quickly readable  ... $0 still exists but means something else :-)
14:07 tadzik yep :)
14:07 tadzik we have use English :only; be default ;)
14:08 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 timotimo so ... where is it?
14:08 PerlJam gtodd: if you don't like typing $*EXECUTABLE_NAME so much, you can always alias it to something shorter
14:08 PerlJam 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 :)
14:09 moritz timotimo: what kind of object is $module
14:10 arnsholt "use Gibberish" =D
14:12 timotimo whatever nqp::ctxlexpad returns for the object that Perl6::ModuleLoader.load_module returns
14:14 FROGGS from reading the variable names it is some sort on context
14:14 FROGGS of*
14:14 FROGGS timotimo: can you call .DUMP or .dump on it?
14:15 tadzik haha, I segfaulted rakudo :)
14:15 FROGGS bad tadzik!!
14:15 moritz no cookie!
14:17 timotimo FROGGS: no :(
14:18 FROGGS Method 'DUMP' not found for invocant of class 'CallContext'
14:18 FROGGS but we know now what it is^^
14:19 timotimo well, maybe dump
14:19 FROGGS Method 'dump' not found for invocant of class 'CallContext'
14:19 FROGGS :o(
14:20 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:21 timotimo :(
14:21 timotimo mhm
14:21 timotimo that means i'll haev like 3 minutes or fofour of waiting between results :(
14:21 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
14:23 moritz PerlJam: trying now
14:23 nwc10 PerlJam: I can't build nqp master on the JVM. But I think that that's unrelated
14:23 FROGGS PerlJam: I compiled it this morning just fine
14:23 PerlJam I just did: git clean -dxf; git pull; perl Configure.pl && make && make test
14:23 bluescreen10 joined #perl6
14:24 FROGGS I just pulles
14:24 FROGGS pulled*
14:26 moritz PerlJam: I just did a perl Configure.pl --gen-nqp=master in rakudo, and it now compiles rakudo's setting
14:26 moritz so nqp build seems to have worked
14:26 tadzik sergot: ping
14:28 gtodd left #perl6
14:29 timotimo is there a way i can perhaps drop into a repl anywhere in rakudos source?
14:31 tadzik ah, Carp::Always::REPL <3
14:33 FROGGS hmmm, one whishes he had a Core i7 3970x for recompiling rakudo :/
14:34 FROGGS but 900 euro is a bit much atm
14:34 tadzik I recently moved from c2d to i5
14:34 tadzik both laptop-ish
14:34 tadzik rakudo recompiles now about 3x faster
14:34 FROGGS already have a core i5, yeah
14:34 tadzik or at least CORE.setting
14:35 tadzik hah, remember when I was trying to work on ol' prescott during SoC
14:35 tadzik it took about 1.5 hours
14:35 FROGGS Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
14:35 tadzik same here
14:35 FROGGS wow
14:35 tadzik cpu-high-five!
14:35 [Coke] moritz++ #loggerheads
14:35 FROGGS o/
14:35 FROGGS *g*
14:35 FROGGS my server at home takes 15minutes
14:35 FROGGS an old P4 or so
14:36 TimToady I see that irc.perlgeek.de is starting to show signs of life again
14:37 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
14:38 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:39 kbenson joined #perl6
14:39 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:40 TimToady (other than the standard boilerplate)
14:41 * TimToady apologizes to Camelia for calling her boilerplate...
14:42 grondilu joined #perl6
14:42 grondilu Test Summary Report
14:42 grondilu -------------------
14:42 grondilu t/spec/S32-io/IO-Socket-INET.t                          (Wstat: 0 Tests: 21 Failed: 3) Failed tests:  17-19
14:43 grondilu This is perl6 version 2013.04-32-gc66c428 built on parrot 5.2.0 revision RELEASE_5_2_0
14:47 gtodd joined #perl6
14:56 timotimo can't even get the EXPORT sub found if i have no :: in the name :(
15:01 kresike bye folks
15:03 [Coke] jnthn: is it still "build rakudo/jvm-support on nqp/rak-jvm-support" ?
15:04 pmurias pmichaud: any of those is ok, #perl6 is ok
15:05 nwc10 [Coke]: IIRC he's afk until tomorrow
15:05 TimToady well, depending on how long his "evening" is
15:05 tgt joined #perl6
15:07 * TimToady may have outages again today as the repairfolk attempt yet again to diagnose his intermittent broadband failures
15:08 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 :)
15:09 nwc10 I wonder how you get them to think that too.
15:09 nwc10 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
15:10 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)
15:11 * 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 alester joined #perl6
15:12 [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.
15:13 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?
15:13 gtodd heheh
15:14 TimToady dunno, that might explain Austin too
15:14 nwc10 so Hawaii will be soon?
15:14 gtodd maybe à la Yahoo they don't want to make it easier for people to work at home ...
15:14 TimToady except, if they wanted airmiles, they'd pick Sydney or something
15:14 gtodd (unless $independent_contractor)
15:15 TimToady sigh, there are multiple terabits of fiber capacity with a block or two of me...
15:15 TimToady *within
15:15 geekosaur there's also the good old $city blocks it because (they want more bribes | comcast's bribe was bigger | ...)
15:16 nwc10 but where's the nearest point you can spice in?
15:16 TimToady I think you're confusing me with someone from Dune
15:16 nwc10 oops, naughty fingers
15:17 nwc10 (And I caught one in that line)
15:27 lizmat joined #perl6
15:29 DarthGandalf joined #perl6
15:33 Nom- left #perl6
15:33 Nom- joined #perl6
15:38 pmurias tadzik: Carp::Always::REPL when can I find that?
15:38 tadzik pmurias: on CPAN
15:38 tadzik I think
15:38 tadzik or so I remember
15:38 tadzik https://metacpan.org/module/Carp::REPL just Carp::REPL
15:39 crab2313 joined #perl6
15:47 thou joined #perl6
15:50 lizmat it seems that the trick to export enums doesn't quite work
15:50 FROGGS joined #perl6
15:51 lizmat enum State is export <PENDING FULFILLED REJECTED>;
15:51 lizmat our sub EXPORT (|) { State.enums };
15:51 lizmat the type exported is (Int), not (State)
15:52 lizmat which in turn causes the test-suite to bork on:
15:52 lizmat Type check failed in assignment to '$!state'; expected 'State' but got 'Int'
15:52 lizmat in block  at src/gen/CORE.setting:770
15:52 lizmat in method BUILDALL at src/gen/CORE.setting:753
15:52 lizmat in method bless at src/gen/CORE.setting:743
15:52 lizmat in method new at src/gen/CORE.setting:728
15:52 lizmat in method new at src/gen/CORE.setting:726
15:52 lizmat in method dispatch:<.=> at src/gen/CORE.setting:1057
15:52 lizmat in block  at promise.t:21
15:54 gtodd is there a channel or human+bot combination that helps people translate perl5 to perl6 :-)
15:55 pmurias pmichaud: ping?
15:55 gtodd #perl11 ?
15:56 PerlJam gtodd: #perl6 will help (probably)
15:56 pmurias gtodd: this channel seems to be the best one for asking perl6 questions
15:59 gtodd well just wondering about ${^MATCH} $& and the like
16:01 PerlJam gtodd: $& -> ~$/  (or $/.Str)
16:01 adu joined #perl6
16:02 gtodd or right I forgot about .Str
16:04 PerlJam There's alsos $/.prematch and $/.postmatch  for $` and $'
16:05 gtodd wow ... nice error messages ... have these improved ?  I try this perl5 in the perl6 REPL
16:05 gtodd $todo = "create mass sprawling permaculture food forest";  say $& if $todo =~ /perma\w+/
16:05 gtodd and it instructed me on how to fix it
16:05 lizmat I got this to work: our sub EXPORT (|) { ( map { ( $_ => eval "$_" ) }, State.enums.keys ).hash };
16:06 gtodd \o/
16:06 * gtodd tries it with r:
16:07 gtodd r: my $todo = "create mass sprawling permaculture food forest";  say $& if $todo =~ /perma\w+/
16:07 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $& variable; in Perl 6 please use $/ or $()�at /tmp/L8EANwUFOt:1�------> [32mwling permaculture food forest";  say $&[33m�[31m if $todo =~ /perma\w+/[0m�»
16:08 gtodd r:  my $todo = "create mass sprawling permaculture food forest";  say $/ if $todo =~ /perma\w+/
16:08 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~�at /tmp/Qa66GvXKx3:1�------> [32multure food forest";  say $/ if $todo =~[33m�[31m /perma\w+/[0m�»
16:08 gtodd r: my $todo = "create mass sprawling permaculture food forest";  say $/ if $todo ~~ /perma\w+/
16:08 lizmat ~~ ?
16:08 camelia rakudo c66c42: OUTPUT«「permaculture」␤␤»
16:08 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
16:09 gtodd rakudo just instructed me on how to use perl6!
16:09 lizmat gtodd: try anything with foo->bar
16:09 lizmat std: foo->bar
16:09 camelia std 316b40b: OUTPUT«[31m===[0mSORRY![31m===[0m�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:�------> [32mfoo->[33m�[31mbar[0m�Undeclared routine:�       'foo' used at line 1�Parse fa…
16:10 gtodd PerlJam: yes, and it seems to be getting better at it ... is it the introspection ?
16:10 gtodd lizmat: nice ...
16:10 lizmat experience frozen in grammar
16:11 gtodd wow ... I wonder if a subset of this will be backported to perl5  errm 5.24 :-)
16:12 lizmat backporting Perl 6 features has been tried a few times already
16:12 lizmat I think the only one that's mostly without problems in p5 is "say"
16:13 lizmat 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?
16:14 lizmat wow, that's asking for a lot
16:14 lizmat and there's also the issue of performance
16:14 gtodd hah :-)
16:14 gtodd yeah
16:14 lizmat just the other day I got bitten by "@a.push &foo"
16:15 lizmat which was parsed by Perl 6 as "@a.push & foo"
16:15 lizmat and therefore not quite did what I wanted it to do
16:16 TimToady I'm testing a patch for that
16:16 lizmat cool!
16:17 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
16:17 TimToady plus a test that the function is defined
16:18 lizmat I'm pretty sure that diff will also teach me a lot  :-)
16:18 Vlavv_ joined #perl6
16:19 dalek std: fa59c1b | larry++ | STD.pm6:
16:19 dalek std: catch use of &foo in infix position after ws
16:19 dalek std: review: https://github.com/perl6/std/commit/fa59c1b325
16:19 lizmat golfed the exporting enums issue down to "our sub EXPORT (|) { ( map { ( $_ => eval $_ ) }, State.enums.keys ).hash };"
16:20 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 :)
16:21 TimToady network going down soon, later &
16:21 pmichaud pmurias: https://gist.github.com/pmichaud/5bd0b87f9f6366c3fd90
16:22 pmichaud 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. ;)
16:23 gtodd :)
16:24 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?
16:24 lizmat yup, afaik
16:25 lizmat wrt say: does this print "foo" with 1 or with 2 newlines: perl -lE 'say "foo"'
16:25 lizmat answer: only 1
16:26 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:  https://gist.github.com/grondilu/5510686
16:27 grondilu ^ if you have a minute to spare...
16:29 gtodd grondilu: neat problem :-) .... but it's sunny and nice outside
16:29 gtodd and it will take me more than a minute
16:29 gtodd (but it would be fun to learn how to do that)
16:29 [Coke] grondilu: ... why are there no bees!
16:29 * lizmat smells a (potential?) #masakism task
16:30 lizmat [Coke]: pollution, insecticides, who knows?
16:31 lizmat no J's, U's or Z's either
16:31 lizmat or X's
16:31 crab2313 joined #perl6
16:31 grondilu there are no amino acid starting with B, J, U etc
16:31 pmichaud I'm afk -- fetching lunch
16:38 grondilu wtf, I get a "premature heredoc consumption" with this:  https://gist.github.com/grondilu/5510878
16:39 am0c joined #perl6
16:39 gtodd grondilu: maybe   my $matrix = "matrix.txt";   my $fh = open $matrix;
16:39 gtodd :-)
16:39 gtodd is there a __DATA__ in perl6?
16:40 grondilu gtodd: I think the equivalent of __DATA__ will be when $*POD will be implemented
16:40 [Coke] my @lines = "matrix.txt".IO.lines;
16:40 grondilu I don't want to put it in a separate file.  I hate separate files :/
16:41 gtodd grondilu: ahh good idea since $*POD is not a separate problem
16:41 grondilu but I thought heredocs worked fine in rakudo?!
16:42 grondilu are they broken or am I missing something?
16:44 moritz there's a problem with removing whitespace when interpolating multi-line strings
16:45 [Coke] grondilu: your example is ambiguous
16:45 [Coke] (or is just symetrical?)
16:46 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.
16:46 pmichaud or you could just go back to the version that is broken.
16:46 pmichaud *isn't
16:47 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.
16:48 [Coke] grondilu: https://gist.github.com/anonymous/5511062
16:48 [Coke] which is already not what you wanted. :)
16:48 [Coke] if I change it to \M instead of %M, I get: Method 'ast' not found for invocant of class 'NQPMu'
16:49 grondilu first things first:  can someone confirm that heredocs are broken?
16:50 grondilu or is it me that have totally forgotten the syntax?
16:50 kbenson pmichaud: That's an entirely sensible suggestion.
16:50 timotimo moritz: https://github.com/timo/rakudo/commit/7aba1d7edc8c4a629994fe21f369b1355cf16676 - this is my WIP, and here's the files i tested it with: https://gist.github.com/timo/cf455486e89695c050ad
16:51 timotimo 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
16:51 grondilu s/wrote/write/
16:52 grondilu (but it's very ugly)
16:52 [Coke] grondilu: t/spec/S02-literals/quoting.t
16:53 [Coke] (that has some heredoc examples)
16:53 grondilu I see
16:54 grondilu I had to put the semi-colon *after* the marker.  I tought I could put it before.
16:54 grondilu has this rule  changed recently or something?
16:54 grondilu or am I just hallucinating?
16:55 mavcunha joined #perl6
16:56 [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.
16:57 [Coke] grondilu: which line numbers are you referring to?
16:57 berekuk joined #perl6
16:57 grondilu 316 and 326
16:57 mavcunha left #perl6
16:58 grondilu see?
16:59 * grondilu notice than one is :to and the other is :heredoc
16:59 * grondilu thought these were the same, but he might be wrong
17:00 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.
17:02 grondilu if I do I get a "premature heredoc consumption"
17:03 gtodd [Coke]: "comb" is neat
17:06 * gtodd wants to read about comb by doing  " p6doc comb "  instead of "p6doc Str.comb "
17:06 gtodd but still :)
17:22 _ilbot joined #perl6
17:22 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend! ! temporary logs at http://colabti.org/irclogger/irclogger_log/perl6
17:22 arnsholt If a UTF-8 multi-byte sequence gets split in two by the chunk size, it explodes
17:23 * lizmat wonders how Perl 5 IO layers handle this
17:23 lizmat wouldn't be surprised if there was no validation at that level
17:23 moritz http://irclog.perlgeek.de/perl6/today # back to your regularly scheduled IRC logs, updated in real time
17:24 moritz 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
17:24 moritz (it = perl 5)
17:25 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
17:25 masak arnsholt, lizmat: yes. suffering from buffering.
17:25 moritz http://irclog.perlgeek.de/masakism/2013-05-01 also has the interesting parts
17:25 masak more exactly, my blog software brought out this failure into the daylight. I'm currently investigating.
17:25 masak moritz++
17:26 arnsholt masak: Running the snippet in gdb with an appropriate breakpoint should point you to the offending location in Parrot I think
17:26 arnsholt (The error is thrown from parrot/src/string/encoding/utf8.c)
17:29 shinobicl joined #perl6
17:31 masak yes, I just found that location.
17:31 masak I've also found the routines that are called from .readall -- trying currently to connect the dots.
17:35 domidumont joined #perl6
17:39 kaleem joined #perl6
17:39 pmurias pmichaud: thanks for feedback
17:42 Chillance joined #perl6
17:45 grondilu rn: constant %h = <foo bar> Z=> 42, 13; say %h.WHAT
17:45 camelia niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
17:45 camelia ..rakudo c66c42: OUTPUT«(List)␤»
17:45 grondilu rn: my %h = <foo bar> Z=> 42, 13; say %h.WHAT
17:46 camelia rakudo c66c42, niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
17:46 grondilu 'constant' prevents rakudo from identifying a hash assignment.
17:48 grondilu rn: constant %h = foo => "bar"; say %h.WHAT
17:48 camelia rakudo c66c42: OUTPUT«(Pair)␤»
17:48 camelia ..niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
17:48 grondilu rn: my %h = foo => "bar"; say %h.WHAT
17:48 camelia rakudo c66c42, niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
17:49 grondilu rn: constant %h = Hash.new; say %h.WHAT
17:49 camelia rakudo c66c42, niecza v24-37-gf9c8fc2: OUTPUT«(Hash)␤»
17:50 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…
17:50 camelia ..rakudo c66c42: OUTPUT«(Hash)␤»
17:51 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…
17:51 camelia ..rakudo c66c42: OUTPUT«().hash␤»
17:52 colomon rn: constant %h = foo => "bar"; say %h.perl
17:52 camelia niecza v24-37-gf9c8fc2: OUTPUT«{"foo" => "bar"}.hash␤»
17:52 camelia ..rakudo c66c42: OUTPUT«"foo" => "bar"␤»
17:52 [Coke] r: $$+var;
17:52 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Non-declarative sigil is missing its nameâ�¤at /tmp/dLiA59nLnc:1â�¤------> [32m$$[33mâ��[31m+var;[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤Â»
17:53 masak I suspect this line ultimately calls utf8_scan: https://github.com/parrot/parrot/blob/master/src/io/utilities.c#L389
17:54 masak I don't see STRING_scan defined anywhere, so I don't know how that works exactly.
17:54 masak but if I'm right, that line triggers the error.
17:54 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.
17:55 masak yeah, suspected so.
17:55 masak didn't find the macros, though.
17:55 masak help appreciated.
17:55 dalek perl6-roast-data: 17357f9 | coke++ | / (3 files):
17:55 dalek perl6-roast-data: today (automated commit)
17:55 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/17357f9b97
17:57 arnsholt masak: The macros are defined in the header files, which live in parrot/include
17:57 masak ah.
17:57 arnsholt If you grep in parrot/src you won't find them
17:57 masak found it.
17:57 masak arnsholt++
17:58 arnsholt I've spent some time grepping around in Parrot =)
17:58 masak #define STRING_scan(i, src) ((src)->encoding)->scan((i), (src))
17:58 masak so I think I can assume that it's that line that calls utf8_scan.
17:58 masak ...and that feels to me to be a fundamentally flawed thing to do, in a not-yet fully built string.
17:59 masak 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.
18:00 * masak tries to check out a standalone parrot, remove that line, and see what tests fail
18:02 masak what's the way to run tests in Parrot? 'make test'?
18:02 moritz yes
18:03 arnsholt masak, moritz: Maybe we should continue this discussion in #parrot?
18:03 * masak read '@moritz' as 'o moritz' :)
18:03 arnsholt I suspect they might have useful things to say as well
18:04 colomon o moritz, our moritz ...
18:04 masak arnsholt: nah, I'm done for now.
18:04 arnsholt 'k
18:04 timotimo if @foo[] makes a copy of a list, how do i create a copy of a hash? will .hash do?
18:05 moritz .oO( o tempora, or moritz )
18:05 arnsholt moritz++ # Cicero reference
18:06 masak moritz: :D
18:06 PerlJam timotimo: I don't understand.  my %hash = %other_hash;  # make a copy of a hash.
18:07 timotimo oh? neat.
18:08 PerlJam timotimo: also,   my @array = @other_array;  # make a copy of an array.
18:08 PerlJam timotimo: Was there some context I'm missing?
18:09 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␤»
18:09 camelia ..rakudo c66c42: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤»
18:09 colomon copy, yup!
18:09 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, 20, 21].list␤»
18:09 camelia ..rakudo c66c42: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 21)␤»
18:11 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 :)
18:12 PerlJam 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
18:13 timotimo especially if the outside code does my @a := foo.get-private-thing as colomon showed above
18:16 tgt joined #perl6
18:19 gtodd grondilu: did you solve your matrix problem your way or did you copy [Coke] ? :-)
18:22 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 #perl6
18:22 timotimo i've gone with .copy now
18:22 timotimo r: say [1, 2, 3, 4].copy
18:22 camelia rakudo c66c42: OUTPUT«No such method 'copy' for invocant of type 'Array'␤  in block  at /tmp/2N_I6uNmS1:1␤␤»
18:22 timotimo er ...
18:22 timotimo r: say (1, 2, 3, 4).copy
18:22 PerlJam clone?
18:22 camelia rakudo c66c42: OUTPUT«No such method 'copy' for invocant of type 'Parcel'␤  in block  at /tmp/Xm9Rgivwgc:1␤␤»
18:22 timotimo oh, clone
18:22 timotimo yes, indeed
18:23 dmol joined #perl6
18:23 timotimo why didn't it suggest that to me? :D
18:23 timotimo r: say "foo" < "bar"; say "bar" < "foo";
18:23 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…
18:23 timotimo r: say "foo" lt "bar"; say "bar" lt "foo";
18:23 camelia rakudo c66c42: OUTPUT«False␤True␤»
18:23 timotimo nice.
18:27 FROGGS moritz++ # logs
18:27 gtodd grondilu: well your question got me to try p6 heredocs which are a bit different
18:28 grondilu gtodd: you mean you had never tried them before?
18:28 PerlJam grondilu: is your matrix row-major or column-major order?
18:29 grondilu PerlJam: it's symetric, so it does not matter (unless I don't understand your question)
18:30 PerlJam oh, I didn't even notice.
18:30 gtodd grondilu: constant MATRIX = q:heredoc/EOT/ ....
18:31 gtodd looks different than perl5 :)
18:31 gtodd grondilu: that's all
18:32 gtodd grondilu: but then Coke demonstrated comb ....
18:32 tgt joined #perl6
18:33 PerlJam I would have probably done it similar to Coke, but used split instead :)
18:33 PerlJam (that might just be some p5-think though)
18:33 timotimo my %repr = <A B  B C  C D>; say ("A", %repr{*} ... Nil).list
18:34 timotimo r: my %repr = <A B  B C  C D>; say ("A", %repr{*} ... Nil).list
18:34 camelia rakudo c66c42: OUTPUT«(timeout)»
18:34 timotimo r: my %repr = <A B  B C  C D>; say ("A", %repr{*} ... * !~~ %repr).list
18:34 camelia rakudo c66c42: OUTPUT«A␤»
18:34 timotimo huh.
18:35 timotimo shouldn't that at least give me B and C?
18:36 grondilu you guys know about the "words" method, right?
18:36 grondilu r: say "foo bar jeez".words
18:36 camelia rakudo c66c42: OUTPUT«foo bar jeez␤»
18:36 grondilu r: say "foo bar jeez".words.join: ","
18:36 camelia rakudo c66c42: OUTPUT«foo,bar,jeez␤»
18:36 timotimo r: my %repr = <A B  B C  C D>; say ("A", %repr{*} ... { not %repr{$_} :exists }).list
18:36 camelia rakudo c66c42: OUTPUT«A B C D␤»
18:36 timotimo ah, that's it! :)
18:38 cognominal joined #perl6
18:39 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:40 gtodd 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." :)
18:41 masak heh.
18:41 masak but I found it where arnsholt++ said.
18:43 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:44 [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:47 * [Coke] wonders how to do car/cdr in perl6. ;)
18:48 * [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);
18:48 [Coke] r: my @a = <a b c d>; for @a -> $left, *@rest { say $left };
18:49 camelia rakudo c66c42: OUTPUT«(timeout)»
18:49 camelia rakudo c66c42: OUTPUT«a␤b␤c␤d␤»
18:49 colomon r: sub car([$first, @rest]) { $first; }; my @a = 1...10; say car(@a);
18:49 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␤␤»
18:49 masak r: my %repr = <A B  B C  C D>; say ("A", %repr{*} ... * !~~ any(%repr.keys)).list
18:49 camelia rakudo c66c42: OUTPUT«A␤»
18:49 colomon r: sub car([$first, @*rest]) { $first; }; my @a = 1...10; say car(@a);
18:49 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/La_oFRIfAu:1â�¤------> [32mt]) { $first; }; my @a = 1...10; say car[33mâ��[31m(@a);[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        s…
18:49 colomon r: sub car([$first, *@rest]) { $first; }; my @a = 1...10; say car(@a);
18:49 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/Bb7JEbnosp:1â�¤------> [32mt]) { $first; }; my @a = 1...10; say car[33mâ��[31m(@a);[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        s…
18:49 masak colomon: control character.
18:49 colomon dammit
18:49 masak janet
18:50 [Coke] I LOVE YOU
18:50 masak :P
18:50 colomon r: sub car([$first, *@rest]) { $first; }; my @a = 1...10; say car(@a)
18:50 camelia rakudo c66c42: OUTPUT«1␤»
18:50 colomon :p
18:50 PerlJam Isn't it the wrong time of year for hat?
18:50 [Coke] Thanks for getting THAT stuck in my head.
18:50 PerlJam s/hat/that/
18:50 colomon there's a wrong time of year for that?
18:50 masak surely not.
18:50 colomon anyway, [Coke], there's a working car
18:50 [Coke] ~/ here's the ring, to prove that I'm no joooooooker /~
18:50 colomon I leave cdr as an exercise.  ;)
18:51 [Coke] colomon: aye - any ideas on how to make my version work?
18:51 [Coke] r: my @a = <a b c d>; for @a -> $left, **@rest { say $left };
18:51 camelia rakudo c66c42: OUTPUT«a␤b␤c␤d␤»
18:51 [Coke] r: my @a = <a b c d>; for @a -> $left, ********@rest { say $left };
18:51 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed parameterâ�¤at /tmp/ujz0zGLjKu:1â�¤------> [32mmy @a = <a b c d>; for @a -> $left, [33mâ��[31m********@rest { say $left };[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        parameterized blockâ�¤        form…
18:52 [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{*}
18:52 camelia rakudo c66c42: OUTPUT«B C D␤»
18:52 masak two.
18:52 timotimo that works? neat!
18:52 masak TimToady: nice! very S09.
18:52 masak r: my %repr = <A B  B C  C D>; say %repr{}
18:52 camelia rakudo c66c42: OUTPUT«("A" => "B", "B" => "C", "C" => "D").hash␤»
18:52 colomon [Coke]: your example seems confused
18:53 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␤»
18:53 masak moritz: I can't seem to connect to http://irclog.perlgeek.de/
18:53 [Coke] r: my @a = <a b c d>; for @a -> [$left, *@rest] { say $left };
18:53 camelia rakudo c66c42: OUTPUT«Nominal type check failed for parameter ''; expected Positional but got Str instead␤  in block  at /tmp/IpsjfKscrR:1␤␤»
18:54 PerlJam r: my @a = <a b c d>; for [@a] -> ($left, *@rest) { say $left; }
18:54 camelia rakudo c66c42: OUTPUT«a␤»
18:54 [Coke] O_o
18:55 TimToady I'm not sure that %repr{*} is doing what you think in %repr{*} ...
18:55 lizmat masak: works here
18:55 [Coke] r: my @a = <a b c d>; [@a] -> ($left, *@rest) { $left; }
18:55 camelia rakudo c66c42: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)â�¤at /tmp/kHJ41TohgX:1â�¤------> [32mmy @a = <a b c d>; [@a] [33mâ��[31m-> ($left, *@rest) { $left; }[0mâ�¤    expecting any of:â�¤        pos…
18:55 TimToady it's not a closure
18:56 TimToady so you're saying <A B C D> ... mumble
18:56 timotimo oh?
18:56 timotimo whoopsie.
18:56 masak lizmat: I'm sorry -- what works there?
18:57 lizmat [20:53:54] <masak> moritz: I can't seem to connect to http://irclog.perlgeek.de/
18:57 [Coke] grondilu, PerlJam: https://gist.github.com/coke/5512802
18:57 timotimo TimToady: how do i write it shorter than { %repr{$_} }?
18:58 [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.
18:58 timotimo nested fors would work with the X operator, methinks
18:58 FROGGS masak: or dns resolving issue
18:58 lizmat or the mobile provider's DNS not having caught up yet
18:59 pmichaud or a cached dns entry
18:59 PerlJam [Coke]: https://gist.github.com/perlpilot/5512836
19:00 [Coke] nice.
19:00 PerlJam [Coke]: I get the feeling yours is missing an opportunity to use recursion  :)
19:01 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␤␤»
19:01 FROGGS I guess I do that next
19:01 colomon instead of for [$line.words] -> ($header, *@cells)
19:01 colomon wouldn't my ($header, @cells) = $line.words work just as well?
19:01 PerlJam yes, but it wouldn't play with signature unpacking :)
19:02 [Coke] ;)
19:04 FROGGS r: say AST.new( :op('if') ) # is that the same as QAST?
19:04 camelia rakudo c66c42: OUTPUT«AST.new()␤»
19:08 cognominal joined #perl6
19:09 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 })
19:09 camelia rakudo c66c42: OUTPUT«A B C D␤»
19:10 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{$_} })
19:10 camelia rakudo c66c42: OUTPUT«A B C D␤»
19:10 timotimo r: my %repr = <C D B C A B>; my $a = "A"; say ($a, { %repr{$_} } ... { $_ !~~ %repr })
19:10 camelia rakudo c66c42: OUTPUT«A B C D␤»
19:10 FROGGS masak: so I could write a slang in perl6 instead of nqp, and use AST instead of QAST
19:10 timotimo objections?
19:11 masak FROGGS: I... I don't think so.
19:11 FROGGS :/
19:11 masak FROGGS: at least, that's not at all what I said.
19:11 masak FROGGS: for now, think of AST objects as something that serves macros only.
19:11 masak FROGGS: whatever it is you want to do with slangs, they are not for that.
19:11 timotimo can i return custom AST objects from a macro?
19:11 masak at least not yet.
19:11 masak timotimo: yes, that's the goal.
19:11 FROGGS hmmm
19:12 timotimo the goal ... or already implemented? :D
19:12 FROGGS okay
19:12 masak timotimo: already implemented, to the extent that you can express what you want to do using quasi blocks.
19:12 masak timotimo: but not everything can/should be expressed that way, of course.
19:13 timotimo right. repetitions inside ASTs for instance is something i've recently missed
19:13 FROGGS like feelings?
19:13 pmurias how many proposals were submitted to the Parrot foundation for GSoC?
19:15 masak FROGGS: feelings are currently outside of the scope of quasi blocks, yes.
19:15 masak FROGGS: they don't compose well with lexical binding.
19:15 FROGGS *nod*
19:17 spider-mario joined #perl6
19:19 masak I read a paper once where someone had managed to implement delimited feelings in a dialect of Scheme.
19:20 FROGGS hehe
19:21 masak but full feelings is problematic from a GC perspective, since they essentially capture parts of the call stack.
19:21 masak and close over them.
19:22 * FROGGS .oO( a crappy implemented GC caled alcohol )
19:22 FROGGS called*
19:23 FROGGS my L doesnt work well
19:24 FROGGS aaahh, a hair of a cat
19:25 masak people, we're losing FROGGS. :)
19:25 PerlJam [Coke]: Here's a crazy one based on yours: https://gist.github.com/perlpilot/5513104
19:27 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 #perl6
19:27 TimToady r: sub car { .key }; sub cdr { .value }; my $list = 1 => 2 => 3 => 4; say car($list).perl; say cdr($list).perl
19:28 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!
19:28 TimToady r: sub car($_) { .key }; sub cdr($_) { .value }; my $list = 1 => 2 => 3 => 4; say car($list).perl; say cdr($list).perl
19:28 PerlJam :)
19:28 camelia rakudo c66c42: OUTPUT«1␤2 => 3 => 4␤»
19:28 TimToady those are real Lisp lists
19:29 TimToady 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 )
19:30 TimToady though it's easy enough to turn a p-list into an l-list with [=>] 1,2,3,4
19:32 masak r: say [=>] 1, 2, 3, 4
19:32 camelia rakudo c66c42: OUTPUT«1 => 2 => 3 => 4␤»
19:32 PerlJam TimToady: now all you have to do is auto generate caar, cadr, cdar, cddr, caaar, caad, cadar, etc.   :)
19:32 spider-mario r: my @hashes = {a => 5}, {a => 7}; @hashes»<a>».say;
19:32 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…
19:32 spider-mario would that not be supposed to work?
19:32 spider-mario is it a rakudobug?
19:33 spider-mario oh, perl6 segfaults on my machine when I exit after entering that line
19:33 spider-mario it’s not the latest revision, though
19:34 spider-mario (perl6 as in “the executable named `perl6`”)
19:36 colomon r: sub car($_) { .key }; sub cdr($_) { .value }; my $list = [=>] 1,2,3,4; say car($list).perl; say cdr($list).perl
19:36 camelia rakudo c66c42: OUTPUT«1␤2 => 3 => 4␤»
19:37 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:38 TimToady btw, on RC we've passed Go   :)
19:39 cognominal joined #perl6
19:39 PerlJam Did we collect $200?
19:39 TimToady alas no
19:39 TimToady we're now tied with Ruby
19:39 masak at least we didn't go to jail.
19:40 masak r: say (((1 => 2) => 3) => 4)
19:40 camelia rakudo c66c42: OUTPUT«((1 => 2) => 3) => 4␤»
19:40 masak \o/
19:43 timotimo i remember making that output properly \o/
19:44 TimToady n: say (((1 => 2) => 3) => 4)
19:44 camelia niecza v24-37-gf9c8fc2: OUTPUT«1 => 2 => 3 => 4␤»
19:45 TimToady p: say (((1 => 2) => 3) => 4)
19:45 camelia pugs: OUTPUT«1  2       3       4␤»
19:48 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...
19:48 camelia rakudo c66c42: OUTPUT«1,2,␤»
19:50 adu FROGGS: really?
19:51 TimToady see also http://rosettacode.org/wiki/Singly-linked_list/Traversal#Perl_6
19:51 timotimo my kruskal implementation doesn't seem to create a spanning tree :|
19:52 timotimo now is the time to already have written lots of tests.
19:53 labster good morning, #perl6
19:53 labster .tell tadzik yes, I'm changing IO::Path stringification, but it hasn't caused any test failures for Shell::Command
19:53 yoleaux labster: I'll pass your message to tadzik.
19:54 FROGGS adu: sure
19:55 FROGGS adu: first you have to know that you can only write slang as an nqp module atm
19:55 FROGGS adu: https://github.com/rakudo-p5/v5/ is a working example
19:55 FROGGS though a bit huge
19:56 FROGGS morning labster
19:56 labster \o FROGGS
19:58 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 FROGGS adu: after that the grammar will switch to the statementlist of your MySlang grammar
20:00 FROGGS adu: I am working on a sample slang module too, but I guess that wont be finished within a week
20:06 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:24 spider-mario r: my @hashes = {a => 5}, {a => 7}; @hashes.map(*<a>)».say;
20:24 spider-mario r: my @hashes = {a => 5}, {a => 7}; @hashes».<a>».say;
20:25 camelia rakudo c66c42: OUTPUT«7␤5␤»
20:25 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…
20:25 spider-mario it does look like a bug to me
20:25 spider-mario n: my @hashes = {a => 5}, {a => 7}; @hashes».<a>».say;
20:25 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 @ …
20:25 spider-mario oh.
20:35 TimToady note that hypers are still not working according to spec; they're not supposed to descend into subhashes or subarrays any more
20:36 TimToady so for now .map is the workaround
20:38 masak real 64m24.082s
20:38 masak that's the time it takes for psyde, my blogging platform, to generate all my blog post these days.
20:39 masak it used to take about a tenth of that time.
20:39 timotimo does it regenerate all blog posts each time?
20:39 masak no, not in general.
20:39 lizmat that's not the issue
20:39 timotimo wow, 10x as much? that's harsh
20:39 masak yes.
20:39 masak I'm curious what change caused that.
20:39 timotimo have you looked at --profile yet?
20:40 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.
20:40 pmichaud well, it could be O(n**2), depending on cross linking.
20:41 pmichaud (don't know much about psyde's architecture, thus the questions :)
20:41 masak sure, sure.
20:41 pmichaud would psyde still work with older versions of rakudo?
20:41 masak yes, with perhaps minor modifications.
20:41 pmichaud e.g., 2013.01 or a late 2012.xx version?
20:41 masak oh, sure.
20:41 masak it was written in 2010.
20:41 pmichaud might be worth bisecting
20:41 masak I will attempt a bisect in the weekend.
20:41 masak Sunday, to be exact.
20:42 pmichaud a profile could be helpful also :)
20:42 masak I'll remember that.
20:42 masak just ooc, when did *Rakudo* switch beyond the Parrot IO refactor?
20:43 pmichaud checking.  Parrot IO refactor was 2012.08, iirc.
20:43 masak ok.
20:43 grondilu r: sub Lisp(@l) { @l>1 ?? ( @l.shift, Lisp(@l) ) !! @l }; say Lisp([^10]).perl
20:43 camelia rakudo c66c42: OUTPUT«(0, (1, (2, (3, (4, (5, (6, (7, (8, Array.new(9))))))))))␤»
20:43 grondilu ^ that's how I'd do it.
20:44 pmichaud I/O refactor was 2012-09, the 4.8.0 release.
20:44 pmichaud checking Rakudo history.
20:46 pmichaud rakudo 2012.09 used Parrot 4.8.0
20:46 arlinius joined #perl6
20:46 masak yeah, looks like.
20:46 masak didn't we downgrade or something for a while, though?
20:47 masak Back PARROT_REVISION down to 4.4.0, bump VERSION to 2012.09.1
20:47 masak that's the Fri Sep 28 commit to tools/build/PARROT_REVISION in the nqp repo.
20:48 masak 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.
20:48 pmichaud but yes, we bumped down for a bit, iirc
20:49 pmichaud anyway, we stayed at 4.10.0 for several months
20:49 masak but that's post-IO-refactor already.
20:49 pmichaud correct.
20:50 masak ok, good. then I know about how far to bisect.
20:50 * masak detrains
20:51 * pmichaud just checks the github repos directly.
20:51 pmichaud 2012.09.1 was Parrot 4.4.0
20:52 pmichaud 2012.10 was Parrot 4.4.0
20:52 pmichaud 2012.11.1 was Parrot 4.10.0
20:52 pmichaud so 2012.10 is the latest Rakudo version that is pre IO-branch merge
20:57 rindolf joined #perl6
21:00 sahadev joined #perl6
21:04 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) { ...
21:05 FROGGS o/ jnthn
21:05 lizmat o/ jnthn!
21:07 jnthn [Coke]: May need a re-configure, or may be that I missed a dependency...
21:07 census joined #perl6
21:09 pmichaud anyone else experiencing delays in RT tickets showing up in email?
21:10 FROGGS yes
21:10 FROGGS pmichaud: I get them days to late
21:11 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
21:12 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
21:12 lizmat Received: by x17.develooper.com (Postfix, from userid 405) id 0B8CE35BBD; Wed,  1 May 2013 14:59:03 -0700 (PDT)
21:13 pmichaud Received: from x6.develooper.com (x6.develooper.com [207.171.7.86]) by maroon.pobox.com (Postfix) with ESMTP id E285AC83988 for <pmichaud@pobox.com>; Fri,  3 May 2013 02:27:09 -0400 (EDT)
21:13 lizmat so I got it within ~ 5 minutes or so
21:13 lizmat *25
21:14 pmichaud it didn't hit pobox until about 12 hours ago
21:15 pmichaud lizmat: you may have received it sooner, since you were the person posting the bug report.
21:15 pmichaud i.e., you get a reply directly from RT; the rest of us get it through the perl6-compiler list.
21:16 pmichaud yes, because I have...
21:16 pmichaud Received: (qmail 16632 invoked from network); 1 May 2013 21:59:10 -0000
21:16 pmichaud Delivered-To: perl6-compiler@perl.org
21:16 pmichaud and then in the same message
21:16 pmichaud Received: from lists-nntp.develooper.com (localhost.localdomain [127.0.0.1]) by x6.develooper.com (Postfix) with SMTP id 0428517AEE for <pmichaud@pobox.com>; Thu,  2 May 2013 23:26:42 -0700 (PDT)
21:16 pmichaud Received: (qmail 14062 invoked by uid 514); 3 May 2013 06:26:08 -0000
21:16 pmichaud so it looks like it spent a day or so in the perl6-compiler queue.  :-/
21:17 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
21:18 FROGGS after that delay it just took a minute to hit my mailbox
21:18 FROGGS Received: (qmail 28751 invoked from network); 3 May 2013 08:27:11 +0200
21:19 dalek nqp: e3b8ef2 | pmichaud++ | / (2 files):
21:19 dalek nqp: P6Regex: Make sure that <alpha> + % <sep> properly captures
21:19 dalek nqp: multiple instances of <sep>.  Should fix RT #117831.
21:19 dalek nqp: review: https://github.com/perl6/nqp/commit/e3b8ef2e17
21:20 jnthn ooh, pmichaud++
21:20 jnthn That one has been around for a while.
21:20 FROGGS cool
21:20 pmichaud RT 117821 was just reported.
21:20 FROGGS pmichaud++
21:20 pmichaud is there another one?
21:20 timotimo oh, it will give a list of <sep>?
21:20 jnthn pmichaud: I know I've run into it somewhere in Rakudo's grammar before.
21:21 jnthn pmichaud: I *think* there was an RT too
21:21 pmichaud yes, it now gives a list of <sep>
21:21 jnthn The RT queue is too big for me to keep in my head :)
21:21 timotimo so if the sep differ between instances, you'll get every one of them. cool!
21:21 pmichaud I'm still in favor of moving to GitHub issues (but masak++ continues to hold the veto vote)
21:22 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.
21:22 pmichaud well, it's also easier to tag.
21:22 timotimo maybe it's harder to get the data out of there?
21:22 pmichaud and the tags make more sense.  I'm not a fan of "rejected"
21:23 pmichaud "closed" is much friendlier.
21:24 pmichaud anyway -- yes, the RT queue is on the big side.  Coke++ keeps doing his bit to keep it down, though.
21:25 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 FROGGS ... and clean
21:26 lizmat wrt to 117829: perhaps this should at least be activated during tests?
21:27 lizmat so that "new" complaints about excess named parameters?
21:28 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:â�¤------> [32mclass Foo { has $.bar }; my Foo [33mâ��[31m$a .= new( bar => 1, baz => 2 )[0mâ�¤â�¤Â»
21:28 lizmat n: class Foo { has $.bar }; my Foo $a .= new( bar => 1, baz => 2 ); $a
21:28 camelia niecza v24-37-gf9c8fc2:  ( no output )
21:28 lizmat hmmm..  I seem to recall Niecza complaining about excess named parameters
21:28 lizmat rn: say :foo
21:28 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/…
21:28 camelia ..rakudo c66c42: OUTPUT«␤»
21:29 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
21:29 pmichaud yeah, it's a specbug.
21:29 pmichaud well, not even a specbug.
21:29 pmichaud rakudo is performing as specced.
21:29 jnthn It's not automatically a bug. It's a request to reconsider an aspect of the design.
21:29 pmichaud right.
21:29 lizmat indeed
21:29 jnthn Anyway, part of keeping RT to a sane size is not having such things in it.
21:29 lizmat so where would this live then?
21:30 pmichaud http://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 tgt joined #perl6
21:30 pmichaud I'm looking at the Mu.new and Mu.BUILD code to see how hard it would be to manage.
21:31 lizmat (then by all means close it in RT, I'll create in issue in spec)
21:31 lizmat an
21:32 jnthn pmichaud: Trouble is knowing when to complain.
21:32 pmichaud I would think it'd have to be at the end of BUILDALL
21:32 pmichaud if anything in %attrinit didn't get used, then complain about it.
21:33 pmichaud (I agree it's potentially a lot of checking and overhead)
21:33 jnthn Yeah :(
21:33 lizmat indeed.  It wouldn't make things faster
21:33 jnthn And it's a hot path.
21:33 lizmat agree with that
21:33 jnthn The code is already, um, interesting 'cus of things I did to try and cope with that.
21:33 lizmat therefore I was more thinking about a compile time only
21:33 lizmat check
21:34 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.
21:34 jnthn Because it's too late bound / overridable.
21:35 jnthn 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 )
21:36 lizmat I was more thinking about the case of my Foo $obj .= new( foo => 1, bar => 2 )
21:36 lizmat where bar is not an attribute
21:36 pmichaud so, only in a declaration.
21:36 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?
21:36 lizmat indeed...
21:36 pmichaud so, only in a declaration for a class that hasn't overridden .new, .BUILD, .BUILDALL, or .bless  :-)
21:37 pmichaud or .create
21:37 lizmat I was thinking of a pragma that would lexically wrap .new ?
21:37 pmichaud er,   .CREATE
21:37 jnthn Lex...what? It's a method. :)
21:37 lizmat wrap the candidate(s) ?
21:38 lizmat you can .wrap methods, no?
21:38 jnthn Wrapping is (a) not that cheap already, and (b) frustrates optimizations.
21:38 lizmat I see it more as a "use diagnostics" type of thing
21:39 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
21:39 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.
21:39 jnthn *nod*
21:39 pmichaud (at a penalty, of course)
21:40 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.
21:40 pmichaud anyway, it's worth filing a spec ticket for.
21:40 lizmat which is what I will do… and then the RT ticket can be closed or deleted or whatever  :-)
21:40 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 :)
21:41 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. :)
21:41 pmichaud :-D
21:41 lizmat jnthn: indeed, and it would be something I could put on *my* list
21:41 lizmat ;-)
21:42 jnthn pmichaud: Well, Grammar::Tracer "just" does that ;)
21:43 jnthn 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  :-)
21:44 dalek rakudo/nom: 4741028 | pmichaud++ | tools/build/NQP_REVISION:
21:44 dalek rakudo/nom: Bump NQP_REVISION to get fix for RT #117831 (quantified separator).
21:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4741028680
21:46 lizmat https://github.com/perl6/specs/issues/36 just added
21:46 pmichaud lizmat++
21:46 pmichaud and indeed, I got the notification of the spec issue ticket immediately.  :-)
21:46 pmichaud (email notification, that is)
21:48 timotimo tadzik: No such method 'get-project' for invocant of type 'Any' - when i try to install something with panda2
21:48 census joined #perl6
21:49 timotimo hm, i may have a combination of old and new panda actually
21:49 dalek v5: d5ac643 | (Tobias Leich)++ | lib/Perl5.nqp:
21:49 dalek v5: EXPORT sub requires returning a hash now
21:49 dalek v5: review: https://github.com/rakudo-p5/v5/commit/d5ac64360d
21:49 dalek v5: daf70c3 | (Tobias Leich)++ | / (3 files):
21:49 dalek v5: ?-quantifier doenst create RPAs anymore
21:49 dalek v5: review: https://github.com/rakudo-p5/v5/commit/daf70c3fc5
21:51 tgt joined #perl6
21:56 masak 'night, #perl6
21:56 lizmat goodnight masak!
21:59 lizmat sleep as well&
22:03 dalek v5: 0bf4332 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
22:03 dalek v5: cleanup, zhuomingliang++
22:04 dalek v5: review: https://github.com/rakudo-p5/v5/commit/0bf4332e2e
22:04 timotimo i'm kind of stuck here at my hackspace. no way to get home without getting thoroughly soaked
22:06 FROGGS :/
22:06 jnthn Urgh
22:06 jnthn Guess somebody has gotta have the bad weather...
22:12 woolfy left #perl6
22:23 Tene timotimo: just email yourself here for a few hours.
22:23 Tene or maybe CTCP TELEPORT
22:43 jnthn sleep; 'night o/
22:44 berekuk joined #perl6
22:49 tgt joined #perl6
22:49 [Coke] (rt emails) if you're not whitelisted, the messages are held for moderation.
22:50 [Coke] (move to github) I just talked to robrt about that.
22:51 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.
22:51 [Coke] he's not trying to get rid of us, but perl.org admins have even fewer tuits than usual, it seems.
22:53 lue .oO(IIRC masak's objections were along the lines of "we don't *need* to move, so why do it?")
22:54 [Coke] no, those are my objections. ;)
22:54 [Coke] masak's was closer to "You'll pry RT from my cold dead hands".
22:55 skids joined #perl6
22:55 * masak comes back from sleep
22:56 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.
22:56 masak RT is good to me. I like RT. I use RT. I know RT. I use it a lot.
22:56 FROGGS is receiving mails 3 days later a good reason?
22:56 masak not really.
22:57 masak 'night again, #perl6
22:57 FROGGS night :o)
22:57 timotimo gnite masak
22:58 [Coke] pmichaud: I tagged that ticket testneeded
22:59 ajr joined #perl6
22:59 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)
23:00 diakopter joined #perl6
23:01 timotimo er, RT has a web based submission form, doesn't it? /me looks
23:01 FROGGS nope
23:01 timotimo o_O
23:03 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.
23:03 [Coke] also, big upgrade to RT4 coming at some point.
23:04 timotimo mhm.
23:04 FROGGS hmmm, since *I* dont want to move the ticket I'd say we wait :o)
23:04 * lue would also like bugtrackers to allow bug submissions without creating an account, but nobody does that so far as I know
23:05 FROGGS lue, that is what you can do right now
23:06 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
23:06 [Coke] lue: no account needed to email tickets in.
23:07 FROGGS gnight pals
23:07 FROGGS timotimo: come safe and dry home :/
23:07 [Coke] FROGGS: ~~
23:07 timotimo i may spend the night here :|
23:07 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))
23:08 timotimo i wish i could tell RT to never show me bugs from the perl5 queue ever
23:09 lue :)
23:09 [Coke] timotimo: create a login and don't show those queues.
23:09 * [Coke] doublechecks.
23:10 timotimo huh?
23:11 timotimo how do i ... what?
23:12 geekosaur (this is hard?)
23:13 [Coke] ... I think somewhere under configuration you can do that.
23:14 [Coke] I am on a slow shared wifi link, and will try to remember to check this from home for you.
23:21 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:22 pmichaud or until we're forced to move by some other circumstances.
23:23 lue agreed.
23:24 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:25 ajr_ joined #perl6
23:25 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:26 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.
23:26 ajr_ Which Synopsis explains the methods that can be used on scalars and arrays to determine their sizes?
23:26 huf or is RT so painful that this would be hard?
23:26 pmichaud huf: I don't own the rt instance.  I don't have the ability to say "make logins persistent".
23:27 huf ah
23:29 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 pmichaud 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.
23:31 pmichaud 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 pmichaud 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.
23:32 pmichaud s/probably/possibly/
23:33 pmichaud 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:34 pmichaud 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 pmichaud end of rant.  :)
23:35 TimToady ajr_: what do you mean by "their sizes"?  abstract, or concrete?
23:37 ajr_ TimToady : characters, which I suppose would be abstraCT
23:37 TimToady well. a string's chars are measured with .chars
23:37 TimToady an arrays elements are measures with .elems
23:38 ajr_ Thanks; which sysnopis describes the methods?
23:38 TimToady the ones down in S32, mostly
23:39 TimToady http://perlcabal.org/syn/S32/Containers.html for instance
23:39 TimToady or Str for strings
23:39 ajr_ Good, I'll look there. I prefer to RTFM, rather than bug people, but when I can't even find TFM.....
23:39 TimToady I know the feeling
23:39 * TimToady hates asking questions
23:39 pmichaud http://perl6.org/documentation/
23:40 pmichaud http://doc.perl6.org/
23:40 pmichaud (You may have already looked there; if so, tell us where you hoped to find it :)
23:40 ajr_ Been ther, done that, got confused.
23:40 TimToady "size" is a very nebulous concept these days
23:40 TimToady so we tend to try for more specific concepts
23:41 TimToady but that also makes them harder to search for
23:42 TimToady if this were a book index we could do 'size; in chars' 'size; in bytes' 'size; in elements' etc
23:42 TimToady and the index would teach you to subdivide the concepts
23:42 pmichaud so, what we'd really want is for   doc.perl6.org/size   to present a disambiguation page
23:43 TimToady that would probably help
23:43 pmichaud we have disambiguation pages already... see   http://doc.perl6.org/clone
23:43 pmichaud so, the question is how to add other disambiguation pages
23:44 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
23:44 TimToady in this case it's more of a simple inversion
23:44 pmichaud http://doc.perl6.org/elems   might be better.
23:44 TimToady nodnod
23:45 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 :)
23:45 pmichaud agreed.
23:46 pmichaud http://doc.perl6.org/length is LTA
23:46 pmichaud it's closer to what we want, but it goes the wrong way to get there.
23:47 TimToady it's a description entry trying to be a redirect/disambituator and not succeeding very well
23:48 TimToady *big
23:48 pmichaud if we already have "operators", "variables", "types", "methods", etc.... we probably need "concepts" as a category
23:48 pmichaud or even just "index" :)
23:48 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?
23:48 pmichaud what kind of "coherent description" ?
23:49 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.
23:49 pmichaud or "akas"
23:49 pmichaud or "formerly known as"
23:49 pmichaud or "mislabeled as in other languages"
23:49 ajr_ A description of how I would try to break down the learning task into levels.
23:50 pmichaud ajr_: sounds like a tutorial, book, or series of blog postings
23:51 ajr_ Something like that
23:52 pmichaud see if any of the things on perl6.org/documentation look like a good fit for some contributions.
23:53 pmichaud If yes, then work on those; if not, then perhaps start a blog or a github repo to publish your drafts
23:53 pmichaud announcements about articles and improvements can certainly go to the perl6-users mailing list, Perl ironman, Perl Weekly, perlbuzz, etc.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo