»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
00:03 yarp joined 00:06 gbacon left
tadzik github.com/tadzik/neutro/tree/metainfo -- for the adventorous 00:07
github.com/tadzik/perl6-Acme-Meow/.../META.info -- the new way in action
00:11 lopaway is now known as lopnor 00:15 Eth4n joined, Eth4n left, Eth4n joined
tadzik twitter.com/gdonald/statuses/23504969021788160 :D 00:17
somebody needs a hug
diakopter TimToady: feel that 4.4 7 min ago?
goo.gl/maps/W2vk 00:18
00:21 s1n joined
diakopter goo.gl/TVObh 00:22
00:30 roen left 00:35 am0c joined 00:39 cdarroch left 00:40 Eth4n left 00:41 am0c left
sorear TimToady: Why aren't $STD::ALL and @STD::herestub_queue contextuals? 00:42
00:43 Eth4n joined, Eth4n left, Eth4n joined
tadzik loliblogged! ttjjss.wordpress.com/2011/01/08/per...and-ideas/ 00:47
moritz_: could you take a look at goo.gl/ldFPE in the meantime? I'll need JSON::Tiny with a META.info to continue the research. TIA 00:48
colomon tadzik: added META.info for perl6-Testing module. 00:54
00:55 shi joined 00:57 am0c joined
colomon tadzik: with bootstrap.sh: 00:57
Unknown option: Q
Unknown option: e
==> Tests failed for perl6-File-Tools
00:58 Alias__ left 00:59 Alias__ joined 01:01 Alias joined, Eth4n left 01:03 Alias__ left
dalek ecza: f79f696 | sorear++ | / (4 files):
Restore rawcall; merge back harness -> NieczaActions
01:05
ecza: 71f331d | sorear++ | v6/ (2 files):
[v6] Conceptually translate Niecza::Frontend::STD
colomon tadzik: what's extra bizarre is the tests pass when I run them by hand 01:08
prove issue? 01:10
01:12 muixirt_ joined
colomon tadzik: why do you do "make test" and then try to run prove by hand? 01:14
01:15 muixirt left, muixirt_ is now known as muixirt
colomon tadzik: I think, in Module::Test, lines 11-12, you may want } elsif "$dir/t".IO ~~ :d { 01:17
01:17 [particle] left 01:18 muixirt left, yarp left, yarp joined 01:25 risou joined
colomon good grief, smoker.pl is a bloodbath at the moment. :( 01:28
01:37 redicaps joined
snarkyboojum what's smoker.pl? 01:39
colomon neutro's script for building and testing all the modules in the ecosystem. 01:40
snarkyboojum ahhh.. cool - must check neutro out. cheers.
pmichaud snarkyboojum: re: your tweet about perl6.org -- you do know we give people commitbits to fix problems, yes?
colomon unfortunately (or fortunately, depending on how you look at it) I think it's a bit broken at the moment.
snarkyboojum pmichaud: yes I do, and someone has since then, cheers 01:41
pmichaud snarkyboojum: what's your github id?
snarkyboojum pmichaud: I've been added to the perl6 github team thingy I think by someone
pmichaud ah yes, you have. 01:42
colomon tadzik: neutro isn't working properly on my Linux box?
snarkyboojum pmichaud: goody :)
01:47 jhuni joined
snarkyboojum what tends to be the module manager of choice these days, pls.. neutro? 01:47
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
I'm having issues with neutro on both OS X and Linux tonight.
snarkyboojum am about to try neutro on OS X
01:49 char00les joined
colomon actually, it might work better for you -- I think part of my issue is an obsolete default version of "prove". 01:49
01:54 yarp left
snarkyboojum colomon: yep - seemed to work for me 01:55
colomon glad to hear it!
snarkyboojum haven't run smoker.pl tho :) 01:58
02:00 bacek joined 02:01 cotto joined
bacek pmichaud, ping 02:01
snarkyboojum the neutro README could/should refer to bootstrap.sh 02:02
02:04 noganex left
snarkyboojum I like this - very easy to use! :D 02:04
pmichaud bacek: pong 02:05
bacek pmichaud, I want to migrate PCT to nqp-rx (POST::* first). Any objections?
pmichaud after 3.0, I hope? 02:06
bacek pmichaud, and guidelines/ideas about bootstrapping
02:06 noganex joined
bacek pmichaud, yes, sure. In a branch for now. 02:06
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
pmichaud It would be very wise for me to do bootstrapping in fact, because it also has to be coordinated with jnthn++'s work.
bacek pmichaud, which part of jnthn's work? New object model? 02:08
pmichaud Yes, which is also primarily done in nqp.
as a separate branch
and jnthn++ has already run into issues in trying to keep his branch up-to-date with nqp master
bacek pmichaud, ok. I'll start it today/tomorrow 02:09
pmichaud excellent.
02:09 envi joined 02:10 risou left
snarkyboojum we should add some info about neutro to modules.perl6.org (as a module installer option) 02:11
02:23 risou joined 02:25 Miesco left 02:27 lichtkind_ joined 02:28 lichtkind left, lichtkind_ is now known as lichtkind 02:29 kthakore is now known as Moose, Moose is now known as Guest72163, Guest72163 is now known as kthakore 02:30 GinoMan left
snarkyboojum yikes.. building perl6-facter causes perl6 to use over 2.5 GB of RAM on OS X :) 02:36
02:37 VXZ left
dalek ecza: 9460fdc | sorear++ | lib/SAFE.setting:
Fix non-lvalue grep and map
02:39
ecza: 03420a8 | sorear++ | v6/ (5 files):
[v6] Translate beta-optimization
02:39 risou left 02:40 [particle] joined 02:45 rgrau left 02:48 molaf__ joined, redicaps left 02:50 lichtkind left 02:51 jenk left, molaf_ left 02:52 am0c left
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.
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 03:10 shi left 03:14 kanishka left 03:42 lopnor is now known as lopaway 04:06 tzhs left
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
04:06 ashleydev left
sorear Is it dead AGAIN? 04:09
I already resurrected it once
diakopter oh, I didn't it was alive
didn't know 04:10
I hadn't heard about it in a year
diakopter finally finds it 04:20
diakopter wonders if the install STD/viv will be used by it
04:23 Su-Shee_ joined
diakopter hi 04:24
04:24 ashleydev joined 04:25 justatheory left 04:26 Su-Shee left
diakopter sorear: well, I can't get it to work 04:28
but maybe it's a windows/strawberry thing
i'll try on linux
sorear: well, I tried on linux.. same problem 04:33
maybe I'm invoking it wrongly
p6eval@host04:~/std_hilited/std/std_hilite$ ./STD_syntax_highlight --full-html=STD.pm6.full.html --clean-html ../STD.pm6 04:34
Unable to load setting CORE. Did you run make? at ../CursorBase.pm line 347.
(and yes, make was run in ..) 04:37
maybe if I comment out use lib '..'; 04:39
ok 04:42
in order to get it to work at all, I had to copy all the files in std/std_hilite to std/
so it's churning away now
oh. 04:50
the output is 50 MB
hee
this can't be correct output.... 04:53
04:54 ggoebel left
sorear full_html is rather silly 04:57
diakopter ok. that wasn't obvious.
sorear it encodes the whole parse tree into an inefficient javascript form
diakopter see my note about having to move the script .. 04:58
(maybe I wasn't invoking it right from its as-cloned location)
04:59 ggoebel joined
diakopter sorear: should I do --simple-html or --snippet-html ? 05:00
05:03 kjeldahl left
sorear simple I think? been a while 05:10
diakopter cool: host04.appflux.net/STD.pm6.simple.html 05:11
wow. my eyes don't hurt when reading it 05:13
esp zoomed in to 180% 05:14
hm, oh, it needs a UTF-8 marker 05:16
there, much better 05:18
dalek d: 8b0496c | diakopter++ | std_hilite/STD_syntax_highlight:
add a utf-8 signifier to the std_hilite script
05:20
05:24 ashleydev left
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:39
(I thought gimme5 went byebye) 05:42
05:45 roen joined 05:46 saaki left
diakopter TimToady: also, the copyright years need updating :D 05:50
06:04 roen left
dalek rixel: 705df9a | diakopter++ | / (5 files):
class derivation sorta working
06:19
sorear diakopter: gimme5 is dead, but the essential problem - platonic ideal perl 6 doesn't exist - remains 06:23
06:45 Chillance joined
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:07
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
hi sorear 07:09
07:10 glow_ joined, glow_ left
PerlJam szabgab++ 07:13
07:16 roen joined
PerlJam szabgab: What's the "startup" membership category? 07:18
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
07:38 saaki joined 07:58 kaare_ joined 07:59 arthur-_ left
moritz_ tadzik: META.info added 08:29
08:29 bacek left
dalek ecza: 319dea8 | sorear++ | v6/ (6 files):
[v6] Port forward NieczaPassSimplifier
08:30
ecza: ea9bf95 | sorear++ | v6/ (5 files):
[v6] merge-back; bring Begin into pass system
08:31 hanekomu joined 08:32 Tedd1 joined
sorear now for the fun part: portable pathname manipulation 08:41
08:44 lopaway is now known as lopnor 08:47 araujo left 08:48 yarp joined 08:53 dju left 09:03 kensanata joined 09:06 bacek joined
sorear Is Perl 6 supposed to have any path-manipulation operators? 09:15
like, parent dir, fullpath, path concatenation, etc
moritz_ depends on who you ask :-) 09:16
we had endless threads about it on p6l
tadzik morning
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 :)
tadzik: 03:00Z <snarkyboojum> tell tadzik would be good if the neutro README mentioned bootstrap.sh too
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?
colomon: in case somebody has his/her own Makefile
colomon: like zavolaj has. It there's a Makefile, we use it 09:18
sorear moritz_: ok. 09:20
(I happen to *need* a working, cross platform approach, so I guess I'll just publish it when I'm done)
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
tadzik: it's a nifty and nicely useable bit of software imo
tadzik snarkyboojum: I wonder if he used the new branch, it's quite supposed to be broken :) 09:25
snarkyboojum tadzik: ah - the metainfo branch - I didn't try that one 09:26
tadzik snarkyboojum: then do, it's awesome
But either wait a second or install json first 09:27
snarkyboojum tadzik: apart from being broken? :D
09:27 coldhead left
tadzik snarkyboojum: well, if it didn't work for me, I won't push it. colomon++ has some issues 09:27
09:28 coldhead joined
tadzik colomon | tadzik: added META.info for perl6-Testing module. # did you? 09:28
snarkyboojum: how do you like the 'neutro list' output? 09:29
admit it, you don't :) Now look at wklej.org/id/452575/ 09:31
snarkyboojum tadzik: a newline separated list of modules?
tadzik yeah, for that's what we know about them in master
snarkyboojum tadzik: ah.. the new listing output has real module names with a description?
tadzik snarkyboojum: it uses the information META.info gives it
snarkyboojum tadzik: looks good - as long as there is a space between the module name and desc :D 09:32
tadzik grr, wklej--
snarkyboojum tadzik: am I right in assuming there is only one module in META.info? i.e. neutro? 09:34
09:35 risou joined
tadzik snarkyboojum: each module has its META.info 09:35
snarkyboojum tadzik: oic
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
snarkyboojum: not really
snarkyboojum: to avoid making mess in the "official" ecosystem, I forked it
snarkyboojum: see github.com/tadzik/ecosystem and the META.list here
09:38 lopnor is now known as lopaway
snarkyboojum tadzik: gotcha 09:38
tadzik: or "got ya" rather 09:39
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
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 :)
snarkyboojum tadzik: ok!
tadzik: because it breaks :) 09:43
tadzik snarkyboojum: try to update, list, install something
snarkyboojum: it lacks JSON, no?
snarkyboojum tadzik: well, actually it can't open update.pl or project.json (haven't looked into the errors)
tadzik oh, that's more interesting 09:44
09:44 risou left
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
gander
that may be aussie slang.. will take a look 09:45
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
tadzik funny, qx// runs a command, run does not 09:49
or none do
snarkyboojum tadzik: part of the problem was that I already had a ~/.neutro/src/ecosystem checkout 09:54
tadzik ah, that might be it
snarkyboojum tadzik: ah your 'fetch' sub in neutro only tries to do a pull or a clone 09:55
I guess
tadzik: actually, that should be ok :P
but anyway, removing it, and trying again resulted in a different error :D
10:03 Layla_91 joined
Layla_91 helo, i just started learning perl6 and have few questions 10:04
tadzik hello Layla_91 :) 10:06
sorear We can't guess them, but we'd be happy to hear them
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
sorear Stringification.
tadzik srtingifier the left side, as in <A C B>.sort.Str
Layla_91 tadzik: hi! :) mmm.. ok ..What does the operator ~= mean exactly? like when used in sub { $dance-move ~= '\o/' }; 10:08
tadzik Layla_91: that's just $dance-move = $dance-move ~ '\o/' 10:09
like in C :)
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:10
10:11 Teee joined
Teee hello 10:11
tadzik Layla_91: because they mean different things. => constructs a Pair (as in hashes), -> feeds a block with a variable 10:12
Teee: ho
Layla_91 tadzik: now its all clear thank you! \o/! :) 10:13
tadzik Layla_91: you're welcome :)
10:14 Layla_91 left
tadzik /* What'll you do when you get lonely... */ 10:14
snarkyboojum  /* Please don't say we'll never find a way */ - /* Perl 6 will see the light of day */ 10:15
sorear out 10:17
10:24 Teee left 10:37 teee joined 10:38 teee left 10:40 teee joined 10:44 roen left 10:45 rgrau joined
teee say 11:00
Ten years for being borned;indeed,there is no much than one year,since been borned.For developing*/
//For developing,though there might be years to become better,that's no matter about the succinctness and flexibility of Perl6. 11:06
11:07 teee left 11:10 araujo joined, dsp_ left, dsp_ joined
snarkyboojum what that something like a haiku in programming comments? 11:10
moritz_ number of syllabils doesn't fit though 11:11
snarkyboojum moritz_: I know.. but went with it anyway :P
tadzik is there a way to manually fire up the default USAGE sub? 11:12
jnthn rakudo: USAGE() 11:13
p6eval rakudo 71328b: OUTPUT«Could not find sub &USAGE␤ in main program body at line 22:/tmp/pJW5vyTo1o␤»
moritz_ rakudo: USAGE()
tadzik USAGE unless +@modules; doesn't work. I have multi MAIN (*@modules)
p6eval rakudo 71328b: OUTPUT«Could not find sub &USAGE␤ in main program body at line 22:/tmp/4MRtb7gmid␤»
moritz_ tadzik: that's basically a bug in Rakudo
tadzik cool :)
jnthn rakudo: sub MAIN() { }; USAGE()
p6eval rakudo 71328b: OUTPUT«Could not find sub &USAGE␤ in main program body at line 22:/tmp/j7vYoCRqau␤»
jnthn aw.
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
ahdn $?USAGE generated at compile time
11:16 JimmyZ joined 11:19 zeta joined, zeta left
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::$"␤»
moritz_ yes 11:28
jnthn std: package Foo { my $a = 5; }; say Foo::$a
p6eval std 625303c: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/Wl8MZLBuXR line 1:␤------> package Foo { my $a = 5; }; say Foo::⏏$a␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤
..statement modifier loop␤Parse f…
moritz_ it's $Foo::a
jnthn Also should be our, not my.
moritz_ and when the inner variable is.... what jnthn said
jnthn hoped for a slightly nicer explanation from STD then. :)
tadzik that's what I needed, thanks 11:29
moritz_ jnthn: at least it pointed exactly to the right location
jnthn moritz_: Yes, true. :) 11:30
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
tadzik oh great 11:46
rakudo: package Foo { my $a = 6; }; say "foo {$Foo::a} bar"
p6eval rakudo 71328b: OUTPUT«Null PMC access in get_string()␤ in main program body at line 22:/tmp/pGs7WlHy9u␤»
tadzik known?
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
tadzik damn, don't tell me I have heisenbugs again 11:48
rakudo: package Foo { my $a = 6; }; say "foo {$Foo::a} bar"
p6eval rakudo 71328b: OUTPUT«Null PMC access in get_string()␤ in main program body at line 22:/tmp/5_nwKpMsxn␤»
tadzik oh, this my again 11:49
jnthn tadzik: note, s/my/our/
tadzik tadzik--
jnthn But the error sucks and should be ticketed.
11:51 skangas left 11:55 Intensity left 12:00 JimmyZ left 12:15 avuserow left, pyrimidine left 12:22 risou joined, avuserow joined, kjeldahl left 12:30 pyrimidine joined
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
p6eval rakudo 71328b: OUTPUT«Null PMC access in type()␤ in main program body at line 22:/tmp/uRErFfVdkM␤»
12:36 shi joined, risou left
tadzik colomon: thanks. Care to elaborate on your neutro failures? 12:36
colomon On OS X, they were all about calling prove with options my system version of prove doesn't support. 12:37
12:37 skangas joined
tadzik Hmm, I see 12:38
does your parrot_prove support them?
colomon I have a up-to-date prove, if I can specify a path for it.... 12:42
and parrot-prove, yes 12:43
though that's not in my path either.
(guess I could add it easily enough)
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.
tadzik I wonder whether to use parrot-prove, or make the prove path configurable
or both 12:45
colomon make path -- including executable name -- configurable 12:46
tadzik what would you prefer: a config file for neutro, an env variable, or a command-line switch? 12:47
colomon whichever of those is easiest for you. :) 12:48
tadzik :) 12:49
colomon config file, though, sounds nicest to me.
tadzik it probably is
but eh, a config file for one setting, in one specific case 12:50
12:51 gbacon joined
tadzik oh, iirc cpanminus did it like this: a command-line switch, plus the env var with default opts 12:51
so that'd be NEUTRO_OPTS="--prove=/foo/my_prove" 12:52
colomon that would work fine for me too
tadzik the bad side is that the MAIN sub would not be able to parse NEUTRO_OPTS, I'll have to do it myself
or write a wrapper for neutro. What do you think?
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:53
tadzik ==> Testing Testing 12:54
:}
what do you mean?
maybe a good way is to compile neutro to .pbc and write a wrapper running it with some default opts
12:55 snearch joined
colomon well, MAIN has all the logic for processing arguments built in 12:55
tadzik yep
so DEFAULT_OPTS becomes a problem
colomon I think this is a not that uncommon idiom for running things on the command line 12:56
therefore Perl 6 should support it somehow.
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.
tadzik sub MAIN($foo, $bar) : default(%*ENV<OPTS>) 12:57
colomon (have no in Rakudo, I mean)
*now
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)?
moritz_ there's another problem
MAIN_HELPER creates $?USAGE at compile time
colomon I thinking the problem with that is that every version of MAIN will need to have it.
moritz_ so it needs to know signature at compile time 12:59
but %*ENV<OPTS> should be taken at run time
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
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:01
13:02 cjk101010 joined, yarp left
moritz_ well, you'd have to repeat the signature for each multi 13:04
13:04 masak joined
masak good weekend, zebras! \o/ 13:04
colomon masak!
moritz_ so it might be better to use a single MAIN, and redispatch it to other multis
tadzik hello masak 13:05
13:05 hanekomu left
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:06
because in addition to OPTS, there's also the fairly common trick of putting command line arguments in a file. 13:07
maybe an optional function which gets called before MAIN_HELPER does process-cmd-args?
MAIN-ARGS ? something like that? 13:08
tadzik maybe 13:12
13:13 cjk101010 left, cjk101010 joined
jnthn o/ masak 13:13
colomon jnthn!
huh 13:15
jnthn :)
masak jnthn \o
colomon process-cmd-args is called separately for each version of MAIN (until a match is found).
jnthn colomon: Having another go at that patch you had to revert.
colomon jnthn++ 13:16
jnthn colomon: Got a sane test run before.
Let's see how the after run goes. :)
colomon :)
jnthn Done something to hopefully fix the roles issue.
13:17 isBEKaml joined
masak can I make Rakudo install Parrot and the perl6 executable in some more global place than ./parrot_install? 13:17
13:20 cjk101010 left
jnthn masak: Yes, pass --gen-parrot-prefix=the/place 13:21
13:22 Trashlord joined
jnthn colomon: All S14 is OK this time. Was that where it failed before? 13:22
colomon I put one example in the commit message... 13:23
jnthn ah, yes
and
t\spec\S14-roles\parameterized-type.t .......................... ok
colomon that
masak jnthn: thanks. 13:33
13:34 shi left
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
13:34 satyavvd joined
masak (and yes, this is a Perl 6 question. I want to build niecza.) :) 13:34
13:41 roen joined
jnthn colomon: Got a couple of other fails though. Tracking them down. 13:41
colomon: Looking better now. Doing one more spectest run just to check. 13:49
13:50 MayDaniel joined
tadzik jnthn: mind adding a META.info for zavolaj? 13:50
jnthn: github.com/moritz/json/blob/master/META.info like here 13:51
jnthn tadzik: pushed 13:54
tadzik thanks
jnthn nie je zaczo 13:55
Or however you render that into Polish. :)
tadzik nie ma za co? :)
that was Czech?
jnthn "nie je začo" 13:56
Slovak
I think. 13:57
:)
tadzik :)
13:58 satyavvd_ joined
jnthn crosses his fingers and hope this spectest run ends up looking fine 13:58
moritz_ fwiw latest rakudo on parrot RELEASE_2_11_0-821-g779719a (~40 revision ahead of PARROT_REVISION) is clean 13:59
14:00 satyavvd left, satyavvd_ is now known as satyavvd
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.
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
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:06
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.
masak solution: install mono-xbuild. duh. :)
moritz_ jnthn: I know that we need the distinction, it just needs a bit tuning
tadzik :)
jnthn moritz_: Yes...understand.
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
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.
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
jnthn moritz_: Maybe check for that also.
moritz_ jnthn: will try, thanks
14:12 molaf__ left
dalek ar: dd7d3c9 | moritz++ | skel/README:
[skel] update README with new year and RedHat prereq instructions
14:16
14:17 wamba joined, wamba left
jnthn wtf, just tried to push to rakudo.git and get: 14:19
fatal: bad object 3b27c8cb4207caddbad9fe69d9aeb7675bfa1db3
send-pack: send refs: write error (Invalid argument)
moritz_ jnthn: try 'git pull --rebase' first 14:20
you probably should get a different error (something about push being rejected because the repo has been updated in the mean time)
jnthn moritz_: No joy. :( 14:22
moritz_ :(
jnthn moritz_: There were no commits since I last pulled anyway
:S
14:25 Kodi joined, redicaps joined
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.
moritz_ google doesn't seem to know the error 14:27
jnthn support.github.com/discussions/feat...imple-push 14:29
May be that I need to get an updated git...
tadzik gfldex: gfldex.wordpress.com/2010/08/02/thi...erl6shell/ did you succeed somehow? 14:32
masak hm, --gen-parrot-prefix didn't have any noticeable effect. 14:34
jnthn :| 14:35
masak: Configure.pl recognizes it, I figured it passed it along to --gen-parrot
hmm, yes, it seems to 14:36
my $prefix = $options{'gen-parrot-prefix'} || cwd()."/parrot_install";
14:39 lichtkind joined
masak jnthn: yes, I even saw it pass it along when messages rolled by. 14:41
still, when it came time to 'make install'... 14:42
14:44 crythias1 joined 14:45 crythias1 left 14:46 MayDaniel left
gfldex tadzik: i didnt work much on it, i'm poking around with qt bindings if i got the time 14:46
tadzik gfldex: what do you you think about an idea of a common interface to gui toolkits, like there's DBI for Databases? 14:47
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 p-rx/nom: f613fcf | bacek++ | src/setting/IO.pm:
Improve c<slurp> to be more consistent with Perl6 and work in utf8/binary mode
p-rx/nom: 0fc4e19 | bacek++ | src/stage0/nqp-setting.nqp:
Reboostrap setting only.
jnthn Upgraded my git. Things work again.
(those two commits were ones I just cherry-picked into nom...) 14:49
dalek kudo: 803a4f1 | jnthn++ | src/binder/bind. (2 files):
[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.
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.
tadzik gfldex: e17 is a GUI toolkit? 14:50
gfldex the GUI toolkit of e17 is called EVAS
tadzik hmm, never heard of it
gfldex and ECORE and EDJE and EINA and some more
www.enlightenment.org/
works quite well already and is lightning fast 14:51
desktop is there 2 seconds after you hit return in the login screen
szabgab 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.'
phenny masak: I'll pass that on when sorear is around.
tadzik Su-Shee++ indeed, the post is awesome
Su-Shee thank you. :) 14:55
jnthn 803a4f1 shaves about 30% off the time needed to run tools/benchmark.pl.
tadzik ! 14:56
gfldex nice :)
jnthn Hopefully it gets on well with the cheese.
14:57 cjk101010 joined
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:58
tadzik I'd say "advertise" :) 14:59
szabgab tadzik: no no that's too close to "marketing" we are afraid of that !
tadzik :) 15:00
hmm, why is perl6_ops compiled with -O1?
hrm, -O1 then -O2, then -O1... CFLAGS madness 15:01
moritz_ adds up to O4 :-9 15:02
tadzik :> 15:03
15:04 kjeldahl joined 15:05 Patterner left
tadzik wow, hello world is now like half a second :) 15:08
15:08 Psyche^ joined, Psyche^ is now known as Patterner 15:09 shi joined 15:10 kjeldahl left, cjk101010 left
dalek ast: 86e4445 | (Kodi Arfer)++ | S02-names_and_variables/names.t:
[names.t] Added tests for subs with names like "my'foo".
15:11
15:15 Kodi left
dalek kudo: c1bc1aa | KodiB++ | src/Perl6/Grammar.pm:
[Perl6/Grammar] <!before '-'> → <!apostrophe> per sorear++.
15:16
15:21 wamba joined 15:22 kensanata left 15:23 Kodi joined 15:25 Alias_ joined
colomon tadzik: the error I was getting on linux was messed up paths 15:26
and I've erased that window now, give me a moment.
tadzik on master?
colomon on neutro master
tadzik oh, that's bad
15:27 roen left, Alias left
colomon gist.github.com/770912 <== notice the extra lib/ in front of the absolute path /home/colomon/.... 15:28
tadzik let me see
colomon: in the meantime, can you try updating your Module::Tools? 15:29
colomon on OS X or Linux?
tadzik on where you have the failing paths
colomon k
tadzik it works for me, besides done being done_testing 15:30
colomon tadzik: apologies for being the troublemaker here.
tadzik colomon: it's good that you find bugs 15:31
15:32 ashleydev joined
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:32
colomon I'm trying installing Module::Tools by hand atm. 15:33
15:38 araujo left, ashleydev left
colomon oooo, pulling latest neutro and re-bootstrapping fixed the problem! 15:39
now the problem is an over-abundance of "done-testing"
and no META.info 15:41
(with List::Utils, I mean.)
15:42 kalkin- joined
kalkin- hi 15:42
masak hi kalkin- 15:43
kalkin- afaik can perl6 coded completly static typed
masak as static as you want.
or as dynamic as you want.
kalkin- is there some way to define the return type of a subroutine/method
?
masak yes.
kalkin- like in java public String foo()?
so public Integer foo() is something completely differnet? 15:44
masak rakudo: sub foo(--> Int) { return 42 }; say foo()
p6eval rakudo 71328b: OUTPUT«42␤»
15:44 wamba left
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
kalkin- masak: ahh k 15:44
15:46 snearch left
tadzik colomon: great. If the META.info idea cathes I'd be able to have neutro say "Your Module::Tools is outdated, behold" 15:47
kalkin-: also sub foo() returns Str {} 15:48
I think
am I right, or is that zavolaj, specific?
s:2nd/,//
jnthn That's Perl 6. 15:52
tadzik good
colomon tadzik: List::Utils is now fully up-to-date, including META.info
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
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.
masak tadzik: no, I'm not up-to-date yet.
tadzik: until I get my setup set up, I'll appear not fully... here. :)
tadzik :) alright 15:54
you'll be suprised :)
masak I'll catch up, I promise.
15:58 masak left, MayDaniel joined, MayDaniel left, MayDaniel joined
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?
Kodi: 12:44Z <moritz_> tell Kodi never mind, I wasn't on newest Rakudo - sorry for the noise
16:02 arlinius| left
dalek ast: 3f3d6ce | (Kodi Arfer)++ | S04-exceptions/fail.t:
[fail.t] Added tests for RT #77946.
16:06
16:08 satyavvd left 16:09 masak joined 16:10 envi left
dalek kudo: b842173 | KodiB++ | src/builtins/Failure.pir:
[builtins/Failure] Made .Bool and .defined return Bools.
16:11
tadzik thanks Kodi 16:15
also, the new (or to-be-new) ecosystem annoucement sent to p6u
Kodi I love the smell of squished bugs in the morning. :) 16:16
Su-Shee *lol* :)
lichtkind :)
16:16 shi left
colomon Kodi++ 16:19
16:20 cjk101010 joined 16:25 xinming_ is now known as xinming 16:33 Guest81631 left
Kodi It looks like KyleHa's script to post test additions to RT tickets isn't working anymore. Shame. 16:36
masak oh, it must have been offline for quite some time now. 16:43
haven't seen such emails in a while.
16:45 agentzh left 16:47 Chillance left 16:48 _twitch joined, hacknperl left
colomon ABC up to current standards. 16:49
16:54 isBEKaml left 17:00 cjk101010 left 17:01 GinoMan joined
colomon perl6-facter seems to have hung.... 17:09
17:12 ashleydev joined 17:21 ashleydev left 17:23 justatheory joined 17:24 am0c left 17:29 ashleydev joined 17:34 char00les left 17:35 zby_home_ joined 17:40 thundergnat joined
TimToady just happily realized that 1,2,3, { $^antepenult + $^penult + $^ult } ... * comes out in the right order 17:40
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
I don't have an exact line #
flussence TimToady: so does { $^first + $^second + $^third } :) 17:43
colomon TimToady: so does *+*+*, I believe...
TimToady S03:4391
thundergnat But TimToady does apparently. :-) 17:44
masak { $^fourth + $^ninth + $^sixteenth } 17:46
wow, and deliberately getting those to mismatch would create such wonderful congnitive dissonance in the reader :)
17:46 coldhead left, Eimantas joined
masak { $^third + $^fourth + $^eleventh } # mwhaha 17:47
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
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
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:50
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
it's easy to overdesign the path type system, when a simple typed string variant is probably teh best
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.
masak jnthn: I know why.
jnthn: I'm wondering whether it's a good idea.
root is one of those things I generally want to limit to minimal scopes.\ 17:53
doing it on Configure.pl feels... wrong
jnthn masak: Well, you can always build Parrot separately.
masak I'm leaning towards that.
jnthn If you want more control.
--gen-parrot is mostly a convenience. :)
masak nod.
17:53 Eimantas left, takadonet joined
takadonet hey all 17:53
masak takadonet: \o
jnthn But yes, I can see why it feels weird. :)
o/ takadonet
17:53 redicaps left
masak goes back to separate Parrot 17:53
TimToady make install should really know how to ask permission for privilege escalation
takadonet tadzik: ping
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. :)
TimToady just put the root password in your environment :P
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:55
jnthn :P 17:56
Kodi Anyway, I don't doubt this behavior is *useful*, so I'll push. 17:58
dalek ast: 0127f17 | (Kodi Arfer)++ | S0 (2 files):
Changes for RT #77868 ($x max Any yielding Any).
17:59 MayDaniel_ joined 18:00 shi joined
dalek kudo: e7e9d51 | KodiB++ | src/core/Any-list.pm:
[core/Any-list] Ignore undefined values when computing maxima and minima.
18:00
18:02 MayDaniel left 18:08 Kodi left 18:09 TiMBuS left 18:10 TiMBuS joined
TimToady colomon: note that S06:3179 implies you can fiddle with @*ARGS before MAIN sees them; you could inject defaults this way 18:14
tadzik: ^^ 18:15
MAIN is not called until the *end* of mainline code
so there's plenty of opportunity for lying to yourself 18:16
18:16 pmurias joined
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.'
pmurias sorear: hi
sorear masak: www.debian.org/distrib/packages#search_contents
masak: says - mono-xbuild 18:17
masak: you can also use it offline, package 'apt-file'
TimToady backlog sez he found mon-xbulid
bleh
mono-xbuild
18:18 ashleydev left, _twitch left
sorear jnthn: #moose-dev was complaining about github repository corruption yesterday 18:18
18:19 arthur-_ joined
pmurias sorear: don't they have the repositories hosted at shadowcat? 18:20
18:21 MayDaniel_ left
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:22
18:23 skangas left
jasonmay pmurias: yeah, hosted on shadowcat, mirrored to github 18:23
18:24 skangas joined
masak sorear: thanks. I have mono-xbuild at this point. 18:24
sorear: it is when I run 'xbuild' that I get the error message I phenny-told you about. 18:25
18:26 Eimantas joined
pmurias sorear: how should i compile the new compiler? 18:26
18:27 takadonet left, thundergnat left
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
pmurias: hi 18:32
pmurias: they're mirrorred on github 18:33
TimToady: Ah
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
sorear "sneaking exceptions"?
TimToady as in %ff in URIs
so if you happen to have a filename with a / in it that is allowed on some system, you can express it 18:34
doesn't have to be easy
18:34 dju joined, dju left, dju joined, ashleydev joined
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
sorear pmurias: still no proper driver
TimToady there just has to be an unambiguous translation of / to the physical representation for a givin OS 18:35
we might have to worry about dir() returning filenames containing '/' though 18:36
sorear yeah, that won't be an issue in my current model, since I'm not using qp() yet 18:37
18:37 _twitch joined
sorear qp[] 18:37
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
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:39
much like "everything is a grapheme" by default 18:40
18:40 nadim left
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
but the idea is to control it at the interface, with a decent default, so we don't inflict PathThink on people continually
which is the failure mode of most Path designs
18:42 Eimantas left
TimToady and if it happens to map very simply to Unix filesystem semantics, well...that's okay too :) 18:43
I think Unix pathnames are one of those tails that should wag the whole dog
they are taking over the world via URI notation, really 18:45
pmurias sorear: i can start porting Niecza::Compiler over?
TimToady at least the tail end of URI notation... 18:46
...if not the front end.
18:46 Eimantas joined
pmurias class Foo;augment class Bar {...} aguments Bar or Foo::Bar? 18:47
18:50 Layla_91 joined 18:51 _twitch left
pmurias s/aguments/auguments/ 18:52
Layla_91 helo, i started learning p6 2 days ago and have few questions :) 18:56
masak welcome back, Layla_91 :) 18:58
Layla_91 oh hi masak :D
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?
masak Layla_91: just so our terminologies are compatible: arguments are what you pass in, parameters are what the sub accepts. yes? 18:59
Layla_91: in that case, a signature is a container for paramters, and a capture is a container for arguments.
18:59 awsd joined
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
hope this makes sense. if not, please ask more.
pmurias hello
Layla_91 masak: Crystal clear so far :D So what exactly is a capture in signature? 19:02
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
let's take an example.
sub foo($a, $b, :$c) { ... } 19:04
($a, $b, :$c) is the signature. this you already know.
but then, when we call &foo, like this:
foo "OH", "HAI", c => "world";
"OH", "HAI", c => "world" is the capture. 19:05
Layla_91: make sense?
sorear pmurias: No, I'm doing that now
masak Layla_91: then, piece by piece, the capture is bound to the signature. $a := "OH"; $b := "HAI"; $c := "world";
sorear pmurias: my compiler is going to be a bit bigger because it has to have @*PERL6LIB search logic 19:06
lichtkind _sri: ping?
sorear pmurias: augment uses the same search rules as an ordinary reference. It'll augment whatever Bar is in lexical scope
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
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?
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
Layla_91 masak: Am not sure my last statement is correct 100% :D
sorear 1. Write an option parser for niecza.exe (no Getopt::Long in this new world)
masak Layla_91: there's an excellent example using quicksort. 19:11
Layla_91: let me just find it for you.
sorear 2. Finish translating OptRxSimple
Layla_91 masak: Oh great :D
sorear 3. Compiler driver / integration / path search stuff
jnthn masak, Layla_91 the quicksort example appears in www.jnthn.net/papers/2010-osdc.fr-signatures.pdf
sorear I kinda wanted all three but I guess I can part with one
jnthn As well as many other signature examples :) 19:12
masak Layla_91: what jnthn said. I just found it there too :)
Layla_91: the slide is named "Example: Quicksort", and there's a bit of good explaining before it, too. 19:13
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 :)
dalek ecza: 74fb99f | sorear++ | v6/ (2 files):
[v6] WIP for driver
Layla_91 tadzik: hi!! :D
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
Eric_Clapton you knocked me on my knees! 19:15
19:15 Eric_Clapton is now known as tadzik
tadzik sorry, just could not resist 19:15
oh, I have a segfaulting perl6 19:16
Layla_91 Good night all ^_^ time to -_-.... 19:17
tadzik Come back soon! 19:18
Layla_91 tadzik: I will :D
19:18 Layla_91 left 19:21 kalkin- left
tadzik wklej.org/id/453022/ -- look what I've found 19:21
diakopter long backscroll 19:22
sbp aw, I missed Eric Clapton 19:24
19:24 rgrau left
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:24
19:25 pmurias left, orafu left, pothos left, mj41 left, tty234 left, cognominal left, [sbp] left, apejens left, arlinius left, literal left
masak too bad you missed him. 19:25
19:25 tty234 joined
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:25
19:26 MayDaniel joined, pmurias joined, orafu joined, pothos joined, mj41 joined, apejens joined, cognominal joined, [sbp] joined, arlinius joined, literal joined, pothos left, pothos joined
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 :-)
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
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 19:31 orafu joined
sorear TimToady: Then, why does sub foo { $x }; foo = @y do item assignment 19:31
*not do item assignment
TimToady because = is really more of a macro when used as an operator 19:33
19:33 cognominal joined
TimToady but really, that's more of how it's parsed, so maybe we could make that part depend on the container 19:33
might be worth detangling those; have to consider the user's viewpoint here... 19:34
and the optimizer's viewpoint :) 19:35
and everyone else's viewpoint...
19:37 shi left
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
*functions
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:39
19:42 plobsing left
TimToady the main thing we have to keep clear is the difference between my $x = and my ($x) = 19:47
19:47 lichtkind left
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:48
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
it seems to be what a user would expect in that case too, I think
and feels simpler, from a non-implementor viewpoint :) 19:50
19:53 GinoMan left 19:55 GinoMan joined 19:56 dwhipp joined
TimToady so the $(foo) thing only influences parsing, not semantics, I guess 19:58
19:59 MayDaniel left
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
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
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?
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:02
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
TimToady and it also depends on the extent we can train people to think about recursive iterative algorithms that way
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}
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
masak dwhipp: yes, that's what I usually end up doing. it helps readability a lot.
dwhipp I was playing with this on try.rakudo.org ... 20:06
is there a method on a list to test for known-finite?
and could that be used in the REPL to avoid the timeouts? 20:07
TimToady rakudo: say ~(1,1, &infix:<+> ... * > 100)
p6eval rakudo e7e9d5: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144␤»
TimToady oh good, seems to work now
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)
p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "& > 200)"␤»
colomon rakudo: sub next-step($x, $y, $z) { $x + $y + $z; }; say ~(1, 1, 1, &next-step ... * > 200)
p6eval rakudo e7e9d5: OUTPUT«1 1 1 3 5 9 17 31 57 105 193 355␤»
PerlJam de-lurks 20:09
dwhipp rakudo: sub done { $^a > 100}; 1,1,*+*...&done 20:10
p6eval rakudo e7e9d5: ( no output )
dwhipp rakudo: sub done { $^a > 100}; 1,1,*+*... &done
p6eval rakudo e7e9d5: ( no output )
PerlJam re-lurks
dwhipp sub done { $^a > 100}; ( 1,1,*+*... &done ).perl.say 20:11
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)␤»
dwhipp rakudo: sub done { $^a > 100}; 1,1,*+*... &done ==> .perl.say
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
TimToady hmm, why not? the source is just a list 20:13
dwhipp rakudo: 1,2,3 ==> .say
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
p6eval rakudo e7e9d5: OUTPUT«123␤»
dwhipp rakudo: 1,2,3 ==> *.say
p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " *.say"␤»
TimToady ah, didn't read the error 20:15
TimToady slaps his own hand as punishment
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
dwhipp ah 20:17
TimToady doesn't know anything about the current topic
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, mberends joined 20:22 thowe joined 20:31 plobsing joined
dwhipp rakudo: 0, {(1..3).pick} ... *==* 20:32
p6eval rakudo e7e9d5: ( no output )
dwhipp rakudo: (0, {(1..3).pick} ... *==*).say
p6eval rakudo e7e9d5: ( no output )
dwhipp (0, {(1..3).pick} ... $^prev==$^last).say 20:33
rakudo: (0, {(1..3).pick} ... {$^prev==$^last}).say 20:34
p6eval rakudo e7e9d5: ( no output )
dwhipp (0, {(1..3).pick} ... {2==$^last}).say 20:35
masak mberends! \o/
dwhipp rakudo: (0, {(1..3).pick} ... {2==$^last}).say
p6eval rakudo e7e9d5: OUTPUT«0131112␤»
dwhipp rakudo: (0, {(1..3).pick} ... {$^prev==$^last}).say 20:36
p6eval rakudo e7e9d5: ( no output )
dwhipp is it possible to use a convergence criteria as the termination condition of a sequence?
(i.e. keep going until it stops changing)
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
strange that I don't see the error message on irc 20:39
tadzik colomon: wklej.org/id/453117/
colomon tadzik: \o/ 20:40
so what we'd like to do is dead easy. :)
probably should be a module. :)
TimToady otoh you can last out of the iterator function
tadzik TimToady++
dwhipp rakudo: (0, {last if *==*; (1..5).pick} ... *).perl.say 20:42
p6eval rakudo e7e9d5: OUTPUT«(0)␤»
dwhipp rakudo: (0, -1, {last if *==*; (1..5).pick} ... *).perl.say
p6eval rakudo e7e9d5: OUTPUT«(0, -1)␤»
TimToady closures are always true
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)␤»
TimToady yeah, that
dwhipp rakudo: (0, {last if $^a==$^b; (1..5).pick} ... *).perl.say
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
..line 22…
dwhipp LTA error :( 20:44
masak submits rakudobug 20:46
dalek rixel: dac9328 | diakopter++ | / (5 files):
disregard...
20:53
21:00 alester left 21:10 Vlavv` joined 21:12 Vlavv_ left, dwhipp left 21:19 buubot left
gfldex tadzik: did you think about versions for dependencies in neutro? 21:25
tadzik gfldex: that's a good idea 21:26
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:27
masak tadzik++ 21:29
tadzik masak: goo.gl/VzqMC snarkyboojum++ proposed the following for modules.perl6.org, what do you think? 21:30
masak looks 21:31
snarkyboojum or "for getting the job done." as the end of the sentence :)
masak tadzik: absolutely.
tadzik: neutro should probably have a *more* prominent place than proto nowadays.
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.
snarkyboojum tadzik: I can just do a git push if you like :P
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 :)
snarkyboojum: oh, even better. Please go on 21:33
dalek href="https://modules.perl6.org:">modules.perl6.org: da8f186 | snarkyboojum++ | web/index.tmpl:
[index.tmpl] Added blurb for neutro

Added a blurb about neutro as an alternative for installing Perl6 modules
snarkyboojum tadzik: done
dalek href="https://modules.perl6.org:">modules.perl6.org: 9089409 | snarkyboojum++ | web/index.tmpl:
Fixed up some wording re neutro.
tadzik masak: I think one day it will just evolve into an App::Pls implementation :)
21:34 arlinius is now known as arlinius|
sorear TimToady: ultimately, I'm wondering about ($x) = @y <--> &infix:<=>($x,@y) and various permutations thereof 21:34
21:34 awsd left, arlinius joined
tadzik snarkyboojum: cool 21:35
snarkyboojum tadzik++ # for neutro
tadzik masak: neutro alredy approaches proof-of-concept in terms of speed :P
refactoring was good for my eyes only 21:36
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
I wonder what would profiling tell me
_or_ I can say it's JSON's fault :P
21:38 orafu left 21:39 orafu joined
snarkyboojum tadzik: I guess neutro update should be slow if anything is i.e. a separate get over http for each module.. 21:40
tadzik snarkyboojum: no, it doesn't fetch every time 21:41
only on 'update'. Then, it keeps the JSON list in the config dir
snarkyboojum tadzik: sure 21:42
$ neutro list | wc -l --> 16 now :D 21:43
tadzik :) 21:44
tadzik working on listinst
snarkyboojum for the metainfo branch of neutro
masak blogs.perl.org/users/su-shee/2011/0...ideas.html # Su-Shee: awesome post!
I hope lots of those items find a willing volunteer to make them a reality. 21:45
Su-Shee masak: sheer envy motivated me to this and the other posting. ;) 21:46
21:47 Eimantas left
snarkyboojum awesome list of ideas. I feel motivated just reading it :D 21:48
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 21:59 zby_home_ left
tadzik masak: mind giving some of your modules a META.info in some spare time? 22:01
wow, the current projects.list is 92 lines long 22:03
which means there is 92, working or not, projects in the ecosystem 22:04
22:05 lue joined
lue Hello fellow Perl 6-ians! o/ 22:06
tadzik o/
lue I can't wait to celebrate the 10th anniversary of The Hitchhiker's Guide to the Galaxy.
masak lue: when is that?
masak thought that was long ago 22:07
lue Oh, sorry, I meant Wikipedia :)
masak :P
lue
.oO(Curse thee, O wireless router, for using advanced new-fangled, er, stuff that my 10-yr laptop cannot handle! Grrrrr!)
22:09
Anything new in Camelia-land recently? 22:10
tadzik I feel proud to say yes :) 22:12
lue looks for tadzik-related news in backlog 22:15
masak is enjoying himselv reading and reviewing p6cc submissions
s/himselv/himself/
tadzik lue: have you read your p6u today? 22:16
22:16 timbunce joined
lue tadzik++ # neutro improvements 22:17
?(p6u == "Perl6 Users mailing list) ?? "no" !! "clarify please"
tadzik "no" 22:18
lue looks through p6u archives
I'm only joined to p6l, and I'm considering unsubscribing to that. I'm not much of a mailing list person :) 22:19
tadzik p6u is like #perl6, but also when you're offline :) 22:20
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
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:23
pmurias Su-Shee: and erlang is a lot less hip language then haskell (erlang is old and really tedious to stuff in) 22:25
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
of course, all the prime discussions take place on #perl6 :)
tadzik wklej.org/id/453233/ -- module authors stats 22:31
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
masak lue: very likely. S22 is old. 22:34
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:/tmp/qgSOXI…
masak should the above work and print "3\n"? opinions?
lue should finish up his module proposal and put it on the interwebs
masak: I would say so.
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.
lue: any nifty explanation for the infinite regress? :)
lue rakudo: sub f($x) { my &r = &return; sub gimme($nv) { &r($nv / 2) }; gimme $x; }; say f 6
masak has his ideas, but would like to hear someone else's
p6eval rakudo e7e9d5: OUTPUT«3␤»
lue well there's ur problem.
masak that I'm trying to override &return? :) 22:37
lue It attempts to call itself which calls itself...
masak yes, I got that part :) 22:38
rakudo: sub f { my &r = &return; &r(42); say "OH HAI" }; say f
p6eval rakudo e7e9d5: OUTPUT«42␤»
pmurias Su-Shee: what's wrong with universities as conference venues?
tadzik can't something be both a module and an application? So a module, but having MAIN?
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 .
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
in the second case the MAIN isn't run
pmurias Su-Shee: OTOH maybe the ones YAPC::EU are organized are in are the good ones
tadzik but I don't want even another level of indentation :P
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:/tmp/hRN…
masak lue: that also recurs infinitely. why?
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␤
.. in …
masak seems the rebinding succeeds.
rakudo: sub f { my &r = &return; &return := -> $v { &r($v + 1) }; 41 }; say f 22:42
p6eval rakudo e7e9d5: OUTPUT«41␤»
masak hm.
sorear there hasn't been much activity on the p6 blog circuit lately
masak I'll try to rectify that. maybe even tomorrow.
rakudo: sub f { &return(42) }; say f
p6eval rakudo e7e9d5: OUTPUT«42␤»
snarkyboojum sorear: do you blog? 22:43
masak rakudo: sub f { &return := {}; return(42) }; say f
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
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:43
masak rakudo: my &r = &return; sub f { &return := -> $v { say "LOL!"; &r($v) }; return(42) }; say f 22:45
p6eval rakudo e7e9d5:
..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…
masak lue: yes, you're right. there's your proof.
diakopter heh
22:46 timbunce left
masak everyone agree that's Wrong? 22:46
anyone agree that's Wrong? 22:47
:)
diakopter I dunno; I was lolzing at the lolz
sorear snarkyboojum: no
lue I'm looking. I typically don't write code like that.
[It's like learning a natural language!]
masak lue: I'm using pblocks because using a sub would mess things up. 22:48
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 github.com/sorear/niecza :P
masak lue: "inherit"? they do, all lexical blocks do.
tadzik I like technical blogs
sorear snarkyboojum: I like reading interesting stuff on planet6
lue rakudo: my $a = 3; sub f { say $a}; f; 22:50
p6eval rakudo e7e9d5: OUTPUT«3␤»
lue huh. Seems obvious now, but never considered it before :)
masak it's quite a powerful technique.
see my advent post on lexicals for how to (ab)use it.
jnthn I heard you like lexicals, so I put a scope in your scope. 22:51
masak :D
jnthn: what do you think about the infinite LOLs above?
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"?
jnthn masak: Bit surprised by it.
masak jnthn: seems no matter what I do, I hit recursion with &return. 22:53
lue: &return is provided by default in Perl 6.
lue: it works by issuing a "return exception", which gets caught by the innermost surrounding routine.
jnthn masak: I'm not sure re-binding return is going to end well, given the optimizer is liable to fumble with it. :)
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]
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?
jnthn masak: Well, given Rakudo doesn't have an optimizer... :P
masak lue: &r and &return are just variables. they don't honor any scope.
jnthn masak: Anyway, I'd not expect it to go infinite in the case you wrote above.
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.
masak \o/
masak submits rakudobug
tadzik oh, I was to submit those package bugs
22:56 ashleydev left
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␤»
tadzik rakudo: package Foo { our $a = 5; }; say $Bar::a # LTA error message
p6eval rakudo e7e9d5: OUTPUT«Null PMC access in type()␤ in main program body at line 22:/tmp/qfN3P74RLF␤»
tadzik submits rakudobug
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 ?
tadzik lue: yes
jnthn tadzik: done 22:58
tadzik jasonmay
bleh, tab fail
jasonmay: sorry, neverming
jnthn++ that is
masak 'night, zebras. 22:59
23:00 masak left
tadzik 'night masak 23:00
wtf, perl6 is non-deterministic 23:01
it segfaulted, I re-ran it, and then it worked
diakopter how often does it segfault? 23:02
if often enough, it's a good bug report for parrot, perhaps
tadzik once a while. Rather seldom than often
it started today
diakopter how long does it take to run
when it doesn't segfault
tadzik maybe that's why I spent like an hour tracking a heisenbug in neutro 23:03
diakopter: ~8 seconds
diakopter ok, not horrible
tadzik diakopter: but I had moments today when just 'perl6' segfaulted
then I thought it's update-related, purged the parrot and rakudo tree, recompile, then it worked
lue Hm, how do I split a number into groups of three...? (e.g. 348910 to ("348", "910")) 23:04
tadzik rakudo: 348910.comb(/\d\d\d/) 23:05
p6eval rakudo e7e9d5: ( no output )
tadzik rakudo: say 348910.comb(/\d\d\d/)
p6eval rakudo e7e9d5: OUTPUT«348910␤»
tadzik pff
rakudo: say 348910.comb(/\d\d\d/).perl
p6eval rakudo e7e9d5: OUTPUT«("348", "910")␤»
jnthn rakudo: "348910".comb(/\d\d\d/).perl.say
p6eval rakudo e7e9d5: OUTPUT«("348", "910")␤»
tadzik there we go
jnthn ah, beaten. :)
rakudo: "348910".comb(/\d**3/).perl.say
p6eval rakudo e7e9d5: OUTPUT«("348", "910")␤»
jnthn Also that :)
lue so I should use .comb instead of .split here. Thanks!
tadzik ah, golfed :) 23:06
23:06 MayDaniel joined
tadzik always imagines .comb as a Perl 6 hair comb, with appropriate distance between its teeth 23:06
lue rakudo: "12345".comb(/\d**3/).perl.say 23:11
p6eval rakudo e7e9d5: OUTPUT«("123")␤»
lue rakudo: "12345".comb(/\d**{1,3}/).perl.say
p6eval rakudo e7e9d5: OUTPUT«("12345")␤»
23:15 mtk joined
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, )␤»
lue rakudo: say 3 % 3 23:17
p6eval rakudo e7e9d5: OUTPUT«0␤»
lue apparently, something likes to change my double %'s into one % ...
diakopter windows? 23:18
lue no, *put on shades*, I'm using Linux. 23:19
A%20Space
hm, curious. 23:20
rakudo: say 3 %% 3
p6eval rakudo e7e9d5: OUTPUT«Bool::True␤»
23:20 kaare_ left
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:21
rakudo: my $a = "cake"; say $a[1]; 23:24
p6eval rakudo e7e9d5: ( no output )
lue rakudo: my $a = "cake"; say $a.substr(1,1); 23:25
p6eval rakudo e7e9d5: OUTPUT«a␤»
snarkyboojum rakudo: my $a = "cake"; say $a.substr(1,-2) 23:31
p6eval rakudo e7e9d5: OUTPUT«a␤»
23:32 mtk left
lue (I still think I should be able to do [1]) 23:36
snarkyboojum rakudo: my $a = "cake"; say $a.comb(/./)[1]
p6eval rakudo e7e9d5: OUTPUT«a␤»
snarkyboojum lue: a string isn't an array of char in Perl 6 though 23:37
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:39
tadzik rakudo: "cake".comb[1] 23:42
p6eval rakudo e7e9d5: ( no output )
tadzik rakudo: "cake".comb[1].say
p6eval rakudo e7e9d5: OUTPUT«a␤»
lue ooh, that's a few characters shorter. I'll use it! 23:43
23:52 jevin left, jevin joined