Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-01-08

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:03 yarp joined #perl6
00:06 gbacon left #perl6
00:07 tadzik https://github.com/tadzik/neutro/tree/metainfo -- for the adventorous
00:07 tadzik https://github.com/tadzik/perl6-Acme-Meow/blob/master/META.info -- the new way in action
00:11 lopaway is now known as lopnor
00:15 Eth4n joined #perl6
00:15 Eth4n left #perl6
00:15 Eth4n joined #perl6
00:17 tadzik http://twitter.com/gdonald/statuses/23504969021788160 :D
00:17 tadzik somebody needs a hug
00:17 diakopter TimToady: feel that 4.4 7 min ago?
00:18 diakopter http://goo.gl/maps/W2vk
00:21 s1n joined #perl6
00:22 diakopter http://goo.gl/TVObh
00:30 roen left #perl6
00:35 am0c joined #perl6
00:39 cdarroch left #perl6
00:40 Eth4n left #perl6
00:41 am0c left #perl6
00:42 sorear TimToady: Why aren't $STD::ALL and @STD::herestub_queue contextuals?
00:43 Eth4n joined #perl6
00:43 Eth4n left #perl6
00:43 Eth4n joined #perl6
00:47 tadzik loliblogged! http://ttjjss.wordpress.com/2011/01/08/perl-6-module-ecosystem-%E2%80%93-news-and-ideas/
00:48 tadzik moritz_: could you take a look at http://goo.gl/ldFPE in the meantime? I'll need JSON::Tiny with a META.info to continue the research. TIA
00:54 colomon tadzik: added META.info for perl6-Testing module.
00:55 shi joined #perl6
00:57 am0c joined #perl6
00:57 colomon tadzik: with bootstrap.sh:
00:57 colomon Unknown option: Q
00:57 colomon Unknown option: e
00:57 colomon ==> Tests failed for perl6-File-Tools
00:58 Alias__ left #perl6
00:59 Alias__ joined #perl6
01:01 Alias joined #perl6
01:01 Eth4n left #perl6
01:03 Alias__ left #perl6
01:05 dalek niecza: f79f696 | sorear++ | / (4 files):
01:05 dalek niecza: Restore rawcall; merge back harness -> NieczaActions
01:05 dalek niecza: review: https://github.com/sorear/niecza/commit/f79f696a73
01:05 dalek niecza: 71f331d | sorear++ | v6/ (2 files):
01:05 dalek niecza: [v6] Conceptually translate Niecza::Frontend::STD
01:05 dalek niecza: review: https://github.com/sorear/niecza/commit/71f331d492
01:08 colomon tadzik: what's extra bizarre is the tests pass when I run them by hand
01:10 colomon prove issue?
01:12 muixirt_ joined #perl6
01:14 colomon tadzik: why do you do "make test" and then try to run prove by hand?
01:15 muixirt left #perl6
01:15 muixirt_ is now known as muixirt
01:17 colomon tadzik: I think, in Module::Test, lines 11-12, you may want       } elsif "$dir/t".IO ~~ :d {
01:17 [particle] left #perl6
01:18 muixirt left #perl6
01:18 yarp left #perl6
01:18 yarp joined #perl6
01:25 risou joined #perl6
01:28 colomon good grief, smoker.pl is a bloodbath at the moment.  :(
01:37 redicaps joined #perl6
01:39 snarkyboojum what's smoker.pl?
01:40 colomon neutro's script for building and testing all the modules in the ecosystem.
01:40 snarkyboojum ahhh.. cool - must check neutro out. cheers.
01:40 pmichaud snarkyboojum: re: your tweet about perl6.org -- you do know we give people commitbits to fix problems, yes?
01:40 colomon unfortunately (or fortunately, depending on how you look at it) I think it's a bit broken at the moment.
01:41 snarkyboojum pmichaud: yes I do, and someone has since then, cheers
01:41 pmichaud snarkyboojum: what's your github id?
01:41 snarkyboojum pmichaud: I've been added to the perl6 github team thingy I think by someone
01:42 pmichaud ah yes, you have.
01:42 colomon tadzik: neutro isn't working properly on my Linux box?
01:42 snarkyboojum pmichaud: goody :)
01:47 jhuni joined #perl6
01:47 snarkyboojum what tends to be the module manager of choice these days, pls.. neutro?
01:48 colomon That's an open question.  At the moment, I'm not sure either one works.  But I haven't tried pls lately, I admit.
01:48 colomon I'm having issues with neutro on both OS X and Linux tonight.
01:48 snarkyboojum am about to try neutro on OS X
01:49 char00les joined #perl6
01:49 colomon actually, it might work better for you -- I think part of my issue is an obsolete default version of "prove".
01:54 yarp left #perl6
01:55 snarkyboojum colomon: yep - seemed to work for me
01:55 colomon glad to hear it!
01:58 snarkyboojum haven't run smoker.pl tho :)
02:00 bacek joined #perl6
02:01 cotto joined #perl6
02:01 bacek pmichaud, ping
02:02 snarkyboojum the neutro README could/should refer to bootstrap.sh
02:04 noganex left #perl6
02:04 snarkyboojum I like this - very easy to use! :D
02:05 pmichaud bacek: pong
02:05 bacek pmichaud, I want to migrate PCT to nqp-rx (POST::* first). Any objections?
02:06 pmichaud after 3.0, I hope?
02:06 bacek pmichaud, and guidelines/ideas about bootstrapping
02:06 noganex joined #perl6
02:06 bacek pmichaud, yes, sure. In a branch for now.
02:07 pmichaud just do it all in a branch to start with, and I'll be glad to handle the bootstrapping.
02:07 bacek pmichaud, ok, thanks
02:07 pmichaud It would be very wise for me to do bootstrapping in fact, because it also has to be coordinated with jnthn++'s work.
02:08 bacek pmichaud, which part of jnthn's work? New object model?
02:08 pmichaud Yes, which is also primarily done in nqp.
02:08 pmichaud as a separate branch
02:08 pmichaud and jnthn++ has already run into issues in trying to keep his branch up-to-date with nqp master
02:09 bacek pmichaud, ok. I'll start it today/tomorrow
02:09 pmichaud excellent.
02:09 envi joined #perl6
02:10 risou left #perl6
02:11 snarkyboojum we should add some info about neutro to modules.perl6.org (as a module installer option)
02:23 risou joined #perl6
02:25 Miesco left #perl6
02:27 lichtkind_ joined #perl6
02:28 lichtkind left #perl6
02:28 lichtkind_ is now known as lichtkind
02:29 kthakore is now known as Moose
02:29 Moose is now known as Guest72163
02:29 Guest72163 is now known as kthakore
02:30 GinoMan left #perl6
02:36 snarkyboojum yikes.. building perl6-facter causes perl6 to use over 2.5 GB of RAM on OS X :)
02:37 VXZ left #perl6
02:39 dalek niecza: 9460fdc | sorear++ | lib/SAFE.setting:
02:39 dalek niecza: Fix non-lvalue grep and map
02:39 dalek niecza: review: https://github.com/sorear/niecza/commit/9460fdc7eb
02:39 dalek niecza: 03420a8 | sorear++ | v6/ (5 files):
02:39 dalek niecza: [v6] Translate beta-optimization
02:39 dalek niecza: review: https://github.com/sorear/niecza/commit/03420a8203
02:39 risou left #perl6
02:40 [particle] joined #perl6
02:45 rgrau left #perl6
02:48 molaf__ joined #perl6
02:48 redicaps left #perl6
02:50 lichtkind left #perl6
02:51 jenk left #perl6
02:51 molaf_ left #perl6
02:52 am0c left #perl6
02:54 snarkyboojum phenny: tell tadzik, we should put a blurb about neutro on modules.perl6.org, if you agree - works nicely on my system :)
02:54 phenny snarkyboojum: I'll pass that on when tadzik is around.
03:00 snarkyboojum phenny: tell tadzik, would be good if the neutro README mentioned bootstrap.sh too
03:00 phenny snarkyboojum: I'll pass that on when tadzik is around.
03:01 kanishka joined #perl6
03:10 shi left #perl6
03:14 kanishka left #perl6
03:42 lopnor is now known as lopaway
04:06 tzhs left #perl6
04:06 diakopter for someone reading the backlogs: resurrecting the syntax hiliter based on STD would be a great task for someone who wants to get involved.  Then STD can emit an html edition of itself, which we can place on or link from perl6.org
04:06 ashleydev left #perl6
04:09 sorear Is it dead AGAIN?
04:09 sorear I already resurrected it once
04:09 diakopter oh, I didn't it was alive
04:10 diakopter didn't know
04:10 diakopter I hadn't heard about it in a year
04:20 * diakopter finally finds it
04:20 * diakopter wonders if the install STD/viv will be used by it
04:23 Su-Shee_ joined #perl6
04:24 diakopter hi
04:24 ashleydev joined #perl6
04:25 justatheory left #perl6
04:26 Su-Shee left #perl6
04:28 diakopter sorear: well, I can't get it to work
04:28 diakopter but maybe it's a windows/strawberry thing
04:28 diakopter i'll try on linux
04:33 diakopter sorear: well, I tried on linux.. same problem
04:33 diakopter maybe I'm invoking it wrongly
04:34 diakopter p6eval@host04:~/std_hilited/std/std_hilite$ ./STD_syntax_highlight --full-html=STD.pm6.full.html --clean-html ../STD.pm6
04:34 diakopter Unable to load setting CORE.  Did you run make? at ../CursorBase.pm line 347.
04:37 diakopter (and yes, make was run in ..)
04:39 diakopter maybe if I comment out   use lib '..';
04:42 diakopter ok
04:42 diakopter in order to get it to work at all, I had to copy all the files in std/std_hilite to std/
04:42 diakopter so it's churning away now
04:50 diakopter oh.
04:50 diakopter the output is 50 MB
04:50 diakopter hee
04:53 diakopter this can't be correct output....
04:54 ggoebel left #perl6
04:57 sorear full_html is rather silly
04:57 diakopter ok.  that wasn't obvious.
04:57 sorear it encodes the whole parse tree into an inefficient javascript form
04:58 diakopter see my note about having to move the script ..
04:58 diakopter (maybe I wasn't invoking it right from its as-cloned location)
04:59 ggoebel joined #perl6
05:00 diakopter sorear: should I do --simple-html or --snippet-html  ?
05:03 kjeldahl left #perl6
05:10 sorear simple I think?  been a while
05:11 diakopter cool: http://host04.appflux.net/STD.pm6.simple.html
05:13 diakopter wow. my eyes don't hurt when reading it
05:14 diakopter esp zoomed in to 180%
05:16 diakopter hm, oh, it needs a UTF-8 marker
05:18 diakopter there, much better
05:20 dalek std: 8b0496c | diakopter++ | std_hilite/STD_syntax_highlight:
05:20 dalek std: add a utf-8 signifier to the std_hilite script
05:20 dalek std: review: https://github.com/perl6/std/commit/8b0496c636
05:24 ashleydev left #perl6
05:39 diakopter TimToady: is this an STD fossil?  Note that some of these rules are written strangely because we're still bootstrapping via a preprocessor, gimme5.
05:42 diakopter (I thought gimme5 went byebye)
05:45 roen joined #perl6
05:46 saaki left #perl6
05:50 diakopter TimToady: also, the copyright years need updating :D
06:04 roen left #perl6
06:19 dalek sprixel: 705df9a | diakopter++ | / (5 files):
06:19 dalek sprixel: class derivation sorta working
06:19 dalek sprixel: slight optimization during emitter pass for infix
06:19 dalek sprixel: review: https://github.com/diakopter/sprixel/commit/705df9a194
06:23 sorear diakopter: gimme5 is dead, but the essential problem - platonic ideal perl 6 doesn't exist - remains
06:45 Chillance joined #perl6
07:07 szabgab PerlJam: re money for some Perl 6 hackers, that's part of the agenda of the Perl Ecosystem Group, I just got swamped by clients in the last few months so our progress was slower than planned
07:08 sorear hi szabgab
07:08 szabgab sorear: and I think TPF has less than 200K USD in the bank and 100K is supposed to go to the "improvement of TPF and fund raising" - that was the part I wanted to use in my grant request back in June 2010
07:09 szabgab hi sorear
07:10 glow_ joined #perl6
07:10 glow_ left #perl6
07:13 PerlJam szabgab++
07:16 roen joined #perl6
07:18 PerlJam szabgab: What's the "startup" membership category?
07:38 szabgab PerlJam: I am not sure if we defined it perfectly but it is for small companies that want to become big and don't have a lot of money yet :)
07:38 saaki joined #perl6
07:58 kaare_ joined #perl6
07:59 arthur-_ left #perl6
08:29 moritz_ tadzik: META.info added
08:29 bacek left #perl6
08:30 dalek niecza: 319dea8 | sorear++ | v6/ (6 files):
08:30 dalek niecza: [v6] Port forward NieczaPassSimplifier
08:30 dalek niecza: review: https://github.com/sorear/niecza/commit/319dea8c76
08:30 dalek niecza: ea9bf95 | sorear++ | v6/ (5 files):
08:30 dalek niecza: [v6] merge-back; bring Begin into pass system
08:30 dalek niecza: review: https://github.com/sorear/niecza/commit/ea9bf951dc
08:31 hanekomu joined #perl6
08:32 Tedd1 joined #perl6
08:41 sorear now for the fun part: portable pathname manipulation
08:44 lopaway is now known as lopnor
08:47 araujo left #perl6
08:48 yarp joined #perl6
08:53 dju left #perl6
09:03 kensanata joined #perl6
09:06 bacek joined #perl6
09:15 sorear Is Perl 6 supposed to have any path-manipulation operators?
09:15 sorear like, parent dir, fullpath, path concatenation, etc
09:16 moritz_ depends on who you ask :-)
09:16 moritz_ we had endless threads about it on p6l
09:16 tadzik morning
09:16 phenny tadzik: 02:54Z <snarkyboojum> tell tadzik we should put a blurb about neutro on modules.perl6.org, if you agree - works nicely on my system :)
09:16 phenny tadzik: 03:00Z <snarkyboojum> tell tadzik would be good if the neutro README mentioned bootstrap.sh too
09:17 moritz_ sorear: if you come up with a working, more-or-less-cross-platform aproach, we can spec it :-)
09:17 tadzik colomon :: tadzik: why do you do "make test" and then try to run prove by hand?
09:17 tadzik colomon: in case somebody has his/her own Makefile
09:18 tadzik colomon: like zavolaj has. It there's a Makefile, we use it
09:20 sorear moritz_: ok.
09:20 sorear (I happen to *need* a working, cross platform approach, so I guess I'll just publish it when I'm done)
09:24 tadzik snarkyboojum: colomon has some funny issues with it, so let's fix it first, but then why not :)
09:24 snarkyboojum tadzik: does he? bugger
09:24 snarkyboojum tadzik: it's a nifty and nicely useable bit of software imo
09:25 tadzik snarkyboojum: I wonder if he used the new branch, it's quite supposed to be broken :)
09:26 snarkyboojum tadzik: ah - the metainfo branch - I didn't try that one
09:26 tadzik snarkyboojum: then do, it's awesome
09:27 tadzik But either wait a second or install json first
09:27 snarkyboojum tadzik: apart from being broken? :D
09:27 coldhead left #perl6
09:27 tadzik snarkyboojum: well, if it didn't work for me, I won't push it. colomon++ has some issues
09:28 coldhead joined #perl6
09:28 tadzik colomon | tadzik: added META.info for perl6-Testing module. # did you?
09:29 tadzik snarkyboojum: how do you like the 'neutro list' output?
09:31 tadzik admit it, you don't :) Now look at http://wklej.org/id/452575/
09:31 snarkyboojum tadzik: a newline separated list of modules?
09:31 tadzik yeah, for that's what we know about them in master
09:31 snarkyboojum tadzik: ah.. the new listing output has real module names with a description?
09:31 tadzik snarkyboojum: it uses the information META.info gives it
09:32 snarkyboojum tadzik: looks good - as long as there is a space between the module name and desc :D
09:32 tadzik grr, wklej--
09:34 snarkyboojum tadzik: am I right in assuming there is only one module in META.info? i.e. neutro?
09:35 risou joined #perl6
09:35 tadzik snarkyboojum: each module has its META.info
09:35 snarkyboojum tadzik: oic
09:36 snarkyboojum so the master list is still retrieved from github perl6/ecosystem?
09:36 tadzik snarkyboojum: the tadzik/ecosystem/update.pl script fetches all of them and creates a nice json for all of them
09:36 tadzik snarkyboojum: not really
09:36 tadzik snarkyboojum: to avoid making mess in the "official" ecosystem, I forked it
09:36 tadzik snarkyboojum: see https://github.com/tadzik/ecosystem and the META.list here
09:38 lopnor is now known as lopaway
09:38 snarkyboojum tadzik: gotcha
09:39 snarkyboojum tadzik: or "got ya" rather
09:40 tadzik snarkyboojum: did you try the new branch yet?
09:40 snarkyboojum tadzik: reading source code atm :) will give it a whirl is a sec
09:42 snarkyboojum tadzik: if I switch the the metainfo branch, can I assume that bootstrap.sh is the first thing I'd want to run?
09:42 tadzik snarkyboojum: hell no, it's broken in that branch :)
09:42 snarkyboojum tadzik: ok!
09:43 snarkyboojum tadzik: because it breaks :)
09:43 tadzik snarkyboojum: try to update, list, install something
09:43 tadzik snarkyboojum: it lacks JSON, no?
09:43 snarkyboojum tadzik: well, actually it can't open update.pl or project.json (haven't looked into the errors)
09:44 tadzik oh, that's more interesting
09:44 risou left #perl6
09:44 tadzik snarkyboojum: can you take a look?
09:44 snarkyboojum tadzik: seems to be a common error for any neutro command.. will have a gnader
09:44 snarkyboojum gander
09:45 snarkyboojum that may be aussie slang.. will take a look
09:47 tadzik rakudo: say "foo::bar".subst(/'::'/, /_/, :g); # LTA
09:47 p6eval rakudo 71328b: OUTPUT«Method '!cursor_start' not found for invocant of class 'Match'␤  in <anon> at line 22:/tmp/ZT0qgQKZ2c␤  in <anon> at line 2238:CORE.setting␤  in 'Cool::subst' at line 1␤  in main program body at line 22:/tmp/ZT0qgQKZ2c␤»
09:48 Su-Shee_ is now known as Su-Shee
09:49 tadzik funny, qx// runs a command, run does not
09:49 tadzik or none do
09:54 snarkyboojum tadzik: part of the problem was that I already had a ~/.neutro/src/ecosystem checkout
09:54 tadzik ah, that might be it
09:55 snarkyboojum tadzik: ah your 'fetch' sub in neutro only tries to do a pull or a clone
09:55 snarkyboojum I guess
09:55 snarkyboojum tadzik: actually, that should be ok :P
09:55 snarkyboojum but anyway, removing it, and trying again resulted in a different error :D
10:03 Layla_91 joined #perl6
10:04 Layla_91 helo, i just started learning perl6 and have few questions
10:06 tadzik hello Layla_91 :)
10:06 sorear We can't guess them, but we'd be happy to hear them
10:06 Layla_91 As I understood the tilda (~) operator is used in string concatination (like in my $fmt = '%- '~ $label ~ "s%s\n";) but what does it mean in: say ~<A C B>.sort;
10:07 Layla_91 ?
10:07 sorear Stringification.
10:07 tadzik srtingifier the left side, as in <A C B>.sort.Str
10:08 Layla_91 tadzik: hi! :) mmm.. ok ..What does the operator ~= mean exactly? like when used in sub { $dance-move ~= '\o/' };
10:09 tadzik Layla_91: that's just $dance-move = $dance-move ~ '\o/'
10:09 tadzik like in C :)
10:10 Layla_91 tadzik: oh I see.. one last question, what is the difference between the big arrow => and the small one -> , noticed the small one is used in loops but why are there 2 arrows?
10:11 Teee joined #perl6
10:11 Teee hello
10:12 tadzik Layla_91: because they mean different things. => constructs a Pair (as in hashes), -> feeds a block with a variable
10:12 tadzik Teee: ho
10:13 Layla_91 tadzik: now its all clear thank you! \o/! :)
10:13 tadzik Layla_91: you're welcome :)
10:14 Layla_91 left #perl6
10:14 tadzik /* What'll you do when you get lonely... */
10:15 snarkyboojum /* Please don't say we'll never find a way */ - /* Perl 6 will see the light of day */
10:17 * sorear out
10:24 Teee left #perl6
10:37 teee joined #perl6
10:38 teee left #perl6
10:40 teee joined #perl6
10:44 roen left #perl6
10:45 rgrau joined #perl6
11:00 teee say
11:00 teee Ten years for being borned;indeed,there is no much than one year,since been borned.For developing*/
11:06 teee //For developing,though there might be years to become better,that's no matter about the succinctness and flexibility of Perl6.
11:07 teee left #perl6
11:10 araujo joined #perl6
11:10 dsp_ left #perl6
11:10 dsp_ joined #perl6
11:10 snarkyboojum what that something like a haiku in programming comments?
11:11 moritz_ number of syllabils doesn't fit though
11:11 snarkyboojum moritz_: I know.. but went with it anyway :P
11:12 tadzik is there a way to manually fire up the default USAGE sub?
11:13 jnthn rakudo: USAGE()
11:13 p6eval rakudo 71328b: OUTPUT«Could not find sub &USAGE␤  in main program body at line 22:/tmp/pJW5vyTo1o␤»
11:13 moritz_ rakudo: USAGE()
11:13 tadzik USAGE unless +@modules; doesn't work. I have multi MAIN (*@modules)
11:13 p6eval rakudo 71328b: OUTPUT«Could not find sub &USAGE␤  in main program body at line 22:/tmp/4MRtb7gmid␤»
11:13 moritz_ tadzik: that's basically a bug in Rakudo
11:13 tadzik cool :)
11:13 jnthn rakudo: sub MAIN() { }; USAGE()
11:13 p6eval rakudo 71328b: OUTPUT«Could not find sub &USAGE␤  in main program body at line 22:/tmp/j7vYoCRqau␤»
11:13 jnthn aw.
11:14 tadzik multi MAIN (*@modules where { +@modules }) is ok though
11:14 moritz_ there should be a  multi USAGE() { say $?USAGE; exit 1 }  or so in the setting
11:14 moritz_ ahdn $?USAGE generated at compile time
11:16 JimmyZ joined #perl6
11:19 zeta joined #perl6
11:19 zeta left #perl6
11:27 tadzik rakudo: package Foo { my $a = 5; }; say Foo::$a # am I doing it wrong?
11:27 p6eval rakudo 71328b: OUTPUT«===SORRY!===␤Confused at line 22, near "say Foo::$"␤»
11:28 moritz_ yes
11:28 jnthn std: package Foo { my $a = 5; }; say Foo::$a
11:28 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/Wl8MZLBuXR line 1:␤------> [32mpackage Foo { my $a = 5; }; say Foo::[33m⏏[31m$a[0m␤    expecting any of:␤     POST␤   bracketed infix␤        infix or meta-infix␤    postfix␤        postfix_prefix_meta_operator␤
11:28 p6eval ..statement modifier loop␤Parse f…
11:28 moritz_ it's $Foo::a
11:28 jnthn Also should be our, not my.
11:28 moritz_ and when the inner variable is.... what jnthn said
11:28 * jnthn hoped for a slightly nicer explanation from STD then. :)
11:29 tadzik that's what I needed, thanks
11:29 moritz_ jnthn: at least it pointed exactly to the right location
11:30 jnthn moritz_: Yes, true. :)
11:34 moritz_ phenny: tell Kodi that t/spec/S02-names_and_variables/names.t fails quite a few tests, and you touched it (and the corresponding grammar parts) last... care to investigate?
11:34 phenny moritz_: I'll pass that on when Kodi is around.
11:38 am0c joined #perl6
11:46 tadzik oh great
11:46 tadzik rakudo: package Foo { my $a = 6; }; say "foo {$Foo::a} bar"
11:46 p6eval rakudo 71328b: OUTPUT«Null PMC access in get_string()␤  in main program body at line 22:/tmp/pGs7WlHy9u␤»
11:46 tadzik known?
11:47 snarkyboojum rakudo: package Foo { our $a = 6; }; say "foo {$Foo::a} bar"
11:47 p6eval rakudo 71328b: OUTPUT«foo 6 bar␤»
11:47 kjeldahl joined #perl6
11:48 tadzik damn, don't tell me I have heisenbugs again
11:48 tadzik rakudo: package Foo { my $a = 6; }; say "foo {$Foo::a} bar"
11:48 p6eval rakudo 71328b: OUTPUT«Null PMC access in get_string()␤  in main program body at line 22:/tmp/5_nwKpMsxn␤»
11:49 tadzik oh, this my again
11:49 jnthn tadzik: note, s/my/our/
11:49 tadzik tadzik--
11:49 jnthn But the error sucks and should be ticketed.
11:51 skangas left #perl6
11:55 Intensity left #perl6
12:00 JimmyZ left #perl6
12:15 avuserow left #perl6
12:15 pyrimidine left #perl6
12:22 risou joined #perl6
12:22 avuserow joined #perl6
12:22 kjeldahl left #perl6
12:30 pyrimidine joined #perl6
12:36 colomon tadzik: whoops,  I committed META.info but forgot to push.  done now.
12:36 tadzik rakudo: package Foo { our $a }; say $Fooooo::a # another LTA message
12:36 p6eval rakudo 71328b: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/uRErFfVdkM␤»
12:36 shi joined #perl6
12:36 risou left #perl6
12:36 tadzik colomon: thanks. Care to elaborate on your neutro failures?
12:37 colomon On OS X, they were all about calling prove with options my system version of prove doesn't support.
12:37 skangas joined #perl6
12:38 tadzik Hmm, I see
12:38 tadzik does your parrot_prove support them?
12:42 colomon I have a up-to-date prove, if I can specify a path for it....
12:43 colomon and parrot-prove, yes
12:43 colomon though that's not in my path either.
12:43 colomon (guess I could add it easily enough)
12:44 moritz_ phenny: tell Kodi never mind, I wasn't on newest Rakudo - sorry for the noise
12:44 phenny moritz_: I'll pass that on when Kodi is around.
12:44 tadzik I wonder whether to use parrot-prove, or make the prove path configurable
12:45 tadzik or both
12:46 colomon make path -- including executable name -- configurable
12:47 tadzik what would you prefer: a config file for neutro, an env variable, or a command-line switch?
12:48 colomon whichever of those is easiest for you.  :)
12:49 tadzik :)
12:49 colomon config file, though, sounds nicest to me.
12:49 tadzik it probably is
12:50 tadzik but eh, a config file for one setting, in one specific case
12:51 gbacon joined #perl6
12:51 tadzik oh, iirc cpanminus did it like this: a command-line switch, plus the env var with default opts
12:52 tadzik so that'd be NEUTRO_OPTS="--prove=/foo/my_prove"
12:52 colomon that would work fine for me too
12:52 tadzik the bad side is that the MAIN sub would not be able to parse NEUTRO_OPTS, I'll have to do it myself
12:52 tadzik or write a wrapper for neutro. What do you think?
12:53 colomon oooo, I'd not considered that as a tricky bit of opts before.  almost sounds like we might need to establish a new idiom....
12:54 tadzik ==> Testing Testing
12:54 tadzik :}
12:54 tadzik what do you mean?
12:54 tadzik maybe a good way is to compile neutro to .pbc and write a wrapper running it with some default opts
12:55 snearch joined #perl6
12:55 colomon well, MAIN has all the logic for processing arguments built in
12:55 tadzik yep
12:55 tadzik so DEFAULT_OPTS becomes a problem
12:56 colomon I think this is a not that uncommon idiom for running things on the command line
12:56 colomon therefore Perl 6 should support it somehow.
12:56 colomon So either we need to figure out how to cleverly do it with what we have now -- or what we have now needs a slight tweak to handle it.
12:57 tadzik sub MAIN($foo, $bar) : default(%*ENV<OPTS>)
12:57 colomon (have no in Rakudo, I mean)
12:57 colomon *now
12:58 colomon the tricky bit is that we need to let MAIN_HELPER know what is going on, but MAIN is called by MAIN_HELPER.
12:58 tadzik something like callsame $signature, main-eval($opts)?
12:58 moritz_ there's another problem
12:58 moritz_ MAIN_HELPER creates $?USAGE at compile time
12:58 colomon I thinking the problem with that is that every version of MAIN will need to have it.
12:59 moritz_ so it needs to know signature at compile time
12:59 moritz_ but %*ENV<OPTS> should be taken at run time
13:00 moritz_ wait, if it doesn't modify the signature, but only supplies default values, that could still work
13:00 tadzik I'm afraid it does
13:01 tadzik if you have a multi MAIN, like neutro has, one main gets just ('list'), the other one gets some named params. With OPTS, the former will never get called
13:02 cjk101010 joined #perl6
13:02 yarp left #perl6
13:04 moritz_ well, you'd have to repeat the signature for each multi
13:04 masak joined #perl6
13:04 masak good weekend, zebras! \o/
13:04 colomon masak!
13:04 moritz_ so it might be better to use a single MAIN, and redispatch it to other multis
13:05 tadzik hello masak
13:05 hanekomu left #perl6
13:06 colomon I don't know, I'm somewhat of the opinion that the MAIN system needs a way of specifying "you should also look here for command line arguments".
13:07 colomon because in addition to OPTS, there's also the fairly common trick of putting command line arguments in a file.
13:07 colomon maybe an optional function which gets called before MAIN_HELPER does process-cmd-args?
13:08 colomon MAIN-ARGS ?  something like that?
13:12 tadzik maybe
13:13 cjk101010 left #perl6
13:13 cjk101010 joined #perl6
13:13 jnthn o/ masak
13:13 colomon jnthn!
13:15 colomon huh
13:15 jnthn :)
13:15 masak jnthn \o
13:15 colomon process-cmd-args is called separately for each version of MAIN (until a match is found).
13:15 jnthn colomon: Having another go at that patch you had to revert.
13:16 colomon jnthn++
13:16 jnthn colomon: Got a sane test run before.
13:16 jnthn Let's see how the after run goes. :)
13:16 colomon :)
13:16 jnthn Done something to hopefully fix the roles issue.
13:17 isBEKaml joined #perl6
13:17 masak can I make Rakudo install Parrot and the perl6 executable in some more global place than ./parrot_install?
13:20 cjk101010 left #perl6
13:21 jnthn masak: Yes, pass --gen-parrot-prefix=the/place
13:22 Trashlord joined #perl6
13:22 jnthn colomon: All S14 is OK this time. Was that where it failed before?
13:23 colomon I put one example in the commit message...
13:23 jnthn ah, yes
13:23 jnthn and
13:23 jnthn t\spec\S14-roles\parameterized-type.t .......................... ok
13:23 colomon that
13:33 masak jnthn: thanks.
13:34 shi left #perl6
13:34 masak hm, does anyone know how to run/find 'xbuild' on a Debian Lenny whose apt claims that mono-2.0-devel and mono-devel are both already installed? it doesn't seem to be in the path.
13:34 satyavvd joined #perl6
13:34 masak (and yes, this is a Perl 6 question. I want to build niecza.) :)
13:41 roen joined #perl6
13:41 jnthn colomon: Got a couple of other fails though. Tracking them down.
13:49 jnthn colomon: Looking better now. Doing one more spectest run just to check.
13:50 MayDaniel joined #perl6
13:50 tadzik jnthn: mind adding a META.info for zavolaj?
13:51 tadzik jnthn: https://github.com/moritz/json/blob/master/META.info like here
13:54 jnthn tadzik: pushed
13:54 tadzik thanks
13:55 jnthn nie je zaczo
13:55 jnthn Or however you render that into Polish. :)
13:55 tadzik nie ma za co? :)
13:55 tadzik that was Czech?
13:56 jnthn "nie je začo"
13:56 jnthn Slovak
13:57 jnthn I think.
13:57 jnthn :)
13:57 tadzik :)
13:58 satyavvd_ joined #perl6
13:58 * jnthn crosses his fingers and hope this spectest run ends up looking fine
13:59 moritz_ fwiw latest rakudo on parrot RELEASE_2_11_0-821-g779719a (~40 revision ahead of PARROT_REVISION) is clean
14:00 satyavvd left #perl6
14:00 satyavvd_ is now known as satyavvd
14:06 moritz_ jnthn: currently the bactrace printer looks for !UNIT_START in the backtrace to determine if it is run at run time
14:06 jnthn moritz_: Sounds familiar/sensible.
14:06 moritz_ jnthn: but in a BEGIN block there's no !UNIT_START, so we don't get line numbers and pretty backtraces
14:06 Guest81631 joined #perl6
14:06 tadzik an open question: if confronted with a Makefile, neutro uses it for all the work: make, make test, make install. If there are no tests, it's impossible to distinguish, by running "make test" if the tests failed or are there just no tests. What would be the best way to find out? Checking for the existance of "t" directory, assuming everyone keeps the tests in here?
14:07 moritz_ jnthn: any idea what could be used instead?
14:07 jnthn moritz_: The old backtrace printer used to do nasty stuff with parse time errors.
14:07 masak solution: install mono-xbuild. duh. :)
14:07 moritz_ jnthn: I know that we need the distinction, it just needs a bit tuning
14:07 tadzik :)
14:07 jnthn moritz_: Yes...understand.
14:08 moritz_ tadzik: just run 'make test', and complain if it fails. We just declare it as part of our installer API that a 'test' target should exist
14:08 tadzik ok, thanks
14:08 masak two failures running the spectests: t/spec/S05-modifier/ignorecase.rakudo and t/spec/S19-command-line/dash-e.t both exited with non-zero status.
14:09 jnthn moritz_: Well, in second case !fire_phasers will be in there.
14:09 gfldex tadzik: have a optinal field in META.info and provide a sensible default
14:09 jnthn moritz_: Maybe check for that also.
14:09 moritz_ jnthn: will try, thanks
14:12 molaf__ left #perl6
14:16 dalek star: dd7d3c9 | moritz++ | skel/README:
14:16 dalek star: [skel] update README with new year and RedHat prereq instructions
14:16 dalek star: review: https://github.com/rakudo/star/commit/dd7d3c9c97
14:17 wamba joined #perl6
14:17 wamba left #perl6
14:19 jnthn wtf, just tried to push to rakudo.git and get:
14:19 jnthn fatal: bad object 3b27c8cb4207caddbad9fe69d9aeb7675bfa1db3
14:19 jnthn send-pack: send refs: write error (Invalid argument)
14:20 moritz_ jnthn: try 'git pull --rebase' first
14:20 moritz_ you probably should get a different error (something about push being rejected because the repo has been updated in the mean time)
14:22 jnthn moritz_: No joy. :(
14:22 moritz_ :(
14:22 jnthn moritz_: There were no commits since I last pulled anyway
14:22 jnthn :S
14:25 Kodi joined #perl6
14:25 redicaps joined #perl6
14:26 tadzik gfldex: sounds nice too. But what will the field be? "tests" : "no", maybe "tests" : "ignore" if they are known to fail anyway? :)
14:26 jnthn tssk. I get same error when trying to push to nqp-rx repo too.
14:27 moritz_ google doesn't seem to know the error
14:29 jnthn http://support.github.com/discussions/feature-requests/157-fatal-bad-object-error-when-doing-simple-push
14:29 jnthn May be that I need to get an updated git...
14:32 tadzik gfldex: http://gfldex.wordpress.com/2010/08/02/thinking-about-a-perl6shell/ did you succeed somehow?
14:34 masak hm, --gen-parrot-prefix didn't have any noticeable effect.
14:35 jnthn :|
14:35 jnthn masak: Configure.pl recognizes it, I figured it passed it along to --gen-parrot
14:36 jnthn hmm, yes, it seems to
14:36 jnthn my $prefix  = $options{'gen-parrot-prefix'} || cwd()."/parrot_install";
14:39 lichtkind joined #perl6
14:41 masak jnthn: yes, I even saw it pass it along when messages rolled by.
14:42 masak still, when it came time to 'make install'...
14:44 crythias1 joined #perl6
14:45 crythias1 left #perl6
14:46 MayDaniel left #perl6
14:46 gfldex tadzik: i didnt work much on it, i'm poking around with qt bindings if i got the time
14:47 tadzik gfldex: what do you you think about an idea of a common interface to gui toolkits, like there's DBI for Databases?
14:48 gfldex tadzik: in my eyes the field should hold the name of the script that knows what to do. that way you offload the part that needs knowledge about the future into the future
14:48 dalek nqp-rx/nom: f613fcf | bacek++ | src/setting/IO.pm:
14:48 dalek nqp-rx/nom: Improve c<slurp> to be more consistent with Perl6 and work in utf8/binary mode
14:48 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/f613fcf00d
14:48 dalek nqp-rx/nom: 0fc4e19 | bacek++ | src/stage0/nqp-setting.nqp:
14:48 dalek nqp-rx/nom: Reboostrap setting only.
14:48 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/0fc4e195f1
14:48 jnthn Upgraded my git. Things work again.
14:49 jnthn (those two commits were ones I just cherry-picked into nom...)
14:49 dalek rakudo: 803a4f1 | jnthn++ | src/binder/bind. (2 files):
14:49 dalek rakudo: [binder] Another crack at the simple nominal type check cache. Doesn't seem to cause any test regressions. Gives a minor startup win and a notable win for code that does lots of calls.
14:49 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/803a4f10cd
14:49 gfldex tadzik: in my eyes a common interface makes little sense because GUIs differ to much and may differ much more in the future. The differences between Qt and e17 are massive. So massive that you would not be able to provide something sensible that works for both.
14:50 tadzik gfldex: e17 is a GUI toolkit?
14:50 gfldex the GUI toolkit of e17 is called EVAS
14:50 tadzik hmm, never heard of it
14:50 gfldex and ECORE and EDJE and EINA and some more
14:50 gfldex http://www.enlightenment.org/
14:51 gfldex works quite well already and is lightning fast
14:51 gfldex desktop is there 2 seconds after you hit return in the login screen
14:53 szabgab http://bit.ly/flkYNh Su-Shee++
14:53 masak phenny: tell sorear that, running 'xbuild' in a clear repo on Debian, I get 'MSBUILD: error MSBUILD0003: No .proj file specified and no found in current directory.'
14:53 phenny masak: I'll pass that on when sorear is around.
14:53 tadzik Su-Shee++ indeed, the post is awesome
14:55 Su-Shee thank you. :)
14:55 jnthn 803a4f1 shaves about 30% off the time needed to run tools/benchmark.pl.
14:56 tadzik !
14:56 gfldex nice :)
14:56 jnthn Hopefully it gets on well with the cheese.
14:57 cjk101010 joined #perl6
14:58 szabgab is there such a term "reIRC it" , just as you would retweet something ? if so do it with the link to that blog entry
14:59 tadzik I'd say "advertise" :)
14:59 szabgab tadzik: no no that's too close to "marketing" we are afraid of that !
15:00 tadzik :)
15:00 tadzik hmm, why is perl6_ops compiled with -O1?
15:01 tadzik hrm, -O1 then -O2, then -O1... CFLAGS madness
15:02 moritz_ adds up to O4 :-9
15:03 tadzik :>
15:04 kjeldahl joined #perl6
15:05 Patterner left #perl6
15:08 tadzik wow, hello world is now like half a second :)
15:08 Psyche^ joined #perl6
15:08 Psyche^ is now known as Patterner
15:09 shi joined #perl6
15:10 kjeldahl left #perl6
15:10 cjk101010 left #perl6
15:11 dalek roast: 86e4445 | (Kodi Arfer)++ | S02-names_and_variables/names.t:
15:11 dalek roast: [names.t] Added tests for subs with names like "my'foo".
15:11 dalek roast: review: https://github.com/perl6/roast/commit/86e44458b5
15:15 Kodi left #perl6
15:16 dalek rakudo: c1bc1aa | KodiB++ | src/Perl6/Grammar.pm:
15:16 dalek rakudo: [Perl6/Grammar] <!before '-'> → <!apostrophe> per sorear++.
15:16 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/c1bc1aad93
15:21 wamba joined #perl6
15:22 kensanata left #perl6
15:23 Kodi joined #perl6
15:25 Alias_ joined #perl6
15:26 colomon tadzik: the error I was getting on linux was messed up paths
15:26 colomon and I've erased that window now, give me a moment.
15:26 tadzik on master?
15:26 colomon on neutro master
15:26 tadzik oh, that's bad
15:27 roen left #perl6
15:27 Alias left #perl6
15:28 colomon https://gist.github.com/770912  <== notice the extra lib/ in front of the absolute path /home/colomon/....
15:28 tadzik let me see
15:29 tadzik colomon: in the meantime, can you try updating your Module::Tools?
15:29 colomon on OS X or Linux?
15:29 tadzik on where you have the failing paths
15:29 colomon k
15:30 tadzik it works for me, besides done being done_testing
15:30 colomon tadzik: apologies for being the troublemaker here.
15:31 tadzik colomon: it's good that you find bugs
15:32 ashleydev joined #perl6
15:32 tadzik neutro had some hard time recently, the "go to directory and build stuff there" became "build stuff remotely" and that required changes in both neutro and module-tools. You may want to try rebootstraping neutro, or modify bootstrap.sh so it will install List-Utils rather than neutro itself
15:34 colomon I'm trying installing Module::Tools by hand atm.
15:38 araujo left #perl6
15:38 ashleydev left #perl6
15:39 colomon oooo, pulling latest neutro and re-bootstrapping fixed the problem!
15:39 colomon now the problem is an over-abundance of "done-testing"
15:41 colomon and no META.info
15:41 colomon (with List::Utils, I mean.)
15:42 kalkin- joined #perl6
15:42 kalkin- hi
15:43 masak hi kalkin-
15:43 kalkin- afaik can perl6 coded completly static typed
15:43 masak as static as you want.
15:43 masak or as dynamic as you want.
15:43 kalkin- is there some way to define the return type of a subroutine/method
15:43 kalkin- ?
15:43 masak yes.
15:43 kalkin- like in java public String foo()?
15:44 kalkin- so public Integer foo() is something completely differnet?
15:44 masak rakudo: sub foo(--> Int) { return 42 }; say foo()
15:44 p6eval rakudo 71328b: OUTPUT«42␤»
15:44 wamba left #perl6
15:44 masak however, multi dispatch doesn't take return types into account, IIRC.
15:44 jnthn masak: btw, are you getting any privmsg I send you?
15:44 agentzh joined #perl6
15:44 kalkin- masak: ahh k
15:46 snearch left #perl6
15:47 tadzik colomon: great. If the META.info idea cathes I'd be able to have neutro say "Your Module::Tools is outdated, behold"
15:48 tadzik kalkin-: also sub foo() returns Str {}
15:48 tadzik I think
15:48 tadzik am I right, or is that zavolaj, specific?
15:49 tadzik s:2nd/,//
15:52 jnthn That's Perl 6.
15:52 tadzik good
15:52 colomon tadzik: List::Utils is now fully up-to-date, including META.info
15:53 tadzik awesome
15:53 jnthn my Str sub foo() { }, sub foo(--> Str) { } and sub foo() returns Str { } are all the same, really.
15:53 araujo joined #perl6
15:53 tadzik masak: have you took a look at the META.info movement recently?
15:53 jnthn And the returns trait is only sugar for the of trait.
15:53 masak tadzik: no, I'm not up-to-date yet.
15:53 masak tadzik: until I get my setup set up, I'll appear not fully... here. :)
15:54 tadzik :) alright
15:54 tadzik you'll be suprised :)
15:54 masak I'll catch up, I promise.
15:58 masak left #perl6
15:58 MayDaniel joined #perl6
15:58 MayDaniel left #perl6
15:58 MayDaniel joined #perl6
16:00 Kodi Can anyone find the part of the spec referred to in RT #77868?
16:00 phenny Kodi: 11:34Z <moritz_> tell Kodi that t/spec/S02-names_and_variables/names.t fails quite a few tests, and you touched it (and the corresponding grammar parts) last... care to investigate?
16:00 phenny Kodi: 12:44Z <moritz_> tell Kodi never mind, I wasn't on newest Rakudo - sorry for the noise
16:02 arlinius| left #perl6
16:06 dalek roast: 3f3d6ce | (Kodi Arfer)++ | S04-exceptions/fail.t:
16:06 dalek roast: [fail.t] Added tests for RT #77946.
16:06 dalek roast: review: https://github.com/perl6/roast/commit/3f3d6ce3d3
16:08 satyavvd left #perl6
16:09 masak joined #perl6
16:10 envi left #perl6
16:11 dalek rakudo: b842173 | KodiB++ | src/builtins/Failure.pir:
16:11 dalek rakudo: [builtins/Failure] Made .Bool and .defined return Bools.
16:11 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/b84217360d
16:15 tadzik thanks Kodi
16:15 tadzik also, the new (or to-be-new) ecosystem annoucement sent to p6u
16:16 Kodi I love the smell of squished bugs in the morning. :)
16:16 Su-Shee *lol* :)
16:16 lichtkind :)
16:16 shi left #perl6
16:19 colomon Kodi++
16:20 cjk101010 joined #perl6
16:25 xinming_ is now known as xinming
16:33 Guest81631 left #perl6
16:36 Kodi It looks like KyleHa's script to post test additions to RT tickets isn't working anymore. Shame.
16:43 masak oh, it must have been offline for quite some time now.
16:43 masak haven't seen such emails in a while.
16:45 agentzh left #perl6
16:47 Chillance left #perl6
16:48 _twitch joined #perl6
16:48 hacknperl left #perl6
16:49 colomon ABC up to current standards.
16:54 isBEKaml left #perl6
17:00 cjk101010 left #perl6
17:01 GinoMan joined #perl6
17:09 colomon perl6-facter seems to have hung....
17:12 ashleydev joined #perl6
17:21 ashleydev left #perl6
17:23 justatheory joined #perl6
17:24 am0c left #perl6
17:29 ashleydev joined #perl6
17:34 char00les left #perl6
17:35 zby_home_ joined #perl6
17:40 thundergnat joined #perl6
17:40 * TimToady just happily realized that 1,2,3, { $^antepenult + $^penult + $^ult } ... * comes out in the right order
17:42 thundergnat <Kodi>: Can anyone find the part of the spec referred to in RT #77868? --- It's in S03 Reduction operators in the list of identity values.
17:42 thundergnat I don't have an exact line #
17:43 flussence TimToady: so does { $^first + $^second + $^third } :)
17:43 colomon TimToady: so does *+*+*, I believe...
17:43 TimToady S03:4391
17:44 thundergnat But TimToady does apparently. :-)
17:46 masak { $^fourth + $^ninth + $^sixteenth }
17:46 masak wow, and deliberately getting those to mismatch would create such wonderful congnitive dissonance in the reader :)
17:46 coldhead left #perl6
17:46 Eimantas joined #perl6
17:47 masak { $^third + $^fourth + $^eleventh } # mwhaha
17:48 masak if I wish to install Parrot in /usr/local using --gen-parrot, do I have to run 'perl Configure.pl' as root? that feels wrong.
17:48 * TimToady now wonders whether [%] really is non-sensical, given that gcd is something like ($^a,$^b, * % * ... *)[-2]
17:49 coldhead joined #perl6
17:49 masak by the way, the cause for my earlier problems with --gen-parrot-prefix not working properly seems to be an insufficient nuking of parrot_install/
17:49 TimToady hard to have something "common" without two things though
17:50 masak TimToady: either there are default values for the one-arg and zero-arg cases that can be derived mathematically, or they should simply be errors.
17:51 TimToady sorear: I am assuming that qp[some/path] is a high-level URI-ish notation that is composable and easily translated to physical filenames with local knowledge
17:51 TimToady it's easy to overdesign the path type system, when a simple typed string variant is probably teh best
17:52 TimToady as URI notation has demonstrated fairly well
17:52 jnthn masak: (as root) because Rakudo's Configure.pl will trigger a make install of Parrot, and it's that bit that needs the root.
17:52 masak jnthn: I know why.
17:52 masak jnthn: I'm wondering whether it's a good idea.
17:53 masak root is one of those things I generally want to limit to minimal scopes.\
17:53 jnthn masak: Well, you can always build Parrot separately.
17:53 masak doing it on Configure.pl feels... wrong
17:53 masak I'm leaning towards that.
17:53 jnthn If you want more control.
17:53 jnthn --gen-parrot is mostly a convenience. :)
17:53 masak nod.
17:53 Eimantas left #perl6
17:53 takadonet joined #perl6
17:53 takadonet hey all
17:53 jnthn But yes, I can see why it feels weird. :)
17:53 masak takadonet: \o
17:53 jnthn o/ takadonet
17:53 redicaps left #perl6
17:53 * masak goes back to separate Parrot
17:53 TimToady make install should really know how to ask permission for privilege escalation
17:53 takadonet tadzik: ping
17:54 masak TimToady: I agree. it definitely shouldn't go ahead and try things it doesn't have privilege for, and then fail.
17:54 * jnthn wonders how one portably achieves that. :)
17:54 TimToady just put the root password in your environment :P
17:55 Kodi thundergnat, TimToady: I think I'm missing something. I don't understand what max's behavior given the empty list tells us about max's behavior given a list containing an undefined value.
17:56 jnthn :P
17:58 Kodi Anyway, I don't doubt this behavior is *useful*, so I'll push.
17:58 dalek roast: 0127f17 | (Kodi Arfer)++ | S0 (2 files):
17:58 dalek roast: Changes for RT #77868 ($x max Any yielding Any).
17:58 dalek roast: review: https://github.com/perl6/roast/commit/0127f17a57
17:59 MayDaniel_ joined #perl6
18:00 shi joined #perl6
18:00 dalek rakudo: e7e9d51 | KodiB++ | src/core/Any-list.pm:
18:00 dalek rakudo: [core/Any-list] Ignore undefined values when computing maxima and minima.
18:00 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/e7e9d51ca6
18:02 MayDaniel left #perl6
18:08 Kodi left #perl6
18:09 TiMBuS left #perl6
18:10 TiMBuS joined #perl6
18:14 TimToady colomon: note that S06:3179 implies you can fiddle with @*ARGS before MAIN sees them; you could inject defaults this way
18:15 TimToady tadzik: ^^
18:15 TimToady MAIN is not called until the *end* of mainline code
18:16 TimToady so there's plenty of opportunity for lying to yourself
18:16 pmurias joined #perl6
18:16 sorear good * #perl6
18:16 phenny sorear: 14:53Z <masak> tell sorear that, running 'xbuild' in a clear repo on Debian, I get 'MSBUILD: error MSBUILD0003: No .proj file specified and no found in current directory.'
18:16 pmurias sorear: hi
18:16 sorear masak: http://www.debian.org/distrib/packages#search_contents
18:17 sorear masak: says - mono-xbuild
18:17 sorear masak: you can also use it offline, package 'apt-file'
18:17 TimToady backlog sez he found mon-xbulid
18:17 TimToady bleh
18:17 TimToady mono-xbuild
18:18 ashleydev left #perl6
18:18 _twitch left #perl6
18:18 sorear jnthn: #moose-dev was complaining about github repository corruption yesterday
18:19 arthur-_ joined #perl6
18:20 pmurias sorear: don't they have the repositories hosted at shadowcat?
18:21 MayDaniel_ left #perl6
18:22 TimToady sorear: @STD::herestub_queue was written before contextuals were even invented, and $STD::ALL after I'd kinda given up on making STD completely re-entrant in Perl 5, given efficient considerations
18:23 skangas left #perl6
18:23 jasonmay pmurias: yeah, hosted on shadowcat, mirrored to github
18:24 skangas joined #perl6
18:24 masak sorear: thanks. I have mono-xbuild at this point.
18:25 masak sorear: it is when I run 'xbuild' that I get the error message I phenny-told you about.
18:26 Eimantas joined #perl6
18:26 pmurias sorear: how should i compile the new compiler?
18:27 takadonet left #perl6
18:27 thundergnat left #perl6
18:31 TimToady sorear: yes, my $x; sub foo() is rw { $x }; foo() = (1, 2); flattens as a list assignment.  You'd have to write $(foo) = (1,2) to get the other behavior.
18:31 sorear TimToady: I was planning a typed string representation... except I was planning to do everything in physical filenames
18:32 sorear pmurias: hi
18:33 sorear pmurias: they're mirrorred on github
18:33 sorear TimToady: Ah
18:33 TimToady well, as long as you keep the separators abstract, and have a way of sneaking exceptions through to the physical layer, the filenames themselves can be "physical" on the abstract layer
18:33 sorear "sneaking exceptions"?
18:33 TimToady as in %ff in URIs
18:34 TimToady so if you happen to have a filename with a / in it that is allowed on some system, you can express it
18:34 TimToady doesn't have to be easy
18:34 dju joined #perl6
18:34 dju left #perl6
18:34 dju joined #perl6
18:34 ashleydev joined #perl6
18:34 sorear pmurias: cd v6; ../niecza_eval -v --stop-after=codegen harness
18:34 TimToady but I think URIs point the direction for the world to settle on / as the abstract path component separator
18:34 sorear pmurias: still no proper driver
18:35 TimToady there just has to be an unambiguous translation of / to the physical representation for a givin OS
18:36 TimToady we might have to worry about dir() returning filenames containing '/' though
18:37 sorear yeah, that won't be an issue in my current model, since I'm not using qp() yet
18:37 _twitch joined #perl6
18:37 sorear qp[]
18:38 sorear masak: What is the current directory when xbuild complains like that?
18:38 TimToady And I view paths as kind of "tainted" strings, so you cat a path with a normal string and things end up paths without having to coerce everything to path
18:39 TimToady one could also simply say that all paths are strings, and any file API must look for / and interpret it to the physical layer
18:40 TimToady much like "everything is a grapheme" by default
18:40 nadim left #perl6
18:41 TimToady in some ways it's a simpler problem, since there aren't going to be multiple path "encodings" on a given filesystem
18:41 TimToady but the idea is to control it at the interface, with a decent default, so we don't inflict PathThink on people continually
18:41 TimToady which is the failure mode of most Path designs
18:42 Eimantas left #perl6
18:43 TimToady and if it happens to map very simply to Unix filesystem semantics, well...that's okay too :)
18:43 TimToady I think Unix pathnames are one of those tails that should wag the whole dog
18:45 TimToady they are taking over the world via URI notation, really
18:45 pmurias sorear: i can start porting Niecza::Compiler over?
18:46 TimToady at least the tail end of URI notation...
18:46 TimToady ...if not the front end.
18:46 Eimantas joined #perl6
18:47 pmurias class Foo;augment class Bar {...} aguments Bar or Foo::Bar?
18:50 Layla_91 joined #perl6
18:51 _twitch left #perl6
18:52 pmurias s/aguments/auguments/
18:56 Layla_91 helo, i started learning p6 2 days ago and have few questions :)
18:58 masak welcome back, Layla_91 :)
18:58 Layla_91 oh hi masak :D
18:58 Layla_91 masak: signature is a comma separated list of varialble names to which to bind incoming arguments. but I am not sure I understood what a capture is, is it like a collection of arguments you put in one argument? is my understanding accurate?
18:59 masak Layla_91: just so our terminologies are compatible: arguments are what you pass in, parameters are what the sub accepts. yes?
18:59 masak Layla_91: in that case, a signature is a container for paramters, and a capture is a container for arguments.
18:59 awsd joined #perl6
19:00 masak Layla_91: when a sub is bound to and called, what happens is that the capture from the caller is matched to the signature of the callee.
19:00 masak hope this makes sense. if not, please ask more.
19:00 pmurias hello
19:02 Layla_91 masak: Crystal clear so far :D So what exactly is a capture in signature?
19:03 masak Layla_91: captures are simply what the caller uses to pass in arguments, and signatures are what the callee uses to receive parameters.
19:03 masak let's take an example.
19:04 masak sub foo($a, $b, :$c) { ... }
19:04 masak ($a, $b, :$c) is the signature. this you already know.
19:04 masak but then, when we call &foo, like this:
19:04 masak foo "OH", "HAI", c => "world";
19:05 masak "OH", "HAI", c => "world" is the capture.
19:05 masak Layla_91: make sense?
19:05 sorear pmurias: No, I'm doing that now
19:05 masak Layla_91: then, piece by piece, the capture is bound to the signature. $a := "OH"; $b := "HAI"; $c := "world";
19:06 sorear pmurias: my compiler is going to be a bit bigger because it has to have @*PERL6LIB search logic
19:06 lichtkind _sri: ping?
19:06 sorear pmurias: augment uses the same search rules as an ordinary reference.  It'll augment whatever Bar is in lexical scope
19:07 pmurias sorear: maybe it would make sense to have the @*PERL6LIB search logic in a seperate class, as we might want to use a database or something instead of a file system search in the future
19:07 tadzik hello
19:08 pmurias sorear: what in the new compiler should i hack on?
19:08 sorear TimToady: my $a; my @b = 2, 3; my $f = &infix:<=>; $f.($a, @b); # Is this item assignment or list assignment?
19:10 Layla_91 masak: we can also take the entire capture and put it in one variable of a signature.. if you can give me one small example on that that will be all I need for today :)
19:10 sorear pmurias: there are 3 tasks currently available
19:10 Layla_91 masak: Am not sure my last statement is correct 100% :D
19:10 sorear 1. Write an option parser for niecza.exe (no Getopt::Long in this new world)
19:11 masak Layla_91: there's an excellent example using quicksort.
19:11 masak Layla_91: let me just find it for you.
19:11 sorear 2. Finish translating OptRxSimple
19:11 Layla_91 masak: Oh great :D
19:11 sorear 3. Compiler driver / integration / path search stuff
19:11 jnthn masak, Layla_91 the quicksort example appears in http://www.jnthn.net/papers/2010-osdc.fr-signatures.pdf
19:11 sorear I kinda wanted all three but I guess I can part with one
19:12 jnthn As well as many other signature examples :)
19:12 masak Layla_91: what jnthn said. I just found it there too :)
19:13 masak Layla_91: the slide is named "Example: Quicksort", and there's a bit of good explaining before it, too.
19:14 Layla_91 jnthn: WOW A Complete book on signatures! that should be put on perl6.org documents so it can be easily found! it seems very informative! :)
19:14 tadzik :)
19:14 dalek niecza: 74fb99f | sorear++ | v6/ (2 files):
19:14 dalek niecza: [v6] WIP for driver
19:14 dalek niecza: review: https://github.com/sorear/niecza/commit/74fb99f6c6
19:14 Layla_91 tadzik: hi!! :D
19:15 masak I agree. many of jnthn's presentations should be linked from perl6.org
19:15 tadzik hello Layla!
19:15 tadzik is now known as Eric_Clapton
19:15 Eric_Clapton you knocked me on my knees!
19:15 Eric_Clapton is now known as tadzik
19:15 tadzik sorry, just could not resist
19:16 tadzik oh, I have a segfaulting perl6
19:17 Layla_91 Good night all ^_^ time to -_-....
19:18 tadzik Come back soon!
19:18 Layla_91 tadzik: I will :D
19:18 Layla_91 left #perl6
19:21 kalkin- left #perl6
19:21 tadzik http://wklej.org/id/453022/ -- look what I've found
19:22 diakopter long backscroll
19:23 sbp aw, I missed Eric Clapton
19:24 rgrau left #perl6
19:24 sbp I wanted to ask him why he was such a hypocrite for leaving the Yardbirds because he was a blues purist, and then writing complete non-blues dreck only a few years later
19:25 pmurias left #perl6
19:25 orafu left #perl6
19:25 pothos left #perl6
19:25 mj41 left #perl6
19:25 tty234 left #perl6
19:25 cognominal left #perl6
19:25 [sbp] left #perl6
19:25 apejens left #perl6
19:25 arlinius left #perl6
19:25 literal left #perl6
19:25 masak too bad you missed him.
19:25 tty234 joined #perl6
19:25 diakopter people's principles change. one makes a decision based on a principle, then the principle changes.  People don't just stick to principles in order not to become a hypocrite.  Sometimes (often?) that cost outweighs the gain.
19:26 MayDaniel joined #perl6
19:26 pmurias joined #perl6
19:26 orafu joined #perl6
19:26 pothos joined #perl6
19:26 mj41 joined #perl6
19:26 apejens joined #perl6
19:26 cognominal joined #perl6
19:26 [sbp] joined #perl6
19:26 arlinius joined #perl6
19:26 literal joined #perl6
19:26 pothos left #perl6
19:26 pothos joined #perl6
19:27 TimToady pmurias: searches for existing names are always lexical, even if they are aliases to globals, so it depends on whether Foo declares a Bar or not
19:27 sbp that's exactly what he would say :-)
19:29 diakopter er, sometimes the cost of sticking the principle *is outweighed by* the gain of abandoning the principle
19:29 colomon TimToady++
19:29 cognominal left #perl6
19:29 TimToady sorear: to the extent that assignment operators are real operators and not macros, I'd say infix:<=> is multi dispatched on whether its first arg is a scalar container or not
19:29 diakopter where "the gain" often includes "lessened internal cognitive dissonance"
19:29 orafu left #perl6
19:31 orafu joined #perl6
19:31 sorear TimToady: Then, why does sub foo { $x }; foo = @y  do item assignment
19:31 sorear *not do item assignment
19:33 TimToady because = is really more of a macro when used as an operator
19:33 cognominal joined #perl6
19:33 TimToady but really, that's more of how it's parsed, so maybe we could make that part depend on the container
19:34 TimToady might be worth detangling those; have to consider the user's viewpoint here...
19:35 TimToady and the optimizer's viewpoint :)
19:35 TimToady and everyone else's viewpoint...
19:37 shi left #perl6
19:38 sbp zsh used to let you silently reassign keywords, and then would give cryptic error messages when you tried to use them subsequently as keywords. they fixed that now. I think subsequent assignments of funtions to arrays are more likely to be that sort of braino than a deliberate manoeuvre
19:38 sbp *functions
19:39 sbp with the function; assignment case it's obvious. with function; ...; assignment where the ellipsis is a tonne of code, not so obvious. of course programmers should track these things, but hands up if you've never made that sort of error
19:42 plobsing left #perl6
19:47 TimToady the main thing we have to keep clear is the difference between my $x = and my ($x) =
19:47 lichtkind left #perl6
19:48 TimToady I don't think we have an ambiguity on the RHS, since flattening or not is dependent on the binding, not the parsing
19:49 TimToady sorear: so I guess I'm okay with your $x ending up with (1,2), as long as it doesn't have dire performance characteristics
19:49 TimToady it seems to be what a user would expect in that case too, I think
19:50 TimToady and feels simpler, from a non-implementor viewpoint :)
19:53 GinoMan left #perl6
19:55 GinoMan joined #perl6
19:56 dwhipp joined #perl6
19:58 TimToady so the $(foo) thing only influences parsing, not semantics, I guess
19:59 MayDaniel left #perl6
19:59 dwhipp You know how sometimes you play around with something "because its cool"? ... I was playing with the sequence operator to see if it could do trees:
19:59 dwhipp rakudo:my @list = (1..100).pick(32).sort; my $target = 23; my @tree := [0,31], -> [$min, $max] {  my $mid = (($min+$max)/2).Int;  @list[$mid] > $target ?? [ $min, $mid-1] !! @list[$mid] < $target ?? [ $mid, $max ] !! [$mid xx 2] } ... *; @list.perl.say; @tree[0..5].perl.say
20:00 p6eval rakudo e7e9d5: OUTPUT«[1, 7, 9, 10, 15, 17, 18, 19, 26, 29, 30, 32, 35, 43, 45, 47, 53, 57, 63, 64, 69, 71, 74, 75, 82, 83, 84, 85, 90, 92, 97, 98]␤([0, 31], [0, 14], [7, 14], [7, 9], [7, 7], [7, 7])␤»
20:00 dwhipp is this usage potentially useful, or just a solution in search of a problem?
20:02 TimToady your user rating may well depend on how well you format it; I'd tend to outdent the ... when there's a lot of stuff before it
20:03 TimToady kinda hard to outdent on irc, admittedly :)
20:03 dwhipp Also, it'd be good to simplify it a little and add proper termination condition
20:03 TimToady and it also depends on the extent we can train people to think about recursive iterative algorithms that way
20:04 TimToady some people seem to react negatively
20:04 dwhipp What I'd probably do for the formatting is to define the "next" and "done" functions explicitly and then write the sequence as {[0,31], &next ... &done}
20:05 dwhipp s/next/bisect/
20:05 TimToady unfortunately, I don't think rakudo does that yet; last I checked &next fouled up on the arg count introspection
20:05 masak dwhipp: yes, that's what I usually end up doing. it helps readability a lot.
20:06 dwhipp I was playing with this on try.rakudo.org ...
20:06 dwhipp is there a method on a list to test for known-finite?
20:07 dwhipp and could that be used in the REPL to avoid the timeouts?
20:07 TimToady rakudo: say ~(1,1, &infix:<+> ... * > 100)
20:07 p6eval rakudo e7e9d5: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144␤»
20:07 TimToady oh good, seems to work now
20:08 TimToady but maybe I was having trouble with some other operator...
20:08 colomon rakudo: sub next-step($x, $y, $z) { $x + $y + $z; }; say ~(1, 1, 1, &next-step ... & > 200)
20:08 p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "& > 200)"␤»
20:08 colomon rakudo: sub next-step($x, $y, $z) { $x + $y + $z; }; say ~(1, 1, 1, &next-step ... * > 200)
20:08 p6eval rakudo e7e9d5: OUTPUT«1 1 1 3 5 9 17 31 57 105 193 355␤»
20:09 * PerlJam de-lurks
20:10 dwhipp rakudo: sub done { $^a > 100}; 1,1,*+*...&done
20:10 p6eval rakudo e7e9d5:  ( no output )
20:10 dwhipp rakudo: sub done { $^a > 100}; 1,1,*+*... &done
20:10 p6eval rakudo e7e9d5:  ( no output )
20:10 * PerlJam re-lurks
20:11 dwhipp sub done { $^a > 100}; ( 1,1,*+*... &done ).perl.say
20:12 dwhipp rakudo: sub done { $^a > 100}; ( 1,1,*+*... &done ).perl.say
20:12 p6eval rakudo e7e9d5: OUTPUT«(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144)␤»
20:12 dwhipp rakudo: sub done { $^a > 100}; 1,1,*+*... &done ==> .perl.say
20:12 p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " .perl.say"␤»
20:13 ashleydev left #perl6
20:13 TimToady hmm, why not?  the source is just a list
20:13 dwhipp rakudo: 1,2,3 ==> .say
20:14 p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " .say"␤»
20:14 dwhipp rakudo: 1,2,3 ==> say
20:14 p6eval rakudo e7e9d5: OUTPUT«123␤»
20:14 dwhipp rakudo: 1,2,3 ==> *.say
20:14 p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " *.say"␤»
20:15 TimToady ah, didn't read the error
20:15 * TimToady slaps his own hand as punishment
20:16 dwhipp which of those three should work? if piping to &say works, then shouldn't *.say, too? Both are just arity-1 functions
20:16 TimToady say is a listop
20:17 dwhipp ah
20:17 TimToady doesn't know anything about the current topic
20:18 TimToady rakudo: 1,2,3 ==> { say @_ }
20:18 p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " { say @_ "␤»
20:20 kjeldahl joined #perl6
20:20 mberends joined #perl6
20:22 thowe joined #perl6
20:31 plobsing joined #perl6
20:32 dwhipp rakudo: 0, {(1..3).pick} ... *==*
20:32 p6eval rakudo e7e9d5:  ( no output )
20:32 dwhipp rakudo: (0, {(1..3).pick} ... *==*).say
20:32 p6eval rakudo e7e9d5:  ( no output )
20:33 dwhipp (0, {(1..3).pick} ... $^prev==$^last).say
20:34 dwhipp rakudo: (0, {(1..3).pick} ... {$^prev==$^last}).say
20:34 p6eval rakudo e7e9d5:  ( no output )
20:35 dwhipp (0, {(1..3).pick} ... {2==$^last}).say
20:35 masak mberends! \o/
20:35 dwhipp rakudo: (0, {(1..3).pick} ... {2==$^last}).say
20:35 p6eval rakudo e7e9d5: OUTPUT«0131112␤»
20:36 dwhipp rakudo: (0, {(1..3).pick} ... {$^prev==$^last}).say
20:36 p6eval rakudo e7e9d5:  ( no output )
20:36 dwhipp is it possible to use a convergence criteria as the termination condition of a sequence?
20:36 dwhipp (i.e. keep going until it stops changing)
20:38 TimToady not currently, but worth considering
20:38 dwhipp error (on try.rakudo.org) is: "Limit arity cannot be larger than 1" -- so seems not
20:39 dwhipp strange that I don't see the error message on irc
20:39 tadzik colomon: http://wklej.org/id/453117/
20:40 colomon tadzik: \o/
20:40 colomon so what we'd like to do is dead easy.  :)
20:40 colomon probably should be a module.  :)
20:40 TimToady otoh you can last out of the iterator function
20:40 tadzik TimToady++
20:42 dwhipp rakudo: (0, {last if *==*; (1..5).pick} ... *).perl.say
20:42 p6eval rakudo e7e9d5: OUTPUT«(0)␤»
20:42 dwhipp rakudo: (0, -1, {last if *==*; (1..5).pick} ... *).perl.say
20:42 p6eval rakudo e7e9d5: OUTPUT«(0, -1)␤»
20:42 TimToady closures are always true
20:43 dwhipp rakudo: (0, -1, {last if $^a==$^b; (1..5).pick} ... *).perl.say
20:43 p6eval rakudo e7e9d5: OUTPUT«(0, -1, 5, 1, 3, 4, 2, 3, 3)␤»
20:43 TimToady yeah, that
20:43 dwhipp rakudo: (0, {last if $^a==$^b; (1..5).pick} ... *).perl.say
20:43 p6eval rakudo e7e9d5: OUTPUT«Method 'Bridge' not found for invocant of class 'Failure'␤  in 'infix:<==>' at line 3654:CORE.setting␤  in <anon> at line 22:/tmp/KlA9k6g5eU␤  in <anon> at line 839:CORE.setting␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2782:CORE.setting␤  in main program body at
20:43 p6eval ..line 22…
20:44 dwhipp LTA error :(
20:46 * masak submits rakudobug
20:53 dalek sprixel: dac9328 | diakopter++ | / (5 files):
20:53 dalek sprixel: disregard...
20:53 dalek sprixel: review: https://github.com/diakopter/sprixel/commit/dac9328daa
21:00 alester left #perl6
21:10 Vlavv` joined #perl6
21:12 Vlavv_ left #perl6
21:12 dwhipp left #perl6
21:19 buubot left #perl6
21:25 gfldex tadzik: did you think about versions for dependencies in neutro?
21:26 tadzik gfldex: that's a good idea
21:27 tadzik gfldex: after (if) the new ecosystem gets popular I'm planning to popularize versioning a bit, so neutro would be able to see which modules are outdated by just examining META.info
21:29 masak tadzik++
21:30 tadzik masak: http://goo.gl/VzqMC snarkyboojum++ proposed the following for modules.perl6.org, what do you think?
21:31 * masak looks
21:31 snarkyboojum or "for getting the job done." as the end of the sentence :)
21:31 masak tadzik: absolutely.
21:31 masak tadzik: neutro should probably have a *more* prominent place than proto nowadays.
21:32 tadzik let's see if I have commit bit and can get easy karma...
21:32 masak since neutro is in active development but proto isn't.
21:32 snarkyboojum tadzik: I can just do a git push if you like :P
21:32 tadzik masak: the neutro became a bit closer to pls today, its components are now encapsulated, it doesn't look like a bunch of random subs now :)
21:33 tadzik snarkyboojum: oh, even better. Please go on
21:33 dalek modules.perl6.org: da8f186 | snarkyboojum++ | web/index.tmpl:
21:33 dalek modules.perl6.org: [index.tmpl] Added blurb for neutro
21:33 dalek modules.perl6.org:
21:33 dalek modules.perl6.org: Added a blurb about neutro as an alternative for installing Perl6
21:33 dalek modules.perl6.org: modules
21:33 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/da8f186206
21:33 snarkyboojum tadzik: done
21:33 dalek modules.perl6.org: 9089409 | snarkyboojum++ | web/index.tmpl:
21:33 dalek modules.perl6.org: Fixed up some wording re neutro.
21:33 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/90894098fe
21:33 tadzik masak: I think one day it will just evolve into an App::Pls implementation :)
21:34 arlinius is now known as arlinius|
21:34 sorear TimToady: ultimately, I'm wondering about ($x) = @y <--> &infix:<=>($x,@y) and various permutations thereof
21:34 awsd left #perl6
21:34 arlinius joined #perl6
21:35 tadzik snarkyboojum: cool
21:35 snarkyboojum tadzik++ # for neutro
21:35 tadzik masak: neutro alredy approaches proof-of-concept in terms of speed :P
21:36 tadzik refactoring was good for my eyes only
21:37 sorear TimToady: I'm also wondering if 1-element parcels should ever really exist, or if ($x,) should be the same as $x in all cases except parsing
21:37 tadzik stupid 'neutro list' takes 8 seconds here
21:37 tadzik I wonder what would profiling tell me
21:37 tadzik _or_ I can say it's JSON's fault :P
21:38 orafu left #perl6
21:39 orafu joined #perl6
21:40 snarkyboojum tadzik: I guess neutro update should be slow if anything is i.e. a separate get over http for each module..
21:41 tadzik snarkyboojum: no, it doesn't fetch every time
21:41 tadzik only on 'update'. Then, it keeps the JSON list in the config dir
21:42 snarkyboojum tadzik: sure
21:43 snarkyboojum $ neutro list | wc -l --> 16 now :D
21:44 tadzik :)
21:44 * tadzik working on listinst
21:44 snarkyboojum for the metainfo branch of neutro
21:44 masak http://blogs.perl.org/users/su-shee/2011/01/random-contest-event-ideas.html # Su-Shee: awesome post!
21:45 masak I hope lots of those items find a willing volunteer to make them a reality.
21:46 Su-Shee masak: sheer envy motivated me to this and the other posting. ;)
21:47 Eimantas left #perl6
21:48 snarkyboojum awesome list of ideas. I feel motivated just reading it :D
21:49 masak Su-Shee: as far as I'm concerned, that's good.
21:49 Su-Shee it is. I'm really curious about this vim getting hip meme, it's very interesting to see.
21:52 avms joined #perl6
21:59 zby_home_ left #perl6
22:01 tadzik masak: mind giving some of your modules a META.info in some spare time?
22:03 tadzik wow, the current projects.list is 92 lines long
22:04 tadzik which means there is 92, working or not, projects in the ecosystem
22:05 lue joined #perl6
22:06 lue Hello fellow Perl 6-ians! o/
22:06 tadzik o/
22:06 lue I can't wait to celebrate the 10th anniversary of The Hitchhiker's Guide to the Galaxy.
22:06 masak lue: when is that?
22:07 * masak thought that was long ago
22:07 lue Oh, sorry, I meant Wikipedia :)
22:07 masak :P
22:09 lue .oO(Curse thee, O wireless router, for using advanced new-fangled, er, stuff that my 10-yr laptop cannot handle! Grrrrr!)
22:10 lue Anything new in Camelia-land recently?
22:12 tadzik I feel proud to say yes :)
22:15 * lue looks for tadzik-related news in backlog
22:15 * masak is enjoying himselv reading and reviewing p6cc submissions
22:15 masak s/himselv/himself/
22:16 tadzik lue: have you read your p6u today?
22:16 timbunce joined #perl6
22:17 lue tadzik++ # neutro improvements
22:17 lue ?(p6u == "Perl6 Users mailing list) ?? "no" !! "clarify please"
22:18 tadzik "no"
22:18 * lue looks through p6u archives
22:19 lue I'm only joined to p6l, and I'm considering unsubscribing to that. I'm not much of a mailing list person :)
22:20 tadzik p6u is like #perl6, but also when you're offline :)
22:22 lue If that's what it is I might join [ p6l is really code for bikeshed at times :) ]
22:22 pmurias Su-Shee: re post university buildings are good conference venues
22:23 lue I personally think S22 needs a lot of work (I started writing a module-proposal.pod document just to outline my thoughts), but it is nice to see someone implementing some of it now :)
22:25 pmurias Su-Shee: and erlang is a lot less hip language then haskell (erlang is old and really tedious to stuff in)
22:30 masak lue: p6u is fairly random and low-traffic if you ask me. lately there has been some interesting discussion around a questionnaire.
22:30 masak of course, all the prime discussions take place on #perl6 :)
22:31 tadzik http://wklej.org/id/453233/ -- module authors stats
22:32 tadzik bah, stupid whitespace-hungry wklej. *. masak, you seem to be the first one to ask for adding META.info to your modules :)
22:32 lue anyone else think the separate  authority  and  author  fields in S22 violate S11?
22:34 ashleydev joined #perl6
22:34 masak lue: very likely. S22 is old.
22:35 masak rakudo: sub f($x) { my &r = &return; sub return($nv) { &r($nv / 2) }; return $x; }; say f 6
22:35 p6eval rakudo e7e9d5: OUTPUT«maximum recursion depth exceeded␤  in 'Int::Num' at line 3742:CORE.setting␤  in 'Int::Num' at line 3742:CORE.setting␤  in 'Int::Bridge' at line 3737:CORE.setting␤  in 'infix:</>' at line 3696:CORE.setting␤  in 'return' at line 22:/tmp/qgSOXIfnac␤  in 'return' at line
22:35 p6eval ..22:/tmp/qgSOXI…
22:35 masak should the above work and print "3\n"? opinions?
22:35 * lue should finish up his module proposal and put it on the interwebs
22:35 lue masak: I would say so.
22:36 Su-Shee pmurias: that's the whole point. neither haskell not erlang are languages I'd think of "hip" or "shiny". And sorry but no: universities seriously suck (most of them at least.. ;) also I wasn't talking about what those languages really _are_ but about how they get _sold_
22:36 masak lue: so would I.
22:36 masak lue: any nifty explanation for the infinite regress? :)
22:36 lue rakudo: sub f($x) { my &r = &return; sub gimme($nv) { &r($nv / 2) }; gimme $x; }; say f 6
22:36 * masak has his ideas, but would like to hear someone else's
22:36 p6eval rakudo e7e9d5: OUTPUT«3␤»
22:36 lue well there's ur problem.
22:37 masak that I'm trying to override &return? :)
22:37 lue It attempts to call itself which calls itself...
22:38 masak yes, I got that part :)
22:38 masak rakudo: sub f { my &r = &return; &r(42); say "OH HAI" }; say f
22:38 p6eval rakudo e7e9d5: OUTPUT«42␤»
22:38 pmurias Su-Shee: what's wrong with universities as conference venues?
22:38 tadzik can't something be both a module and an application? So a module, but having MAIN?
22:38 lue It's like writing a script called    mail    that retrieves mail from    mail    , then setting the first entry in $PATH to ./, then typing    mail    .
22:39 masak tadzik: I don't see why not.
22:39 tadzik oh, maybe it just has to be module Foo {}; sub MAIN, not module Foo; sub MAIN
22:39 tadzik in the second case the MAIN isn't run
22:39 pmurias Su-Shee: OTOH maybe the ones YAPC::EU are organized are in are the good ones
22:39 tadzik but I don't want even another level of indentation :P
22:40 masak rakudo: sub f { my &r = &return; &return := -> $v { &r($v + 1) }; return(41) }; say f
22:40 p6eval rakudo e7e9d5: OUTPUT«maximum recursion depth exceeded␤  in 'upgrade_to_num_if_needed' at line 3711:CORE.setting␤  in 'infix:<+>' at line 3793:CORE.setting␤  in <anon> at line 22:/tmp/hRNEgoLRNe␤  in <anon> at line 22:/tmp/hRNEgoLRNe␤  in <anon> at line 22:/tmp/hRNEgoLRNe␤  in <anon> at line
22:40 p6eval ..22:/tmp/hRN…
22:40 masak lue: that also recurs infinitely. why?
22:41 masak rakudo: sub f { my &r = &return; say &return.WHICH; &return := -> $v { &r($v + 1) }; say &return.WHICH; return(41) }; say f
22:41 p6eval rakudo e7e9d5: OUTPUT«140279351943080␤104543864␤maximum recursion depth exceeded␤  in 'upgrade_to_num_if_needed' at line 3711:CORE.setting␤  in 'infix:<+>' at line 3793:CORE.setting␤  in <anon> at line 22:/tmp/BSwIi8Usji␤  in <anon> at line 22:/tmp/BSwIi8Usji␤  in <anon> at line 22:/tmp/BSwIi8Usji␤
22:41 p6eval .. in …
22:41 masak seems the rebinding succeeds.
22:42 masak rakudo: sub f { my &r = &return; &return := -> $v { &r($v + 1) }; 41 }; say f
22:42 p6eval rakudo e7e9d5: OUTPUT«41␤»
22:42 masak hm.
22:42 sorear there hasn't been much activity on the p6 blog circuit lately
22:42 masak I'll try to rectify that. maybe even tomorrow.
22:42 masak rakudo: sub f { &return(42) }; say f
22:42 p6eval rakudo e7e9d5: OUTPUT«42␤»
22:43 snarkyboojum sorear: do you blog?
22:43 masak rakudo: sub f { &return := {}; return(42) }; say f
22:43 p6eval rakudo e7e9d5: OUTPUT«invoke() not implemented in class ''␤  in 'f' at line 22:/tmp/JCSzdSuPdE␤  in main program body at line 22:/tmp/JCSzdSuPdE␤»
22:43 pmurias left #perl6
22:43 Su-Shee pmurias: besides Oxford and the like I have yet to see a really nice university located conventiently and not being halfway between some off-town campus and the typical 70ies student's cage ;)
22:45 masak rakudo: my &r = &return; sub f { &return := -> $v { say "LOL!"; &r($v) }; return(42) }; say f
22:45 p6eval rakudo e7e9d5:
22:45 p6eval ..OUTPUT«LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LOL!␤LO…
22:45 masak lue: yes, you're right. there's your proof.
22:45 diakopter heh
22:46 timbunce left #perl6
22:46 masak everyone agree that's Wrong?
22:47 masak anyone agree that's Wrong?
22:47 masak :)
22:47 diakopter I dunno; I was lolzing at the lolz
22:47 sorear snarkyboojum: no
22:47 lue I'm looking. I typically don't write code like that.
22:47 lue [It's like learning a natural language!]
22:48 masak lue: I'm using pblocks because using a sub would mess things up.
22:49 lue I guess in that example it depends on if the sub should inherent my variables from the outer scope.
22:49 snarkyboojum sorear: I guess you're currently blogging code at https://github.com/sorear/niecza :P
22:49 masak lue: "inherit"? they do, all lexical blocks do.
22:49 tadzik I like technical blogs
22:49 sorear snarkyboojum: I like reading interesting stuff on planet6
22:50 lue rakudo: my $a = 3; sub f { say $a}; f;
22:50 p6eval rakudo e7e9d5: OUTPUT«3␤»
22:50 lue huh. Seems obvious now, but never considered it before :)
22:50 masak it's quite a powerful technique.
22:50 masak see my advent post on lexicals for how to (ab)use it.
22:51 jnthn I heard you like lexicals, so I put a scope in your scope.
22:51 masak :D
22:51 masak jnthn: what do you think about the infinite LOLs above?
22:52 lue I'm assuming &return is provided by default with subs, in which case I believe that example to be... interesting.
22:52 masak lue: "provided by default"?
22:52 jnthn masak: Bit surprised by it.
22:53 masak jnthn: seems no matter what I do, I hit recursion with &return.
22:53 masak lue: &return is provided by default in Perl 6.
22:53 masak lue: it works by issuing a "return exception", which gets caught by the innermost surrounding routine.
22:53 jnthn masak: I'm not sure re-binding return is going to end well, given the optimizer is liable to fumble with it. :)
22:53 lue I say &r should always honor the &return from the scope it was defined in. That seems to be the issue there. [so yeah, I say it's wrong]
22:54 tadzik jnthn: ming adding META.info to Test::Mock in some free time?
22:54 masak jnthn: is that a Rakudo objection or a Perl 6 objection?
22:54 jnthn masak: Well, given Rakudo doesn't have an optimizer... :P
22:54 masak lue: &r and &return are just variables. they don't honor any scope.
22:54 jnthn masak: Anyway, I'd not expect it to go infinite in the case you wrote above.
22:55 tadzik soon it might have :) Parrot folks are going to merge tree-optimizer soon
22:55 jnthn masak: But binding in Rakudo is a little funky, I think.
22:55 masak \o/
22:55 * masak submits rakudobug
22:55 tadzik oh, I was to submit those package bugs
22:56 ashleydev left #perl6
22:56 tadzik rakudo: package Foo { my $a = 5; }; say $Foo::a # LTA error message
22:56 p6eval rakudo e7e9d5: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/EPUgByQpgU␤»
22:56 tadzik rakudo: package Foo { our $a = 5; }; say $Bar::a # LTA error message
22:56 p6eval rakudo e7e9d5: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/qfN3P74RLF␤»
22:56 * tadzik submits rakudobug
22:57 masak tadzik: I believe the latter one is in RT.
22:57 lue tadzik: I will add a META.info file to this small module I'm writing. Should I place it in the root dir ?
22:57 tadzik lue: yes
22:58 jnthn tadzik: done
22:58 tadzik jasonmay
22:58 tadzik bleh, tab fail
22:58 tadzik jasonmay: sorry, neverming
22:58 tadzik jnthn++ that is
22:59 masak 'night, zebras.
23:00 masak left #perl6
23:00 tadzik 'night masak
23:01 tadzik wtf, perl6 is non-deterministic
23:01 tadzik it segfaulted, I re-ran it, and then it worked
23:02 diakopter how often does it segfault?
23:02 diakopter if often enough, it's a good bug report for parrot, perhaps
23:02 tadzik once a while. Rather seldom than often
23:02 tadzik it started today
23:02 diakopter how long does it take to run
23:02 diakopter when it doesn't segfault
23:03 tadzik maybe that's why I spent like an hour tracking a heisenbug in neutro
23:03 tadzik diakopter: ~8 seconds
23:03 diakopter ok, not horrible
23:03 tadzik diakopter: but I had moments today when just 'perl6' segfaulted
23:03 tadzik then I thought it's update-related, purged the parrot and rakudo tree, recompile, then it worked
23:04 lue Hm, how do I split a number into groups of three...? (e.g. 348910 to ("348", "910"))
23:05 tadzik rakudo: 348910.comb(/\d\d\d/)
23:05 p6eval rakudo e7e9d5:  ( no output )
23:05 tadzik rakudo: say 348910.comb(/\d\d\d/)
23:05 p6eval rakudo e7e9d5: OUTPUT«348910␤»
23:05 tadzik pff
23:05 tadzik rakudo: say 348910.comb(/\d\d\d/).perl
23:05 p6eval rakudo e7e9d5: OUTPUT«("348", "910")␤»
23:05 jnthn rakudo: "348910".comb(/\d\d\d/).perl.say
23:05 p6eval rakudo e7e9d5: OUTPUT«("348", "910")␤»
23:05 tadzik there we go
23:05 jnthn ah, beaten. :)
23:05 jnthn rakudo: "348910".comb(/\d**3/).perl.say
23:05 p6eval rakudo e7e9d5: OUTPUT«("348", "910")␤»
23:05 jnthn Also that :)
23:05 lue so I should use .comb instead of .split here. Thanks!
23:06 tadzik ah, golfed :)
23:06 MayDaniel joined #perl6
23:06 * tadzik always imagines .comb as a Perl 6 hair comb, with appropriate distance between its teeth
23:11 lue rakudo: "12345".comb(/\d**3/).perl.say
23:11 p6eval rakudo e7e9d5: OUTPUT«("123")␤»
23:11 lue rakudo: "12345".comb(/\d**{1,3}/).perl.say
23:11 p6eval rakudo e7e9d5: OUTPUT«("12345")␤»
23:15 mtk joined #perl6
23:15 lue rakudo: my $a = "1234"; ($a = '0' ~ $a) until $a.chars % 3; say $a.comb(/\d**3/)».Int.perl
23:15 p6eval rakudo e7e9d5: OUTPUT«(123, )␤»
23:17 lue rakudo: say 3 % 3
23:17 p6eval rakudo e7e9d5: OUTPUT«0␤»
23:17 lue apparently, something likes to change my double %'s into one % ...
23:18 diakopter windows?
23:19 lue no, *put on shades*, I'm using Linux.
23:19 lue A%20Space
23:20 lue hm, curious.
23:20 lue rakudo: say 3 %% 3
23:20 p6eval rakudo e7e9d5: OUTPUT«Bool::True␤»
23:20 kaare_ left #perl6
23:21 lue Ah, I have to compensate by typing four of them [maybe it acts as some sort of escape char. I'll change that if I can]
23:24 lue rakudo: my $a = "cake"; say $a[1];
23:24 p6eval rakudo e7e9d5:  ( no output )
23:25 lue rakudo: my $a = "cake"; say $a.substr(1,1);
23:25 p6eval rakudo e7e9d5: OUTPUT«a␤»
23:31 snarkyboojum rakudo: my $a = "cake"; say $a.substr(1,-2)
23:31 p6eval rakudo e7e9d5: OUTPUT«a␤»
23:32 mtk left #perl6
23:36 lue (I still think I should be able to do [1])
23:36 snarkyboojum rakudo: my $a = "cake"; say $a.comb(/./)[1]
23:36 p6eval rakudo e7e9d5: OUTPUT«a␤»
23:37 snarkyboojum lue: a string isn't an array of char in Perl 6 though
23:39 lue I know. I just don't like having to type so much for just one character in a string. I really posess the virtues of a programmer in this case :)
23:42 tadzik rakudo: "cake".comb[1]
23:42 p6eval rakudo e7e9d5:  ( no output )
23:42 tadzik rakudo: "cake".comb[1].say
23:42 p6eval rakudo e7e9d5: OUTPUT«a␤»
23:43 lue ooh, that's a few characters shorter. I'll use it!
23:52 jevin left #perl6
23:52 jevin joined #perl6

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

Perl 6 | Reference Documentation | Rakudo