Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-07-11

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:00 Coleoid But Parrot won't build, NQP won't build...
00:01 Coleoid And I'm not sure how to reconfigure the build to reach for different tools.
00:02 Coleoid I think the folks who have succeeded on Windows have been building with MSVC, but the build is using GCC.
00:04 Coleoid Does anyone here build on Windows?  Or know the key for how to repoint the build towards MSVC?
00:04 [Coke] yes, I do. that box is at work, however.
00:05 [Coke] I will try to remember to answer your question tomorrow, but have a full day of $dayjob.
00:06 Coleoid [Coke], I recall your offer--I was also full-up at work, but I expect an open lunch tomorrow, so I'll try to ping you in-channel.
00:06 Coleoid Thanks!
00:08 Coleoid Or if you want to get it out of the way at another time handy to you, feel free to post the info here, and I can backscroll.
00:20 diakopter Coleoid: did you see my reply the other day?
00:21 Coleoid diakopter: thinking...
00:21 * diakopter tries to find it
00:21 diakopter http://irclog.perlgeek.de/perl6/2012-07-09#i_5797785
00:21 Coleoid You were working with GCC and succeeding, weren't you.
00:21 diakopter yes; see the link
00:22 diakopter how did you get gcc on Windows?  cygwin? strawberry? something else?
00:22 Coleoid And I've got Strawberry, too...
00:23 Coleoid I think I may have messed myself up by using msysgit...
00:24 * Coleoid checks path...
00:25 diakopter if you use strawberry's cpan to install http://search.cpan.org/~adamk/File-Which-1.09/ File::Which, you can use pwhich to find files in your %PATH%
00:25 diakopter it's very helpful for me.
00:26 diakopter first you need to find out where it's finding gcc currently.
00:26 diakopter then remove it from your path unless it's strawberry already.
00:28 diakopter yes, it looks like msysgit comes with gcc.
00:29 diakopter so, you'll want to put the 3 strawberry paths BEFORE the msysgit path in your %PATH%
00:30 Coleoid cpan is failing trying to make File-Which.
00:30 Coleoid I've messed up its config, clearly.
00:30 diakopter yeah, because msysgit is in your path instead of strawberry's stuff
00:30 Coleoid The good news is that the strawberry paths were prior to the msysgit paths.
00:30 diakopter oh. ... hmm.
00:31 diakopter but do the strawberry paths include strawberry\c\bin ?
00:31 Coleoid It's using Strawberry's dmake.
00:32 Coleoid Yes, let me paste up the File-Which failure.  Does this channel prefer a gist, or nopaste, or /
00:32 Coleoid any other service?
00:32 diakopter gist or any of the billion nopaste services
00:32 geekosaur "whatever works", I think
00:34 Coleoid https://gist.github.com/3087146
00:35 Coleoid I'm passing it -j3 twice, that seems suspicious...
00:35 diakopter ok. let's try this.
00:35 diakopter 1) uninstall msysgit (don't worry, we'll reinstall it)
00:36 Coleoid Sounds good so far...
00:36 diakopter 2) make sure your %PATH% no longer includes msys' stuff.  On my system, that's c:\Program Files (x86)\Git\cmd
00:38 diakopter (but that's for the most recent version of msysgit.  I seem to recall older versions being somewhere else)
00:38 diakopter 3) reinstall the latest version of msysgit from http://code.google.com/p/msysgit/downloads/list
00:39 diakopter When it asks whether you want to use its unix tools also in your path, say No
00:40 diakopter actually, you could have just removed the Git\bin path from %PATH% instead of uninstalling msysgit; oh well.
00:40 Coleoid :D
00:40 pmichaud fwiw, the other night I tried using strawberry+msysgit and didn't have any luck
00:40 pmichaud and I *know* that strawberry was in my path before msysgit
00:40 pmichaud I'll boot up my windows instance again, if someone can help us through it :)
00:41 diakopter I had to add strawberry\c\bin to my path with the other two strawberry ones to get it to work, iirc
00:41 Coleoid That's fine, I don't see an uninstall, so I'll just pull it out of the path for now...
00:41 diakopter does it still have Git\cmd ?
00:41 diakopter (that's where the git command is)
00:42 Coleoid I've got three strawberry paths, including c\bin--so that's good.
00:42 pmichaud my path has three strawberry paths, then \git\cmd
00:43 Coleoid msysgit has three paths, cmd, bin, and libexec\git-core
00:43 diakopter just remove the bin one
00:44 pmichaud I'll start with a fresh rakudo checkout
00:44 Coleoid Okay
00:44 pmichaud next is  "perl Configure.pl --gen-parrot"  from the rakudo dir
00:45 pmichaud it's "working", but I get a warning of "The system cannot find the path specified"
00:45 diakopter I got that too
00:45 pmichaud followed by "Command failed (status 256):  git clone git://github.com/perl6/nqp.git nqp
00:46 pmichaud (this is from a cmd.exe shell, fwiw)
00:46 diakopter pmichaud: how old is your msysgit? I've got the latest
00:46 Coleoid genning parrot...
00:47 pmichaud I downloaded it from googlecode several nights ago.... so fairly recent
00:47 Coleoid I've got 1.7.11
00:47 pmichaud 1.7.11-preview20120704
00:47 Coleoid --gen-parrot did a lot of talking, then failed as before.
00:48 Coleoid complaining the failure point was --make-install
00:49 diakopter hm, I wonder which strawberry I have
00:50 Coleoid https://gist.github.com/3087197
00:50 diakopter I have Strawberry Perl May 2011
00:51 skids joined #perl6
00:52 * diakopter looks at his parrot Makefile
00:53 diakopter oh, your error is in building NQP
00:54 Coleoid Yeah?
00:54 diakopter pmichaud: one difference is that I built NQP with --gen-parrot then built rakudo with --with-parrot and --with-nqp
00:54 diakopter or whatever they are
00:56 pmichaud it looks to me like part of the problem is that system_or_die (in Configure.pl) is dying when used from the cmd.exe shell
00:57 diakopter Coleoid's got a lot further than that though; it checked out NQP
00:57 pmichaud Coleoid: which shell are you using?
00:57 scott__ joined #perl6
00:58 Coleoid cmd.exe
00:58 pmichaud windows 7?
00:58 Coleoid Yep
00:58 pmichaud I'm on NT
00:58 pmichaud sorry
00:58 pmichaud I'm on XP
00:58 * diakopter Windows 7
00:58 pmichaud so maybe it's something to do with the WinXP shell :-(
00:58 pmichaud system_or_die is at https://github.com/perl6/nqp/blob/master/tools/lib/NQP/Configure.pm#L52
00:59 diakopter did it actually check out parrot?
00:59 pmichaud it checked it out, but then didn't like the result code from git
00:59 pmichaud and if I try running again, it attempts to do a 'git fetch', but again doesn't like the result code from git
00:59 Coleoid The first time I did this it got both parrot and nqp clones.
01:00 diakopter c:\Users\mwilson\src>git --version
01:00 diakopter git version 1.7.10.msysgit.1
01:00 pmichaud Coleoid: yes, I'm thinking your shell or something about your install is giving better result codes.
01:00 pmichaud I mean, a result code of 256 looks a bit suspicious
01:01 Coleoid Well, I just got CPAN unscrambled enough to get File-Which--so, progress!
01:02 diakopter pwhich git should return msysgit's git.cmd
01:02 Coleoid It does.
01:02 Coleoid D:\msysgit\cmd\git.EXE
01:03 diakopter what does git --version say
01:03 Coleoid git version 1.7.11
01:04 pmichaud mine says git version 1.7.11.msysgit.1
01:04 diakopter Coleoid: weird.
01:05 diakopter on mine, the sole contents of Git\cmd\ are git.cmd and gitk.cmd
01:05 diakopter is that the same as yours?
01:05 Coleoid ...
01:06 pmichaud I have git.exe and git.cmd
01:06 pmichaud er
01:06 pmichaud git.exe and gitk.cmd
01:06 Coleoid Yep
01:06 Coleoid Same for me.
01:06 pmichaud note .exe and not .cmd for git.exe
01:06 Coleoid git.exe and gitk.cmd.
01:07 diakopter yeah. XP uses following order of precedence: .exe, .com, .bat, and .cmd.
01:07 pmichaud I wonder why my git command is returning a non-zero exit code
01:08 Coleoid If I remove the parrot/ and nqp/ folders, am I back to a blank slate?
01:08 pmichaud fairly close, yes.
01:10 Coleoid And then --gen-parrot should be the first configure call?
01:10 Coleoid (I also dumped install/)
01:10 diakopter pmichaud: my git.cmd sets the errorlevel
01:11 diakopter @git.exe %*
01:11 diakopter @set ErrorLevel=%ErrorLevel%
01:11 diakopter there could be some significance there
01:11 pmichaud I don't think I have a git.cmd
01:12 diakopter hrm. I guess your later version (mine is 1.7.10) changes that
01:12 diakopter maybe try downgrading
01:13 Coleoid Huh!  Having deleted my local parrot and nqp, Configure bombs out early for me now...
01:13 Coleoid ...with a status 256.
01:15 diakopter dmake clean?
01:16 pmichaud if Configure.pl isn't successful, there's likely no Makefile
01:16 diakopter oh.. heh.
01:16 Coleoid I don't see one.
01:17 Coleoid Do you guys have Cygwin installed?
01:17 diakopter no
01:17 diakopter Coleoid: delete libparrot.dll ?
01:17 Coleoid Nor I, yet.
01:18 Coleoid Where will it live?
01:18 Coleoid I don't find libparrot.dll within rakudo/
01:18 diakopter ok, nm
01:19 diakopter is there an install\ dir ?
01:19 Coleoid There was, but I deleted it along with parrot\ and nqp\ a few minutes ago.
01:20 Coleoid ?
01:20 Coleoid cd nqp
01:20 Coleoid Access is denied.
01:21 diakopter weird.
01:23 Coleoid And now git fails early complaining about a pathspec gone wrong...
01:24 Coleoid I think it's time to ditch this whole local Rakudo clone and get a clean one.  I haven't done that before, though.
01:24 pmichaud oh, great.
01:24 pmichaud https://github.com/msysgit/git/issues/21
01:25 pmichaud looks like it is indeed a problem with 1.7.11
01:26 Coleoid Good, more progress!
01:26 pmichaud oh, there's a new one, just released 4 hours ago!
01:26 pmichaud http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.11-preview20120710.exe&can=2&q=
01:26 pmichaud maybe it contains the fix
01:26 pmichaud upgrading...
01:30 pmichaud release notes for 20120710 version indicate an error code fix
01:31 pmichaud and yes, I now get past the nqp clone to the parrot clone.
01:31 diakopter \o/
01:31 diakopter Coleoid: more progress for you?
01:32 Coleoid No, for pmichaud, but I'm probably going to try the new msysgit too.
01:33 Coleoid Right now I'm trying to figure out the git incantation to get a brand new local rakudo copy.
01:33 diakopter pmichaud: ? isn't it git checkout .
01:33 stephenlb joined #perl6
01:34 diakopter Coleoid: git clone git://github.com/rakudo/rakudo.git  ?
01:34 diakopter (without the ?)
01:35 pmichaud I'm creating a document for this at the moment: https://docs.google.com/document/d/1kNED54uOopSM-NB3NscfckyqU_oWjkKy8lUg_XTjVo4/edit?pli=1
01:37 pmichaud okay, my system is building parrot now.
01:37 risou joined #perl6
01:37 Coleoid Yes-- though I tacked another name for the new clone folder on the end
01:37 alvis```` joined #perl6
01:37 pmichaud parrot built and installed successfully
01:37 pmichaud Coleoid: yes, I see the edit -- thanks :-)
01:37 diakopter that was I
01:38 pmichaud oh
01:38 pmichaud diakopter++ then
01:38 diakopter what does my name appear as there?
01:38 Coleoid Swell, I'm going to get the new-new msysgit installed, then, and retry...
01:39 pmichaud diakopter: the only other user I see right now is "anonymous 4995"
01:39 pmichaud okay, the build now fails when trying to link libdyncall
01:39 diakopter same as Coleoid
01:41 diakopter pmichaud: when prompted, I chose not to include the git commands
01:41 pmichaud https://gist.github.com/3087400
01:41 pmichaud diakopter: I did that before... and then Configure.pl could never find the git commands.
01:41 pmichaud (iirc)
01:42 diakopter oh
01:43 * diakopter tries following pmichaud's instructions from step 3
01:46 Coleoid Can't install over git, it's got locked somehow, I'm rebooting, back in a while.
01:46 pmichaud oh
01:46 pmichaud it's the dyncall stuff.
01:46 pmichaud I wonder if there's a way to disable that.
01:47 pmichaud since (afaik) dyncall really isn't needed for basic NQP.
01:48 diakopter pmichaud: which strawberry do you have (check perl -v)
01:48 Coleoid joined #perl6
01:48 pmichaud 5.16.0
01:49 diakopter .. building parrot
01:51 diakopter ..building nqp
01:51 diakopter pmichaud: I have perl 5.12 (strawberry May 2011). That could be a difference.
01:52 pmichaud if I take the dyncall.ops target out of the Makefile, I get a bit farther.
01:53 diakopter nqp finished building.
01:53 diakopter ..running gmake install
01:53 pmichaud diakopter: you're 64-bit ?
01:54 diakopter yes, but perl says it's 32-bit
01:54 pmichaud after removing the dyncall target, nqp built and installed for me
01:54 pmichaud wonder what gcc thinks, though.
01:54 pmichaud i.e., when it's building dyncall
01:55 diakopter rakudo built.
01:55 pmichaud okay, that got me so that "perl Configure.pl --gen-parrot" completed from the rakudo dir.... rakudo is building now.
01:55 diakopter pmichaud: maybe downgrade strawberry?
01:57 pmichaud yes, the rakudo build failed for me now looking for nqp_dyncall_ops.
01:57 pmichaud so.... we'll need that somewhere.
01:57 pmichaud I'll downgrade strawberry and see if that helps
01:57 diakopter first try May 2011 then if that works try Nov 2011
01:57 diakopter (because May 2011 works for me)
01:58 diakopter (in case it's a gcc version thing)
01:59 pmichaud diakopter: 5.12.3 ?
01:59 diakopter yep
02:02 pmichaud okay, that leaves my %PATH% with the strawberry perl dirs after the git one
02:02 pmichaud ...but it shouldn't matter
02:02 pmichaud so let's try it :-)
02:03 pmichaud okay, (re)building Parrot
02:06 pmichaud parrot installed
02:06 pmichaud now building nqp
02:07 pmichaud failed building dyncall; same place (I think)
02:07 diakopter well, something about my setup differs. hrm.
02:08 pmichaud https://gist.github.com/3087499
02:08 pmichaud I'm thinking it may be a 32-bit vs 64-bit issue.
02:09 Coleoid Possible--I'm on 64 bit.
02:09 pmichaud I might be able to borrow one of the family's 64-bit win machines and see if it works there.
02:09 pmichaud but I have to give the dog a walk now, so I'll be back in 30
02:10 diakopter interesting it fails at a different spot from the later perl
02:10 Coleoid And I'll be wrapping up for the night.
02:10 diakopter Coleoid: tomorrow we can try msvc; I have that to
02:10 diakopter too
02:10 Coleoid But thanks greatly for the time and effort--it's a relief to know it's Not Just Me.  :D
02:12 Coleoid diakopter:  That sounds good, thanks!
02:16 * [Coke] notes that his successful parrot build is win7
02:19 diakopter they were able to build parrot
02:20 diakopter phenny: tell pmichaud other than being on a 64-bit machine, the only difference I can imagine is that I have libicu in my path...
02:20 phenny diakopter: I'll pass that on when pmichaud is around.
02:32 pmichaud well, I'm booting my notebook into win xp pro now... I think it's 64-bit
02:32 phenny pmichaud: 02:20Z <diakopter> tell pmichaud other than being on a 64-bit machine, the only difference I can imagine is that I have libicu in my path...
02:35 pmichaud sadly, it's 32-bit also :-/
02:38 [Coke] it was parrot & rakudo, and it was 32bit win7.
02:45 pmichaud [Coke]: how recently?
02:49 pmichaud okay, now attempting on a 64-bit windows 7
02:56 pmichaud it failed for me on 64-bit windows 7 also.
02:56 pmichaud same error
02:56 pmichaud no wait, totally different error
02:57 [Coke] pmichaud: retested a month or so ago, I think.
02:58 pmichaud [Coke]: I think some of the dyncall stuff has been added since then.
02:58 [Coke] r: sub neg($a) { "-" ~ $a }; say neg 4
02:58 p6eval rakudo d8e7b6: OUTPUT«-4␤»
02:58 pmichaud dyncall is nqp's version of NCI, iiuc
02:59 [Coke] "works for jnthn"... I'm guessing. Also, pretty sure I'm using the MSVC++ compiler
02:59 pmichaud https://gist.github.com/3087699   # dyncall build failure under Win 7 64-bit
02:59 [Coke] (free one)
02:59 pmichaud yes, I can go and try with MSVC and Active Perl or something like that... but iwbni we could get it to work with strawberry
03:07 * [Coke] thinks "oh, maybe I can get work to send me to oscon, when is that.... Oh."
03:07 * [Coke] is not having a good con year.
03:07 JimmyZ_ joined #perl6
03:08 JimmyZ_ btw, I was using strawberry perl  on win32, nqp builds  here
03:14 thou joined #perl6
03:14 pmichaud JimmyZ_: how recent nqp?
03:16 JimmyZ_ pmichaud: about 2 weeks
03:16 pmichaud hmmmm
03:16 pmichaud I could try the 2012.06 rakudo.
03:18 pmichaud https://github.com/perl6/nqp/issues/47   # nqp ticket
03:19 JimmyZ_ I can give it a try now
03:19 pmichaud I was building from Rakudo HEAD when I got the errors in the ticket
03:20 * JimmyZ_ is cloning parrot
03:23 Su-Shee_ joined #perl6
03:25 pmichaud I get the same sort of error for 2012.06
03:30 pmichaud however, 2012.05 builds just fine on my system
03:31 pmichaud so, it's something that changed in nqp since 2012.05
03:31 pmichaud maybe a bisection is in order :-)
03:43 JimmyZ_ hmm, I got bad reloc address 0x0 in section `.data'
03:46 pmichaud JimmyZ_: yeah, that's the error I've been getting.
03:46 pmichaud Surprisingly, on my daughter's computer it built fine.
03:46 pmichaud so now I'm very confused.
03:50 samlt joined #perl6
03:51 pmichaud hmmmmmm
03:51 [Coke] ah. glad you finally found /a/ version that worked, anyway.
03:51 [Coke] that makes it much easier to find out when it when pear shaped.
03:52 pmichaud ...and it appears that later versions of nqp work as well.  I'm guessing that the bump to Parrot 4.5.0 is where we start having problems
03:52 pmichaud testing, though.
03:52 pmichaud (I think) I got nqp head to build on the original machine where it had failed previously, but using Parrot 4.4.0
03:58 plobsing joined #perl6
03:58 Entonian joined #perl6
04:02 pmichaud huh.  nqp head just built fine for me, from a fresh checkout.
04:02 pmichaud trying a fresh rakudo checkout now.
04:08 * [Coke] thinks he has enough notes for his $DAYJOB git-svn lighting talk tomorrow.
04:08 * [Coke] will think about making a coherent demo tomorrow. :P
04:10 pmichaud huh.  making a fresh checkout of rakudo worked.
04:10 adu joined #perl6
04:11 [Coke] old build with crufty dlls?
04:12 pmichaud well, since this is my first time _ever_ building rakudo under windows... I'm thinking no.
04:12 pmichaud the only thing I can think of that I changed is a reboot
04:20 adu i pmichaud
04:20 adu s/i/hi/
04:29 samlt joined #perl6
04:33 kaare__ joined #perl6
04:37 telex joined #perl6
04:41 zhutingting joined #perl6
04:47 nebuchad` joined #perl6
04:51 zhutingting joined #perl6
05:02 brrt joined #perl6
05:13 dayangkun joined #perl6
05:20 sirrobert joined #perl6
05:22 birdwindupbird joined #perl6
05:22 sirrobert How do I declare a class method that is an lvalue?
05:24 sorear method foo() is rw { ... }
05:25 sirrobert hmmm that's what I'm trying, but it says, "Cannot assign to a non-container"
05:25 sirrobert r: class a { method x () is rw { ... } }; my $A = a.new(); $A.x = "foo";
05:25 p6eval rakudo d8e7b6: OUTPUT«Stub code executed␤  in method <anon> at src/gen/CORE.setting:9538␤  in <anon> at src/gen/Metamodel.pm:2304␤  in any find_method_fallback at src/gen/Metamodel.pm:2302␤  in any find_method at src/gen/Metamodel.pm:843␤  in block <anon> at /tmp/5q3ROygCZT:1␤␤»…
05:26 sirrobert (still learning to read the +p6eval output =)
05:27 sirrobert r: class a { has $!x; method x () is rw { ... } }; my $A = a.new(); $A.x = "foo";
05:27 p6eval rakudo d8e7b6: OUTPUT«Stub code executed␤  in method <anon> at src/gen/CORE.setting:9538␤  in <anon> at src/gen/Metamodel.pm:2304␤  in any find_method_fallback at src/gen/Metamodel.pm:2302␤  in any find_method at src/gen/Metamodel.pm:843␤  in block <anon> at /tmp/bxgJp3_5yi:1␤␤»…
05:30 sirrobert ahh...
05:30 sirrobert r: class a { has $!x; method x () is rw { return-rw $!x } }; my $A = a.new(); $A.x = "foo";
05:30 p6eval rakudo d8e7b6:  ( no output )
05:30 sirrobert r: class a { has $!x; method x () is rw { return-rw $!x } }; my $A = a.new(); $A.x = "foo"; say $A.x
05:30 p6eval rakudo d8e7b6: OUTPUT«foo␤»
05:30 sirrobert great =)
05:30 sirrobert I had to "return-rw" the property
05:32 sirrobert Thanks, sorear =)
05:33 mucker joined #perl6
05:35 moritz \o
05:35 sirrobert hi moritz
05:36 am0c joined #perl6
05:38 adu hi moritz
05:38 * adu <3 Perl6
05:38 am0c <3 Perl6
05:43 sisar joined #perl6
05:44 moritz <3 #perl6
05:45 sirrobert cool tip I learned tonight:  columnate your text in vim with :<range>!column -t
05:45 sirrobert e.g.:   :.,.10!column -t     (to columnate the next 10 lines on whitespace =)
05:48 sisar hi #perl6 !
05:48 sirrobert hallo =)
05:56 wtw joined #perl6
05:56 * adu <3 perl6
05:56 adu crap I already said that
05:56 adu I need to say something new fast
05:57 adu can't think of anything
05:57 Su-Shee good morning everyone.
05:57 Su-Shee do I want star or monthly release these days?
05:57 bonsaikitten adu: "<4 perl6" ;)
05:58 adu hehehe
05:59 adu Su-Shee: morning!
05:59 adu I am so fired up about PErl6
05:59 adu we are going to rock this boat
06:01 kaleem joined #perl6
06:04 dalek doc: 0a9ea4c | (Gabor Szabo)++ | lib/Str.pod:
06:04 dalek doc: add trim
06:04 dalek doc: review: https://github.com/perl6/doc/commit/0a9ea4c183
06:06 brrt joined #perl6
06:07 sirrobert ok, time for me to get some sleep.  night all.
06:07 sirrobert exit
06:21 sisar Su-Shee: well, both Star and compiler are released monthly.
06:23 nodmonkey joined #perl6
06:24 sisar joined #perl6
06:28 GlitchMr joined #perl6
06:54 szabgab joined #perl6
06:55 szabgab hi
06:55 szabgab r: $_ = "b"; say "qwar" ~~ /$_/ ?? "ok $_" !! 'not'
06:55 p6eval rakudo d8e7b6: OUTPUT«ok b␤»
06:56 szabgab why does this match?
06:56 szabgab r: my $r = "b"; say "qwar" ~~ /$r/ ?? 'ok' !! 'not'
06:56 p6eval rakudo d8e7b6: OUTPUT«not␤»
06:57 sorear r: $_ = "b"; say "qwar" ~~ / { say $_.perl } / ?? "ok $_" !! 'not'
06:57 p6eval rakudo d8e7b6: OUTPUT«"qwar"␤ok b␤»
06:58 sorear because ~~ is a topicalizer
06:58 sorear while the RHS code is running, $_ is temporarily bound to the LHS
07:00 szabgab oh, thanks
07:07 moritz we abuse ~~ for two different purposes
07:07 moritz betimes it strikes back at us.
07:08 hoelzro masak: nothing really; whenever I've looked at Perl 6 in the past, I just found it kind of ugly
07:08 hoelzro now I don't really think so
07:09 hoelzro at least, not any uglier than STDOUT =)
07:09 hoelzro I take it you saw my blog post?
07:09 moritz masak and I both pasted the URL here
07:10 hoelzro oh, awesome =)
07:14 brrt joined #perl6
07:47 jnthn morning o/
07:47 sorear o/ jnthn
07:50 moritz nr: say ' abc '.trim-leading.perl
07:50 p6eval rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«"abc "␤»
07:56 opeeper joined #perl6
07:57 moritz r: my $x = ({}; {}); say $x.perl
07:57 p6eval rakudo d8e7b6: OUTPUT«{}␤»
07:57 moritz nr: my $x = ({}; {}); say $x.perl
07:57 p6eval rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«{}␤»
07:58 moritz n: ({} {})
07:58 p6eval niecza v19-13-g442e075: OUTPUT«[31m===[0mSORRY![31m===[0m��Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/RsKPV55U9x line 1:�------> [32m({} [33m�[31m{})[0m��Parse failed��»
08:01 opeeper I have git clone rakudo from long ago, am on branch nom,, is there branch star i can checkout?
08:01 moritz opeeper: no, star is a separate repo
08:02 moritz opeeper: star imports a copy of rakudo
08:03 kresike joined #perl6
08:03 kresike hello all you happy perl6 people
08:15 sjn o/
08:15 moritz \o
08:30 REPLeffect joined #perl6
08:33 dalek perl6-examples: 9aa2f7b | (Gerhard R)++ | shootout/regex-dna.p6 (2 files):
08:33 dalek perl6-examples: [shootout/regex-dna] make v2 the default and remove v1
08:33 dalek perl6-examples:
08:33 dalek perl6-examples: also uses subst() now that Rakudo can handle large regexes again
08:33 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/9aa2f7b18a
08:44 sergot joined #perl6
08:44 sergot hi o/
08:45 moritz \o sergot
08:49 dataship joined #perl6
08:54 dakkar joined #perl6
09:00 muixirt joined #perl6
09:00 muixirt good morning
09:02 xinming joined #perl6
09:03 sorear good morning
09:06 muixirt with a simple use LWP::Simple I get this lovely message "No STable at index 7" with R* 2012.06
09:07 moritz muixirt: yes, we have some order-of-precompilation problem in R* 2012.06 :(
09:07 moritz muixirt: I hope/believe this is fixed by for the next R* release
09:07 moritz star: use URI;
09:07 p6eval star 2012.06: OUTPUT«(signal SEGV)»
09:07 moritz star: use LWP::Simple;
09:07 p6eval star 2012.06: OUTPUT«(signal SEGV)»
09:08 muixirt moritz: yes I deleted URI.pir and than URI works but not LWP::Simple
09:08 daxim joined #perl6
09:09 moritz muixirt: you might also need to delete LWP/Simple.pir and URI/Escape.pir
09:11 tadzik deleting precompiled modules is always the safest option. It's also always the slowest solution :)
09:13 drbean joined #perl6
09:13 muixirt thanks moritz, it worked
09:14 moritz (the problem was that URI.pm includes URI::Escape via 'needs', not 'use', and the module installer in star didn't track that dependency)
09:16 Coleoid2 joined #perl6
09:21 FireFly joined #perl6
09:40 moritz http://www.drdobbs.com/architecture-and-design/interview-with-alan-kay/240003442?pgno=4 nice comments about looking back at what other programming languages did, and simply stealing that isn't enough
09:42 drbean joined #perl6
09:48 bbkr joined #perl6
09:52 birdwindupbird joined #perl6
09:54 odoacre_ joined #perl6
09:55 [particle]1 joined #perl6
10:01 kaleem_ joined #perl6
10:06 kaleem joined #perl6
10:10 mucker joined #perl6
10:10 samlt joined #perl6
10:11 moritz r: regex foo ($x) { abc } # just checking if regexes can have a signature
10:11 p6eval rakudo d8e7b6: OUTPUT«Useless declaration of a has-scoped method in mainline␤»
10:12 sergot left #perl6
10:12 moritz r: grammar A { token foo($x) { \' ~ \' $x }; token TOP { <foo("bar") } }; say A.parse(q['bar'])
10:12 p6eval rakudo d8e7b6: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near " } }; say "␤»
10:12 sergot joined #perl6
10:12 moritz r: grammar A { token foo($x) { \' ~ \' $x }; token TOP { <foo("bar")> } }; say A.parse(q['bar'])
10:13 p6eval rakudo d8e7b6: OUTPUT«q['bar']␤ foo => q['bar']␤␤»
10:13 moritz r: grammar A { token foo($x) { \' ~ \' $x }; token TOP { <foo("bar")> } }; say A.parse(q['baz'])
10:13 p6eval rakudo d8e7b6: OUTPUT«#<failed match>␤»
10:17 moritz PerlJam: are you OK with stealing https://github.com/perlpilot/perl6-docs/blob/master/intro/p6-grammar-intro.pod (or parts thereof) for p6doc?
10:17 moritz (I didn't see any license in that repo)
10:20 broquaint joined #perl6
10:20 Psyche^ joined #perl6
10:27 Coleoid joined #perl6
10:34 brrt left #perl6
10:37 GlitchMr joined #perl6
10:42 kaleem_ joined #perl6
10:55 spider-mario joined #perl6
11:03 arnsholt r: sub (int $n, &callback:(Str, int, int --> int)) is native { * }
11:03 p6eval rakudo d8e7b6: OUTPUT«===SORRY!===␤invoke() not implemented in class 'Capture'␤»
11:03 harmil joined #perl6
11:03 arnsholt jnthn: I think the syntax isn't implemented after all
11:04 thelazydeveloper joined #perl6
11:06 moritz right
11:06 moritz what I did was leave out the colon
11:06 moritz that creates a subsignature
11:06 moritz not a callable with specific properties
11:08 zhutingting joined #perl6
11:08 sirrobert joined #perl6
11:08 jnthn Right.
11:15 mucker joined #perl6
11:16 mucker joined #perl6
11:16 arnsholt r: sub (int $n, &callback(Str, int, int --> int)) is native { * }
11:16 p6eval rakudo d8e7b6: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Attribute:D $attr, :rw(:$rw)!)␤:(Attribute:D $attr, :readonly(:$readonly)!)␤:(Attribute:D $attr, :box_target(:$box_target)!)␤:(Routine:D $r, :rw(:$rw)!)␤:(Rout…
11:17 arnsholt Spiffy. Thanks!
11:17 moritz I'm not sure that's the right way forward, but it sure seems like an easy way forward :-)
11:17 mucker joined #perl6
11:18 arnsholt I can live with that =)
11:18 arnsholt Oh, and I thought I pasted my plan for implementing this stuff last night, but apparently I didn't
11:19 arnsholt It's at https://gist.github.com/3085270
11:19 jnthn arnsholt: If you get it to work like that, getting the right syntax supported will be the easy bit :)
11:19 arnsholt Excellent
11:20 birdwindupbird joined #perl6
11:25 moritz once the syntax with the colon is implemented, how is it stored in the signature?
11:28 samlt joined #perl6
11:29 sirrobert how do you *remove* a mixin from an object?
11:29 moritz you don't
11:29 arnsholt r: say Routine ~~ Callable
11:29 p6eval rakudo d8e7b6: OUTPUT«True␤»
11:30 sirrobert hmmm
11:30 moritz just like you don't remove a superclass
11:30 moritz or the memory allocated with an object
11:30 moritz let's rephrase: if you want to remove a mixin, you're probably overusing mixins
11:30 sirrobert heh
11:31 * sjn can't imagine a situation when removing a mixin might be desirable
11:31 sirrobert I'm not using them yet... just trying to figure out a good implementation of a problem
11:31 moritz just like: if you want to extract values from a junction, you're overusing junctions
11:31 sirrobert So, I have an HTTP header object (pretty simple)
11:31 sirrobert it has a name and a value
11:32 sirrobert but the value behaves differently depending on the name
11:32 moritz in what way?
11:32 sirrobert (so, for example, in a Cache-Control header, the caching directives have specifications and sub-rules that the Age header's values don't have
11:32 sirrobert For example:
11:33 moritz that sounds like a classic use for subclassing
11:33 sirrobert Cache-Control: private, community="UCI"
11:34 sirrobert (there's nothing even close to equivalent to that kind of behavior for Age)
11:34 moritz class HTTP::Header::Field::Cache-Control is HTTP::Header::Field { ... }
11:34 sirrobert yeah, but I was *hoping* to load it through the Header object
11:34 moritz well, the header object can have logic to create objects of the subclasses
11:34 sirrobert as in:  my $header = ...::HTTP::Header.new(Cache-Control => '')
11:35 sirrobert yeah, but I wouldn't be able to switch header types easily =)
11:35 sirrobert $header.name = 'Age'
11:35 moritz don't do that then
11:35 sirrobert easy for you to say ;)
11:35 moritz yes
11:35 moritz we use immutable objects everywhere
11:36 fglock joined #perl6
11:36 moritz every Int, Rat, Num, Str, Parcel etc. is immutable
11:36 moritz I mean, how often do you create a HTTP header and then need to change the name?
11:37 moritz and if so, why can't you create a new object with the new name and old value?
11:38 sirrobert There's definitely no reason I couldn't require that
11:38 sirrobert It depends on how you think about headers
11:39 sirrobert if you think about a header as a single kind of thing with variability, then you'd want to be able to do those things
11:39 moritz for me, a header is a just a glorified string
11:39 sirrobert if you think about each header as it's own kind of thing, then you probably wouldn't
11:39 sirrobert yeah =)
11:40 sirrobert I'd like to avoid a lot of heavy string manipulation (it's ugly =)
11:40 moritz ye
11:40 moritz s
11:40 sirrobert Right now I have it implemented with subclasses for each header type
11:41 moritz that's why you wrap it in an object that knows a bit more :-)
11:41 sirrobert lipstick on a pig does make a prettier pig ;)
11:41 moritz but a pig with a chess board on its hide still lets you play chess :-)
11:42 bbkr I still don't see the need to remove mixin here. If functionality of header is defined by its name then if you change name you get different header. Why modify existing container (header object)?
11:43 moritz bbkr: because sirrobert wants mutable header objects that don't have the notion of a separate container
11:43 sirrobert bbkr:  I'm going for a fairly faithful implementation of the W3C http header spec.  That goal has some interesting challenges =)
11:45 sirrobert moritz: that's a good way to say it
11:45 * moritz -> extended afk
11:46 bbkr then maybe do not apply mixin but pretend that it is applied. save Cache-Control role as HTTP::Header attibute and then install ^add_fallback on HTTP::Header that will delegate unknown methods to this role.
11:46 sirrobert hmmm
11:47 sirrobert I understand the concept you are saying, but not the implementation details.  Is there something I can read about ^add_fallback type stuff?
11:47 sirrobert (and thanks =)
11:47 bbkr I used it in https://github.com/bbkr/jsonrpc/blob/master/lib/JSON/RPC/Client.pm#L11
11:48 sirrobert ok!  that could work for me.  What is does the ? mean in $?PACKAGE ?
11:51 bbkr fallback has 2 params - first closure tells you if your fallback is capable of handling requested method (at this point you may want to confirm by ^find_method in role), second param is closure that must return closure (the one you found by role.^find_method)
11:52 bbkr http://perlcabal.org/syn/Differences.html#The_double-underscore_keywords_are_gone - explains $?PACKAGE
11:52 sirrobert makes sense.  A quick google search didn't show me any docs on add_fallback.  Any tips?
11:53 sirrobert (as to where to find docs, I mean =)
11:56 tokuhiro_ joined #perl6
11:57 bbkr I'm not sure it is already documented :(
11:57 bbkr if it is already documented*
11:57 sirrobert ok, no problemo =)
11:57 sirrobert thanks a lot for your help
11:58 bbkr that should do the trick in the same way as JSON::RPC::Client is context-free but still allows $client.somemethod() to be handled
11:58 jnthn So, why not have a
11:58 jnthn has $.header-specific handles *;
11:59 jnthn This object contains the special things related to the current header
11:59 jnthn And then all you need to do is twiddle that object
11:59 jnthn handles * means that any unhandled methods will try to delegate to that object.
11:59 jnthn If you think you want addable/removable mixins, you probably want delegation really.
12:00 jnthn That said, immutability has a lot to recommend it :)
12:11 JimmyZ joined #perl6
12:19 bbkr jnthn++ I didn't know the trick with "handles *"
12:30 seldon joined #perl6
12:31 seldon Merry Christmas, #perl6.
12:32 jnthn bbkr: Well, add_fallback is the plumbing for the handles porcelin, to use a Git analogy... :)
12:36 lumi_ joined #perl6
12:42 mtk joined #perl6
12:43 timotimo is it supposed to be the case that when i have sub MAIN(Bool :$a, Bool :$b, Bool :$c) i can't call my script with -ab, but -a -b is fine?
12:44 timotimo it seems --boing and -boing are both valid. is that a good decision?
12:44 timotimo well, i guess it really is a question of style
12:45 gfldex -ab should mean the same then -a -b
12:45 gfldex if -a and  -b are exclusive you have to handle that case by hand
12:47 timotimo gfldex: well, it seems some time ago someone decided that -ab should mean the same as --ab, rather than the same as -a -b, i was asking if that decision is set in stone and maybe ask to reconsider
12:47 gfldex timotimo: see: http://www.iam.ubc.ca/guides/javatut99/essential/attributes/_posix.html
12:48 timotimo i already know how posix programs do it :)
12:49 gfldex in doubt do it the same then http://search.cpan.org/~jv/Getopt-Long-2.38/lib/Getopt/Long.pm
12:49 gfldex or there will be lots of confusion
12:51 [Coke] timotimo: there was an attempt to completely redo command parsing. I think we pulled back from that, but I don't know what the current state is.
12:53 sftp_ joined #perl6
12:58 PacoAir joined #perl6
13:05 adu joined #perl6
13:06 GlitchMr42 joined #perl6
13:07 lumi_ timotimo: ISTR the issue was parsing short options that take a parameter
13:07 timotimo right, those cannot be put before other short options. but they can be put at the end of a list of short operations, can't they?
13:07 timotimo -abc 3 instead of -ab --long-c 3 should work?
13:08 lumi_ timotimo: But you need to choose the right multi MAIN according to the options
13:08 zhutingting joined #perl6
13:09 timotimo oh, you mean that -b might take an argument in another MAIN multi? or something like that?
13:11 lumi_ You might have 'multi MAIN(Bool :$a, Bool :$b)', and also 'multi MAIN(Str :$a)', so -ab can mean either the first overload with both flags, or the other one with $a = 'b'
13:12 timotimo oh, that's tricky indeed
13:13 lumi_ That's my vague recollection anyway, I tried finding it in the irclogs, but I don't remember when it was
13:14 drbean joined #perl6
13:17 lumi_ Maybe it's better to only accept --option and not -option, to avoid this confusion?
13:17 timotimo i would say so, yes
13:17 pmichaud perhaps multi MAIN(Bool :$a, Bool :$b!)
13:18 pmichaud which runs only if the b option is say
13:18 pmichaud s/say/present/
13:18 pmichaud good morning, #perl6
13:18 jnthn morning, Pm :)
13:18 atrodo joined #perl6
13:20 PerlJam greetings.
13:21 PerlJam moritz: feel free to use anything I've written about Perl 6 to seed p6doc.
13:22 adu morning
13:22 pmichaud I wonder where I can get a copy of 64-bit windows to install
13:23 * adu has no idea about windows
13:23 pmichaud or maybe I should try an ec2 instance
13:23 jnthn The Pirate Bay? <grin>
13:23 jnthn pmichaud: I saw your Strawberry post. I build with ActiveState Perl + the Visual Studio toolchain.
13:23 skids joined #perl6
13:23 jnthn pmichaud: It'd be nice to have Strawberry work too, of course...
13:24 pmichaud jnthn: yeah, I was more interested in "easy for others to do" for that.
13:24 flussence I wonder if reactOS is usable yet...
13:24 pmichaud and I think we need to be able to support Strawberry
13:26 jnthn It's desirable. I've tended towards the view of "at lesat make sure it always works well on one compiler on Windows".
13:27 jnthn And more are a bonus.
13:32 masak good day, #perl6
13:34 adu hey masak
13:37 samlt joined #perl6
13:37 JimmyZ I was using Strawberry perl 5.10 ....
13:37 JimmyZ but today I'm using 5.16
13:38 JimmyZ pmichaud: ^^
13:38 pmichaud JimmyZ: yes; I found that 5.16 doesn't work for me on my 32-bit systems
13:39 pmichaud 5.14 didn't work either, so I'm now trying 5.12 again just to make sure (and to have something to write up)
13:40 pmichaud ...and I'm wondering what changed between 5.12 and 5.14 that causes dyncall to not work.
13:51 fridim_ joined #perl6
13:56 drbean joined #perl6
13:56 tokuhiro_ joined #perl6
14:08 [Coke] hee. pugs passes 2 more tests than it did yesterday, rakudo doesn't.
14:08 * [Coke] checks roast logs...
14:09 adu heh
14:09 [Coke] ... weird. no changes that'd cause that in roast since the last pugs fudge.
14:09 * [Coke] wonders how much of pugs running at all is just heisencode at this point.
14:14 cognominal joined #perl6
14:15 crab2313 joined #perl6
14:18 seldon I thought pugs was dead.
14:18 PerlJam seldon: it was just hibernating for a while
14:19 [Coke] seldon: it's running almost 40% of the spectests that rakudo is.
14:19 [Coke] ... of the *number* of spectests. (not the same ones.)
14:19 seldon So it's only 60% dead?
14:19 pmichaud Pugs is channeling Kah Mun Rah.   ("I have come BACK to life!")
14:20 [Coke] it doesn't have an active developer, but au did a great job keeping the last version on life support.
14:20 seldon Pulling a Jesus, as it were.
14:21 [Coke] seldon: https://gist.github.com/1476841#file_perl6_pass_rates
14:21 [Coke] note that most of those failures don't occur in a fresh checkout of pugs, and I have no idea why they're failing in my automated script.
14:26 drbean joined #perl6
14:30 GlitchMr42 joined #perl6
14:43 pmichaud my @a = (3, 4, v1.2.3);  say @a
14:43 pmichaud r: my @a = (3, 4, v1.2.3);  say @a
14:43 p6eval rakudo d8e7b6: OUTPUT«3 4 1 2 3␤»
14:43 pmichaud ...is that intentional?
14:45 * pmichaud checks spectests
14:46 zhutingting joined #perl6
14:48 cognominal joined #perl6
14:49 * masak .oO( we could scrap List and just use Version for all our sequencing needs )
14:49 jnthn wow :)
14:49 pmichaud yeah, I'm thinking Version should   has List ...  instead of "is List"
14:49 sirrobert are there any docs available for ^add_fallback?
14:50 jnthn sirrobert: No, and...if you consider add_fallback a first resort rather than a last resort, something's wrong... :)
14:50 pmichaud r:  say v3.10 cmp v3.2   # oops
14:50 p6eval rakudo d8e7b6: OUTPUT«Increase␤»
14:50 * pmichaud adds spectest.
14:50 sirrobert I'm not sure it's a last resort, but it's at least a third resort at this point =)
14:52 jnthn sirrobert: OK, it's just that add_fallback exists at a meta-object level to help implement "handles", which is the user-oriented thing.
14:52 jnthn Well, to implement some cases of "handles"
14:52 jnthn I'm all for meta-programming, but only if you exhausted what the object system offers out of the box ;)
14:53 sirrobert I'm pretty comfortable with the metaprogramming involved; but I'd *rather* use the out-of-the-box features as you say =)  I'll try to find some docs on "handles"
14:53 kresike bye all
14:53 jnthn S12 does a decent job on explaining handles
14:54 sirrobert ok, looking (thanks)
14:54 jnthn Dunno if p6doc has anything on it yet.
14:54 sirrobert I used it in moose a fair bit
14:55 jnthn decommute &
14:56 drbean joined #perl6
14:59 moritz p6doc doesn't handle handles yet, no :/
15:00 dalek roast: 786c685 | pmichaud++ | S02-literals/version.t:
15:00 dalek roast: Add version.t cmp test, fudged for rakudo.
15:00 dalek roast: review: https://github.com/perl6/roast/commit/786c685f25
15:01 masak &
15:14 pmichaud r:  my $range = 4..5;  say 3 before $r
15:14 p6eval rakudo d8e7b6: OUTPUT«===SORRY!===␤Variable $r is not declared␤at /tmp/E3ct9F1H3O:1␤»
15:14 pmichaud r:  my $range = 4..5;  say 3 before $range
15:14 p6eval rakudo d8e7b6: OUTPUT«True␤»
15:15 pmichaud r:  my $range = 4..5;  say 4 before $range
15:15 p6eval rakudo d8e7b6: OUTPUT«True␤»
15:15 pmichaud r:  my $range = 4..5;  say 5 before $range
15:15 p6eval rakudo d8e7b6: OUTPUT«False␤»
15:15 pmichaud r:  my $range = 4..5;  say 4.5 before $range
15:15 p6eval rakudo d8e7b6: OUTPUT«False␤»
15:15 pmichaud r:  my $range = 4..5;  say 4.5 after $range
15:15 p6eval rakudo d8e7b6: OUTPUT«True␤»
15:15 moritz strange
15:15 pmichaud hmmmmm
15:15 pmichaud I wonder if those should work :-)
15:16 moritz how would "work" look like?
15:16 pmichaud well, we can already test if a value is *in* a range
15:16 pmichaud seems like we ought to be able to test if it comes before or after :-)
15:17 moritz so, before $range.min and after $range.max?
15:17 pmichaud including exclusions, perhaps, yes.
15:17 moritz if that's what you mean, why don't you ask for it? :-)
15:18 pmichaud because   4 before 4^..5   wouldn't be the same as   4 before $range.min
15:18 pmichaud it's just idle speculation at the moment;  I'm not sure what   $real cmp $range  would need to look like
15:19 moritz and then you have to think about strings and string ranges
15:20 pmichaud oh, string before/after is ordered already as well, so it seems like it should be similar
15:21 moritz but note that string range generation uses a different comparison than before/after
15:21 moritz (it checks .chars first, *then* before/after)
15:21 moritz so, things get trickier
15:22 pmichaud ....it does?
15:22 pmichaud checking.
15:22 moritz r: say ('aa' .. 'z').list
15:22 moritz at least I think it should :-)
15:22 p6eval rakudo d8e7b6: OUTPUT«(timeout)»
15:23 pmichaud I don't believe it does that any more.
15:23 moritz at least that's what p5 does
15:23 bluescreen10 joined #perl6
15:24 moritz r: my $x = *; say (+$x) // 3
15:24 p6eval rakudo d8e7b6: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤  in method Numeric at src/gen/CORE.setting:686␤  in sub prefix:<+> at src/gen/CORE.setting:2321␤  in block <anon> at /tmp/wRVIP2KAmz:1␤␤»
15:25 moritz that should probably just fail in a sensible way, not die
15:25 pmichaud there's not a Whatever.Numeric
15:26 moritz maybe there should be
15:26 drbean joined #perl6
15:27 nightlord joined #perl6
15:27 pmichaud maybe the error message should say "Cannot call Numeric on object of type 'Whatever' ... "
15:27 moritz technically the error message is correct
15:28 moritz because there's a multi available in Whatever (the Mu:U one), just none that matches
15:28 moritz "Don't know how to make a number out of an object of type Whatever"
15:28 moritz maybe that should be the default numification in Mu:D:
15:29 pmichaud we can certainly try that.
15:30 pmichaud makes sense, since all objects can .Stringy they should be able to .Numeric too :-)
15:30 seldon r: my $x = *; say (+$x)(3);
15:30 p6eval rakudo d8e7b6: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤  in method Numeric at src/gen/CORE.setting:686␤  in sub prefix:<+> at src/gen/CORE.setting:2321␤  in block <anon> at /tmp/OO6BoFFAIV:1␤␤»
15:31 seldon r: say (+*)(3);
15:31 p6eval rakudo d8e7b6: OUTPUT«3␤»
15:34 seldon Also interesting: my &x = *; fails while my &x = +*; works.
15:35 pmichaud +* is a code object (Callable), so the assignment is legal.
15:35 pmichaud a bare * is a Whatever object, which isn't Callable.
15:35 seldon Huh. Indeed *(3) doesn't work.
15:35 samlt joined #perl6
15:35 pmichaud right,  * doesn't mean "closure" except when used with an operator
15:35 Coleoid joined #perl6
15:36 pmichaud r:  (+*)(3)   # works
15:36 p6eval rakudo d8e7b6:  ( no output )
15:36 pmichaud r: say  (+*)(3)   # works
15:36 p6eval rakudo d8e7b6: OUTPUT«3␤»
15:36 seldon It would make a nifty identity function, though.
15:37 pmichaud well, only if we gave up the ability to use * for other things in other places
15:48 seldon Perhaps a conversion operator *.Callable? It would mostly be interesting if you wanted to stow away closures for later use.
15:49 seldon And it wouldn't change any parsing.
15:49 pmichaud {^$x}  is shorter, though.
15:49 pmichaud er
15:49 pmichaud {$^x}
15:49 moritz {$_}
15:49 seldon But with the op you could write my &x = *;
15:49 moritz well, we could make * invocable, and have it return its argument
15:50 moritz r: say (2, 2).list cmp (2, 10).list
15:50 p6eval rakudo d8e7b6: OUTPUT«Decrease␤»
15:50 pmichaud moritz: you're clamining that   class Whatever does Callable ?
15:51 pmichaud moritz: are you working on Version?  I've got an edit going in a window right now
15:51 moritz pmichaud: we could make it that way. Currently it's certainly not specced that way
15:51 pmichaud I'm worried that it would cause all sorts of issues with multidispatch
15:51 moritz pmichaud: I've tried a Version patch, but it's not working
15:51 pmichaud Whatever doesn't mean "Callable", and I think it's a mistake to try to shoehorn it into that
15:51 * jnthn home
15:51 moritz pmichaud: you're probably right
15:52 moritz anyway, isn't (2, 2).list cmp (2, 10).list wrong?
15:52 moritz nr: say (2, 2).list cmp (2, 10).list
15:52 p6eval niecza v19-13-g442e075: OUTPUT«Increase␤»
15:52 p6eval ..rakudo d8e7b6: OUTPUT«Decrease␤»
15:52 pmichaud is &infix:<cmp> defined for lists?
15:52 jnthn Whatever almost certainly should not be callable. WhateverCode, however... :)
15:53 moritz I think that's the bug behind the failing Version cmp test you added
15:53 moritz pmichaud: I'd expect it do lexicographic cmp on the elements
15:53 pmichaud ...is &infix:<cmp> defined for lists?
15:53 moritz pmichaud: in spec or in rakudo?
15:53 pmichaud I woudld find    @a cmp @b   to be a bit surprising.
15:53 pmichaud moritz: in spec.
15:54 moritz I wouldn't, not at all
15:54 moritz after we also define it for pairs
15:54 mauke joined #perl6
15:54 moritz and there it's   $a.key cmp $b.key || $a.value cmp $b.value
15:54 moritz extending it to lists is obvious
15:54 pmichaud not to me... cmp normally works on scalars
15:54 pmichaud I'm not sure of anywhere else that we use cmp on aggregates of any form
15:55 pmichaud and I don't consider Pair to be an aggregate
15:55 moritz but it is
15:55 pmichaud it acts more like a scalar with a name property than like an aggregate.
15:55 pmichaud Pair isn't an aggregate because it's not Iterable.  It doesn't flatten, for instance.
15:56 pmichaud more generally, I think that Version ~~ List is wrong.
15:56 moritz why?
15:56 pmichaud r:  my @a = (1,2,3, v4.5.6);  say @a
15:56 p6eval rakudo d8e7b6: OUTPUT«1 2 3 4 5 6␤»
15:56 moritz maybe it schould be itemized then
15:56 pmichaud maybe it should act more like Match
15:57 pmichaud which also isn't iterable nor interpolative
15:57 drbean joined #perl6
15:57 moritz well, that's what an itemized list would do, no?
15:57 pmichaud I think a version should act like a List only when explicitly coerced to one
15:57 pmichaud I don't think that it should be Positional
15:58 pmichaud sub foo(@a) { ... };    foo(v3.4.5)
15:58 moritz good point
15:58 mauke perl6: say qq{ {2+3}}
15:58 p6eval rakudo d8e7b6: OUTPUT« 5␤»
15:58 p6eval ..niecza v19-13-g442e075: OUTPUT« {2+3}␤»
15:59 mauke what do I win?
15:59 PerlJam mauke: nothing? :)
15:59 mauke ruby and perl6 are fundamentally incompatible, and I think perl6 got it wrong :-/
16:00 moritz got what wrong?
16:00 mauke code interpolation syntax
16:00 PerlJam mauke: why?
16:01 cognominal joined #perl6
16:01 moritz nr: say " {2+3}"
16:01 p6eval rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT« 5␤»
16:01 mauke { } are too weak for something as powerful as code interpolation
16:01 moritz I tend to agree
16:02 mauke let's say I want a big string that is CSS
16:02 mauke I also want to interpolate parts of it
16:02 pmichaud inside of double-quoted strings, though, you typically don't want something too "heavy", because it gets in the way of the string.
16:02 mauke so I use a heredoc
16:02 pmichaud (as far as readability goes)
16:04 mauke in perl5 I'd get something like <<END / .column { background-color: ${\escape $foo->color}; } / END
16:04 flussence this is why q has flags like rx
16:05 PerlJam mauke: There's always "use a template system" too
16:05 spider-mario besides, that makes it easier to translate templates
16:05 mauke in perl6 I think it would be: qq:to(END) / .column \{ background-color: {escape $foo.color}; \} / END
16:05 PerlJam flussence: the fine grain control of interpolation doesn't help in this scenario because the string will have lots of {} *and* only some of them should interpolate
16:06 mauke the clear winner: ruby
16:06 pmichaud I can do:
16:06 spider-mario how would it look like in Ruby?
16:06 spider-mario what*
16:06 pmichaud q:s {   .column { background-color: $foo.color.&escape } }
16:07 mauke ruby uses #{...} for code in strings
16:07 PerlJam spider-mario: #{code}  IIRC
16:07 pmichaud the curlies don't interpolate
16:07 jnthn r: say "You can also interpolate $('ekil'.flip) this"
16:07 p6eval rakudo d8e7b6: OUTPUT«You can also interpolate like this␤»
16:07 spider-mario ok, thanks
16:07 * moritz would think &{...} might fit for Perl 6
16:08 jnthn r: say "You can also interpolate &('ekil'.flip) this" # I guess :)
16:08 p6eval rakudo d8e7b6: OUTPUT«You can also interpolate &('ekil'.flip) this␤»
16:08 jnthn hah, no :)
16:08 jnthn Becuse there's no & contextualizer ;)
16:08 mauke "Unfortunately this suffers from the problem pervasive in Perl 5 of multi-pass parsing, which is masked somewhat because there's no way to hide a newline in Perl 5."
16:08 * mauke laughs bitterly
16:09 Coleoid [Coke]: If you have your $dayjob p6 environment and a few moments available, I'd like to know your toolchain and versions...
16:10 pmichaud r:  say q:s / .column { background-color: $(lc 'XYZ') } /
16:10 p6eval rakudo d8e7b6: OUTPUT«===SORRY!===␤Colons may not be used to delimit quoting constructs at line 2, near ":s / .colu"␤»
16:10 pmichaud r:  say qs / .column { background-color: $(lc 'XYZ') } /
16:10 p6eval rakudo d8e7b6: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near "background"␤»
16:10 pmichaud hmmm
16:10 jnthn pmichaud: Don't think we implement that stuff yet.
16:10 PerlJam r: say "foo $( my $x = 3 + 4; "bar" ) baz";
16:10 p6eval rakudo d8e7b6: OUTPUT«===SORRY!===␤Redeclaration of symbol $x␤at /tmp/Aa6FKf8hzs:1␤»
16:11 PerlJam (where did I first declare it?)
16:11 PerlJam bug and LTA error message
16:11 pmichaud $(...)   isn't a closure.
16:11 jnthn The bug is that it thinks it's a redeclaration
16:11 jnthn There shouldn't be an error.
16:11 jnthn The error is fine when it's triggered legitimately.
16:11 PerlJam pmichaud: that would have been a better error message :)
16:12 mauke S02 explicitly says you can declare variables in $( )
16:12 pmichaud anyway, I wouldn't be surprised if Perl6 ended up with something like a :c(delim) option that allows specifying an alternate closure syntax.
16:13 mauke while that is nice for you, it doesn't help me with my problem :-)
16:13 mauke why is syntax so hard
16:14 pmichaud is anyone filing PerlJam's bug find?
16:14 moritz I can
16:15 PerlJam mauke: what exactly is your problem?  What syntax to use for Perl 5?   &{} seems like a winner to me.
16:15 mauke PerlJam: I don't like &{} for approximately two reasons
16:15 mauke the first one is nobody else uses &{} for this
16:16 PerlJam Nobody used #{} before ruby.
16:16 PerlJam (maybe)
16:16 mauke the second one is that &{} already means something else in perl5
16:16 spider-mario does it?
16:16 mauke basically, a violation of the "similar things should look different" principle
16:16 moritz huh?
16:17 spider-mario you mean “different things”
16:17 moritz I though similar things should look similar
16:17 moritz and different things should look different :-)
16:17 mauke moritz: no
16:17 moritz mauke: no?
16:17 Coleoid moritz: That's a different but also useful principle.
16:17 spider-mario and I’m not sure that that principle should apply accross different languages
16:18 spider-mario oh.
16:18 PerlJam mauke: But &mumble doesn't currently interpolate in strings anyway, so ...
16:18 pmichaud r:  say "hello &uc('world')";   # checking
16:18 p6eval rakudo d8e7b6: OUTPUT«hello WORLD␤»
16:19 pmichaud &mumble interpolates if postcircumfixed.
16:19 PerlJam sorry, I was speaking in a p5 context for mauke's problem
16:19 pmichaud oh
16:19 pmichaud I should probably stay out of this discussion.  :-)
16:19 [particle] joined #perl6
16:21 Coleoid Is there a build report collector for Rakudo that keeps latest success/failures with different configurations?
16:21 pmichaud Coleoid: oh, I did more testing last night.  I can build Rakudo under Win32 with Strawberry 5.12.3, but not with 5.14.1 or 5.16.0
16:21 pmichaud I haven't been able to build Rakudo at all on Win7-64bit
16:22 pmichaud (with any version of Strawberry)
16:22 * diakopter did
16:22 diakopter pmichaud: did you try building parrot with icu?
16:22 pmichaud diakopter: it's almost certainly not an icu thing
16:22 mauke spider-mario, moritz, PerlJam: the source of my principle seems to be http://www.nntp.perl.org/group/perl.perl6.language/2002/10/msg11652.html
16:22 mauke (grep for "Umberto")
16:22 pmichaud it's entirely to do with the dyncall 3rd-party library
16:23 pmichaud I'm suspecting that dyncall with gcc under windows is a bit fragile; the dyncall developers all seem to use msvc
16:24 pmichaud diakopter: I can try it with icu, but dyncall is the consistent failure point, and afaik dyncall has almost nothing to do with icu
16:24 pmichaud of course, all of this would be helped if I had a 64-bit Windows to play with :)
16:25 pmichaud (I could nuke my notebook's copy of WinXP and install 64-bit Vista, I suppose.)
16:25 * jnthn guesses it's some compilation flags issue.
16:25 jnthn Oh, though maybe not...
16:25 jnthn dyncall has its own configuration.
16:25 pmichaud well, if dyncall's gcc configuration doesn't match parrot/nqp's gcc configuration, then ....
16:25 Coleoid pmichaud: Thanks!  So I won't worry about installing a whole basket of strawberries.
16:26 pmichaud Coleoid: if I get some time later I'll likely try again with ActivePerl and MSVC
16:26 * pmichaud checks to see what version of Windows he has for his notebook
16:26 drbean joined #perl6
16:27 spider-mario mauke : that’s interesting indeed.
16:27 spider-mario thanks for sharing.
16:28 sergot joined #perl6
16:28 Coleoid pmichaud: I'm thinking that's the way I'll head, too.
16:28 mauke it's surprisingly on-topic for this channel, even :-)
16:29 Coleoid pmichaud:  Well, I'll try with MSVC, anyhow, first.
16:29 alester joined #perl6
16:31 Coleoid diakopter: you're succeeding w/ win7/64, strawberry, msysgit, and not much else?
16:31 Coleoid Aside from aforementioned icu?
16:32 kaare__ joined #perl6
16:33 brrt joined #perl6
16:35 diakopter Coleoid: yes, as far as I can tell.
16:35 diakopter how about I try it with a separate install of the latest version of strawberry, and *only* strawberry, msysgit on my path
16:36 diakopter also, I'll upgrade msysgit to the latest
16:36 pmichaud afk # commute
16:47 diakopter ok, trying with latest msysgit, latest 64-bit strawberry perl, and set PATH=%SystemRoot%\system32;%SystemRoot%;C:\strawberry2\c\bin;C:\strawberry2\perl\site\bin;C:\strawberry2\perl\bin;c:\Users\mwilson\src\icu\bin;C:\Program Files (x86)\Git\cmd
16:48 diakopter if it's broken, I'll add things back in one by one (including the older strawberry) to see what fixes it
16:48 diakopter if it's not broken... I dunno.
16:50 diakopter yay! it's broken!
16:51 diakopter actually I think I'll try latest 32-bit strawberry first
16:51 cognominal_ joined #perl6
16:51 brrt1 joined #perl6
16:52 zby_home_ joined #perl6
16:52 diakopter phenny: tell pmichaud I got it to die with "undefined reference to `dcCall_x64_win64'" on my machine trying with latest msysgit, latest 64-bit strawberry perl, and set PATH=%SystemRoot%\system32;%SystemRoot%;C:\strawberry2\c\bin;C:\strawberry2\perl\site\bin;C:\strawberry2\perl\bin;c:\Users\mwilson\src\icu\bin;C:\Program Files (x86)\Git\cmd
16:52 phenny diakopter: I'll pass that on when pmichaud is around.
16:52 diakopter phenny: tell pmichaud so it's definitely not icu
16:52 phenny diakopter: I'll pass that on when pmichaud is around.
16:54 Coleoid diakopter: Yay for broken!
16:54 cognominal_ joined #perl6
16:55 brrt joined #perl6
16:55 Coleoid If you pass build with Strawberry32 I'll be slightly mistifogged.
16:57 drbean joined #perl6
16:58 crab2313 joined #perl6
17:02 cognominal_ joined #perl6
17:11 brrt joined #perl6
17:11 thou joined #perl6
17:12 diakopter Coleoid: yep, I get the same failure as pmichaud using 32-bit latest perl
17:12 flussence oh hey, I didn't realise I could just do: (cd nqp; git clean -dfx; git checkout origin/master~100; perl Configure.pl; make)...
17:12 flussence time to bisect that stupid compile error on my laptop
17:18 MayDaniel joined #perl6
17:21 diakopter Coleoid: see my comment on https://github.com/perl6/nqp/issues/47
17:21 diakopter Coleoid: basically, the only strawberry that we know works is 32-bit 5.12.3 (May 2011 release).
17:24 Coleoid diakopter: Does Strawberry bring in its own dyncall?
17:24 zby_home joined #perl6
17:24 Coleoid diakopter: ...or am I trying too hard to make a connection between the too-few clues I see?
17:25 diakopter no, it must be something about the later versions of gcc, and also something about the 64-bit gcc
17:26 drbean joined #perl6
17:27 diakopter Coleoid: ready to try msvc?  or do you want to try strawberry 32-bit 5.12.3?
17:27 Coleoid I figured out an incantation to build parrot with SbP & MSVC, but the same incantation (or primitive mods to it) doesn't work to change the NQP build over to MSVC.
17:27 Coleoid It still builds w/GCC.
17:28 cognominal_ joined #perl6
17:32 diakopter Coleoid: trying with VC10, and strawberry perl, but with strawberry\c\bin removed from PATH
17:33 diakopter 32-bit VC10, I should specify
17:36 diakopter Coleoid: I got inter::progs -        Determine what C compiler and linker to use...Compilation
17:37 diakopter failed with 'gcc'
17:37 diakopter I wonder why it demands gcc
17:37 diakopter because perl was compiled with gcc?
17:38 diakopter ok, I'll try activestate perl instead of strawberry
17:41 pmichaud back again
17:41 phenny pmichaud: 16:52Z <diakopter> tell pmichaud I got it to die with "undefined reference to `dcCall_x64_win64'" on my machine trying with latest msysgit, latest 64-bit strawberry perl, and set PATH=%SystemRoot%\system32;%SystemRoot%;C:\strawberry2\c\bin;C:\strawberry2\perl\site\bin;C:\strawberry2\perl\bin;c:\Users\mwilson\src\icu\bin;C:\Program Files (x86)\Git\cmd
17:41 phenny pmichaud: 16:52Z <diakopter> tell pmichaud so it's definitely not icu
17:43 diakopter pmichaud: I updated the nqp ticket
17:43 diakopter er, commented on it
17:44 pmichaud Coleoid: if you get parrot to build with MSVC, then NQP built using that parrot should also be using MSVC.
17:44 pmichaud diakopter++ # updating ticket, testing
17:45 Coleoid pmichaud: I like that theory!
17:45 diakopter Coleoid: which 'make' tool are you using with msvc?
17:46 Coleoid nmake
17:46 diakopter where did you get it?
17:46 jnthn comes with msvc++, no? :)
17:46 Coleoid C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.EXE
17:47 Coleoid afk a few...
17:48 jnthn http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express # it installs an IDE too, but also should give you the things you need to build NQP and Rakudo.
17:49 jnthn (Yes, it's free.)
17:49 dalek roast: 24916aa | pmichaud++ | S02-literals/version.t:
17:49 dalek roast: Fix fudge.
17:49 dalek roast: review: https://github.com/perl6/roast/commit/24916aaa49
17:57 drbean joined #perl6
17:59 masak good evening, #perl6
17:59 pmichaud masak! o/
17:59 masak r: say "OH HAI" # I have a 14yo lokoing over my shoulder :)
17:59 p6eval rakudo d8e7b6: OUTPUT«OH HAI␤»
17:59 masak r: .say for 1..10
17:59 p6eval rakudo d8e7b6: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
18:00 pmichaud r: say "Hello 14yo looking over masak++'s shoulder!"
18:00 p6eval rakudo d8e7b6: OUTPUT«Hello 14yo looking over masak++'s shoulder!␤»
18:00 diakopter Coleoid: did you use vcvarsall to setup your environment?
18:01 masak r: .say for "Jokubas", *.chomp ... ""
18:01 p6eval rakudo d8e7b6: OUTPUT«(timeout)»
18:01 pmichaud ... .chop?
18:01 masak o.O
18:01 flussence that should'a worked.
18:01 masak r: .say for "Jokubas", *.chop ... ""
18:01 pmichaud .chomp only eats newlines, iirc.
18:01 p6eval rakudo d8e7b6: OUTPUT«Jokubas␤Jokuba␤Jokub␤Joku␤Jok␤Jo␤J␤␤»
18:02 flussence oh, there
18:02 masak \o/
18:02 pmichaud ooooh
18:02 pmichaud r: .say for "pmichaud", *.substr(1) ... ""
18:02 p6eval rakudo d8e7b6: OUTPUT«pmichaud␤michaud␤ichaud␤chaud␤haud␤aud␤ud␤d␤␤»
18:02 pmichaud coooooooooool
18:02 pmichaud masak++
18:02 masak :D
18:03 Jokubas joined #perl6
18:03 masak Jikubas: OH HAI \o/
18:03 masak Jokubas*
18:03 Jokubas oh hello there :)
18:03 supernovus joined #perl6
18:03 masak 14yo was brief here :)
18:03 * diakopter checks out rakudo+nqp+parrot for the 15th-ish time in 20 hours.
18:03 pmichaud I remember being 14yo.... like it was 32 years ago.  :)
18:04 pmichaud I got my first computer at 14.  Dad didn't want me to have one... figured it would end up in the closet and be a waste of money.  :-P
18:05 flussence r: .say for reverse [\~] 'abcdef'.comb
18:05 p6eval rakudo d8e7b6: OUTPUT«abcdef␤abcde␤abcd␤abc␤ab␤a␤»
18:05 flussence .oO( gee, I like making things difficult... )
18:09 supernovus In a comb() regex, is there a way to say I don't want a part of the pattern included in the results? Say for instance, $string.comb(/\".*?\" | \'.*?\' | \S+/);  As it currently works, the strings in quotes have the quotes included in the matches, is there a way to exclude them automatically? Or is this best left to trimming them out after the matches?
18:10 diakopter pmichaud: I updated your windows rakudo build doc a lot
18:11 flussence nr: say q{"abc" d}.comb(/ \" <( .*? )> \");
18:11 p6eval niecza v19-13-g442e075: OUTPUT«[31m===[0mSORRY![31m===[0m��Unable to parse regex; couldn't find final '/' at /tmp/ak6A1FkTa7 line 1:�------> [32msay q{"abc" d}.comb(/ \" <( .*? )> \"[33m�[31m);[0m��Parse failed��»
18:11 p6eval ..rakudo d8e7b6: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix / instead␤at /tmp/dY5A8wpx3Q:1␤»
18:11 Coleoid diakopter: yep, VCVars via the studio command line shortcut.
18:11 flussence whoops
18:11 flussence nr: say q{"abc" d}.comb(/ \" <( .*? )> \" /);
18:11 p6eval rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«abc␤»
18:12 diakopter parrot *feels* like it's building significantly faster using msvc than using gcc
18:13 snearch joined #perl6
18:13 diakopter same with nqp.
18:14 diakopter Coleoid: I didn't have to modify anything to get parrot and nqp to build
18:14 Coleoid With SbPerl and MSVC?
18:15 diakopter no, activeperl and msvc
18:16 diakopter jnthn: do you build with activeperl or strawberry?
18:16 supernovus I just realized my question, while academically interesting, is actually unnecessary, as I want the quotes in the returned strings in my particular application after all. Ah the joys of writing template engines.
18:17 diakopter Coleoid: I think with msvc you'll have to use activeperl, because parrot tries to get its compiler info from perl (I think)
18:18 Coleoid diakopter: AsPerl and MSVC is probably my evening config change.
18:18 diakopter Coleoid: see my instructions at https://docs.google.com/document/d/1kNED54uOopSM-NB3NscfckyqU_oWjkKy8lUg_XTjVo4/edit?pli=1
18:20 diakopter however, on my machine, rakudo built with msvc builds CORE.setting 13% slower than rakudo built with gcc
18:22 diakopter there, built successfully on 64-bit Win7 with 64-bit activeperl and 64-bit msvc
18:25 Coleoid Thanks for the doc!  I may try both paths for the practice, but I don't feel I've got the chops to fix Strawberry or dyncall to remove the version sensitivity, so I think my working env will be AsPerl and MSVC.
18:26 drbean joined #perl6
18:27 Coleoid Is there a build-on-config success/failure collector for Rakudo?  ISTR Perl 5 has one, and I'm not sure which other projects do.
18:27 crab2313 joined #perl6
18:28 Coleoid Gone for now, $dayjob calls.
18:30 Coleoid Thanks for the assistance, diakopter++, pmichaud++ !
18:30 diakopter yw
18:33 jnthn diakopter: Active
18:33 diakopter k
18:34 diakopter jnthn: see the doc linked above and suggest/make changes if you like
18:36 jnthn diakopter: May be worth a note that the bitness of the AS and MSVC should match. Otherwise, there will be trouble.
18:38 diakopter done.
18:40 sporous joined #perl6
18:41 pmichaud STD.pm6 still uses the older ** syntax for repetition?
18:42 jnthn pmichaud: ** is still the syntax for repetition a number of times, iirc, just not for separators.
18:42 arnsholt jnthn: I've realized there are two callback cases to be handled BTW
18:42 jnthn oh
18:42 jnthn token charnames { \s* [<charname><.ws>] ** [','\s*] }
18:42 jnthn Yeah, that's gotta be outdated...
18:42 arnsholt C calling back into Perl (which is what I'm handling now) and Perl invoking a function pointer returned from C
18:42 pmichaud yes, I meant for separators, thanks
18:43 arnsholt I've relegated the latter case to "marginal not gonna bother" for the time being
18:43 jnthn I guess STD was updated to parse the new syntax, but doesn't use it itself yet.
18:43 pmichaud I wonder if that's worth of a github issue :)
18:43 jnthn arnsholt: +1
18:43 pmichaud STD parses the new syntax?
18:43 jnthn arnsholt: I think the "calling back to Perl" is the useful case
18:43 pmichaud hmmmmm
18:43 arnsholt But hopefully we can use the existing NativeCall REPR to do most of the heavy lifting
18:43 jnthn std: /a+ % b/
18:43 pmichaud maybe I should file a github issue ticket for it :)
18:43 p6eval std fd2647b: OUTPUT«ok 00:00 41m␤»
18:44 pmichaud std:  /a+ %% b/    # checking
18:44 p6eval std fd2647b: OUTPUT«ok 00:00 41m␤»
18:44 arnsholt Yeah, definitely. Doing continuation passing between C and Perl smells way, way marginal as far as use cases go
18:44 pmichaud well, it could parse the new syntax but not implement it.
18:44 pmichaud I'd better leave it as an issue for now and let someone more familiar with STD.pm6 status make patches.
18:45 jnthn +1
18:45 jnthn Yeah, see <separator> in the regex chunk of the grammar
18:45 jnthn I think I may have stolen it pretty much as is into QRegex.
18:45 pmichaud yes, I looked at that last week and it looked fine.
18:46 pmichaud (about the same time I was updating for  <( and )> and looking at other regexy things.
18:49 thou joined #perl6
18:49 * jnthn did something right in the regex engine! :)
18:49 [Coke] phenny: tell Coleoid that http://smolder.parrot.org/app/projects/smoke_reports/5 exists for tracking test failures on different versions/platforms.
18:49 phenny [Coke]: I'll pass that on when Coleoid is around.
18:50 * [Coke] is pretty sure there used to be a "make smolder_test" or similar.
18:50 vmspb joined #perl6
18:54 sorear good * #perl6
18:54 flussence [Coke]: `make spectest_smolder`
18:54 mauke niecza: q{ {2+2} }
18:54 p6eval niecza v19-13-g442e075:  ( no output )
18:55 benabik Or just `make smolder` to run the basic tests, IIRC.
18:55 drbean joined #perl6
19:00 * [Coke] is reminded that he stalled out on github.com/coke/muddle
19:01 telex joined #perl6
19:01 flussence ooh, I think I can bisect this all the way using only battery power...
19:17 pyrimidine joined #perl6
19:22 spider-mario_ joined #perl6
19:25 [particle]1 joined #perl6
19:26 drbean joined #perl6
19:28 samlt joined #perl6
19:41 tadzik ho, FPW's Lightning Talks are online
19:42 tadzik brrr, it's horrible to listen to yourself talking
19:42 jnthn I know!
19:42 tadzik <insert rageface>
19:42 jnthn I'm always like..."wtf, I sound like THAT"?
19:43 sergot tadzik: where are they? :)
19:43 sudokode joined #perl6
19:44 tadzik sergot: try "journeesperl" maybe
19:44 tadzik mine is at http://www.youtube.com/watch?v=_qtLHrQXblY
19:44 birdwindupbird joined #perl6
19:47 PerlJam 1 euro/day is better than $10USD/day at many US hotels  (oddly, it's the cheaper hotels that have free internet for guests)
19:48 sergot tadzik++ I like it \o/
19:48 tadzik \o/
19:49 tadzik that's good to hear
19:49 tadzik shame the Bailador one wasn't recorded
19:50 Bucciarati joined #perl6
19:50 flussence PerlJam: I've heard it explained as people who stay at expensive hotels and need internet are usually on business trips, so they don't care what the cost is; it all goes on their corporate account anyway. The hotels have figured this out and milk it for all they can :)
19:51 PerlJam heh, I'm watching jnthn's LT on awesome operators and it sounds like mst piped up to ask about anime cats.
19:51 PerlJam flussence: yeah, that's what I figured too
19:52 flussence jnthn! nqp 35db044 broke my laptop's perl6! and it's a 50 thousand line diff!
19:52 jnthn oh f...
19:52 jnthn What can I say, I code REALLY fast :P
19:53 jnthn It's hard to take commit breaks.
19:53 tadzik :D
19:53 moritz is that the bootsrap update?
19:53 jnthn Oh. It was a bootstrap update.
19:54 jnthn That potentially means that any commit between this bootstrap update and the last bootstrap update before it is guilty :(
19:55 jnthn The one before it was 594b59d
19:56 drbean joined #perl6
19:56 jnthn 98 commits /o\
19:56 moritz that was altnfa, no?
19:56 jnthn Yeah
19:57 moritz and qrpa
19:57 tadzik aaargh
19:57 jnthn Well
19:57 flussence I did a git bisect over the last 400 commits to get here, if there's a way to do this part myself I can try it again
19:57 jnthn The way to find it is to bisect all of those revisions.
19:57 jnthn Basically, for each commit, do make bootstrap-files; make clean; make
19:58 jnthn well, Configure first.
19:58 flussence .oO( time to plug in the laptop charger... )
19:58 jnthn BUT...not every commit will be an NQP in a particularly working state.
19:58 tadzik panda doesn't like to be compiled while it's running
19:59 flussence bad panda! be more re-entrant! :)
20:00 jnthn flussence: If you want to check one revision out by hand with the method I suggested that would give us some idea... d63dec6 is a good one.
20:00 flussence right.
20:00 jnthn flussence: That is the last revision before work on altnfa started.
20:02 jnthn ed6ecff is also maybe interesting in so far as it's a point where altnfa works, but before some optimizations.
20:02 sorear thank you tadzik for inspiring me to finish niecza/non-bootstrap :D
20:02 tadzik hehehe
20:04 masak tadzik++ sorear++
20:04 tadzik aaargh I fail at git
20:05 dalek panda: b19c383 | tadzik++ | / (4 files):
20:05 dalek panda: Remove platform-specific bootstraps in favor (favour?) of pure-Perl6 version
20:05 dalek panda: review: https://github.com/tadzik/panda/commit/b19c383078
20:05 sorear tadzik: favor and favour are both valid
20:05 tadzik oh, not so much
20:05 tadzik sorear: the latter is british, right?
20:05 masak aye.
20:05 sorear the former is more common in the US, the latter is more common in the commonwealth, right
20:05 tadzik british-ish
20:06 sorear I don't know much about english as written in poland :D
20:06 tadzik :)
20:06 masak hey! don't muddle a totally black-and-white issue! :P
20:06 tadzik Polish English
20:06 masak 'ou' is BE.
20:06 tadzik ok, what was I to do with panda again
20:06 masak which is why the Brits spell it *loul*
20:06 sorear .oO( Reverse Polish English )
20:06 * masak .oO( I need to reverse Polish up my English )
20:06 mauke joined #perl6
20:07 tadzik I'd be glad to hear if bootstrap.pl works for anyone else than me :) Volunteers?
20:07 dalek panda/pod-installing: 395943c | tadzik++ | ext/File/Find.pm:
20:07 dalek panda/pod-installing: Merge branch 'master' into pod-installing
20:07 dalek panda/pod-installing: review: https://github.com/tadzik/panda/commit/395943c9f1
20:07 dalek panda/pod-installing: de5092e | tadzik++ | / (9 files):
20:07 dalek panda/pod-installing: Merge branch 'pod-installing' of github.com:tadzik/panda into pod-installing
20:07 dalek panda/pod-installing: review: https://github.com/tadzik/panda/commit/de5092e11b
20:07 tadzik oh gosh, what happened :)
20:07 arnsholt One of my professors has a standard exam question for his grammar engineering class called Reverse English
20:07 arnsholt It's pretty hard
20:09 preflex_ joined #perl6
20:12 mauke joined #perl6
20:14 pmichaud hmmmm, github fail.... or at least delay
20:16 dalek roast: 37470f3 | pmichaud++ | S02- (2 files):
20:16 dalek roast: Some more tests for the Version type.
20:16 dalek roast: review: https://github.com/perl6/roast/commit/37470f349e
20:16 tadzik anyone experienced with git submodules?
20:16 tadzik or should I just stay away from them? :)
20:17 masak rn: say "abc".trans(['a' => 'n'])
20:17 p6eval niecza v19-13-g442e075: OUTPUT«Unhandled exception: ["a" => "n"] is not a Pair␤  at /home/p6eval/niecza/lib/CORE.setting line 1403 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2647 (ANON @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2678 (Niecza-trans @ 9) ␤  at /hom…
20:17 p6eval ..rakudo d8e7b6: OUTPUT«Only Pair objects are allowed as arguments to Str.trans, got Array␤  in method trans at src/gen/CORE.setting:4232␤  in block <anon> at /tmp/GsYXaNxK_P:1␤␤»
20:17 masak rn: say "abc".trans(['a'] => '[n'])
20:17 dalek rakudo/nom: d66eff4 | pmichaud++ | src/core/Version.pm:
20:17 dalek rakudo/nom: Refactor Version so that it's not ~~ List.
20:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d66eff48ac
20:17 dalek rakudo/nom: efc327f | pmichaud++ | src/core/Version.pm:
20:17 dalek rakudo/nom: Add Version.new(Str:d) method.
20:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/efc327fa61
20:17 dalek rakudo/nom: a67c130 | pmichaud++ | src/Perl6/ (2 files):
20:17 dalek rakudo/nom: Switch compiler to use Version.new(Str) instead of Version.new(@array).
20:17 dalek rakudo/nom: Also aligns closer to STD.pm6.
20:17 p6eval niecza v19-13-g442e075: OUTPUT«[31m===[0mSORRY![31m===[0m��Unable to parse argument list at /tmp/beCmohgT7z line 1:�------> [32msay "abc".trans([33m�[31m['a'] => '[n'])[0m�Couldn't find final ')'; gave up at /tmp/beCmohgT7z line 1:�------> [32msay "abc".trans(['a'] => '[n'[33m…
20:17 p6eval ..rakudo d8e7b6: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2, near "])"␤»
20:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a67c1304c4
20:17 dalek rakudo/nom: d0963e9 | pmichaud++ | src/core/Version.pm:
20:17 dalek rakudo/nom: Remove Version.new(@args, :plus) form.
20:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d0963e9768
20:17 dalek rakudo/nom: 6282653 | pmichaud++ | / (2 files):
20:17 dalek rakudo/nom: Add &infix:<cmp>(Version, Version);
20:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/62826536b9
20:17 masak rn: say "abc".trans(['a'] => ['n'])
20:17 p6eval rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«nbc␤»
20:17 masak rn: say "abc".trans(['a..c'] => ['n..p'])
20:17 p6eval rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«abc␤»
20:17 dalek roast: 15c92c1 | pmichaud++ | S02-literals/version.t:
20:17 dalek roast: Unfudge now-passing cmp test in version.t .
20:17 dalek roast: review: https://github.com/perl6/roast/commit/15c92c1fac
20:18 masak did I just dream it, or should .trans support .. in strings in arrays in pairs?
20:18 pmichaud masak: I've never been able to keep up with all of the .trans forms :)
20:18 pmichaud .trans reminds me of the many iterations of ... before it was simplified :)
20:19 masak well, the calling syntax of .trans always struck me as one level too complicated.
20:19 masak but I don't remember it changing so much, tbh.
20:19 masak in the spec, that is.
20:20 pmichaud yes, the calling syntax reminds me of that also.  It feels like overloading too many options into one method, so that you're never sure which combinations are valid (and if they're valid, what they do)
20:21 masak *nod*
20:21 pmichaud anyway, I don't know the answer to the .trans question, sorry.  :)
20:21 pmichaud afk # decommute
20:23 * masak czechs S05
20:23 flussence btw if anyone's looking for a puzzle to solve, using one .trans(«& < > " '»...) to escape HTML is currently slower than doing five separate .subst calls. :)
20:23 PerlJam masak: in any case, it seems weird to me that .trans would allow  .trans('a..c' => 'n..p'), but not allow .trans(['a..c] => ['n..p']);
20:23 flussence d63dec6 builds fine. trying the other one now...
20:24 masak oh! it seems it's either should be with no arrays, or with ranges of chars.
20:24 masak the combo I did is not in there.
20:24 masak which kinda proves pmichaud's point, I guess.
20:24 PerlJam yep
20:24 masak rn: say "abc".trans('a..c' => 'n..p')
20:24 p6eval rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«nop␤»
20:24 masak there we go.
20:25 masak I'd like to file a formal complaint that I'm more than Least Surprised. :)
20:25 drbean joined #perl6
20:30 sftp joined #perl6
20:32 adu joined #perl6
20:33 masak in #postgresql they have a nice atmosphere, too. there's a nick there "RhodiumToad". I'm starting to think there's a positive correlation between channel niceness and amphibian nick density.
20:36 pmichaud https://github.com/perl6/specs/issues/new  # <-- complaint department for masak++
20:36 pmichaud or, p6l if you also want extra bikeshedding with your order :)
20:37 masak that seems not entirely unapt for this.
20:37 masak I'll see if I have time to put together either a specbug, or a p6l thread seed, or both, tonight.
20:37 masak if not, I'll get to it tomorrow.
20:37 dalek panda/offline-bootstrap: c77524e | tadzik++ | / (38 files):
20:37 dalek panda/offline-bootstrap: First shot at offline bootstraping; seems to work
20:37 dalek panda/offline-bootstrap: review: https://github.com/tadzik/panda/commit/c77524ec13
20:43 flussence aha.
20:43 flussence ed6ecff is bad.
20:44 flussence (still bisecting, but at least I have two endpoints to go from)
20:45 jnthn That narrows it to 33 commits
20:49 masak furthermore, I posit that the "Download" link on perl6.org is lacking for two reasons: (a) too many clicks for no benefit. I count 3 clicks to actually start a download. decisions on the way which don't really matter.
20:49 masak (b) never once does it mention Niecza.
20:50 masak the (a) one is unfortunate from a "conversion" perspective. the (b) one is unacceptable.
20:51 Bucciarati joined #perl6
20:52 flussence have it like mozilla.com... but whichever perl6 has the current highest test score gets the big button :)
20:53 flussence (also, ow. that's a lot of orange on their site.)
20:53 crab2313 joined #perl6
20:54 pmichaud masak: I think having a single download page on perl6.org would be useful for both (a) and (b)
20:55 drbean joined #perl6
20:55 PerlJam what about making the download button more into a box with 3ish buttons that read "Download Rakudo", "Download Niecza", "Download Pugs" ?
20:55 dalek panda/offline-bootstrap: c37cd2c | tadzik++ | b (2 files):
20:55 dalek panda/offline-bootstrap: Ensure that DESTDIR is respected
20:55 dalek panda/offline-bootstrap: review: https://github.com/tadzik/panda/commit/c37cd2cb60
20:55 pmichaud someone new to perl6 would want to know the difference and how to choose.
20:56 tadzik phenny: tell moritz panda on offline-bootstrap is capable of installing itself to a specified directory without an internet connection. That could prove useful for Star
20:56 phenny tadzik: I'll pass that on when moritz is around.
20:56 masak pmichaud: +1 for Download page.
20:56 masak pmichaud: if we can make that page very simple and 1-click, then that would be really nice.
20:56 pmichaud yes, I agree.
20:57 jnthn Also, when we have it, should link directly to MSI for Windows users too.
20:57 dalek panda/offline-bootstrap: ee1aa2b | tadzik++ | projects.json.bootstrap:
20:57 dalek panda/offline-bootstrap: Oops, forgot the most important part
20:57 dalek panda/offline-bootstrap: review: https://github.com/tadzik/panda/commit/ee1aa2bbc7
20:57 pmichaud yes, I agree.
20:57 pmichaud and I expect 2012.07 star to have a MSI for Windows.
20:57 masak a good first start would be simply: "There are two Perl 6 compilers that we recommend: * Rakudo: [.tar.gz latest], [Windows latest] * Niecza [latest]"
20:57 masak or maybe s/Rakudo/Rakudo Star/
20:58 pmichaud if someone prototypes a page I'll do some updates to it.  I'll also make sure that updating that page gets into the appropriate sets of release notes.
20:59 tadzik phenny: tell moritz also, by manipulating projects.json.bootstrap and bootstrap.pl it should be able to install any Star modules required, all offline
20:59 phenny tadzik: I'll pass that on when moritz is around.
20:59 masak if no-one gets to it before tomorrow, I'll try to make time for prototyping a page after doing the .trans bits.
21:01 dalek std: 3b49ac8 | pmichaud++ | STD.pm6:
21:01 dalek std: The '+' in <?before \d+> is redundant.
21:01 dalek std: review: https://github.com/perl6/std/commit/3b49ac8007
21:07 fgomez joined #perl6
21:10 dalek ecosystem: 32358db | (Timothy Totten)++ | META.list:
21:10 dalek ecosystem: Added Template6 to module list.
21:10 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/32358db5bc
21:11 sergot good night! o/
21:13 masak dobranoc, sergocie.
21:13 tadzik 'noc
21:20 dukeleto joined #perl6
21:22 * [Coke] has a nice first experience with SourceTree from atlassian on OS X.
21:22 [Coke] (native osx git gui)
21:23 PerlJam [Coke]: excellent.
21:24 PerlJam I remember trying several svn gui clients on MacOS a few years ago and they invariably corrupted things.  Thus I'm a little gun-shy when it comes to source code control guis
21:25 drbean joined #perl6
21:33 lue joined #perl6
21:38 masak lol I managed to produce another July blog post! \o/ http://strangelyconsistent.org/blog/july-11-2012-things-which-contain-other-things
21:38 masak read it while it's still warm.
21:39 jnthn pmichaud: Don't suppose you know off the top of yoru head if peek_exception always gets the same thing an immediately-following .get_result ($Pfoo) does?
21:39 jnthn *your
21:40 jnthn hmm, it looks like it does...
21:47 flussence r: say ('a'..'z')[0 ..^ */3]
21:47 p6eval rakudo 628265: OUTPUT«a b c d e f g h i␤»
21:47 flussence .oO( /me ponders the evil ways which this can be misused... )
21:51 flussence turns out not many. nuts :(
21:55 pmichaud jnthn: peek_exception?  what's that?
21:55 * pmichaud doesn't remember "peek_exception"
21:55 pmichaud what's a good name for a method that decontainerizes all of the elements in a list?
21:56 drbean joined #perl6
21:56 pmichaud we could potentially bring back .seq for that :)
21:59 Bucciarati joined #perl6
22:00 masak sometimes I feel there should be more of an across-the-board solution to decontainerization. not just scattered types everywhere.
22:01 jnthn pmichaud: Something I think I may not need in the end... :)
22:02 jnthn pmichaud: It was possibly just a hack on top of the existing pile of exception code-gen hacks...
22:03 diakopter [Coke]: I spend a very large part of my $work time interacting with APIs of very large installations of various Atlassian products.
22:04 diakopter oh, and I attended the Atlassian conference in SF last month
22:05 pmichaud masak: well, that's why I'm asking about a method and not a type :-)
22:06 pmichaud jnthn: I'm also thinking of adding some sort of $!flat flag to Parcel, to signal when all of the elements are already flat.
22:06 diakopter pmichaud: how about decontainerize_all_the_things
22:06 jnthn You think it's cute today... :)
22:06 pmichaud diakopter: well, yes, I could do something like that; I'm hoping for something that is spec-ish
22:06 jnthn pmichaud: Benefit?
22:06 pmichaud .values would be another choice.... but we already have .values meaning something else
22:07 jnthn pmichaud: Performance? Semantics?
22:07 pmichaud performance, mainly
22:07 pmichaud some help with semantics
22:07 diakopter .containeds
22:07 jnthn pmichaud: How would be decide when to set it?
22:07 pmichaud jnthn: the parcel would detect it and set it at runtime (mre)
22:07 pmichaud $!flat can be True, False, or Mu (don't know yet)
22:08 jnthn nqp: pir::die__Ps('lol')
22:08 p6eval nqp: OUTPUT«error:imcc:The opcode 'die_p_sc' (die<2>) was not found. Check the type and number of the arguments␤        in file '(file unknown)' line 172237460␤»
22:08 jnthn nqp: pir::die__vs('lol')
22:08 p6eval nqp: OUTPUT«lol␤current instr.: '_block1000' pc 24 ((file unknown):36) (/tmp/FpsHtMtc6v:1)␤»
22:08 jnthn pmichaud: Can we ever know it at compile time, ooc?
22:08 pmichaud when we ask a Parcel for something where flatness would help, it can inspect its elements very quickly (parcels are finite) to decide that and set the flag.
22:08 pmichaud jnthn: we can know it at compile time sometimes, yes.
22:08 pmichaud but more importantly, we can detect it at build time
22:08 pmichaud *and* our Parcel builder is in C
22:09 pmichaud *and* we're already scanning all of the elements of the Parcel
22:09 jnthn Ah
22:09 pmichaud so it's just an additional check then to set the flag.  If we don't want to incur the runtime cost at build time, we can always wait to incur it at .flat time
22:09 jnthn There's the extra memory too, of course...
22:10 pmichaud one extra binding, yes.
22:10 jnthn otoh
22:10 jnthn We currently in build Parcels even full of literals every single time at runtime.
22:10 pmichaud well, I expect that to be optimized away someday
22:11 jnthn Doing those once at compile time will win us plenty and this seems to increase the value of doing that.
22:11 jnthn (e.g. it's even more that we can figure out at compile time)
22:11 pmichaud yes
22:11 jnthn Sounds like it's an overall win.
22:11 pmichaud mainly it bugs me that  Parcel.flat constructs a (lazy) list that then has to be iterated in order to do things like .[] on the Parcel
22:12 pmichaud if the Parcel already knows it's flat, it can construct a reified list directly
22:12 jnthn *nod*
22:12 pmichaud and that's just a simple clone + create operation
22:12 pmichaud instead of a bunch of reify calls
22:13 * jnthn wonders how common that case is
22:13 pmichaud well, it's about to be more common.
22:13 pmichaud while working on Version today, I discovered it bugs me that it's holding the components of the version as a List/Array
22:14 pmichaud because it's too easy for someone to accidentally get a hold of the List/Array and then start shifting or pushing on it
22:14 pmichaud (thus changing the original value in Version)
22:14 masak aye.
22:14 jnthn eek!
22:14 pmichaud so the way to fix that is to have the Version hold a Parcel instead
22:14 masak or do preemptive cloning before handing out the List/Array.
22:15 pmichaud actually, I was looking for a List that couldn't be shifted or unshifted or pushed or popped or ....  and then I said "oh!  That's a Parcel!"
22:15 jnthn Aha! :)
22:15 pmichaud so, many places where we have @!attr  may become stored parcels instead.
22:16 jnthn (Aside: ARGH WTF OMG DIE DIE <STAB> DIE...PIR has .get_result AND .get_results and they mean different things!!1!)
22:17 pmichaud and since the most common thing to do on a Parcel is iterate it... as in .map or .values.... well, knowing that it's already flat can be a big win.
22:17 jnthn Makes sense.
22:17 jnthn +1
22:18 pmichaud flattening ListIters can also do some nice shortcircuits if they encounter a Parcel that is already known to be flat.
22:19 pmichaud i.e., an immediate splice into the results instead of a splice + scan further.
22:19 sporous joined #perl6
22:19 fgomez joined #perl6
22:19 * masak has a feeling something in the above discussion will have consequences that will allow him to submit a rakudobug or two in the future :)
22:20 pmichaud masak: I actually suspect we'll end up closing  bugs.
22:21 flussence $ git bisect bad
22:21 flussence 80306ffca6bedaf1b2755771d2e7a52fa757b3e4 is the first bad commit
22:21 pmichaud anyway, if the parcel can be a parcel of decontainerized thingies, then we have a truly immutable object :-)
22:21 pmichaud thus the desire for a method that returns a decontainerized version of a list :-)
22:22 jnthn flussence: Wow
22:22 harmil left #perl6
22:22 jnthn That...would not have been anywhere near the top of my guess list :S
22:23 flussence I don't know much of this code, but I agree, that looks totally innocuous to me :/
22:23 jnthn Yeah :S
22:23 dalek nqp/toqast: 08f40a4 | jnthn++ | src/QAST/Operations.nqp:
22:23 dalek nqp/toqast: Implement CATCH and CONTROL cases of nqp::handle.
22:23 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/08f40a4d07
22:23 dalek nqp/toqast: 1def481 | jnthn++ | src/QAST/Operations.nqp:
22:23 dalek nqp/toqast: Add nqp::die_s.
22:23 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/1def48154b
22:23 dalek nqp/toqast: b38ba4a | jnthn++ | t/qast/qast.t:
22:24 dalek nqp/toqast: A couple of tests for nqp::handle, both of which pass.
22:24 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b38ba4a018
22:25 drbean joined #perl6
22:26 pmichaud ....moving from an alt to an altseq?
22:26 pmichaud the other way around, I could see being an issue, but that.... :-?
22:27 jnthn flussence: 0920483 certainly is OK?
22:27 jnthn And 80306ff dies with the same error that HEAD does?
22:28 flussence wait... 80306 *doesn't*
22:28 flussence invoke() not implemented in class 'BUILD_MAGIC'
22:29 flussence the error I had to start with was "not implemented in class ')'"
22:30 jnthn I think those are really the same underlying cause, though.
22:31 pmichaud http://rakudo.org/2012/06/30/rakudo-star-2012-06-released/#comment-1723   # just arrived on rakudo.org
22:31 pmichaud should we file an issue ticket; if so, where?
22:31 flussence I'm trying 0920483 now... IIRC that thing in single quotes was '$' at one point too.
22:31 pmichaud I guess it should go to RT
22:31 masak RT?
22:31 masak yes.
22:48 whiteknight joined #perl6
22:50 masak was I the only one to read yesterday's backlog and think "should Positional[::T] really be covariant on T? it's a read-write thing, it should be invariant" ?
22:52 sorear SOP for object-oriented languages is to make arrays be covariant with the possibility of exceptions from store.
22:52 flussence 0920483 works. hmm
22:53 skids joined #perl6
22:54 gfldex joined #perl6
22:54 fgomez joined #perl6
22:55 drbean joined #perl6
22:56 masak sorear: there are some days when I don't like assignment, period. :/
22:56 masak 'night, #perl6
22:58 flussence so... a broken build for approximately two people, with absolutely nothing in common in the OS besides 32-bit linux, and it's from a 4-char diff. BLARGH
22:59 jnthn BLARGH indeed. :S
23:05 dalek nqp/toqast: 8dfe9bb | jnthn++ | src/QAST/Operations.nqp:
23:05 dalek nqp/toqast: Missing exception handler pops.
23:05 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/8dfe9bb470
23:16 jnthn 'night, #perl6
23:27 drbean joined #perl6
23:31 dalek rakudo/nom: a7aeeaf | pmichaud++ | src/ (3 files):
23:31 dalek rakudo/nom: Add nqp::p6listitems, which returns $!items RPA for a List, vivifying it if needed.
23:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a7aeeaf161
23:31 dalek rakudo/nom: a3b6fa8 | pmichaud++ | src/core/Array.pm:
23:31 dalek rakudo/nom: Update some Array methods to use nqp::p6listitems();
23:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a3b6fa8143
23:31 dalek rakudo/nom: 8ab5600 | pmichaud++ | src/core/List.pm:
23:31 dalek rakudo/nom: List.values always returns a List that may be mutated separately from the invocant.
23:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8ab5600ec3
23:31 dalek rakudo/relist: 5126575 | pmichaud++ | src/ (3 files):
23:31 dalek rakudo/relist: Add nqp::p6listitems, which returns $!items RPA for a List, vivifying it if needed.
23:31 dalek rakudo/relist: review: https://github.com/rakudo/rakudo/commit/51265759dd
23:31 dalek rakudo/relist: 2520130 | pmichaud++ | src/core/Array.pm:
23:31 dalek rakudo/relist: Update some Array methods to use nqp::p6listitems();
23:31 dalek rakudo/relist: review: https://github.com/rakudo/rakudo/commit/2520130e3b
23:31 dalek rakudo/relist: 2164859 | pmichaud++ | src/core/List.pm:
23:31 dalek rakudo/relist: List.values always returns a List that may be mutated separately from the invocant.
23:31 dalek rakudo/relist: review: https://github.com/rakudo/rakudo/commit/21648595e3
23:31 pmichaud erg, I only wanted to push the one branch.
23:31 pmichaud oh well.
23:35 cognominal joined #perl6
23:54 thou joined #perl6
23:56 drbean joined #perl6

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

Perl 6 | Reference Documentation | Rakudo