»ö« 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:03
Chillance left,
plobsing left
|
|||
sorear | good * #perl6 | 00:17 | |
jasonmay | good * cruel world! | 00:31 | |
benabik | good * perl world? | ||
00:38
silent_h_ left
00:41
plobsing joined
00:47
Trashlord left
01:09
ymasory joined
01:10
ymasory left,
ymasory joined
01:11
ymasory left,
ymasory joined,
ymasory left
01:40
sftp left
01:59
whiteknight left
02:03
alester joined
02:31
benabik left
02:39
nymacro joined
|
|||
colomon | "@x is copy" isn't lazy, is it? | 02:40 | |
rakudo: sub a(&b, $c) { &b{$c); }; say a(* + 1, 10); | 02:50 | ||
p6eval | rakudo 792e86: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<{ }>, couldn't find final '}' at line 22» | ||
colomon | rakudo: sub a(&b, $c) { &b($c); }; say a(* + 1, 10); | ||
p6eval | rakudo 792e86: OUTPUT«11» | ||
colomon | .... in Rakudo, seems like "@x is copy" is only lazy if it knows @x is infinite. ie if you pass 1..* it works, but if you pass 1...* it loops forever. | 02:53 | |
TimToady | we probably need an array copy primitive that copies the reified parts and then dups the .plan | 02:55 | |
02:58
ymasory joined
|
|||
sorear | it can't just dup the .plan; it has to lazily copy it | 03:04 | |
consider: sub foo(*@x is copy) { @x[10] = 5 }; my @y = 1..100; foo(gather { take-rw $_ for @y }); say @y[10] | 03:05 | ||
03:18
el_lobo--d-_-b joined
|
|||
el_lobo--d-_-b | imm.io/4Cnn | 03:18 | |
03:18
el_lobo--d-_-b left,
himito joined
|
|||
clkao | jnthn: ping | 03:19 | |
ingy: ping | |||
03:22
jferrero left
03:29
domidumont1 joined
04:00
chin_up joined
04:04
donri left
|
|||
sorear | clkao: hi | 04:05 | |
04:15
benabik joined
04:38
jaldhar left
04:39
jaldhar joined
04:41
cosimo left
04:48
lue left
04:52
ymasory left
04:57
chin_up left
05:05
kaare_ joined
05:13
himito left
05:32
mberends left
05:36
ashleydev joined
05:39
cosimo joined
05:46
birdwindupbird joined
05:49
wtw joined
05:54
mberends joined
06:09
donri joined
06:31
mberends left
|
|||
sorear out | 06:33 | ||
06:45
woosley joined
06:51
birdwindupbird left,
birdwindupbird joined
06:59
shi joined
07:08
Lorn left
07:14
Lorn joined
07:28
noganex left
07:29
pochi joined
07:31
noganex joined
07:34
Mowah joined
07:52
sjn joined
07:57
chin_up joined
|
|||
moritz_ | rakudo: say min(3, 6) | 08:01 | |
p6eval | rakudo 792e86: OUTPUT«Unable to handle non-closure Ordering yet in 'Any::min' at line 1563:CORE.setting in 'min' at line 1873:CORE.setting in main program body at line 22:/tmp/Vgy_9kA7_Q» | ||
moritz_ | rakudo: proto sub f(*@val, :$by) { say @val.perl }; f(1, 2) | 08:04 | |
p6eval | rakudo 792e86: OUTPUT«[1, 2]» | 08:05 | |
moritz_ | rakudo: proto sub f(*@val, :$by) { say @val.WHAT.perl }; f(1, 2) | ||
p6eval | rakudo 792e86: OUTPUT«Array» | ||
moritz_ | OH | ||
rakudo: proto sub f(*@val, :$by) { say @val.min }; f(1, 2) | |||
p6eval | rakudo 792e86: OUTPUT«1» | ||
moritz_ | rakudo: proto sub f(*@val, :$by) { say @val.min(Any) }; f(1, 2) | ||
p6eval | rakudo 792e86: OUTPUT«Unable to handle non-closure Ordering yet in 'Any::min' at line 1563:CORE.setting in 'f' at line 22:/tmp/bcDAzoFsuR in main program body at line 22:/tmp/bcDAzoFsuR» | ||
moritz_ | it turns out that there's still a dies_ok { min(@array) }, 'needs a comparison function'; test in roast | 08:14 | |
I'll fix it up | |||
sjn | moritz_++ # attention to details | 08:16 | |
moritz_ | masak++ found that it was still b0rked | 08:17 | |
dalek | ast: 5c48821 | moritz++ | S32-list/minmax.t: min(), max and minmax do take a list without an explicit comparison function |
08:19 | |
kudo: c8745bc | moritz++ | src/core/Any-list.pm: fix RT #85674 for real, masak++ This feels like there should be a better fix for it, but I cannot seem to find it |
08:20 | ||
08:34
cosimo left
08:44
chin_up left
|
|||
moritz_ | TiMBuS: fwiw the new IO::Socket::INET doesn't seem to work with IPv6 :( | 08:50 | |
TiMBuS | aw | 08:51 | |
any reason why? | |||
moritz_ | TiMBuS: gist.github.com/890168 is my test | 08:52 | |
TiMBuS | ah | 08:53 | |
you didnt pass 'family' | 08:54 | ||
moritz_ | should I? | ||
TiMBuS | yes, it needs to know it is ipv6 | 08:55 | |
moritz_ | I mean ::1 is pretty obvious v6, no? | ||
08:55
dakkar joined
|
|||
TiMBuS | well i guess i could add that | 08:56 | |
08:57
bbkr_ joined
|
|||
moritz_ | ok, added :family | 08:57 | |
now I get | |||
$ ./perl6 server.pl | |||
getaddrinfo failed: ::1: Success in 'IO::Socket::INET::BUILD' at line 5980:CORE.setting | |||
in 'IO::Socket::INET::new' at line 5966:CORE.setting | |||
in main program body at line 1:server.pl | |||
TiMBuS | haha what | ||
i assume you added :family(PIO::PF_INET6) | 08:59 | ||
moritz_ | yes, I did | ||
TiMBuS | but yeah thats a parrot error | ||
moritz_ | when I use :localhost('localhost') I don't get any errors, but no socket opened either :( | 09:00 | |
TiMBuS | i noticed that too | 09:01 | |
so i changed the default to '0.0.0.0' | |||
i should probably go work on Socket.pmc =/ | 09:02 | ||
moritz_ doesn't really understands that business with the different resolvers | 09:05 | ||
$ host localhost | |||
Host localhost not found: 3(NXDOMAIN) | |||
$ ping localhost | |||
PING localhost (127.0.0.1) 56(84) bytes of data. | |||
so 'host' doesn't look into /etc/hosts ? | |||
09:05
xinming joined
|
|||
TiMBuS | lol. networking. the closest thing we have to actual magic | 09:05 | |
moritz_ | so what tool would I use to do the same DNS lookup as ping? | 09:08 | |
09:08
noganex left
|
|||
flussence | /etc/hosts magic is usually a function of glibc + /etc/nsswitch.conf | 09:08 | |
09:10
st-5426 left
|
|||
flussence | (and a bunch of libnss_* files in /lib) | 09:11 | |
09:11
noganex joined
|
|||
Tene | moritz_: getent hosts localhost | 09:15 | |
moritz_: more-generally, getent is used to read from any database described in /etc/nsswitch.conf | 09:16 | ||
09:34
Trashlord joined
09:37
bacek joined
09:55
woosley left
10:18
Mowah left
10:19
awoodland left
10:21
Mowah joined
10:43
fhelmberger left
10:55
bacek left
11:00
st-9828 joined
11:01
st-9828 left
11:04
birdwindupbird left
11:11
st-10005 joined
11:12
bacek joined
11:13
st-10005 left
11:23
st-10104 joined
11:27
Axius joined
11:36
st-10104 left
11:38
Axius left
11:45
Tedd1 left
11:46
birdwindupbird joined
11:47
leprevost joined
11:53
Patterner left
11:54
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
moritz_ | hugme: add functions in mojolicious::lite, i have some code that check a language parameter and sets it for the templates, i need that for all the | 11:55 | |
sorry, mispaste :-) | |||
flussence | std: __LINE__ # just wondering if it can tell me what I should use for this... | 11:59 | |
p6eval | std 4608239: OUTPUT«===SORRY!===Undeclared name: '__LINE__' used at line 1Check failedFAILED 00:01 117m» | ||
flussence | aww | ||
moritz_ | $?LINE | 12:00 | |
NYI in rakudo, of course | |||
rakudo: say callframe(0).line | |||
p6eval | rakudo c8745b: OUTPUT«22» | ||
flussence | hm, that'll do for now :) | ||
moritz_ | (p6eval inserts some boilerplate code first, for security reasons; which is why it doesn't report it as 1) | ||
12:12
mtk joined
12:13
mtk left
|
|||
takadonet | morning all | 12:29 | |
moritz_ | \o | 12:30 | |
12:30
Mowah left
|
|||
[Coke] | ~~ | 12:32 | |
12:33
bluescreen10 joined,
sftp joined
12:36
benabik left,
leprevost left
12:40
chin_up joined
12:41
plobsing left
12:58
Mowah joined
12:59
mtk joined,
mtk left
13:00
mtk joined
13:03
kaare_ left
13:07
plobsing joined
13:15
kronik_aussie is now known as aesop
13:19
domidumont1 left
13:28
sftp left
13:29
hanekomu joined
13:30
bluescreen10 left
13:32
sftp joined
13:33
kaare_ joined
13:34
plobsing left
13:40
bluescreen10 joined
13:41
jimmy1980 joined
|
|||
moritz_ | rakudo: my %h = a => 1; say %h.pairs[0].key.PARROT | 13:46 | |
p6eval | rakudo c8745b: OUTPUT«String» | ||
moritz_ | rakudo: say "foo".PARROT | ||
p6eval | rakudo c8745b: OUTPUT«Str» | 13:47 | |
[Coke] | rakudo: my %h = a => 1; say %h.pairs[0].key.WHAT | 13:48 | |
p6eval | rakudo c8745b: OUTPUT«Str()» | ||
moritz_ | if it reports String, .trans (and other methods from the parrot String PMC) leak through :( | 13:50 | |
rakudo: say 'a'.trans(['a'] => ['b'] | |||
p6eval | rakudo c8745b: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
moritz_ | rakudo: say 'a'.trans(['a'] => ['b']) | ||
p6eval | rakudo c8745b: OUTPUT«b» | ||
moritz_ | rakudo: my %h = a => 1; say %h.pairs[0].key.trans(['a'] => ['b']) | 13:51 | |
p6eval | rakudo c8745b: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected in main program body at line 22:/tmp/Z2IIOZ8OYU» | ||
13:52
Hackbinary left
13:53
domidumont joined
|
|||
moritz_ | rakudo: say Hash ~~ EnumMap | 13:53 | |
p6eval | rakudo c8745b: OUTPUT«Bool::False» | ||
moritz_ | rakudo: say ~Hash.^parents | ||
p6eval | rakudo c8745b: OUTPUT«1» | ||
moritz_ | rakudo: say ~Hash.^parents>>.perl | ||
p6eval | rakudo c8745b: OUTPUT«Method 'flat' not found for invocant of class 'ResizablePMCArray' in main program body at line 22:/tmp/rMtVF3oHml» | ||
moritz_ | rakudo: say ~Hash.^parents[0] | 13:54 | |
p6eval | rakudo c8745b: OUTPUT«Null PMC access in invoke() in main program body at line 1» | ||
moritz_ | rakudo: my @a = Hash.^parents; say @a.perl | ||
p6eval | rakudo c8745b: OUTPUT«[EnumMap]» | ||
13:54
icwiener joined
|
|||
moritz_ | then why is Hash ~~ EnumMap false? | 13:55 | |
rakudo: say Hash.does(EnumMap) | |||
p6eval | rakudo c8745b: OUTPUT«0» | ||
moritz_ | rakudo: say Hash.isa(EnumMap) | ||
p6eval | rakudo c8745b: OUTPUT«Method 'isa' not found for invocant of class 'RoleHOW' in main program body at line 22:/tmp/mmxQsyFV5g» | ||
moritz_ | rakudo: say Hash.^isa(EnumMap) | ||
p6eval | rakudo c8745b: OUTPUT«Method 'isa' not found for invocant of class 'RoleHOW' in main program body at line 22:/tmp/ImMtYV4DgV» | ||
moritz_ | urks | ||
13:56
Holy_Cow joined
|
|||
colomon | loliblogged: justrakudoit.wordpress.com/2011/03/...ces-of-pi/ | 13:56 | |
moritz_ | colomon: how about writing for (0..*) { ... } instead of the loop, and using @x[$_] instead of that shifting construct? | 13:59 | |
colomon | because you don't shift every time through the loop | ||
moritz_ | oh right | ||
then | 14:00 | ||
my $idx = 0 | |||
@x[$idx++] | |||
colomon | I mean, you could rewrite it that way somehow, but it would be ugly. | ||
moritz_ | it's cleaner to expose your state in a variable than to hide it behind an implicit iteratore, IMHO | ||
14:00
ruoso joined
|
|||
colomon | that approach would force you to keep the entire list in memory, though. | 14:01 | |
at least in theory, the way it's done now allows used elements to go away if no one else is using them. | |||
moritz_ | you still have a reference to @x anyway | 14:02 | |
btw you can get rid of those ugly sigils | 14:05 | ||
&-sigils, that is | 14:06 | ||
tadzik | hello zebras | ||
moritz_ | rakudo: sub f(&g) { g(3) }; f -> $x { say $x } | 14:07 | |
p6eval | rakudo c8745b: OUTPUT«3» | ||
moritz_ | no & required to call g | ||
14:08
PacoLinux joined
14:09
tzhs joined
14:12
sftp_ joined
14:13
wtw left,
sftp left,
xinming_ joined,
stepnem joined
14:16
xinming left
|
|||
dalek | kudo: 405afa9 | moritz++ | src/core/EnumMap.pm: [EnumMap] return Perl 6 strings as keys |
14:25 | |
colomon | moritz_++ | ||
moritz_ | (that's the fix for github.com/perl6/book/issues/49 ) | 14:26 | |
14:39
itz joined
|
|||
itz | is there anyway of getting "use v5" working in rakudo? | 14:39 | |
14:40
M_o_C joined
|
|||
moritz_ | yes: 1) implement it 2) use it | 14:40 | |
maybe 1.5) submit patch :-) | |||
itz | ok no worries I thought 1) was going to be the answer | 14:41 | |
14:57
benabik joined
|
|||
clkao | seen jnthn | 14:59 | |
aloha | jnthn was last seen in #perl6 1 days 8 hours ago saying "mberends: Yes, though only briefly.". | ||
moritz_ | clkao: travel makes jnthn's available here a bit sparse | 15:00 | |
15:01
stkowski joined
15:09
Rotwang joined
15:12
chin_up_ joined
15:15
chin_up left
15:17
hercynium joined
15:20
tzhs left
15:25
bacek left
15:28
ashleydev left,
ashleydev joined
15:30
ashleydev left,
ashleydev joined
15:32
SriniK joined
15:34
SriniK left,
pmurias joined
15:43
SriniK_ joined
15:44
chin_up joined
15:47
chin_up_ left
15:49
chin_up left
15:51
chin_up joined
15:52
SriniK_ left
|
|||
dalek | ok: d347870 | moritz++ | TODO: add a TODO file. Because we have much to do :-) |
15:55 | |
15:57
Axius joined
15:58
risou joined
|
|||
dalek | ok: 1ad574f | duff++ | src/classes-and-objects.pod: [classes] rewording |
15:58 | |
ok: edeee38 | (Patrick Donelan)++ | src/roles.pod: s/does affect/does not affect/ |
|||
ok: d347870 | moritz++ | TODO: add a TODO file. Because we have much to do :-) |
|||
15:58
domidumont left
|
|||
moritz_ | sorry, that was testing the deploy hook | 15:58 | |
shortcircuit | moritz_: All good karma. :) | 16:01 | |
moritz_ | stolen karma is bad karma | 16:02 | |
shortcircuit | I can even it out a bit with --, if you like. :) | ||
moritz_++ wanted to sacrifice accidentally-stolen carma, so here: moritz--, moritz--. | 16:03 | ||
moritz_ | thanks you | ||
moritz_ bows | |||
16:04
nymacro left
16:05
shi left
16:08
hanekomu left
|
|||
tadzik | applications start today, yep? | 16:11 | |
benabik | tadzik: yep | 16:12 | |
tadzik | I'd apply for the POD task | ||
moritz_: is it written down somewhere? | |||
moritz_ | tadzik: I think I've added it to the tasks wiki | 16:13 | |
epo.means.no/gsoc2011/ideas "Pod parser for Rakudo" | 16:14 | ||
not really many details - you can let your imagination run free | 16:15 | ||
tadzik looks for a proposal template | 16:16 | ||
is there some blessed one? | 16:17 | ||
moritz_ | I'd go with www.socialtext.net/perl5/gsoc_2010...l_template from last year | 16:19 | |
and ask rafl on irc.perl.org if it's the right one | |||
tadzik | FYI: it is | 16:22 | |
16:23
ruoso left,
ruoso joined
16:26
risou_ joined
16:27
risou left
16:31
chin_up left
|
|||
tadzik | moritz_: who accepts the students' applications? | 16:32 | |
pmurias | all are accepted | ||
phenny | pmurias: 27 Mar 01:35Z <sorear> tell pmurias STD_P5 frontend. | ||
pmurias | tadzik: some just don't get choosen ;) | 16:33 | |
16:33
birdwindupbird left
|
|||
tadzik | pmurias: oic :) | 16:37 | |
sorear | (hi) | ||
16:37
_dev0_ left
|
|||
pmurias | sorear: hi | 16:38 | |
re phenny message, you plan to implement 'use v5' using STD_P5 to create a p5 frontend? | |||
sorear | yes | 16:39 | |
pmurias | will you do that as a GSoC project? | 16:40 | |
it certainly seems big enough | 16:41 | ||
sorear | was that a request? | ||
16:42
benabik left
|
|||
pmurias | a question | 16:42 | |
sorear | then I don't know. | 16:43 | |
pmurias | the problematic part with that is that a lot of perl code relies upon XS modules | 16:44 | |
16:45
cdarroch joined,
cdarroch left,
cdarroch joined
16:59
dakkar left
17:05
masak joined
|
|||
masak | oh hai zebras! | 17:05 | |
colomon | \o | ||
moritz_ | o/ | 17:06 | |
masak | always nice to see you folks :) | ||
moritz_ | tadzik: all TPF mentors vote on the applications | ||
17:08
risou_ left,
ruoso_ joined
17:09
ruoso left
|
|||
sorear | pmurias: all XS modules will necessarily need rewriting | 17:10 | |
pmurias: it's "common wisdom" in #toolchain circles that 95% of economically important Perl 5 code is in-house pure-Perl scripts not on CPAN; the fact that there's so much XS on CPAN is selection bias | 17:11 | ||
someone like jjore or Alias_ could probably give a better analysis | 17:12 | ||
masak | I'm not too surprised that lots of corporations using Perl have economically important Perl 5 code that they choose not to upload to CPAN. | 17:17 | |
I'm not sure how sure one can ever be about the 95% figure, though... | 17:18 | ||
sorear | well I'm deferring to jjore et al - if they contradict me, I'm wrong | ||
diakopter | because there are hundreds of thousands if not millions of corporations, and almost none of them upload code, let alone write code in uploadable/module/distribution format | 17:19 | |
masak | nod | ||
I'm writing such code at $dayjob | |||
it's economically important, and it's not on CPAN. | |||
diakopter | economically important has to have a context, and it's subjective | ||
I mean, I repeat myself | 17:20 | ||
masak | well, it drives software that makes money ;) | ||
17:28
M_o_C left
17:33
jaldhar left,
jaldhar joined
|
|||
masak | moritz_++ # fixing #85674... again ;) | 17:33 | |
17:33
DarthGandalf left
|
|||
pmurias | sorear: but it's possible to call C code from .net? | 17:34 | |
moritz_ | s/again/for real/ | ||
17:35
M_o_C joined
17:36
Axius left
|
|||
masak | moritz_: I share the unease you express in the commit comment. | 17:38 | |
moritz_: maybe the fix would entail making $by a named arg even in the methods? | |||
17:40
ruoso_ left
|
|||
moritz_ | masak: that's not a fix for the larger problem, just avoiding it | 17:41 | |
masak: the fix is really to have the proto redispatch to two multis, and have separate bodies for these multies | |||
17:42
ruoso joined
17:43
risou joined
17:45
starcoder2 left
|
|||
masak | hm. | 17:47 | |
17:48
starcoder2 joined
|
|||
colomon | that doesn't seem right to me, but maybe I'm missing something here? | 17:50 | |
unless you mean one of the multis explicitly takes a named parameter :$by which is not defined? | 17:51 | ||
:$by:U ? | 17:52 | ||
masak | does "not defined" mean "not passed"? | 17:56 | |
I think not. | |||
colomon | Maybe you'd better explain what you are thinking, because that seems like a complete non-sequitur to me. | 17:57 | |
PerlJam | When would you want to differentiate between a parameter that was not passed and one that was passed but was undefined? | 17:58 | |
moritz_ has no idea what an undefined Ordering could look like | 18:00 | ||
18:01
[hercynium] joined,
[hercynium] left,
[hercynium] joined
|
|||
PerlJam | moritz_: that's what you get when you use StupidSort the first few times. | 18:02 | |
18:03
nymacro joined,
hercynium left,
[hercynium] is now known as hercynium
|
|||
colomon | Or let me put it like this: | 18:03 | |
proto sub min(*@values, :$by) { $by.defined ?? @values.min($by) !! @values.min } seems like a perfectly reasonable solution to me. | |||
moritz_ | PerlJam: that would be s/undefined/random/ | 18:04 | |
18:04
MayDaniel joined
|
|||
PerlJam | moritz_: what's the difference? :) | 18:04 | |
Tene | I feel vaguely uncomfortable with the proliferation of pairs of subs and methods with the same name, where the sub just redispatches to the method. | 18:05 | |
PerlJam | Tene: it's just to keep things DRY | 18:06 | |
moritz_ | Tene: welcome to Perl 6 | ||
PerlJam | Tene: how would you do it? | ||
moritz_ | PerlJam: what's the difference between a brick and 5? :-) | ||
Tene | PerlJam: what's DRY about "min @foo" vs [email@hidden.address] | ||
masak | PerlJam: how is keeping a method form and a sub form of something DRY? :) | ||
PerlJam | Tene: I didn't say the interface was DRY | 18:07 | |
18:07
MayDaniel left
|
|||
moritz_ thinks it should be s/DRY/DWIM/ | 18:07 | ||
Tene | PerlJam: I'd prefer that we either didn't do it at all, or that we had some further integration between sub and method invocation in the dispatcher. This weird halfway place where we just happen to have subs and methods with the same name has always felt awkward to me. | 18:08 | |
18:10
zby_home joined
18:12
rgrau joined
|
|||
sorear | pmurias: yes, the CLR can bind to C fairly well | 18:13 | |
colomon | Tene: I believe a lot of it is supposed to happen automagically by putting "is export" on the method. but that's NYI | 18:14 | |
Tene | colomon: Ah. | 18:15 | |
colomon | though there are a few cases where the signatures are different enough that won't work. | ||
Tene | yeah... I'm not happy about the signature variations. | 18:16 | |
colomon | TimToady: ping | 18:21 | |
18:21
Chillance joined
|
|||
colomon | rakudo: my $a' = 10; say $a' | 18:22 | |
p6eval | rakudo 405afa: OUTPUT«===SORRY!===Confused at line 22, near "my $a' = 1"» | ||
18:24
risou left
18:26
tyatpi_ joined
18:35
hercynium left
|
|||
tadzik | aloha | 18:35 | |
18:35
hercynium joined,
hercynium left,
hercynium joined
18:36
hercynium left
|
|||
colomon | hmm... what's the signature-y way to capture both bits of a Pair? | 18:48 | |
18:49
cogno joined
|
|||
masak | rakudo: (sub (Pair $p { :$key, :$value }) { say $key; say $value })("OH" => "HAI") | 18:54 | |
p6eval | rakudo 405afa: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
18:57
mj41 joined
18:58
Vlavv_ joined
|
|||
masak | rakudo: (sub (Pair $p ( :$key, :$value )) { say $key; say $value })("OH" => "HAI") | 18:59 | |
p6eval | rakudo 405afa: OUTPUT«Any()Any()» | ||
masak | that's the way to do it, AFAIK. | ||
but the Pair implementation is in PIR, so it doesn't work. | 19:00 | ||
flussence | i can haz indent? github.com/flussence/p6-misc/blob/...-indent.pm | ||
masak | \o/ | ||
tadzik | oh nice | ||
masak | flussence++ | 19:01 | |
tadzik | flussence++ indeed | ||
masak | hm, sometimes I think .lines should have a Bool :with-newlines (or something) parameter | ||
flussence | :whole ? | 19:02 | |
tadzik | :nom | 19:03 | |
masak | flussence: accidentally? :P | ||
flussence | hm, now I wonder if I can combine the loops in the outdent code somehow... | 19:05 | |
19:10
rgrau left
19:13
ruoso left
19:18
cogno left
19:27
robinsmidsrod left
19:28
mberends joined,
robinsmidsrod joined
19:35
ymasory joined
|
|||
tadzik | moritz_: got a while? | 19:39 | |
or you masak :) | |||
moritz_ | tadzik: yes | 19:40 | |
tadzik | moritz_: I'd like to discuss the Pod Parser task with you, I'm putting my proposal together | 19:41 | |
moritz_ | thought so :-) | ||
tadzik | as I can see, what is expected in the task seems to be just the Pod Parser and tools, not integrating that into Rakudo or anything, no .WHY. Is that desired, desired as an optional goal, or rather to be kept aside of the task? | 19:42 | |
I'm having so many ideas I don't think I'd implement them all even starting now:) | |||
moritz_ | desired as optional | ||
tadzik | so „If I finish earlier”? | ||
moritz_ | "if you can get it into your proposal in a sensible manner" | 19:43 | |
tadzik | how does a sensible manner look in a proposal? | ||
moritz_ | good question :-) | 19:44 | |
tadzik | I saw that one coming ;) | ||
moritz_ | what I thought is this: | ||
you need a timeline | |||
tadzik | any last year proposals which included optional goals? | ||
moritz_ | with weekly granularity | ||
tadzik | oh, a timeline is my next question for you, I have no idea how to write this | ||
moritz_ | you're supposed to allocate 20..25 hours per week | 19:45 | |
so, how much can you get done in that time span? | |||
masak | I think having .WHY as a goal is important for the longevity of a Perl 6 Pod parser. | ||
even if you don't get to it in the scope of the project. | |||
flussence | (answering my own last line: Yes!) | ||
moritz_ | for example you could allocate the first week for parsing inline markup like C<...> and according tests | 19:46 | |
tadzik | masak: well, my general thought is that "If this doesn't fit in the proposal, I'll do it anyway (for this is just too awesome)" | ||
moritz_ | and the second for block parsing plus tests | ||
then one for .WHY attachements | |||
then think of other features you want to do | 19:47 | ||
table parsing | |||
tadzik | .WHY is the most exciting thing for me, thought that might be a bit tricky. If I understand this correctly, a Comment must know in which Class::Method it's in, and have access to the code | ||
masak | tadzik: have you seen my draft? might contain ideas for you to steal^Wborrow | ||
tadzik | masak: nope, would love to | ||
or not (.WHY). It'll be just an another property of a method/class/sub | 19:48 | ||
I'd like to have .WHY and friends as nice (if not nicer) as Python has its """ | |||
and then a Zebradoc, generating a nice docs like Javadoc, then FatZebra, which will do the same but including the code itself making a nice Code Review tool. Or something like this | 19:49 | ||
masak | tadzik: gist.github.com/500732 | 19:50 | |
moritz_ | tadzik: solid parsing + tests for it + WHY are much more important than fancy user level docs | ||
s/docs/apps/ | |||
tadzik | moritz_: yeah, that are just my personal project ideas | 19:51 | |
masak: thanks, will look into it | |||
masak: hmm, so that's your task? I'm confused | 19:52 | ||
oh, even the STD doesn't do much Pod atm | 19:54 | ||
19:54
rdesfo joined
19:56
woldrich left
|
|||
masak | tadzik: no, it's just a draft for something I meant to do at some point. I don't mind if someone GSoCs it. | 19:56 | |
moritz_ | the original idea was to apply for a Hague grant, no? | 19:57 | |
masak | yes. | 19:58 | |
moritz_ | quick question regarding English: does "next Friday" always mean the soonest day that is a Friday, or sometimes also the Friday of the following week? | 20:03 | |
(I suspect the former, but I want to be sure9 | |||
s/9/)/ | |||
allbery_b | usuakly the former, but sometimes the latter (especially if said on Thursday) | ||
moritz_ | said on a Monday | 20:04 | |
allbery_b | unfortunately it's somewhat indeterminate as to whether it is distinct from a bare "Friday" or not | 20:05 | |
some peope use it when they mean "this Friday", some don't. English is too multivalued... | 20:06 | ||
moritz_ waits until Friday before asking TPF about grant status :-) | |||
20:07
M_o_C left
|
|||
allbery_b | whereas "a week from Friday" should be reliably interpreted | 20:07 | |
20:07
saaki left
|
|||
moritz_ | as should be ISO 8601 dates :-) | 20:08 | |
20:12
saaki joined,
woldrich joined
|
|||
tadzik | moritz_: Would you expect the Pod Parses to be tightly in-Rakudo thing, so tools using the parser will just import the Perl6::Grammar or something like this? | 20:12 | |
20:13
woldrich is now known as Guest91589
20:14
tyatpi_ left
|
|||
moritz_ | tadzik: yes | 20:15 | |
afk | 20:16 | ||
masak | right. that's my understanding as well. | 20:17 | |
mberends feels the bloat detector hairs rise on the back of his neck | 20:18 | ||
please make Pod6 parsing a module somehow | 20:19 | ||
tadzik | so the Core Module? | ||
masak | mberends: guess you'll just have to convince us that it's a better idea *not* to have it integrated... | 20:20 | |
tadzik | Which Perl6::Grammar uses? | ||
I can agree that loading a whole Perl6 parser to parse the pod may seem a little heavyish | |||
and it may cause some people to write their own Parsers for they need it light. Moreover, it'll be more able to be used in a number of implementations | 20:21 | ||
Also, modularity > monolith, if I got the CS homework correct | 20:22 | ||
mberends | what worries me is carrying this baggage in the perl6 executable even when the P6 program you are running contains no Pod6 at all. | ||
tadzik: +1 | |||
TimToady | .oO(demand paging is your friend) |
||
masak doesn't know which side he's on | 20:23 | ||
moritz_ wonders who much trouble in-parser module loading will be | 20:25 | ||
mberends | does Rakudo or Parrot currently use demand paging? | ||
TimToady | was originally planned to, but I don't think it does currently | ||
tadzik | I see this as an encapsulated module for parsing Pod into some Pod::Blah data structures. Then Rakudo can just use that, and in case of things like `#= .WHY-stuff` it delegates parsing .WHY-stuff to the module | ||
TimToady | was hoped to mmap the bytecode into readonly memory | 20:26 | |
tadzik | moritz_: parser is Nqp, not Perl 6 per se, right? | ||
TimToady | in any case, there are other ways to be lazy | ||
for anything that is notionally there in the core, you really only need to know the names and the deps | |||
tadzik | OTOH, plenty of the "which method is that comment about" logic belongs to the Perl 6 parser rather than a documentation tool. But as mberends says, finding those pieces in the Perl 6 code will surely bring some overhead for the parser | 20:28 | |
correct me if I'm speaking bollocks | |||
TimToady | it's something to weigh, fershure | ||
20:31
Holy_Cow left
|
|||
mberends | tadzik: zero-overhead is impossible, but parser hooks to empty actions that are overrideable by a module might be a fairly lean implementation. | 20:31 | |
20:35
zby_home left,
zby_home joined
|
|||
TimToady | rakudo: my $aʹ = 10; say $aʹ | 20:37 | |
p6eval | rakudo 405afa: OUTPUT«10» | ||
TimToady | colomon: ^^ | ||
.u ʹ | 20:38 | ||
phenny | U+02B9 MODIFIER LETTER PRIME (ʹ) | ||
masak | .u optimus prime | ||
phenny | masak: Sorry, no results for 'optimus prime'. | ||
sjohnson | heh | 20:39 | |
.u trollface | |||
phenny | sjohnson: Sorry, no results for 'trollface'. | ||
sjohnson | ... maybe someday soon masak :) | ||
mberends | phenny should have said "no results yet for...". Unicode will eventually encode every human thought. | 20:40 | |
masak | .u every human thought | 20:43 | |
phenny | masak: Sorry, no results for 'every human thought'. | ||
mberends | "yet" | ||
masak can almost hear the '...yet' | |||
mberends | .u coffee | 20:44 | |
phenny | mberends: Sorry, no results for 'coffee'. | ||
tadzik | .u tea | ||
phenny | U+273B TEARDROP-SPOKED ASTERISK (✻) | ||
mberends | .u beverage | ||
phenny | U+2615 HOT BEVERAGE (☕) | ||
masak | :P | ||
.u you | 20:45 | ||
phenny | U+4DC3 HEXAGRAM FOR YOUTHFUL FOLLY (䷃) | ||
masak | heh :) | ||
masak got Yi Jing'd | |||
mberends | .u human | ||
phenny | mberends: Sorry, no results for 'human'. | ||
masak | .u kill all humans | ||
phenny | masak: Sorry, no results for 'kill all humans'. | ||
sjohnson | youthful fully! | ||
masak | sjohnson: that's us! :) | 20:48 | |
sjohnson | .u triangle | ||
phenny | U+29CC S IN TRIANGLE (⧌) | ||
sjohnson | most of the chars don't show up for me | ||
(´ー` ) | |||
TimToady | that last one is the first one that didn't for me | ||
masak | same here. | 20:49 | |
.u well | |||
phenny | U+4DEF HEXAGRAM FOR THE WELL (䷯) | ||
sjohnson | .u fatface | ||
phenny | sjohnson: Sorry, no results for 'fatface'. | ||
sjohnson | ... one day | ||
masak | I wonder how many hexagrams I can guess from memory... | ||
.u wanderer | |||
phenny | U+4DF7 HEXAGRAM FOR THE WANDERER (䷷) | ||
TimToady | funny that it picked that one for 'triangle' | ||
masak | .u heaven | ||
phenny | U+2630 TRIGRAM FOR HEAVEN (☰) | ||
TimToady | .u LEFT TRIANGLE | 20:50 | |
phenny | U+25F8 UPPER LEFT TRIANGLE (◸) | ||
masak | Yi Jing was one of the two things that got me interested in Chinese. | ||
TimToady | that's befor it | ||
.u RIGHT TRIANGLE ABOVE LEFT TRIANGLE | |||
phenny | U+29CE RIGHT TRIANGLE ABOVE LEFT TRIANGLE (⧎) | ||
TimToady | and that's after it | ||
TimToady wonders if it's grepping the keys of a hash... | 20:51 | ||
sjohnson | .u perl | ||
phenny | sjohnson: Sorry, no results for 'perl'. | ||
sjohnson | .u python | ||
phenny | sjohnson: Sorry, no results for 'python'. | ||
mberends | .u pearl | ||
phenny | mberends: Sorry, no results for 'pearl'. | ||
masak | aww, I just got bitten by === not autothreading over junctions. :( | 20:52 | |
and I *checked* that before writing that piece of code! still I fell for it. | |||
20:52
mj41 left,
sftp_ left
|
|||
TimToady | it's supposed to | 20:53 | |
masak | oh good. | ||
TimToady | the junction logic is not supposed to be using the user's === to compare identities | ||
not without making sure that it's not comparing junctions first, anyway... | 20:54 | ||
masak | all my tests pass now! \o/ | ||
20:56
Mowah left
|
|||
masak | 'night, #perl6 | 20:57 | |
.u possessing | 20:58 | ||
phenny | masak: Sorry, no results for 'possessing'. | ||
masak | .u possession | ||
phenny | U+4DCD HEXAGRAM FOR GREAT POSSESSION (䷍) | ||
masak | \o/ | ||
20:59
masak left,
kaare_ left
|
|||
sorear | those .u games would work better if phenny supported Unihan stuff | 21:06 | |
good * #perl6 | 21:07 | ||
mberends | good * sorear | ||
pmurias | sorear: hi | ||
21:08
sftp joined
|
|||
sorear | hello pmurias | 21:08 | |
21:17
icwiener left
21:25
bluescreen10 left
21:27
zby_home left
21:34
plobsing joined
|
|||
moritz_ | phenny: tell masak you might be interested in books.slashdot.org/story/11/03/28/1...lashdot%29 | 21:39 | |
phenny | moritz_: I'll pass that on when masak is around. | ||
colomon | TimToady++ | ||
moritz_ | urks, I didn't know the URL was so long | ||
sorear | colomon: | 21:42 | |
perl6: sub foo(*@x) { say @x.shift }; my @kay = 5,4,3,2; say @kay.perl; foo(@kay); say @kay.perl; | |||
p6eval | rakudo 405afa, niecza v3-82-g1dc43eb: OUTPUT«[5, 4, 3, 2]5[5, 4, 3, 2]» | 21:43 | |
..pugs: OUTPUT«[5, 4, 3, 2]*** Can't modify constant item: VUndef at /tmp/_KZJGU3bIR line 1, column 20-29» | |||
sorear | that's how "ro-iterator" is spelled currently | ||
limitation: cannot be used more than once per arglist | |||
perl6: sub foo(*@x) { say @x.shift }; foo(1..*); | |||
p6eval | pugs: OUTPUT«pugs: out of memory (requested 1048576 bytes)» | 21:44 | |
..rakudo 405afa, niecza v3-82-g1dc43eb: OUTPUT«1» | |||
dalek | ecza: 8caf924 | sorear++ | FETCH_URL: Update bootstrap for v4 |
21:45 | |
colomon | sorear: nice! | 21:46 | |
21:46
takadonet left
|
|||
colomon | perl6: sub foo(*@x) { say @x.shift }; my @kay := 1... *; say @kay[^4; foo(@kay); say @kay.perl; | 21:46 | |
p6eval | rakudo 405afa: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22» | ||
..pugs: OUTPUT«***  Unexpected " say" at /tmp/eL29BqAoxN line 1, column 50» | |||
..niecza v3-82-g1dc43eb: OUTPUT«===SORRY!===Any()Unable to parse subscript at /tmp/Q4Rj56v_jm line 1:------> @x.shift }; my @kay := 1... *; say @kay[⏏^4; foo(@kay); say @kay.perl;Couldn't find final ']'; gave up at /tmp/Q4Rj56v_jm line 1 (EOF):------> | |||
..; say @kay[^4; … | |||
colomon | perl6: sub foo(*@x) { say @x.shift }; my @kay := 1... *; say ~@kay[^4]; foo(@kay); say ~@kay[^4]; | ||
p6eval | pugs: OUTPUT«***  Unexpected " say" at /tmp/3YAWrdWU3a line 1, column 50» | ||
..niecza v3-82-g1dc43eb: OUTPUT«Unhandled exception: Series op NYI at /home/p6eval/niecza/lib/CORE.setting line 387 (CORE die @ 2) at /home/p6eval/niecza/lib/CORE.setting line 1171 (CORE infix:<...> @ 2) at /tmp/OiNM8kbkEw line 1 (MAIN mainline @ 3) at /home/p6eval/niecza/lib/CORE.setting | |||
..line 1264 (CORE … | |||
..rakudo 405afa: OUTPUT«1 2 3 411 2 3 4» | |||
colomon | rakudo++ ! | 21:47 | |
allbery_b wonders why pugs is in there still, as bitrotted as it is | 21:54 | ||
22:06
whiteknight joined
|
|||
sorear | because it's still better than rakudo at some things | 22:06 | |
and it's not really bitrotted, it just hasn't kept up with the fancy additions to the spec | 22:07 | ||
colomon | sorear++, btw :) | 22:11 | |
22:14
f00li5h left
22:17
araujo left
22:22
f00li5h joined
22:26
awoodland joined
22:34
araujo joined
22:38
cosimo joined
22:40
Guest91589 is now known as woldrich,
woldrich left,
woldrich joined,
whiteknight left
22:41
awoodland left
22:42
felher joined
22:44
orafu left
22:46
whiteknight joined
|
|||
felher | Hey folks. I noticed that there is no <>-Operator in perl6 (Or am i just wrong? :) )? Is there still a way to do the neat ' my @array = <>; ' or does one have to something like: if there are command-line-arguments, open them, ...? | 22:49 | |
flussence | rakudo: my @array = get; say :@array.perl; | ||
p6eval | rakudo 405afa: OUTPUT«"array" => ["Land der Berge, Land am Strome,"]» | ||
flussence | someone else will probably know how command line params work... | 22:50 | |
oh | 22:52 | ||
you want lines() instead of <> | 22:53 | ||
22:53
kst is now known as __k_s_t__,
orafu joined
22:54
stkowski left
|
|||
felher | flussence: Ah, works like a charm. Thanks! | 22:54 | |
22:57
__k_s_t__ is now known as kst
23:11
Eevee left
|
|||
sjn wonders what happened to rakudo.de | 23:12 | ||
23:18
pmurias left
23:23
icwiener joined
23:24
cdarroch left
23:32
rdesfo left
23:43
Chillance left
23:46
donri left
|
|||
sjn | rakudo: (1..6).roll(10).sort() | 23:49 | |
p6eval | rakudo 405afa: ( no output ) | ||
sjn | rakudo: (1..6).roll(10).sort().say | ||
p6eval | rakudo 405afa: OUTPUT«1122233445» | ||
sjn | rakudo: (1..6).roll(10).sort().perl | ||
p6eval | rakudo 405afa: ( no output ) | 23:50 | |
sjn | rakudo: (1..6).roll(10).sort().perl.say | ||
p6eval | rakudo 405afa: OUTPUT«(1, 1, 1, 2, 2, 3, 4, 5, 5, 5)» | ||
sjn | rakudo: (1..6).roll(10).sort(*).perl.say | ||
p6eval | rakudo 405afa: OUTPUT«No applicable candidates found to dispatch to for 'sort'. Available candidates are::(Mu : &by = { ... };; *%_) in main program body at line 22:/tmp/jHQHOzVOY2» | ||
sjn | rakudo: (1..6).roll(10).sort(-*).perl.say | ||
p6eval | rakudo 405afa: OUTPUT«(6, 6, 6, 6, 5, 5, 5, 4, 2, 1)» | ||
sjn | should sort(*) work, since sort(-*) works? | ||
sorear | no | 23:52 | |
TimToady | no, * is Whatever, but -* is a closure | ||
sjn | uhm. ok? | ||
TimToady | we could specifically teach sort to take * to mean "natural sort" or some such, of course | 23:53 | |
but that would be a special case | |||
sjn | that tingles my POLA thingy | ||
allbery_b | this is confusion. there was a WhateverCode for a while to try to disambiguate but that caused more problems than it fixed | ||
^confusion^confusing | |||
TimToady | rakudo: say (-*).WHAT | 23:54 | |
p6eval | rakudo 405afa: OUTPUT«WhateverCode()» | ||
TimToady | that hasn't changed | ||
allbery_b | ah, I thought that got despecced | ||
sjn | rakudo: (*).WHAT | ||
p6eval | rakudo 405afa: ( no output ) | ||
sjn | rakudo: say (*).WHAT | ||
p6eval | rakudo 405afa: OUTPUT«Whatever()» | ||
TimToady | Whatever means "dwim me", and most operators dwim into a closure | 23:55 | |
sjn | well, when it comes to sorting, if sort(-*) is the canonical "sort reverse", then I find it sane if sort(*) does exactly the reverse (and vice versa :) | ||
TimToady | sort +* does the opposite :) | 23:56 | |
23:56
sftp left
|
|||
TimToady | * is not intrinsically numeric | 23:56 | |
23:57
awwaiid left,
kfo_ joined
|
|||
allbery_b | it does make sense to me that "sort whatever" invoke a default sort | 23:57 | |
sjn | rakudo: say <a b f d c>.sort(-*) | 23:58 | |
p6eval | rakudo 405afa: OUTPUT«abfdc» | ||
23:58
mikehh joined
|
|||
sjn | rakudo: say <a b f d c>.sort | 23:58 | |
p6eval | rakudo 405afa: OUTPUT«abcdf» |