»ö« 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 loopParse 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«140279351943080104543864maximum 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
|