»ö« 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! Set by sorear on 4 February 2011. |
|||
00:19
wamba left
00:20
am0c joined
00:24
whiteknight left
00:25
whiteknight joined,
donri left
|
|||
[Coke] yawns | 00:29 | ||
00:36
natureboy left
00:40
uasi joined
00:51
plobsing_ joined
00:54
plobsing left
01:02
kthakore left,
kthakore joined
01:03
uasi left
01:11
REPLeffect left,
REPLeffect joined
01:14
whiteknight left
01:16
sili joined,
PacoLinux left
01:29
woosley joined
01:37
uasi joined
01:39
chromatic left
01:41
llabthgi1 is now known as senobmeht
01:43
REPLeffect left
02:08
uasi left
02:17
uasi joined
02:27
silug_ left,
silug_ joined
02:33
am0c left
02:51
am0c joined
02:52
jaldhar joined
03:01
jevin left
03:03
jevin joined
03:21
thou left
03:23
Su-Shee_ joined
03:27
Su-Shee left,
lue joined
03:30
agentzh joined
03:52
ZaphrodZenovka joined
03:57
satyavvd joined
04:01
lue left
04:26
frhodes left
04:27
frhodes joined
04:35
abercrombie left
04:38
birdwindupbird joined
05:09
jevin left
05:10
REPLeffect joined
05:12
SHODAN joined,
jevin joined
05:17
beekor joined
05:34
wolfman2000 left
05:42
uasi left
05:51
wtw joined
05:56
daniel-s joined
|
|||
moritz | \o | 06:06 | |
06:06
REPLeffect left
06:10
Su-Shee_ is now known as Su-Shee
06:17
koban joined,
koban left
06:20
REPLeffect joined
06:34
beekor left,
beekor joined
06:45
maja left
06:52
maja joined
06:58
MayDaniel joined
06:59
pernatiy left
|
|||
mberends | o˩ | 07:07 | |
jnthn | o/ moritz, mberends | 07:16 | |
mberends is trying to rebuild Rakudo/alpha by replacing svn checkouts with git clones | 07:17 | ||
moritz | I think alpha just needs a released parrot, so that shouldn't be too much of a problem | 07:18 | |
07:18
pernatiy joined
|
|||
mberends | it's built, just fiddling with roast now | 07:19 | |
07:23
im2ee joined
07:28
domidumont joined
07:31
mj41 joined,
jevin left
07:32
wk joined
|
|||
moritz | nom: say 0 ** 0 | 07:34 | |
p6eval | nom b0da69: OUTPUT«1» | ||
07:36
kaare_ joined,
jevin joined
07:37
dark_x joined
|
|||
jnthn | airport & | 07:41 | |
07:42
MayDaniel_ joined
07:44
MayDaniel left
07:47
odoacre left,
MayDaniel_ left
07:48
wk left
08:09
odoacre joined
08:10
johnjohn joined
08:11
johnjohn left
08:13
[particle] joined
08:15
[particle]1 left
08:19
odoacre left
08:22
odoacre joined
08:36
uasi joined,
bbkr_ left
08:40
dakkar joined
08:44
odoacre left
08:45
Trashlord left
|
|||
tadzik | o/ | 08:47 | |
08:48
orafu left,
odoacre joined,
masak joined
|
|||
tadzik | new HPatMoR chapter | 08:48 | |
masak | perl6: say 0 ** 0 | ||
tadzik | ! | ||
masak | tadzik: !!! | ||
p6eval | pugs, rakudo a55346, niecza v8-55-g0db7bb8: OUTPUT«1» | ||
masak | tadzik: I'm at $work; why are you telling me this! >:( | 08:49 | |
:P | |||
08:50
orafu joined
|
|||
tadzik | haha! :P | 08:52 | |
masak | sadist. | 08:55 | |
nom: say "tadzik".subst('t', 's').subst('z', '').subst('k', 'st') | 08:57 | ||
p6eval | nom b0da69: OUTPUT«sadist» | ||
masak | incontrovertible proof. | 09:00 | |
tadzik | /o\ | ||
09:01
odoacre left
|
|||
mberends | :) | 09:08 | |
09:09
im2ee left
09:10
daxim joined
09:11
REPLeffect left
09:18
odoacre joined
09:23
im2ee joined
09:25
REPLeffect joined
09:34
woosley left
09:48
cexsum joined
|
|||
masak | rakudo: sub all-perms { return [] unless @^l; map -> $e { [$e, @($_)] for all-perms grep * != $e, @l }, @l }; say .perl for all-perms [1, 2, 3] | 09:58 | |
p6eval | rakudo a55346: OUTPUT«[1, 2, 3][1, 3, 2][2, 1, 3][2, 3, 1][3, 1, 2][3, 2, 1]» | ||
masak | I keep coming back to wanting to write all-perms nicely. | ||
This is the shortest I've managed so far. | 09:59 | ||
moritz wonders if .permutations should be a built-in in List | |||
masak | well, I do keep re-implementing it. which seems to be an argument for putting it in the setting. | ||
moritz | or in the very least in List::Util or so | 10:00 | |
masak | it isn't there already?! | ||
moritz | dunno | 10:01 | |
tadzik | I don't know, it fails tests on nom! | ||
tadzik hides | |||
moritz | masak: if it is, why do you keep re-implementing it? | ||
tadzik | oh, it doesn't actually build | ||
masak | moritz: because I keep looking for a primitive that'll make it easier to do so. | 10:03 | |
10:05
bbkr_ joined
|
|||
moritz | nom: module Foo::Bar; say 'alive'; | 10:07 | |
p6eval | nom b0da69: OUTPUT«alive» | ||
moritz | nom: module List::Bar; say 'alive'; | ||
p6eval | nom b0da69: OUTPUT«===SORRY!===Null PMC access in set_pmc_keyed()» | ||
moritz | that's what kills List::Utils | ||
nom: class Str::Thingy { } | |||
p6eval | nom b0da69: ( no output ) | ||
moritz | nom: module Str::Thingy { } | 10:08 | |
p6eval | nom b0da69: ( no output ) | ||
moritz | nom: module Array::Thingy { } | ||
p6eval | nom b0da69: OUTPUT«===SORRY!===Null PMC access in set_pmc_keyed()» | ||
moritz | nom: module Any::Thingy { } | ||
p6eval | nom b0da69: ( no output ) | ||
moritz | nom: module Positional::Thingy { } | ||
p6eval | nom b0da69: ( no output ) | ||
moritz doesn't see the pattern | |||
bbkr_ | nom: say so "abc" ~~ /a ~ (c) (b)/; say $0 # this is weird. in rakudo it captured incorectly ( #77616 ) in nom it does not capture at all. | 10:14 | |
p6eval | nom b0da69: OUTPUT«Bool::TrueAny()» | ||
moritz | rakudo: say so "abc" ~~ /a ~ (c) (b)/; say $0 | 10:16 | |
p6eval | rakudo a55346: OUTPUT«Bool::Trueb» | ||
10:18
Trashlord joined
|
|||
moritz | nom: say List.WHO | 10:20 | |
p6eval | nom b0da69: OUTPUT«Null PMC access in find_method('gist') in sub say at src/gen/CORE.setting:4613 in mu <anon> at /tmp/tmFdX5E7UQ:1 in mu <anon> at /tmp/tmFdX5E7UQ:1» | ||
moritz | nom: pir::say List.WHO | ||
p6eval | nom b0da69: OUTPUT«Null PMC in say in mu <anon> at /tmp/fcYfNHxky8:1 in mu <anon> at /tmp/fcYfNHxky8:1» | ||
moritz | nom: pir::say Any.WHO | ||
p6eval | nom b0da69: OUTPUT«get_string() not implemented in class 'Stash' in mu <anon> at /tmp/2mTyZVo7Z4:1 in mu <anon> at /tmp/2mTyZVo7Z4:1» | ||
moritz | nom: pir::say pir::typeof Any.WHO | ||
p6eval | nom b0da69: OUTPUT«Stash» | ||
moritz | nom: pir::say pir::typeof List.WHO | ||
10:20
mkramer1 joined
|
|||
p6eval | nom b0da69: OUTPUT«Null PMC access in name() in mu <anon> at /tmp/i837yIcvsv:1 in mu <anon> at /tmp/i837yIcvsv:1» | 10:20 | |
moritz | maybe that's what kills the 'module List::Utils;' | 10:21 | |
compare src/Perl6/SymbolTable.pm line 424 | |||
10:24
mkramer left
10:25
scorpil left
10:28
scorpil joined
|
|||
moritz | nom: module Num::s; | 10:28 | |
p6eval | nom b0da69: ( no output ) | ||
moritz | oh, List is missing from add_stash in BOOTSTRAP.pm | 10:30 | |
10:31
denysonique left
|
|||
moritz | nom: module Regex::Foo; # should also fail if my theory is correct | 10:33 | |
p6eval | nom b0da69: OUTPUT«===SORRY!===Null PMC access in set_pmc_keyed()» | ||
moritz compiles a potential fix | 10:36 | ||
mberends watches p5chomp.t and p5chop.t pass on alpha | 10:48 | ||
10:54
MayDaniel joined
10:59
am0c left
11:12
wamba joined
11:18
wamba left
11:25
wamba joined
|
|||
daxim | markmail.org/search/?q=list%3Aorg.p...6-language # look at the 2005 peak | 11:34 | |
11:35
[particle]1 joined
11:38
[particle] left
11:41
cosimo joined
|
|||
tadzik | pugs' golden days, eh? | 11:44 | |
dalek | kudo/nom: d31eef8 | moritz++ | src/Perl6/Metamodel/BOOTSTRAP.pm: add a few missing stashes in BOOTSTRAP This should fix the first compilation problem of List::Utils. There are still a lot missing, but I get rather strange compilation errors when I trie to add them all at once, so a few at a time instead |
11:47 | |
moritz | arg, s/trie/try/ | ||
star: use List::Utils; say slding-window(<a b c>, 2).perl | 11:51 | ||
p6eval | star 2011.04: OUTPUT«===SORRY!===Unable to find module 'List::Utils' in the @*INC directories.(@*INC contains: /home/p6eval/.perl6/lib /home/p6eval/rakudo-star-2011.04/install/lib/parrot/3.3.0/languages/perl6/lib .)» | ||
moritz | nom: sub f(@a is copy) { @a.shift }; my @b = 1, 2, ; f @b; say @b.perl | 11:52 | |
p6eval | nom b0da69: OUTPUT«Array.new(1, 2)» | ||
moritz | rakudo: sub f(@a is copy) { @a.shift }; my @b = 1, 2, ; f @b; say @b.perl | 11:54 | |
p6eval | rakudo a55346: OUTPUT«[1, 2]» | ||
11:54
satyavvd left
11:56
odoacre left
|
|||
tadzik | hmm, there was a similar problem with Pod::To, wasn't there? | 11:57 | |
moritz | anywa, List::Utils now compiles | ||
tadzik | how about tests? | 12:00 | |
tadzik 's nom still builds | |||
moritz | fails some tests | ||
it uses Parcel.iterator.list, which is NYI (or abandoned?) in nom | |||
mberends ran test_summary.pl backported to alpha (2 hours) and forgot to specify --timing :/ | 12:01 | ||
moritz | nom: say (my @a = 1,2 , 3).clone | 12:02 | |
p6eval | nom b0da69: OUTPUT«1 2 3» | ||
moritz | nom: my @a = 1, 2, 3; my @b = @a; @b.shift; say @a | 12:07 | |
p6eval | nom d31eef: OUTPUT«1 2 3» | ||
moritz | ok, sliding-window and sliding-window-wrapped fixed | 12:10 | |
masak | moritz++ | ||
tadzik | cool | 12:11 | |
moritz | nom: my $x = 5; $x div= 2; say $x | ||
p6eval | nom d31eef: OUTPUT«2» | ||
masak | tadzik: yes, but note that 2002 was almost as high. there was a slump in 2003-2004, when perl6-on-parrot was being built but not much progress could be seen from the outside. | 12:12 | |
tadzik: then Pugs happened. | |||
tadzik | I see | 12:13 | |
hmm | 12:15 | ||
I need some warning on a bare =begin, seems that some people do that | |||
mberends | tell them "=begin what?" | 12:16 | |
tadzik | that'd be cool ;) | ||
I went for '=begin must be followed by an identifier, did you mean "=begin pod"?' though | 12:17 | ||
bbkr_ | tadzik: they treat it as good old "=pod", something that begins unidentified documentation block. it needs warning for sure. | ||
Juerd | tadzik: s/,/;/ | 12:18 | |
mberends | that's better than "Malformed Pod =begin directive: see Synopsis 26 for correct Pod syntax" | 12:19 | |
moritz | nom: say (1...*).grep( * <= 10 ).[0, 1, 2] | 12:20 | |
p6eval | nom d31eef: OUTPUT«1 2 3» | ||
tadzik | Juerd: why so? A convention? | ||
masak | tadzik: I like that. maybe put 'did you mean...' in parens, though? | ||
daxim | MY BIKESHED IS BLUE | ||
masak | following Perl 5 warning tradition. | 12:21 | |
tadzik | mebbe | ||
Juerd | tadzik: Google for semicolon if you wish to learn how it works :) | ||
tadzik | heh | 12:22 | |
is a comma wrong heer? | |||
even here? | |||
masak | no. | ||
moritz | phenny: tell colomon in List::Util, you have take-while(@array, $condition). Wouldn't it be better to make that take-while($condigion, *@list) to be consistent with grep, map, first etc? | ||
phenny | moritz: I'll pass that on when colomon is around. | ||
Juerd | tadzik: I'd say yes. | 12:23 | |
tadzik | I'm confused | ||
moritz | phenny: tell colomon I have a List::Util branch which starts to fix it for nom -- want a pull request, or give commit access? | ||
phenny | moritz: I'll pass that on when colomon is around. | ||
12:24
scorpil1 joined
12:25
odoacre joined,
scorpil1 is now known as scorpil_
|
|||
tadzik | okay, semicolon is better it seems. Juerd++ | 12:25 | |
12:26
scorpil left
|
|||
dalek | kudo/nom: 88d8014 | tadzik++ | src/Perl6/Grammar.pm: Warn about a bare '=begin' directive |
12:27 | |
masak | tadzik: but the 'did you mean' is a guess, so it feels like it should be made less important with parens. | ||
also, as I said, Perl 5 does this. | |||
tadzik | masak: so it is done | 12:28 | |
Juerd | Agreed: parens would be even better than the semicolon. | ||
tadzik | eww, now I have both :) | ||
Juerd | With parens I'd go for Foo bar. (Foo bar?) | ||
12:29
scorpil_ is now known as scorpil,
bluescreen10 joined
|
|||
masak | +1 | 12:31 | |
tadzik | I wonder if we could setup PAUSE for Perl 6 modules | ||
12:32
wamba left
|
|||
tadzik | otoh, PAUSE looks like a really ancient Perl, maybe we want something newish | 12:32 | |
(or ran by Perl 6) | |||
masak | with the new Pod parser, it seems feasible. | ||
tadzik | what is the connection? | 12:33 | |
moritz | nothing | ||
PAUSE != search.cpan.org | |||
tadzik | I talked to mo++ on the YAPC, and he said "both PAUSE and MetaCPAN are opensource, you can use them for Perl 6 stuff as well" | 12:34 | |
but, as I look at pause now... | |||
All the code in here is very old. Many functions are not needed | |||
anymore or at least I am in the process of eliminating dependencies on | |||
it. Before you *use* a function here, please ask about its status. | |||
...I'm not sure we really want this | |||
moritz | well, working > pretty | ||
12:35
bluescreen10 left
|
|||
tadzik | I'll much rather see something keeping track of META.infos, and /possibly/ keeping tarballs as well | 12:35 | |
moritz | the question is how much it needs extending | ||
12:36
[Coke] left
|
|||
moritz | tadzik: what I kinda don't like about our current setup is that it doesn't track releases | 12:37 | |
tadzik | moritz: because we have no versioning | ||
well, no one (almost) uses it | |||
moritz | tadzik: no. because we don't have releases | ||
tadzik | cosimo++ does, I believe | 12:38 | |
moritz: you mean as module releases>? | |||
moritz | tadzik: yes | ||
you can make releases of modules just fine even if you don't declare the version inside the module/class | |||
tadzik | github.com/cosimo/perl6-lwp-simple/downloads | 12:39 | |
moritz | are that tags that get automatically packed up as tarballs by github? | ||
tadzik | now that I think of it... there's a version field in META.info. What does it describe? I suppose the version it's shipped in | 12:40 | |
moritz: yes | |||
cosimo | i have a problem with that, though | ||
if I say "class blah:auth<cosimo>:ver<0.01>" | |||
how do I get the "0.01" bit in my code? | |||
moritz | cosimo: this is indeed an open problem | ||
12:41
dark_x left
|
|||
cosimo | now i just redeclare a $VERSION, but That Sucks(tm) | 12:41 | |
moritz | cosimo: I guess my next step will be to write a small preprocessor | ||
tadzik | okay. I think we should have module managers respect versions in the first place | ||
so if a META.info says '0.8' and we're doing a git clone, we should checkout the 0.8 tag | |||
moritz | cosimo: which reads the version from META.info, and then adds a :var<$current_version> after :auth while copying to blib/lib/ | ||
12:42
bluescreen10 joined
|
|||
moritz | tadzik: I think git clones are not a good solution in the long run | 12:42 | |
tadzik | moritz: I suppose so. But we want some handling for that as well I suppose | ||
at least for now | |||
it's easier with tarballs: META.info describes the version of the module in the tarball, you don't even need to bother with that | |||
ooh, idea | 12:43 | ||
I have a module, on git, tagged. I send a META.info to a server, it checkouts the repo, builds, tests, creates a tarball, and changes a META.info source-url to the tarball | 12:44 | ||
not only we could be lazy then, but also something will do testing for us | |||
moritz | that's a bit how debian packages work | 12:45 | |
tadzik | if someone doesn't use version control, he can of course upload the whole tarball as well | ||
moritz | and they have build servers on/for different platforms | ||
... though I don't see why the tarball creation has to happen on the server side | 12:46 | ||
it makes it much harder to debug, for one thing | |||
tadzik | it's optional | ||
(I suppose) | |||
and the META.info which will be eventually kept on the server has to keep track of the tarball on the server | 12:47 | ||
I mean, the source-url has to be correct | |||
or maybe it should be more magical | 12:48 | ||
so it'd be source-url => 'M/MO/MORITZ/Math-Model-foo.tar.xz'; and the module installer will dispatch it to a proper mirror or so | |||
colomon | good grief, the channel got quite busy while I was upstairs dealing with a waking child. | 12:49 | |
phenny | colomon: 12:22Z <moritz> tell colomon in List::Util, you have take-while(@array, $condition). Wouldn't it be better to make that take-while($condigion, *@list) to be consistent with grep, map, first etc? | ||
colomon: 12:23Z <moritz> tell colomon I have a List::Util branch which starts to fix it for nom -- want a pull request, or give commit access? | |||
masak | tadzik: I really like the fact that you're thinking about this. | 12:55 | |
mls | perl6: fail | 12:56 | |
p6eval | niecza v8-55-g0db7bb8: OUTPUT«===SORRY!===Undeclared routine: 'fail' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2)  at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36)  … | ||
..rakudo a55346: ( no output ) | |||
..pugs: OUTPUT«*** Cannot use this control structure outside a 'routine' structure at /tmp/GXxKRf8RZe line 1, column 1 - line 2, column 1» | |||
mls | good afternoon! | ||
colomon | moritz: I think you already have commit access on List::Utils? Let me know if you try it and find you don't.... | 12:57 | |
tadzik | good afternoon mls! | 12:58 | |
mls | moritz: checking for type Routine works nicely, moritz++ | 12:59 | |
context-forcers.rakudo failed because I didn't patch fail() to use the new mechanism | 13:00 | ||
moritz | colomon: indeed I do, never mind | 13:04 | |
colomon: branch 'nom' pushed | |||
13:07
wk joined
|
|||
masak | good afternoon, mls! | 13:09 | |
mls | hi masak! | ||
is perlcabal.org down? | 13:12 | ||
moritz | seems like | 13:13 | |
tadzik | www.downforeveryoneorjustme.com/htt...lcabal.org | ||
moritz | Juerd: is that dist-upgrade on feather still running? | ||
seems that apache is gone, but I can't run aptitude because the dpkg dir is locked | 13:14 | ||
flussence | it shouldn't take *that* long, right? he started it yesterday | ||
moritz | typically that's when it asks you a question, and nobody sits in front of it | ||
Juerd | moritz: Yes. | 13:15 | |
That's exactly what's happening | |||
13:15
[particle]1 is now known as [particle]
|
|||
Juerd | Because feather doesn't get upgraded very often, they're gigantic | 13:15 | |
Every other package is replaced :) | 13:16 | ||
And it has a lot installed | |||
moritz | I've recently pondered replacing feather1 with a new debian stable install | ||
Juerd | I just saw gimp and gnome stuff. WTH :) | ||
moritz | and make it fairly minimalistic, until people complain that they need stuff | ||
Juerd | moritz: Good idea | 13:17 | |
moritz | but then I got tuit-starved again | ||
Juerd | I've pondered the same thing over and over again | ||
It's a really old install | 13:18 | ||
Which is extra special considering the many people that have had root access :) | |||
s/many/number of/ | |||
13:18
abercrombie joined
13:22
PacoLinux joined
13:23
[particle]1 joined
13:24
[particle] left
13:28
mberends left
13:33
foomator left
13:39
pernatiy left
13:41
donri joined
|
|||
mls | niecza: sub a { die("foo") ; CATCH {return "foo"}}; say a() | 13:48 | |
p6eval | niecza v8-55-g0db7bb8: OUTPUT«Nil» | ||
mls | shouldn't that say "foo" instead of Nil? | ||
moritz | it should, IMHO | 13:49 | |
though maybe sorear++ has a good reason why it's like this | |||
mls | seen TimToady | ||
aloha | TimToady was last seen in #perl6 16 hours 50 mins ago saying "but yeah, keeping a lexer state variable is one of the many ways that P5 cheats, and we try to avoid keeping things other than where they belong in P6". | ||
mls | instants-and-durations.t still loops for me ;( | 13:50 | |
perl6: now | 13:52 | ||
p6eval | rakudo a55346, niecza v8-55-g0db7bb8: ( no output ) | ||
..pugs: OUTPUT«*** No such subroutine: "&now" at /tmp/0JoOerSuoQ line 1, column 1 - line 2, column 1» | |||
mls | investigating... | ||
moritz | pugscode.org back, Juerd++ | 13:53 | |
14:02
donri left,
dakkar left,
kthakore left,
plobsing_ left
|
|||
flussence | mls: same here. Are you using 32-bit? | 14:04 | |
14:06
wtw left
14:07
donri joined,
dakkar joined,
kthakore joined,
plobsing_ joined,
donri left,
donri joined
14:09
donri left
14:10
Bucciarati left
14:12
nebuchadnezzar left
14:13
SHODAN left,
drbean left
14:16
donri joined
14:17
Bucciarati joined
14:22
nebuchadnezzar joined
14:25
am0c joined
14:27
agentzh left
14:33
Holy_Cow joined
14:36
tokuhirom joined,
wamba joined
14:42
agentzh joined
14:43
Holy_Cow left
14:44
scorpil left
14:51
tokuhirom left
14:53
frodwith left
14:56
masak left
15:00
mberends joined
15:03
arauko joined,
arauko left
15:11
birdwindupbird left
15:12
agentzh left
15:28
mj41 left
15:30
ribasushi left,
ribasushi_ joined,
ribasushi_ is now known as ribasushi
|
|||
tadzik | where does "Incorrect pre-compiled version of foo.pm loaded" come from? | 15:33 | |
15:34
Holy_Cow joined
|
|||
tadzik | serialization stuff, ENOJNTHN | 15:34 | |
moritz | nqp/src/HLL/SerializationContextBuilder.pm | ||
tadzik | yeah | ||
15:35
wk left
|
|||
tadzik | it doesn't like .pir files installed it seems | 15:35 | |
15:40
japhb joined
|
|||
japhb | moritz, tadzik, cosimo: Re: keeping module version, git tag, tarball release ver, etc. all in sync-- note prior Perl 5 art in Dist::Zilla. The program 'dzil' on the local system handles all that stuff, so that 'dzil build' creates a versioned copy of the module tree with VERSION numbers fixed in all files, and tars it up into a versioned tarball; 'dzil release' does 'dzil build' and also commits the Changes file, tags the release in git, | 15:46 | |
and pushes back to the origin repo. Very helpful. :-) | |||
Please note: I've been away from here for a really long time, so if this is old news on this channel, I apologize. | 15:47 | ||
Just started reading today's #perl6 log. :-) | |||
tadzik | japhb: that's helpful, thank you. I don't really know much about Dzilla | 15:49 | |
moritz knows about dzil, but finds it a bit heavy-weight | 15:50 | ||
japhb | tadzik: dzil.org has a "Choose Your Own Tutorial" which explains how it works | ||
moritz | but I guess we'll need something similar in the long run | ||
japhb | moritz, yes, it is definitely heavyweight for perl6's current needs, but I do think it's generality will be needed in the long run. | ||
moritz | japhb: agreed | ||
japhb | I spend a non-trivial amount of time at $Day-Job writing Dist::Zilla plugins for our unique needs. | 15:51 | |
tadzik | for now, I'm more thinking of ideas than of implementations, so I'm more concerned about Dzilla's concepts than heaviness | ||
jasonmay: ping | |||
or, anyone with Bread::Board experience: ping | 15:52 | ||
jasonmay | yo | 15:53 | |
tadzik | yo | 15:55 | |
I wonder, Bread::Board has something like depends_on(). I understand that a bit like "I want this sort of service, and I'm not creating one myself". Is that right, and how do I do this in IoC? | |||
oh, we're never creating one ourselves. So the right side of the => is the type, and the left side is the name under which we want it? | 15:56 | ||
tadzik experiments with panda and IoC | 15:57 | ||
jasonmay | not sure what you mean by type | 16:00 | |
tadzik: perldoc gives me 'Got a 0-length file from lib/IoC.pm6 via Pod::Perldoc::ToText!?' on the modules you adjusted POD on | 16:05 | ||
16:06
jevin left
|
|||
jasonmay | tadzik: 'dependencies' => {'logfile' => 'logfile'}, is IoC equivalent of dependencies => (depends_on('logfile')) | 16:07 | |
it's just sugar for the case that the attribute is the same name as the service | |||
in BB, depends_on isn't used that much in practice anymore because you can just supply an arrayref of strings now | 16:08 | ||
tadzik | jasonmay: Uhm, you're aware that Pod in Perl 6 is not Pod in Perl 5, right? :) | 16:10 | |
oh, you're actually using Perl 5 Pod | |||
that explains a lot :0 | |||
:) | |||
Still, it looks pretty fine here | 16:11 | ||
jasonmay: see gist.github.com/1171052 | |||
16:11
jevin joined
|
|||
tadzik | I can adjust it to Pod 6 if you wish | 16:11 | |
jasonmay: re my last question, I think I mistaken IoC::Service with IoC::Literal, sort of | 16:12 | ||
so the right side of the arrow is always a service, never a literal, right? | |||
well, maybe an IoC::Literal, but not a String, si? | |||
16:15
Holy_Cow left
|
|||
moritz | www.reddit.com/r/programming/commen...es/c2dmmrq "Being dynamic is good, but we go too far. It should at least be possible to statically determine what names are in scope." | 16:17 | |
that's a quote about python, and it's nice that both perl 5 and perl 6 get this right | |||
TimToady | well, p5 only gets it partly right | 16:19 | |
package vars are dynamic | |||
and too many things depend on packages | 16:20 | ||
moritz | I don't really consider package vars to be "in scope", but we could argue about that :-) | ||
TimToady | especially since they said "names", not "variables" | 16:21 | |
jasonmay | tadzik: in the dependencies param, it should always be a service on the right side | 16:26 | |
tadzik | okay | ||
jasonmay: btw, why does resolve take a named parameter? | 16:30 | ||
also, resolve fails with Method 'get' not found for invocant of class 'Any', maybe it'd be better to throw an exception of some sort | 16:31 | ||
jasonmay | yeah it needs a lot of work :) | ||
tadzik | I also thought we could use Type objects instead of Strings with class names, what do you think? | ||
jasonmay | this was a project to help me learn The Perl 6 Way | ||
tadzik | So just type => Foo::Bar rather than 'class' => 'Foo::Bar' | 16:32 | |
the class => type change is intentional, it's less typing :P | |||
jasonmay | it could be confusing since type => 'Int' should really be for literals | ||
unless you're saying to have two ways to declare a literal service | 16:33 | ||
oh I see | 16:34 | ||
tadzik | no no, I don't mean literals. I mean something like: service 'limit' => { type => Int, lifecycle => 'Singleton' } | ||
also, we could make Singleton an enum or so :) | |||
jasonmay | yeah. cool! | ||
tadzik | okay, I'll hack on that | ||
I can also fix Pod if you don't mind | 16:35 | ||
jasonmay | I think I actually tried something like that, but with the a Class type or whatever | ||
tadzik | it won't be much different after all | ||
jasonmay | and it didn't work out so well | ||
mls | TimToady: what's the result of callframe/caller in a CATCH block? | ||
jasonmay | & for a bit | ||
16:36
thou joined
|
|||
TimToady | mls: see S04:1079 | 16:38 | |
mls | I feared that ;) | 16:39 | |
TimToady | people keep thinking that the stack is unwound before CATCH is called, but it's not | 16:40 | |
mls | so what does CATCH { leave } do? | 16:41 | |
TimToady | CATCH only helps determine where the stack might be unwound to | ||
doesn't do much, except possibly mark the current exception as handled | 16:42 | ||
since it only leaves the innermost block | 16:43 | ||
return would return from the correct function because it's lexotic | 16:44 | ||
mls | yes. How about CATCH { caller.leave } ? | ||
does that throw away the exception? | |||
TimToady | might work, might be very dangerous | ||
probably better to use a resumable exception for that | 16:45 | ||
then you know whether the exception *thinks* it's resumable | |||
resuming a segfault is never going to be what you want... | 16:46 | ||
mls | ;) | ||
TimToady | well, unless you're writing the pager :) | ||
mls | my problem is that parrot already unwinds the callstack if an exception is caught | 16:47 | |
TimToady | yes, one of the many places where we're fighting the bogus assumptions in the parrot design | ||
mls | (we can still access the old callstack, so we may do some really evil parrot hacking to restore the stack) | ||
I don't think they are bogus, they are just different | 16:48 | ||
TimToady | well, blessed are the peacemakers, and all that... :) | 16:49 | |
mls | I think most languages rewind the stack right away when an exception is caught | ||
;) | |||
TimToady | not Lisp | ||
diakopter | the Synopses need Synopses | 16:51 | |
TimToady | which is not exactly a recent dynamic language, so I still think the assumption falls in the category of "bogus", for some appropriately non-judgemental definition of "bogus" :) | ||
mls | (well, nobody said that implementing perl6 is an easy task...) | ||
benabik | I get very confused when people insist that Parrot does anything with a stack. There's no stack, just a pile of continuations. | 16:52 | |
mls | well, there's a ctx -> ctx -> ctx chain | ||
(with next pointers) | |||
benabik | Yes, and the parrot exception has access to a continuation from where it was thrown. | ||
mls | (same with outer pointers for lexical lookups) | ||
sometimes there's a continuation, yes | 16:53 | ||
not when the exception was thrown from C | |||
TimToady | biab & | ||
benabik | Hm. | 16:54 | |
mls | also not when the 2 arg version of die() is used (for unknown reasons ;) ) | 16:55 | |
benabik | I suppose that mostly makes sense, as none of the C code is written to be resumable… But that does lose context information. | ||
die opcode or die function somewhere? | 16:56 | ||
mls | die opcode | ||
I asked on the parrot channel some weeks ago, but nobody answered | 16:57 | ||
benabik | Strange. It uses throw_from_op, which sets the thrower continuation. | ||
(I'm no parrot internals expert… I'm just starting to poke around in the innards.) | 16:58 | ||
mls | it doesn't set the "resume" element. see die(in PMC) a couple of lines above | ||
it's probably just an oversight | 16:59 | ||
benabik | Curious. | 17:00 | |
Well, the continuation is still there. :-/ | |||
17:00
dakkar left
|
|||
tadzik | survey: should Pod directives like =over and =back warn in Perl 6? | 17:01 | |
mls | Anyway, the throw context is written to "thrower", so it's available | 17:02 | |
PerlJam | tadzik: yes. | ||
benabik | tadzik: +1 from me. Seems consistent with the other obsolescent usages in the P6 grammar. | ||
mls: Yeah, that's what I was seeing. The lack of resume is curious though. I'll poke a few people about it, maybe open a TT. | 17:03 | ||
mls | thanks! | ||
cosimo | can i nag you guys about a problem with IO::Socket ? | 17:06 | |
thanks, that's great :) | |||
mls | Ah, regarding the hanging instants-and-durations.t: it's really because of 32bit | ||
nom: say 1314291787.82161.Rat | 17:07 | ||
p6eval | nom 88d801: OUTPUT«1314291787.82161» | ||
cosimo | IO::Socket works well when used in LWP::Simple to download data through HTTP servers. However, if I connect to a local memcached socket, it hangs indefinitely... | ||
mls | give 'bigint_get_long: number too big' here | ||
cosimo | in particular, it's the $sock.recv() call that hangs forever | 17:08 | |
sorry, $!PIO.recv() hangs, not $sock.recv() | 17:09 | ||
tadzik | maybe it's a Parrot thing? | ||
can you try it in pir? | 17:10 | ||
mls | strace? | ||
cosimo | i probably could? | ||
what I don't understand is what's different between a socket to whatever.domain.com:80 and localhost:11211 | |||
tadzik | me neither | ||
mls | strace? | ||
Then you'll see the difference | |||
cosimo | yes, i can try straceing | 17:11 | |
tadzik | nom: enum IoC::Lifecycle <Singleton> | 17:12 | |
p6eval | nom 88d801: ( no output ) | ||
tadzik | hmm | ||
17:14
dual_ joined
17:15
PacoLinux left
17:16
dual left
17:17
dual_ is now known as dual
17:18
jevin left
17:19
MayDaniel left,
japhb left
|
|||
cosimo | mls: the difference is that when it hangs, recvfrom(<sock>) results in a -ERESTARTSYS | 17:20 | |
17:20
jevin joined
|
|||
cosimo | it seems to receive the data but remain stuck in the recv loop | 17:21 | |
mls | ERESTARTSYS? Isn't that when some signal occured? | ||
does the trace include a SIGCHLD or something? | |||
or SIGALRM | 17:22 | ||
cosimo | hold on | ||
the ERESTARTSYS is caused by my SIGINT ... LOL | 17:23 | ||
was logging to a file, now it's in my console, and it's stuck on the recvfrom(<sock>) syscall | |||
gist.github.com/1171210 | 17:25 | ||
tadzik | jasonmay: github.com/jasonmay/perl6-ioc/pull/3 | ||
cosimo | mls: and this is the http server, gist.github.com/1171216 | 17:27 | |
mls | Yes, but both traces look normal | ||
cosimo | yes | ||
mls | memcached waits for further commands | ||
the http server closes the connection | 17:28 | ||
17:30
am0c left
|
|||
cotto_work | ~~ | 17:31 | |
cosimo | mls: that's right, but $sock.recv() should return when it sees no more data... | ||
mls | the http connection would also "hang" if you add a "Keep-Alive" header | ||
how should it know that there is no more data? | 17:32 | ||
17:32
am0c joined
|
|||
mls | If you just want all data that's currently available, you need to set the socket to NONBLOCK mode | 17:32 | |
fcntl(s, F_SETFL, O_NONBLOCK) | 17:33 | ||
17:34
MayDaniel joined
|
|||
cosimo | mls: when $!PIO.recv() returns 0 | 17:34 | |
mls | "0" means EOF. How should it know that there's no more data to come? | ||
If memcached closed the socket, then you would get a "0". | 17:35 | ||
But that's not how the protocol is specified | |||
you read the answer until you get the END. then you either send more commands or send a "quit" command. | 17:36 | ||
The idea is that you can do multiple operations with one socket connection. | |||
cosimo | I understand this, but still the socket object behaves differently even in a Keep-Alive request | 17:37 | |
mls | (That's also why "Keep-Alive" was added to HTTP, socket connections are expensive) | ||
How did you do the keep-alive request? | |||
cosimo | with a "Connection: Keep-Alive" header | 17:38 | |
mls | Hmm, maybe the server doesn't support it. | 17:40 | |
can to gist the strace? | |||
you | |||
cosimo | mls: I had left a $sock.recv(255) in there while testing the keepalive | 17:41 | |
so yes, of course it blocks because the server doesn't shutdown the socket | 17:42 | ||
silly /me | |||
mls | same with memcached. | ||
cosimo | mls: sorry I wasted your time | ||
mls | no prob ;) | ||
cosimo | I have to try the same with Perl 5's IO::Socket and check if I get the same results | 17:43 | |
moritz | I've just read parrot's socket.pmc | 17:44 | |
it always tries to read 2048 bytes at once | |||
and rakudo's IO::Soeckt.recv just calls that method until $size bytes have been received | |||
mls | so no "nonblocking" mode? | 17:46 | |
(you'd need select(), of course) | 17:47 | ||
moritz | oh, the method read() does that | 17:49 | |
cosimo | moritz: if you specify $size, otherwise it's Inf, hence the blocking | ||
moritz | so it's just a matter of wrapping read | ||
17:51
MayDaniel left
|
|||
cosimo | and there's a poll() too which seems interesting | 17:51 | |
alright, I really need to go home now | 17:52 | ||
17:54
molaf joined
17:59
uasi left
|
|||
tadzik | oh, chromatic commented on my blag too | 18:02 | |
ttjjss.wordpress.com/2011/08/24/wha...comment-92 | |||
flussence | Perl 6 is like HTML. There's a spec. There's nothing stopping you from using ActiveX but you have only yourself to blame if you do. | 18:03 | |
tadzik | „If I write code today, will I have to abandon it during yet another compiler rewrite?” | 18:04 | |
Yeah, right... | |||
moritz | chromatic seems to be quite focused on those rewrites | ||
does IO::Socket::INET work in nom? (apart from it returning Str instead of Buf) | 18:05 | ||
TimToady | well, chromatic is in violent agreement with what we're actually doing, though perhaps not with what he thinks we're doing. Yesterday he said irclog.perlgeek.de/perl6/2011-08-24#i_4321390, but what's really going on is that we're trying to get the fundamentals right, and you can't do that without trying them various ways. | 18:12 | |
tadzik | I'm quite in favor of irclog.perlgeek.de/perl6/2011-08-24#i_4321394 | 18:13 | |
TimToady | and the way to have a production-ready rakudo by his definition is not to ignore the fundamentals for now | 18:14 | |
I wish we were smart enough to understand all the fundamentals in advance, but we're not. | |||
tadzik | huh | 18:15 | |
PerlJam | TimToady: do you really think Perl 6 will "rescue Parrot" ? | ||
TimToady | I don't think anything else will. | ||
tadzik | seems that nom is _terribly_ slow at compiling stuff | 18:16 | |
gist.github.com/1171350 | |||
PerlJam | oh, good point. | ||
tadzik | based on the 'alive' output, it takes it like 11 seconds to compile it, and virtually 0 seconds to run it | ||
PerlJam | (unless one of the other language implementations makes large strides forward and gets adopted by that languages community) | ||
add appropritate apostrophe :) | 18:17 | ||
tadzik | also, did I mention that I really like IoC? I really like it :) | ||
18:18
uasi joined
|
|||
PerlJam | tadzik: turning procedural things into declarative things does tend to simplify code (when done right) | 18:18 | |
18:18
jevin left
|
|||
moritz | phenny: tell snarkyboojum about the nom branch in github.com/moritz/Perl6-MIME-Base64 (but it breaks it on master :/ -- I don't think there's a way to fix it for nom without breaking it on rakudo/master) | 18:18 | |
phenny | moritz: I'll pass that on when snarkyboojum is around. | ||
tadzik | hmm, I can think of another simplification for IoC :) | 18:20 | |
18:21
jevin joined,
molaf left
|
|||
mls | I've got a fix for the 32bit now hang | 18:23 | |
moritz | \o/ | 18:24 | |
flussence | mls++ | ||
mls | It's actually a simple fix. I just changed a,b,c,d in the "convergents of the continued fraction" to be Num instead of Int | 18:25 | |
recompiling the setting... | 18:26 | ||
18:26
PacoLinux joined
|
|||
mls | (workaround as Int * Int doesn't promote to Num when the result doesn't fit) | 18:28 | |
moritz | that might be fixable too | 18:29 | |
mls | Yes, probably. For now: gist.github.com/1171388 | ||
moritz tries it | 18:32 | ||
mls | Arg, it's incomplete ;( | 18:33 | |
18:34
daxim left
|
|||
mls | It can't work, the result doesn't fit in a Rat | 18:34 | |
forget about the patch... | 18:35 | ||
There's simply no way to put the posix time plus some milliseconds in a Rat consisting of two 32bit values | |||
flussence | aww :( | 18:36 | |
(how did it work before?) | |||
mls | when did it work? | 18:37 | |
flussence | it's only been broken recently AFAIK | ||
as in, past few weeks | |||
mls | probably no milliseconds fraction | 18:39 | |
at least now we know why it's hanging... | 18:43 | ||
18:45
jamessalty left
|
|||
flussence | S02:1364 is interesting reading... | 18:47 | |
mls | (moritz++ added the Num->Rat conversion code on July 2nd. dunno how it worked before that) | 18:51 | |
tadzik | moritz: could you poke modules.perl6.org to update? | 18:55 | |
18:58
REPLeffect left
|
|||
jasonmay | tadzik: metacpan.org/module/Bread::Board::...s::Typemap | 18:58 | |
inference is really nice and I might want to keep named params in resolve for this purpose | |||
18:59
bluescreen10 left
|
|||
tadzik | oh, I see | 18:59 | |
feel free to ignore that one then | |||
I wonder how do I remove this from the pull request | 19:00 | ||
if I can | |||
jasonmay | no worries, I'll cherry-pick when I get the time | 19:02 | |
tadzik | kthx | ||
mls | with old rakudo: say pir::time__n.Rat.WHAT --> Num() | 19:03 | |
19:03
birdwindupbird joined
|
|||
moritz | mls: your patch makes several spectests fails here | 19:08 | |
tadzik: uhm, modules.perl6.org should update hourly... doesn't it? | |||
mls | yeah, it doesn't return a Rat. As I said, ignore it. It simply doesn't fit in a Rat. | ||
tadzik | moritz: well, IO::Select's not there | 19:09 | |
moritz: and it is in the API | |||
(which updates hourly too, I think) | |||
benabik | mls: gist.github.com/1171507 | 19:10 | |
dalek | kudo/alpha: fd0a184 | (Martin Berends)++ | / (3 files): [alpha] update README with Subversion->Github moves, tweak test_summary.pl |
||
tadzik | nom: class A { submethod BUILD { say self.WHAT } }; A.new | 19:11 | |
p6eval | nom 88d801: OUTPUT«A()» | ||
tadzik | hmm | ||
nom: class A { submethod BUILD { say 'building' ~ self.WHAT } }; A.new | 19:12 | ||
p6eval | nom 88d801: OUTPUT«Use of uninitialized value in string contextbuilding» | ||
tadzik | hihi | ||
19:12
boppenjp joined
|
|||
benabik | nom: class A { submethod BUILD { say 'building' ~ self.WHAT.Str } }; A.new | 19:12 | |
p6eval | nom 88d801: OUTPUT«Use of uninitialized value in string contextbuilding» | ||
benabik | Curious. | 19:13 | |
moritz | tadzik: update running | ||
tadzik | nom: class A { submethod BUILD { say ('building' ~ self.WHAT) } }; A.new | ||
p6eval | nom 88d801: OUTPUT«Use of uninitialized value in string contextbuilding» | ||
tadzik scratches head | |||
rakudo: class A { submethod BUILD { say ('building' ~ self.WHAT) } }; A.new | |||
p6eval | rakudo a55346: OUTPUT«buildingA()» | ||
tadzik | nom: class A { submethod BUILD { say self.WHAT.WHAT } }; A.new | 19:14 | |
p6eval | nom 88d801: OUTPUT«A()» | ||
tadzik | eek | ||
mls | have to leave, see you guys tomorrow... | 19:15 | |
pmichaud | good afternoon, #perl6 | 19:16 | |
tadzik: type objects stringify differently than they gist | |||
benabik | nom: class A { submethod BUILD { say 'building' ~ self.WHAT.gist } }; A.new | 19:17 | |
p6eval | nom 88d801: OUTPUT«buildingA()» | ||
pmichaud | nom: say Int.WHAT, ~Int.WHAT; | ||
tadzik | goodbye mls, hello pmichaud | ||
p6eval | nom 88d801: OUTPUT«Use of uninitialized value in string contextInt()» | ||
tadzik | I see | ||
pmichaud | ...both of which is different from how they .perl :) | ||
nom: say Int.perl; | |||
p6eval | nom 88d801: OUTPUT«Int» | ||
19:24
jevin left
|
|||
tadzik | do we still have that pir level profile avaiable in nom? | 19:27 | |
19:28
PacoLinux left,
PacoLinux joined
19:29
jevin joined
19:32
mj41 joined
|
|||
diakopter | moritz: I fixed the 30-40 remaining broken smartlinks I broke in S02/Literals | 19:33 | |
19:43
HarryS left
19:44
HarryS joined
19:46
wamba left
19:47
boppenjp left
|
|||
tadzik | www.perlfoundation.org/perl6/index...._some_code needs some updating | 19:47 | |
Su-Shee | perl 6 MOP... anything to read besides the synopsis? | ||
19:49
wk joined,
birdwindupbird left
19:57
masak joined
|
|||
masak | gd'eve, lambdacamels. | 19:57 | |
diakopter | ' | ||
tadzik | hello masak | 19:58 | |
20:01
molaf joined
|
|||
mberends | o/ masak | 20:01 | |
20:04
wamba joined
|
|||
moritz | Su-Shee: perlgeek.de/en/article/discovering-...t-protocol | 20:04 | |
Su-Shee | moritz: I also have "the art of the MOP" and my smalltalk books :) | 20:05 | |
moritz | Su-Shee: then src/Perl6/Metamodel/ in rakudo/nom :-) | ||
masak | .u 😄 | ||
phenny | U+1F604 (No name found) | ||
Su-Shee | well maybe something _before_ that ;) | 20:06 | |
moritz | tadzik: btw modules.perl6.org runs off the gh-pages branch - is that how it should be? | 20:07 | |
flussence | IIRC the master branch didn't work | ||
or something - all the instructions in it point to the gh-pages branch instead | |||
tadzik | moritz: no eye deer, I never touched the gh-pages branch | ||
mberends | Su-Shee: jnthn explains a lot in various talks: jnthn.net/articles.shtml | 20:09 | |
20:10
y3llow_ joined,
pothos_ joined
|
|||
cotto_work | What's the ETA of nom merging? | 20:10 | |
20:11
y3llow left
20:12
y3llow_ is now known as y3llow,
pothos left
|
|||
mberends | cotto_work: probably at least a week from now, because jnthn++ has some deep debugging to do, is a little under the weather and offline for a few days. | 20:13 | |
20:13
pothos_ is now known as pothos
|
|||
pmichaud | actually, I'm planning to do the switch before jnthn++ returns. he and I discussed it yesterday | 20:13 | |
masak | \o/ | ||
pmichaud | (via /privmsg) | ||
mberends | ooh! | ||
pmichaud | unless anyone has a strong objection to it. | ||
masak | I hope you like bug reports. | 20:14 | |
pmichaud | I'd also not want to miss an august release altogether | ||
TimToady | what's the state of the memory leak? | ||
pmichaud | so, we'll put lots of caveats on the announcement | ||
cotto_work | Thanks. | ||
mberends | the memory leak has prevented me building nom on a 1GB netbook for several weeks now. | ||
pmichaud | memory leak is still there. jnthn++ said he couldn't fix it before departing | ||
mberends: I'm not sure the memory leak is the culprit. | |||
Su-Shee | moritz: you actually linked _everything_ BUT any Perl 6 MOP docs.. :) | ||
pmichaud | I think we may have two issues. 1) there's a memory leak, and 2) building nom takes a lot of memory. It's not certain that the two are the same problem. | 20:15 | |
moritz | Su-Shee: I don't think what you are looking for exists | ||
ie there's no API doc for *HOW yet | |||
Su-Shee | ah. oh. | ||
dalek | href="https://modules.perl6.org:">modules.perl6.org: e583214 | moritz++ | web/build-project-list.pl: github URLs are all https these days |
20:16 | |
href="https://modules.perl6.org:">modules.perl6.org: a2051d9 | moritz++ | / (2 files): base page fetching on Mojo::UserAgent instead of LWP::Simple, since the latter does not seem to work with SSL on that particular box |
|||
pmichaud | it might be nice if they turn out to be the same problem.... but we don't have evidence for or against that notion yet. | ||
mberends | right | ||
pmichaud | masak: I like bug reports, but I like tests more. | ||
masak | pmichaud: I'm good at the former, not as good at the latter. | 20:17 | |
20:17
PerlPilot joined
|
|||
tadzik | pmichaud: what is the state of QRegex? | 20:17 | |
masak: imagine how many I would be able to _close_ after the switch :P | 20:18 | ||
masak | \o/ | ||
moritz | most modules that use regexes more than trivially don't work with qregex | ||
masak | tadzik: I would have to, like, expend energy to open up as many as you close :P | ||
tadzik | yeah | ||
moritz | reasons include lack of <&rule>, variables, proto regexes and action methods | ||
tadzik | masak: please, don't reopen the old ones :P | ||
pmichaud | getting &rule to work is fairly easy. | 20:19 | |
same for variable interpolations. | |||
masak | tadzik: oh, I'm happy to submit new ones :) | ||
tadzik | creative masak is creative | ||
pmichaud | anyway, I'm planning to do an aggressive rt cleanup around the time of nom->master | ||
20:19
PerlPilot left
|
|||
tadzik | pmichaud: is there anything big on the TODO before the switch? | 20:19 | |
moritz | masak: it will be much harder to find Null PMC Accesses on nom than on master :-) | 20:20 | |
20:20
PerlPilot joined
|
|||
tadzik | oh, I doubt it ;) | 20:20 | |
moritz opens the punch list | |||
masak | moritz: I like a challencge :) | ||
tadzik | I found some easy one yesterday | ||
moritz | regex stuff | ||
pmichaud | just regex stuff... and most of that can be put back in place quickly | ||
tadzik | oh | ||
moritz | is the only one with a leading 1 remaining | ||
pmichaud | we need a refactor of regex stuff, though. | ||
20:20
PerlJam left,
PerlPilot left
|
|||
pmichaud | (in nom) | 20:20 | |
20:21
PerlJam joined
|
|||
pmichaud | especially for the m// s/// etc. operations | 20:21 | |
tadzik | nom: class A { has $!a; method b { c() } sub c { $!a } }; A.new.b | ||
p6eval | nom 88d801: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 1» | ||
moritz -> sleep | |||
tadzik | nom: class A { has $!a; method b { c() }; sub c { $!a } }; A.new.b | ||
p6eval | nom 88d801: OUTPUT«Null PMC access in get_attr_keyed() in sub c at /tmp/eD3iB8Ekue:1 in method b at /tmp/eD3iB8Ekue:1 in mu <anon> at /tmp/eD3iB8Ekue:1 in mu <anon> at /tmp/eD3iB8Ekue:1» | ||
masak | \o/ | ||
tadzik | masak: beat ya! :P | ||
masak | looking forward to submitting that one. | ||
nice one, by the way. | 20:22 | ||
pmichaud | I guess the correct result would've been "cannot access private attribute in non-method" or something like that? | ||
tadzik | pmichaud: do you have any idea why compilation time would be so slow on nom? | ||
pmichaud | tadzik: not any strong idea, no. | ||
masak | I can just imagine it scraping against an unknown corner in the MOP. | ||
tadzik | perl6: extra/kdesdk-kcachegrindclass A { has $!a; method b { c() }; sub c { $!a } }; A.new.b | ||
eeps | |||
p6eval | niecza v8-55-g0db7bb8: OUTPUT«===SORRY!===Attribute a declared outside of any class at /tmp/5aLq_nqJDW line 1:------> xtra/kdesdk-kcachegrindclass A { has $!a⏏; method b { c() }; sub c { $!a } }; A.nMethods must be used in some kind of package a… | ||
..rakudo a55346: OUTPUT«===SORRY!===You can not add an attribute to a module; use a class or role» | |||
..pugs: OUTPUT«pugs: *** Can't modify constant item: VUndef at /tmp/lsUhGFR1jX line 1, column 1» | |||
20:22
bluescreen10 joined
|
|||
tadzik | perl6: class A { has $!a; method b { c() }; sub c { $!a } }; A.new.b | 20:22 | |
p6eval | pugs: OUTPUT«*** Undeclared variable: ("$__SELF__",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0x7fcb285fe3c9>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0x7fcb285ff159>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto =… | ||
..niecza v8-55-g0db7bb8: OUTPUT«===SORRY!===Variable $!a used where no 'self' is available at /tmp/WKn_8FMTzd line 1:------> A { has $!a; method b { c() }; sub c { ⏏$!a } }; A.new.bUnhandled exception: Check failed at /home/p6eval/niecza/boot/… | |||
..rakudo a55346: OUTPUT«Null PMC access in get_attr_str() in 'A::c' at line 22:/tmp/yc5t7bhqas in 'A::b' at line 22:/tmp/yc5t7bhqas in main program body at line 22:/tmp/yc5t7bhqas» | |||
pmichaud | tadzik: my suspicion is that there's some deep cloning taking place somewhere that we need to avoid/prune | ||
masak | I think it should be a parse-time error. | 20:23 | |
pmichaud | either that or it may simply be that nom is creating far more ast objects than master did | ||
tadzik | pmichaud: is the pir profiling tool available in nom? | ||
pmichaud: I have a program which takes 11 seconds to compile and 0.5 to run :/ | |||
pmichaud | tadzik: you mean the one that records subroutine entries? | ||
TimToady | I think niecza has the appropriate message there | ||
tadzik | pmichaud: yes | ||
pmichaud | niecza++ | ||
tadzik: it's implemented in nom but not enabled yet. | 20:24 | ||
tadzik | std: class A { has $!a; method b { c() }; sub c { $!a } }; A.new.b | ||
p6eval | std 516268a: OUTPUT«ok 00:01 120m» | ||
tadzik | pmichaud: how hard would be to enable it? | ||
TimToady | STD cheats on that one | ||
tadzik | I mean, tadzik-hard or pmichaud-hard? :P | ||
TimToady | std: $!a | ||
p6eval | std 516268a: OUTPUT«ok 00:01 118m» | ||
pmichaud | I need to add the opcode to nqp's routine generator | 20:25 | |
TimToady | niecza: $!a | ||
p6eval | niecza v8-55-g0db7bb8: OUTPUT«===SORRY!===Cannot resolve class for private method at /tmp/m9DBBFt9F2 line 1 (EOF):------> $!a⏏<EOL>Variable $!a used where no 'self' is available at /tmp/m9DBBFt9F2 line 1:------> <BOL>⏏$!aUn… | ||
20:27
abercrombie left
20:29
ZaphrodZenovka left,
ZaphrodZenovka joined
20:32
abercrombie joined
20:34
abercrombie left
20:42
mberends left,
mberends joined
20:51
kaare_ left
21:11
bluescreen10 left
21:14
masak left
21:16
drbean joined
21:19
im2ee left,
sftp left
21:20
sftp joined
21:28
frhodes_ joined,
frhodes left
21:31
uasi left
21:33
mj41 left
21:34
lue joined,
uasi joined
|
|||
lue | hello planet o/ | 21:37 | |
21:38
uasi left,
uasi joined
21:49
wamba left
21:51
wamba joined
22:01
wolfman2000 joined
22:06
wolfman2_ joined
22:09
wolfman2000 left,
wolfman2000 joined
22:12
wolfman2_ left
22:15
wolfman2000 left,
wolfman2000 joined,
djanatyn left
22:21
wolfman2000 left
|
|||
tadzik | hello lue! | 22:23 | |
lue | I notice my module's new name is poking its description on modules.perl6.org [thinking of how one might fix that...] | 22:24 | |
tadzik | I don't see it | 22:25 | |
22:25
PacoLinux left
|
|||
tadzik | I think I have an outdated modules.perl6.org :) | 22:25 | |
oh, I see now | 22:26 | ||
lue | Oh. [well, I did go to modules.perl6.org . That's where I see it.] | ||
tadzik | I wonder why IO::Select isn't there | ||
flussence | .oO( <dl class="table-display">... something seems off about that ) |
||
lue | I do want to work on modules.perl6.org a bit, just curious how the update procedure goes (or is there some cron job that does that automagically?) | 22:27 | |
flussence | there's a script that does... something | ||
lue | flussence: I agree, but I think there's probably a reason for avoiding good ol' <table> | ||
22:30
cryptographrix joined
|
|||
cryptographrix | hi | 22:30 | |
lue | hello o/ | 22:32 | |
tadzik | hello cryptographrix | ||
22:33
frhodes_ left
22:34
AndroUser2 joined,
AndroUser2 left
22:35
cryptographrix left,
Khisanth left
22:40
Khisanth joined
|
|||
lue | Hm. What would you describe the panda badge as? "Conforms to the latest Perl6 module spec"? [it's what the badge's tooltip says] | 22:40 | |
22:42
frhodes joined,
frhodes left,
frhodes joined
|
|||
lue | What do I need to do to update modules.perl6.org ? [I want to add a description of the panda badge to fame-and-profit] | 22:47 | |
22:49
wamba left,
wamba joined
|
|||
lue | [I ask because the link given in the README for the github pages version is broken, so I really am confused on what to do to update the website] | 22:50 | |
22:51
donri left,
REPLeffect joined
22:53
nebuchadnezzar left
22:58
nebuchadnezzar joined
22:59
wk left
23:06
molaf_ joined
23:09
uasi left,
molaf left
23:10
REPLeffect left
23:11
REPLeffect joined
23:16
[Coke] joined
23:36
sili left
23:43
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
|
|||
[Coke] | ~ | 23:43 | |
23:44
wamba left
|
|||
tadzik | lue: that means the META.info is up to the latest standards | 23:44 | |
lue | thought so. | ||
23:45
sili joined
23:47
wamba joined
|