»ö« 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:14
takadonet joined
00:21
clkao left
00:26
lumi_ left
00:27
lumi_ joined
|
|||
dalek | kudo/nom: 969bd88 | jnthn++ | src/Perl6/Actions.pm: Fix braino with storing subset name. |
00:31 | |
kudo/nom: c19d81d | jnthn++ | src/binder/bind.c: Toss a couple of unused statics. |
|||
kudo/nom: 5a08e61 | jnthn++ | src/ (8 files): Wire up **@foo to make a LoL. |
|||
sorear | *envy* | 00:33 | |
jnthn | pmichaud: This much works: | 00:39 | |
> sub foo(*@x) { say @x.HOW.name(@x) }; foo(1,2,3) | |||
Array | |||
> sub foo(**@x) { say @x.HOW.name(@x) }; foo(1,2,3) | |||
LoL | |||
pmichaud: Note that .WHAT is busted... :/ | |||
oh, no wonder... | |||
sorear | is WHAT really busted, or just WHAT.Str? | 00:40 | |
jnthn | sorear: the latter | ||
sorear | also | ||
jnthn | sorear: .WHAT would be hard to be busted since it's mostly just a pointer follow :) | ||
sorear | jnthn: I take it you've finally figured out the correct semantics for **@x | ||
jnthn: I have learned never to call a bug impossible :) | |||
jnthn | sorear: Actually pmichaud++ asked me to write up the binder. | 00:41 | |
sorear | Plural you. | ||
jnthn | sorear: er, *wire up* | ||
sorear: ah, OK :) | |||
english-- :) | |||
sorear | heh. maybe I should say thou when I mean thou, it would no doubt annoy thou... | 00:42 | |
+but | 00:43 | ||
jnthn | ;) | ||
TimToady | well, plural you should be ye | ||
pmichaud | I thought I fixed WHAT earlier today | 00:45 | |
which part is busted? | |||
sorear | jnthn: 'method trymop($f) { unless try { $f(); True } { self.sorry($!) }; }' :) | 00:46 | |
jnthn | pmichaud: see push | 00:51 | |
sorear: \o/ | |||
dalek | kudo/nom: 716ffd2 | jnthn++ | src/core/ (3 files): Various stringificaiton fixes. |
00:52 | |
sorear | jnthn: How well does the nom GLOBAL merger handler cyclic package graphs? | ||
jnthn | pmichaud: Missing: src/core/LoL.pm :) | ||
sorear: Given it represents about 10 minutes of coding time, probably horrendously at the moment. :) | |||
sorear: Example? | 00:53 | ||
(not sure I'm thinking what you are...) | |||
pmichaud | jnthn: I don't have a LoL.pm yet, you can stub an empty one. I'm hoping to have one tomorrow (maybe tonight even) | 00:54 | |
jnthn | pmichaud: No hurry for it. | 00:55 | |
sorear | Foo.pm: class Foo { } | ||
Foo/Bar.pm: class Foo::Bar { use Foo :OUR } | |||
jnthn | pmichaud: As in, no more urgent that then time scale you just suggested. :) | ||
pmichaud | jnthn: oh. Yeah, I hadn't had a chance to review/fix the bogus Str() methods yet. | 00:56 | |
sorear | niecza has a rather ugly solution involving special "graft" nodes in the metapackage graph | 00:57 | |
jnthn | pmichaud: Just done the ones a quick search showed up. | ||
pmichaud | right | ||
that's something we'll probably have to watch | |||
jnthn | sorear: I suspect ESTACKOVERFLOW | ||
pmichaud | or write tests for, more likely | ||
sorear | note that while cycles are the worst case, they aren't the most common corner case | ||
jnthn | sorear: Apart from...no :OUR in use yet :) | ||
sorear | class Foo is export { } creates Foo, EXPORT::DEFAULT::Foo, and EXPORT::ALL::Foo as synonym | 00:58 | |
pmichaud | we should run through all of the builtin types and verify that .Str works on the type objects. :-) | ||
jnthn | sorear: Have you added above to the spectest at all? | ||
sorear | jnthn: no, because I'm not really sure what it should do | ||
jnthn | sorear: oh, OK :) | ||
sorear | the obvious answer is Prolog-style unification | ||
but blech | |||
jnthn | sorear: Not sure where you're going with the export one, since EXPORT is lexical. | 00:59 | |
e.g. we never have to merge EXPORT | |||
Unless people go writing our package EXPORT { } somewhere... :/ | |||
sorear | there are situations where merging lexical packages is necessary | 01:00 | |
at least, importable lexical packages | 01:01 | ||
hmm | |||
EXPORT is never importable, is it? | |||
jnthn | I'm not convinced on merging lexical packages yet. | ||
sorear | A.pm: my class A { } | 01:02 | |
B.pm: use A; class A::B is A { } | |||
C.pm: use A; class A::C is A { } | |||
main: use A; use B; use C; # what's in A:: ? | |||
jnthn wonders what nom's merge does with that today... | 01:04 | ||
01:04
donri left,
noganex left
|
|||
jnthn | though ooc... | 01:05 | |
01:05
donri joined
|
|||
jnthn | nom: my class A { }; class A::B { }; class A::C { } # I hope at least this is OK... | 01:05 | |
p6eval | nom: ( no output ) | ||
01:06
noganex joined
|
|||
jnthn | oh heh | 01:07 | |
nom's import is an epic cheat today | |||
The answer to "what would it do" today though, from looking at the code... | 01:08 | ||
...is that use B would cause it to create GLOBAL::A::B. | |||
And the global merger would have no clue about the lexical A | |||
So it'd "work out" in the global merge but the leixcal A that was imported would hide the GLOBAL A that the global merger stuck in place. | 01:09 | ||
Not particularly suggesting that's great behavior. :) | 01:10 | ||
Guess we can only prevent people from shooting themselves in the foot so much... | |||
01:11
lumi_ left
01:12
lumi_ joined
|
|||
jnthn | OK, enough for tonight. | 01:12 | |
dalek | kudo/nom: a16dfeb | jnthn++ | NOMMAP.markdown: Update nommap. |
||
01:12
tokuhirom joined
01:14
yinyin joined,
takadonet left
|
|||
jnthn | & | 01:15 | |
01:16
whiteknight left
01:20
woosley joined
01:21
cotto left
01:24
icwiener joined,
icwiener left,
icwiener joined
01:27
icwiener_ left
01:29
lumi_ left
01:30
lumi_ joined
01:39
icwiener left
01:51
ingy left
01:56
lumi_ left
01:57
lumi_ joined
02:02
Tene left,
ingy joined
02:03
ingy left
02:14
ingy joined
02:31
daniel-s_ joined
02:33
lichtkind left
02:36
lumi_ left,
araujo left
02:37
lumi_ joined,
araujo joined
02:39
cooper left,
cooper joined
|
|||
daniel-s_ | perl6: my @a = (1, 2, 3); my $b = @a; say $b; | 02:43 | |
p6eval | pugs, rakudo ae5bea, niecza v6-153-g6cb84d6: OUTPUT«1 2 3» | ||
cooper | is it normal for rakudo to use extreme amounts of memory? | 02:49 | |
colomon | cooper: probably. what are you doing? | ||
02:49
yinyin left
|
|||
cooper | colomon: it's an extremely simple IRC bot, and it's using more RAM than everything else on my system combined | 02:50 | |
colomon | has it been running for a while? | ||
cooper | only a few minutes | ||
02:50
yinyin joined
|
|||
cooper | even if run rakudo at all `perl6` (the prompt thing) | 02:51 | |
it uses like 90mb ram almost | |||
colomon | oh, sure, I'd expect 90mb there. | ||
cooper | really? it seems prettyyy high to me | ||
is there a more resource-friendly interpreter that you would suggest? | 02:52 | ||
colomon | give me a moment | 02:53 | |
02:55
s1n left,
s1n joined
|
|||
colomon | I verify the 87.2 MB running rakudo prompt, 47.2 running niecza. | 02:56 | |
so you could try niecza | 02:57 | ||
02:57
clkao joined
|
|||
cooper | i will do that, thank you | 02:57 | |
alyx | o_o | 02:58 | |
colomon | I have to admit that even 90 MB is lost in the shuffle on my machine -- Safari, Firefox, Chrome, iTunes, Parallels, etc are all using more than that. | ||
02:59
obra joined
|
|||
alyx | When will perl6 have a nice small interpreted like perl5 does? :( | 02:59 | |
02:59
obra left
|
|||
colomon | alyx: no idea. I think speed is likely to be a higher priority in the short term. | 03:00 | |
alyx | colomon: speed is nice, but not useful if you can't even run the interpreter. :P | 03:01 | |
TimToady | the two tend to go together though | ||
cooper | yeah | ||
yes, it is hardly worth using a language whose interpreter eats so much memory :( | |||
alyx | -/+ buffers: 97 5 | ||
cooper | and on some systems you might not even be able to ! | ||
alyx | I cannot run either interpreter. This causes speed to be a very low priority. :P | ||
TimToady | making it faster will very likely make it much smaller too | 03:02 | |
alyx | TimToady: \o/ that would be awesome. Small and fast would be lovely. | ||
cooper | TimToady: but no Perl 6 interpreter will as light as a perl | ||
+be | |||
if it is i'll be dead by then | 03:03 | ||
TimToady | but a compiled p6 program might be | ||
alyx | cooper: hopefully it won't be as bad as Ruby! :P | ||
cooper | :P | ||
TimToady | p5 has a lot of cruft to, it's all just buried deep in C code | ||
*too | 03:04 | ||
daniel-s_ | perl6: my @a = (1, 2, 3); my $b = @a; $b.perl.say; | ||
p6eval | pugs, rakudo ae5bea, niecza v6-153-g6cb84d6: OUTPUT«[1, 2, 3]» | ||
TimToady | there are ways in which the p6 design is much cleaner | ||
in the long run this will make it much more optimizable than p5 | |||
alyx | it may be dirtier, but at least it's usable. :P | ||
ooh, nice | |||
TimToady | p6 is usable now, for some definitions of usable not including ancient hardware, alas | 03:05 | |
and some definition of fast that isn't :/ | |||
but it's getting better | |||
I think people will end up liking p6 better than DNF. | 03:06 | ||
alyx | DNF? | ||
03:06
jaldhar joined
|
|||
TimToady | They rushed Duke Nukem Forever out the door too soon. :) | 03:06 | |
alyx | xD | 03:07 | |
TimToady: it only took a decade! | |||
colomon | afk # bed | 03:08 | |
TimToady | o/ | ||
alyx | night colomon | ||
cooper | night | ||
03:11
lumi_ left,
takadonet joined
03:12
lumi_ joined
03:13
kevin_ joined
03:16
kevin_ left,
[particle] left
|
|||
starcoder | alyx | cooper: hopefully it won't be as bad as Ruby! :P | 03:17 | |
Ruby's not that bad, actually | |||
03:17
[particle] joined
|
|||
cooper | yes, it is nice that we live where we can share our opinions | 03:17 | |
alyx | starcoder: RoR uses more memory than Java. | ||
starcoder: I consider this "Bad" | |||
starcoder | you didn't say RoR | 03:18 | |
:P | |||
alyx | starcoder: Ruby is also not particularly friendly with the resources on its own | ||
starcoder: but then, given that I can indeed run Ruby on Jirachi, whereas I cannot run either of the seemingly popular Perl6 implementations, why am I complaining? :P | |||
starcoder | lol | 03:19 | |
cooper | k | ||
at least it isn't using over a GB of memory like irb was five minutes ago | |||
alyx | cooper: LOLWHAT | 03:20 | |
03:20
Trashlord joined
|
|||
cooper | alyx: it wasn't doing anything, i dunno why it was using that much | 03:20 | |
03:20
lateau joined
|
|||
alyx | cooper: ..wow | 03:20 | |
TimToady finds it amusing that people from NJ, TX, and CA agree on anything :) | |||
lateau | hello perl6 | 03:21 | |
cooper | alyx: yes, that's what i was thinking | ||
alyx | TimToady: xD | ||
cooper | I was actually checking on rakudo when i saw that | ||
03:21
lumi_ left
|
|||
cooper | then i was unpleasantly surprised again when i saw that rakudo was using so much >_> | 03:22 | |
03:22
Eevee left,
lumi_ joined
|
|||
alyx | "Oh, irb was using a gig of memory, BUT RAKUDO WAS USING 90 MB! THE HORROD!" | 03:22 | |
*HORROR | |||
TimToady | lateau: 今日は | ||
cooper | my exact thoughts ^ | 03:23 | |
alyx | 53 | ||
cooper | alyx: actually it was using 183mb | ||
(not rakudo alone, but this IRC bot) | |||
is there a Perl 6 method such as Ruby's .class ? | 03:25 | ||
TimToady | rakudo/nom will be much more compact, since it now supports C-style structs, rather than throwing oodles of Parrot PMCs at it | ||
sorear | cooper: give me a year or two... can you stay alive that long? | ||
03:25
lateau left
|
|||
cooper | i'll try to :D | 03:25 | |
TimToady | cooper: well, p6's classes work a bit differently from ruby's, but .WHAT will give you the type object, from which you can find anything else type-ish including the metaobject | 03:26 | |
rakudo: say "I am a string.".WHAT | |||
p6eval | rakudo ae5bea: OUTPUT«Str()» | ||
cooper | thanks | ||
03:27
Su-Shee left
|
|||
TimToady | and all the type stuff is real objects, not just faked with strings like p5 does | 03:27 | |
sorear | I have plans for making all of Perl 6 within 5x of Perl 5, except the parser, I haven't figured that one out yet | ||
03:27
lateau joined,
Eevee joined
|
|||
sorear | Perl 5's parser is... well... I've seen slower bytecode loaders. :/ | 03:28 | |
NOT going to be easy to compete with. | |||
TimToady | hehheh | ||
03:28
Su-Shee joined
|
|||
TimToady | that's because it cheats all over the place | 03:28 | |
cooper | cheats? | ||
TimToady | of the 5 or 6 ways that a lexer/parser can lie to itself about what is going on, Perl 5 does 7 or 8 of them... :) | 03:29 | |
rewriting the buffer, token stuffing, subparsing, using next pointers temporarily as start pointers, tree rewrites, and several others I've put out of my memory | 03:30 | ||
sorear | I thought most of those were D::D cheats D: | ||
Perl 6 uses some very novel parsing technology, there are no mature yacc-like tools that we can use for the p6 grammar | 03:31 | ||
TimToady | the bet here is that computers are getting fast enough that the benefits of not using LALR(1) outweigh the liabilities | 03:32 | |
03:32
lateau left,
daniel-s_ left
|
|||
TimToady | benefits such as better error messages than "Syntax error" | 03:32 | |
oh yes, sometimes the lexer simply lies to the yacc grammar too about what it saw | 03:33 | ||
oh, and there's both lookahead and lookbehind dwimmery of a most hacky sort | |||
(in p5) | 03:34 | ||
sorear | most of the dwimmery in p5 is hacky | ||
TimToady | yeah, some hacker wrote it, I hear... | ||
the other fun thing the p5 parse does is interleave 3 different passes simultaneously | 03:35 | ||
propagating info up the syntax tree and down, as well as the peephole optimizer pass | 03:36 | ||
sorear | so despite the name, CHECK functions are called interleaved with parsing? | ||
ow | |||
TimToady | no | 03:37 | |
CHECk is called at the end of the main compilation unit | |||
the peephole optimizer is called separately for each sub | |||
the only parsing CHECK precedes is any eval | 03:38 | ||
sorear | STD.pmc is 1.5MB, perl5 can parse it in 2.2 seconds here... niecza can parse STD.pm6 (200K) in 50 seconds. so I still have a factor of 375 to go | ||
is interleaving of passes a bad thing? | |||
it seems necessary for BEGIN to work | |||
03:39
JimmyZ joined
|
|||
TimToady | correct, it's just tricksy for people to understand, and hence contributes to the insanity | 03:39 | |
but it should be a bit easier in p6 with much less downward context propagation | |||
03:40
envi_laptop joined
03:42
lateau joined
|
|||
TimToady | I think the parser will also get much faster as we substitute more struct-y tree nodes for what we currently use hash-y objects | 03:43 | |
missing some verb in there or other... | |||
03:44
satyavvd joined
|
|||
sorear | I'm just talking about my own version of the parser currently... the worst part is it's resisted most of my attempts to profile it :/ | 03:45 | |
03:47
lateau left,
lateau joined
03:52
lateau left
|
|||
sorear | TimToady: how long did it take you to work out the details of mortalisation? | 03:56 | |
03:59
hudnix left,
wamba joined
|
|||
TimToady | about as long as it would have taken to work out the details of real GC :) | 04:00 | |
04:02
lateau joined
|
|||
TimToady | not refcounting items on the stack was probably a mistake, in retrospect | 04:04 | |
a premature optimization | |||
04:04
lumi_ left
|
|||
TimToady | but p5 is as fast as it is because of all the premature optimizations ;) | 04:05 | |
04:05
lumi_ joined
04:06
cooper left
04:12
lateau left
04:14
lateau joined
04:17
cotto joined
04:18
lateau left
04:21
scottp joined
04:24
dukeleto left
04:29
scottp left
04:30
mberends left
04:34
scottp joined
04:45
scottp left
04:51
scottp joined
04:55
lumi_ left
04:56
lumi_ joined
05:04
JimmyZ left
05:05
cognominal left,
cognominal joined
|
|||
sorear | std: my $¢ | 05:09 | |
p6eval | std 37a0cdd: OUTPUT«ok 00:01 119m» | ||
sorear | nom: package Foo { has $!bar } | 05:15 | |
p6eval | nom: OUTPUT«A package cannot have attributes at line 1, near " }"current instr.: 'nqp;HLL;Grammar;panic' pc 23569 (src/stage2/gen/NQPHLL.pir:6311)» | ||
sorear | nom: module Foo { has $!bar } | ||
p6eval | nom: OUTPUT«A module cannot have attributes at line 1, near " }"current instr.: 'nqp;HLL;Grammar;panic' pc 23569 (src/stage2/gen/NQPHLL.pir:6311)» | ||
05:20
koban joined
05:21
koban left
|
|||
TimToady | well, that's not quite right either, since a class is a kind of module, and a module is a kind of package... | 05:21 | |
so a package *can* have attributes if it happens to be a class as well | 05:22 | ||
or something like that... | |||
it's more like "this kind of package declaration doesn't supply a sufficiently powerful meta-object to declare an attribute | 05:23 | ||
but that's a bit long-winded | |||
"You can't declare that here!" would be more to the point | 05:24 | ||
05:25
molaf joined
05:27
scottp left
05:31
scottp joined
05:35
ingy left
|
|||
scottp | perl6: say 3; | 05:40 | |
p6eval | pugs, rakudo ae5bea, niecza v6-153-g6cb84d6: OUTPUT«3» | ||
05:42
ingy joined
05:50
ingy left,
ingy joined
05:56
Bzek joined
06:00
ingy left
06:01
ingy joined
06:04
wamba left,
araujo left
06:05
lumi_ left,
araujo joined
06:06
lumi_ joined
06:08
jedai_ left,
dju_ joined,
dju_ left,
dju_ joined
06:10
dju__ joined,
jedai joined
06:13
dju__ left,
dju_ left
06:14
daniel-s_ joined
06:17
dju joined,
dju left,
dju joined
|
|||
daniel-s_ | perl6: (1, 2, 3).perl.say; [1, 2, 3].perl.say; | 06:17 | |
p6eval | pugs, rakudo ae5bea, niecza v6-153-g6cb84d6: OUTPUT«(1, 2, 3)[1, 2, 3]» | ||
06:18
satyavvd left
06:21
dju left
06:32
daniel-s_ left
06:35
dju joined
06:37
dju left,
dju joined
06:39
dju_ joined,
dju_ left,
dju_ joined
06:40
dju left,
thou left
06:41
dju_ left,
dju__ joined
06:46
Shozan joined
|
|||
sorear | perl6: if 5 -> $five { $_ := 5 }; say $_ | 07:04 | |
p6eval | niecza v6-153-g6cb84d6: OUTPUT«Potential difficulties: $five is declared but not used at /tmp/isyUcjKR3q line 1:------> if 5 -> ⏏$five { $_ := 5 }; say $_5» | ||
..pugs: OUTPUT«*** Cannot bind to non-existing variable: "$five" at /tmp/yAvxmRGR3a line 1, column 1» | |||
..rakudo ae5bea: OUTPUT«Any()» | |||
sorear | Is Rakudo right here? | ||
niecza currently likes to pretend that $_ exists only in blocks with an implicit $_ signature | 07:05 | ||
07:14
mj41 joined
07:18
lumi_ left
07:19
lumi_ joined
07:20
birdwindupbird joined
|
|||
dalek | ecza: 46b6529 | sorear++ | / (6 files): Add functionality to Niecza core add_my_name to detect redefinitions |
07:21 | |
07:24
wamba joined
07:30
wamba left
07:31
breatharian joined
|
|||
breatharian | howdy 4th dimensioners | 07:31 | |
I brought up another Perl5 question on SO. stackoverflow.com/questions/6328137...ng-in-cpan | 07:32 | ||
Wondering, what's the Perl 6 way to do that? | 07:33 | ||
07:33
dju__ left,
dju_ joined
|
|||
breatharian | I like the suggestion using 'find_max' to implement 'longest'. | 07:33 | |
I asked the List::MoreUtils guys if they'd include it. :-) | 07:34 | ||
07:34
dju__ joined,
dju__ left,
dju__ joined,
dju_ left
07:35
koban joined
07:41
mikehh left
|
|||
moritz | rakudo: say <ab foobar x>.max: *.chars | 07:44 | |
p6eval | rakudo ae5bea: OUTPUT«foobar» | ||
07:45
cooper joined,
cooper left,
cooper joined
|
|||
moritz | breatharian: is that short enough for you? :-) | 07:46 | |
07:46
lumi_ left
07:47
lumi_ joined
|
|||
breatharian | moritz, Thanks! | 07:48 | |
moritz, Why the ": *.chars" at the end? Seems like it works without that as well (at the rakudo repl). | |||
What "kind of object" does <a ab abc> return? I.e. is that a Perl 6 list of strings? | 07:49 | ||
moritz | list of strings, yes | 07:51 | |
breatharian: without it it only works by accident | 07:52 | ||
rakudo: say <x a fooobarbaz>.max | |||
p6eval | rakudo ae5bea: OUTPUT«x» | ||
moritz | rakudo: say <x a fooobarbaz>.max: *.chars | ||
p6eval | rakudo ae5bea: OUTPUT«fooobarbaz» | ||
breatharian | moritz, Is there a way to query any expression for it's "type"? | ||
moritz | rakudo: say <x a fooobarbaz>.WHAT | ||
p6eval | rakudo ae5bea: OUTPUT«Parcel()» | ||
breatharian | (so that I can answer that question myself for other expressions) :-) | ||
moritz | rakudo: say <x a fooobarbaz>[0].WHAT | ||
p6eval | rakudo ae5bea: OUTPUT«Str()» | ||
breatharian | aha | ||
moritz | "Parcel" is "Parenthesis Cell", and something like a List | 07:53 | |
breatharian | ok | ||
Ah so <...> is similar to P5's qw{...} | 07:55 | ||
moritz | aye | 07:56 | |
but it's supposed to be smarter about types (but it isn't yet in rakudo) | |||
breatharian | It's too bad P5 doesn't have something like find_max in a common module. | ||
moritz, What's not in rakudo? | |||
moritz | smart about types | ||
breatharian | aha | ||
moritz | <1 23 foo>.[0] should be an Int, it is a Str | ||
breatharian | aha | ||
So workaround is: <1 23 abc>.[0].Int.WHAT | 07:58 | ||
? | |||
moritz | if you need an Int, yes | ||
breatharian | kewl | ||
moritz | or just (1, 23, 'abc') | ||
breatharian | moritz, Uh oh: <a b c cd z>.max | 08:00 | |
returns 'z' on rakudo | |||
sorear has been dreaming lately of a new Perl 6 implementation | |||
breatharian: you forgot : *.chars | |||
breatharian | 8-) | ||
sorear | breatharian: without : *.chars, it picks the alphabetically last | ||
moritz | sorear: another new one? :-) | ||
sorear | moritz: yes | 08:01 | |
breatharian | thanks sorear | ||
sorear | I'm wondering when I should try to share my thoughts... next #phasers maybe? | ||
breatharian | So the ": *.chars" modifies the behaviour of 'max'? | ||
moritz | or a blog post | ||
sorear | breatharian: yes | ||
moritz | breatharian: right, it tells .max what to maximize | ||
sorear | breatharian: $object.METHOD: ARGUMENT is equivalent to $object.METHOD(ARGUMENT) | 08:02 | |
breatharian: .max takes a single optional argument which tells it how to compare | |||
like how p5 'sort' takes an optional comparison function | |||
breatharian | Aha. so there's a 'chars' method on strings? | ||
sorear | yes | 08:03 | |
breatharian | Is there a way to get a list of methods on a given object? (like Python's introspection abilities) | ||
sorear | but in Perl 6, sorting and searching methods are slightly smarter, and can use one-argument functions as well | ||
.say for 5.^methods | |||
moritz | rakudo: say ~ 'foobar'.^methods(:local) | ||
p6eval | rakudo ae5bea: OUTPUT«ACCEPTS perl pred succ WHICH Bool Str encode indent» | ||
moritz | rakudo: say ~ 'foobar'.^methods() | ||
p6eval | rakudo ae5bea: OUTPUT«ACCEPTS perl pred succ WHICH Bool Str encode indent Numeric Real Int Rat Num abs conjugate exp log log10 sqrt roots to-radians from-radians floor ceiling round truncate sign cis unpolar chr chrs rand sin cos tan sec cosec cotan sinh cosh tanh sech cosech cotanh asin acos atan | ||
..atan2… | |||
breatharian | woah... | ||
sorear | strings and numbers have most of the same methods, and they coerce as needed | 08:04 | |
breatharian | I'm surprised it's called 'chars'. Is there not a method like 'size' or 'length' for sequence-like objects in general? | 08:05 | |
sorear | breatharian: length is outlawed since it's too vague | ||
breatharian | :-) | ||
nebuchadnezzar | SIGCOFFEA | ||
sorear | breatharian: all Perl 6 objects can pretend to be singleton lists, for DWIM sake; should .length return 1 ? | 08:06 | |
breatharian: also, there was at one point an idea that strings should answer to .chars .graphs .codes .bytes | |||
breatharian | aha | 08:07 | |
sorear | although nowadays sequences of characters and sequences of bytes are entirely separate types | ||
breatharian | .nouns, .verbs, ... :-) | ||
.vowels | |||
:-p | |||
jlaire | .typos would be useful | ||
breatharian | ha | ||
08:13
kevin___ joined
|
|||
breatharian | sorear, So what is the dreamy new Perl 6 about? :-) | 08:13 | |
sorear | breatharian: very hard optimizing for startup speed | 08:14 | |
breatharian | aha | ||
sorear | perl -e '' takes 1 or 2 1/HZ locally. Not really measurable | 08:15 | |
jlaire | are there other active implementation projects than rakudo and niecza? | ||
sorear | No | ||
if by "active" you mean "modified this year and able to run 'say 2 + 2'" | 08:16 | ||
jlaire | something like that | ||
(can yapsi do addition? :P) | |||
kevin___ | when will the production version of perl6 come out? | 08:17 | |
sorear | kevin___: TimToady isn't going to bless any version, you'll have to decide for yourself when it's "done enough" | ||
jlaire: Not natively. | 08:18 | ||
Su-Shee | kevin___: just get it, try it and if its useful to you, use it. | ||
sorear | jlaire: It has increment, decrement, test for zero, and looping, so it's at least Turing complete... | ||
Su-Shee | sorear: can I ask a favor of you (niecza related :) | 08:19 | |
breatharian | Gotta run. Thanks for the help guys! | ||
08:19
breatharian left
|
|||
sorear | Su-Shee: of course you can ask | 08:19 | |
Su-Shee | sorear: I was wondering what the use of c# and the .net really means and what is your idea behind it. | 08:20 | |
sorear: and I think the a nice article about it would be interesting. | 08:21 | ||
sorear | Su-Shee: nothing political, it's just a good balance between fun and fast | ||
Su-Shee | sorear: because when I hear something like c#/.net integration I think "cool, let's get the enterprise folks and the windows devels" | ||
08:21
lumi_ left
|
|||
sorear | also C# compilers make Perl5's parser look *slow* | 08:21 | |
Su-Shee | sorear: so only technical reasons? | 08:22 | |
08:22
lumi_ joined,
TiMBuS joined
|
|||
sorear | There's also a historical reason; it started as a fork of perlesque | 08:22 | |
Su-Shee | sorear: but how will you go about if niecza approaches "let's use that in our company"? at least someone like me would expect the conscious desicion of "it's c#/.net, so I really get .NET". | 08:23 | |
TiMBuS | i have successfully ban evaded \o/ | ||
wait that sounds like a bad thing | |||
sorear | Su-Shee: sorry, I couldn't parse that. | 08:25 | |
TiMBuS | niecza is the ENTERPRIZE version of perl6 by default | 08:26 | |
sorear | Ha | ||
TiMBuS | as it cleanly synergizes with already implemented and proven architectures within the company | ||
Su-Shee | sorear: we (the company I work for) struggle with windows integrational stuff in perl, so when I read "perl 6, c#, .net" I start drooling over it because it sounds like bindings we would love to have. | 08:27 | |
sorear: so I was wondering wether your thinking ever was "well, let's for for the enterprises and make a perl 6 for the windows world with c# and .net" | |||
let's go for. | |||
sorear | Su-Shee: if I can make that happen, it's a lovely fringe benefit | 08:28 | |
but I'm a naive 20-year-old not even out of college, and I haven't touched a Windows compiler since 2003, and I really am not the best person to be thinking about enterprise windows stuff | |||
Su-Shee | sorear: let's put it that way: it's a serious selling point, like "rakudo now runs on the jvm, let's do it like clojure does" would be. | 08:29 | |
TiMBuS | like a litear selling point | 08:30 | |
big companies actually pay for this stuff | 08:31 | ||
literal | |||
youre heading to the big leagues son. a shooting star. some people have greatness thrust upon them, others make a compiler thats pretty great | 08:33 | ||
kevin___ | Is Rakudo too slow now? | 08:38 | |
moritz | yes | 08:39 | |
08:39
dakkar joined
|
|||
moritz | we're working on it | 08:39 | |
sorear | kevin___: we can't make value judgements for you, but it's too slow for me | ||
kevin___ | Thanks, hope next version will be better. | 08:41 | |
08:42
daxim joined,
Woodi left
08:43
Woodi joined
08:45
Mowah joined
08:50
kevin___ left
08:52
RKG joined
08:53
RKG left
08:57
lumi_ left
08:58
lumi_ joined
09:06
agentzh joined
|
|||
daniel-s | perl6: (3,2).say x2; | 09:22 | |
p6eval | niecza v6-154-g46b6529: OUTPUT«===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/aCdtCmA8mK line 1:------> (3,2).say x⏏2;Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 469 (CORE die @ 2)  at | ||
../home/p6eval/niec… | |||
..rakudo ae5bea: OUTPUT«===SORRY!===Confused at line 22, near "(3,2).say "» | |||
..pugs: OUTPUT«***  Unexpected "x2" expecting operator at /tmp/vwiEh6WyOf line 1, column 11» | |||
sorear | daniel-s: what are you trying to do? | 09:23 | |
daniel-s | I remember x did something | 09:24 | |
but I can't remember | |||
sorear | rakudo: say "foo" x 5 | ||
p6eval | rakudo ae5bea: OUTPUT«foofoofoofoofoo» | ||
sorear | it's an infix op | ||
daniel-s | thanks | ||
jnthn | morning, #perl6 | 09:27 | |
09:27
tzhs joined
|
|||
moritz | \o | 09:27 | |
dalek | ecza: d58f791 | sorear++ | / (4 files): Rewrite "declared but not used" check using niecza-metamodel |
09:28 | |
sorear | ' | ||
'night, #perl6. | |||
jnthn | good mor...night, sorear :) | 09:30 | |
09:33
lumi_ left
09:34
lumi_ joined
09:38
icwiener joined
|
|||
daniel-s | phenny: tell daniel-s_ you're cool | 09:48 | |
phenny | daniel-s: I'll pass that on when daniel-s_ is around. | ||
09:49
daniel-s is now known as daniel-s_
|
|||
daniel-s_ | a | 09:49 | |
phenny | daniel-s_: 09:48Z <daniel-s> tell daniel-s_ you're cool | ||
09:49
daniel-s_ is now known as daniel-s,
Woodi left
09:51
Woodi joined
10:03
woosley left,
daniel-s left
10:05
daniel-s joined
10:12
Woodi left,
lichtkind joined
|
|||
lichtkind | cheers | 10:13 | |
10:14
Woodi joined
10:33
Woodi left
10:34
Woodi joined
|
|||
dalek | kudo/nom: 5788019 | jnthn++ | src/ (3 files): Constraint types on parameters. |
10:36 | |
10:40
Woodi left
|
|||
lichtkind | moin jnthn | 10:44 | |
jnthn | o/ lichtkind | 10:47 | |
10:47
Woodi joined
|
|||
lichtkind | glad to see you in <schwarzenegger voice>action</schwarzenegger voice> | 10:48 | |
jnthn: does nom/model 6 has any MOP? | |||
jnthn | lichtkind: For sure - that's kind of the point of 6model. :) | 10:53 | |
lichtkind: See github.com/rakudo/rakudo/tree/nom/.../Metamodel | |||
lichtkind | thanks | 10:58 | |
10:58
lumi_ left
10:59
lumi_ joined
|
|||
lichtkind | jnthn: has it any resemblance with SMOP or the perl 5 antlers? | 10:59 | |
jnthn | lichtkind: Both have influenced the design, yes. | ||
lichtkind: It's different to both, but drew from both of them. | |||
11:07
yinyin left
|
|||
daxim | rakudo, "\cL,¢,â".split.perl | 11:10 | |
rakudo, "\cL,¢,â".split.perl.say | |||
rakudo, "\cL,¢,â".split(//).perl.say | 11:11 | ||
:< narf | 11:12 | ||
jnthn | rakudo: "\cL,¢,â".split.perl.say | 11:14 | |
p6eval | rakudo ae5bea: OUTPUT«===SORRY!===Method 'panic' not found for invocant of class 'Regex;Match'» | ||
jnthn | ouch | ||
nom: "\cL,¢,â".split.perl.say | 11:16 | ||
p6eval | nom: OUTPUT«Method 'panic' not found for invocant of class 'SixModelObject'current instr.: 'nqp;HLL;Actions;_block1326' pc 25966 (src/stage2/gen/NQPHLL.pir:7341)» | ||
lichtkind | jnthn: the plans to replase rakudo* with something different after a year are still valid? | 11:18 | |
jnthn | lichtkind: That's probably a topic for discussion at YAPC::EU when various Rakudo devs will be about. | 11:22 | |
dalek | kudo/nom: b51aaa0 | jnthn++ | src/Perl6/ (2 files): Make has $a; style attribute declarations work (declares $!a and $a as a lexical alias). |
11:23 | |
kudo/nom: 4851795 | jnthn++ | src/Perl6/Actions.pm: Fix up implicit $_ handling a little. |
|||
p: 00a7fe4 | jonathan++ | src/HLL/Actions.pm: Fix broken error reporting in string_to_int (daxim++). |
11:24 | ||
lichtkind | jnthn: thanks so i just have to ask masak about the state of the module installer | ||
moritz | ask tadzik | ||
he wrote panda | 11:25 | ||
which actually worked last I looked :-) | |||
lichtkind | moritz: thanks | 11:26 | |
was panda formerly known as pies? | |||
moritz | yes | ||
(-ish) | |||
11:27
lumi_ left,
lumi_ joined
|
|||
lichtkind | :) | 11:27 | |
tadzik: are you around? | 11:28 | ||
11:34
fhelmberger left
|
|||
lichtkind | maybe now i understand the hello pandas better | 11:34 | |
11:35
fhelmberger joined
11:40
d4l3k_ joined
11:41
dalek left,
d4l3k_ is now known as dalek,
ChanServ sets mode: +v dalek
11:42
woosley joined
11:45
cooper left
11:48
mtk joined
12:03
silug left,
pernatiy joined
12:08
lumi_ left,
lumi_ joined
12:12
agentzh left
|
|||
takadonet | morning all | 12:16 | |
jnthn | o/ takadonet | 12:18 | |
takadonet | jnthn: how are u sir? | ||
jnthn | takadonet: Well, thanks :) | 12:19 | |
And you? | 12:20 | ||
takadonet | good good | 12:21 | |
12:21
PZt left
12:22
mtk left
12:24
mtk joined
12:28
dju__ left
12:29
mtk left
12:30
mtk joined
12:34
jaldhar left
12:35
PZt joined,
Mowah left,
jaldhar joined
12:38
hudnix joined
|
|||
lichtkind | takadonet: \o | 12:39 | |
takadonet | lichtkind: \o | 12:40 | |
12:41
araujo left,
lumi_ left
12:42
lumi_ joined,
chitragupt left
|
|||
daxim | panda? | 12:46 | |
12:46
mtk left
|
|||
daxim | hey, didn't you have a factbot here? | 12:46 | |
12:46
Mowah joined
12:47
estrabd left
12:48
pothos_ joined,
mtk joined
|
|||
daxim | I just installed the latest stable rakudo* to try to port some perl5 snippets | 12:48 | |
12:48
pothos left,
chitragupt joined,
pothos_ is now known as pothos
|
|||
daxim | I see an XML writer there and a HTTP server, how did you manage that without an encoding module? | 12:48 | |
moritz | rakudo has some encodings built-in | 12:49 | |
most notably utf-8 and latin-1 | |||
daxim | oh great, that covers a lot | ||
moritz | rakudo: say chr(165).encode('utf-8').perl | ||
p6eval | rakudo ae5bea: OUTPUT«Buf.new(165)» | ||
daxim | what about iso-646? | ||
moritz | urks, tht looks wrongish, doesn't it? | ||
rakudo: say chr(165).encode.perl | 12:50 | ||
p6eval | rakudo ae5bea: OUTPUT«Buf.new(165)» | ||
moritz | rakudo: say chr(250).encode.perl | ||
p6eval | rakudo ae5bea: OUTPUT«Buf.new(250)» | ||
moritz | rakudo: say chr(260).encode.perl | ||
p6eval | rakudo ae5bea: OUTPUT«Buf.new(196, 132)» | ||
moritz | where's masak when you need hin? | ||
daxim | I see the name ASCII is recognised, where is the registry of encoding names? | 12:51 | |
moritz | daxim: try grepping in src/core/{Str,Buf}.pm | 12:52 | |
daxim | Str.pm:9: my @KNOWN_ENCODINGS = <utf-8 iso-8859-1 ascii>; | 12:53 | |
long way to go :( | 12:54 | ||
moritz | patches welcome :-) | 12:55 | |
I think parrot understands more | |||
you'd just have to hook them up somehow | |||
daxim | seems so. error message "Lossy conversion to single byte encoding" is parrot territory, and I have no chance to handle replacement myself | 12:56 | |
á la Encode's CHECK coderef | |||
jnthn | Hmm, that array looks...inextensible. | ||
12:56
Holy_Cow joined
|
|||
jnthn suspects Str/Buf handling in Rakudo needs a good going over at some point in the not too distant future. | 12:57 | ||
moritz | or to put it more bluntly, it should be re-done completely for nom. | ||
12:57
Holy_Cow left
13:22
leprevost joined
13:26
dju joined
13:29
dju left
13:30
dju joined,
dju left,
dju joined
13:31
lumi_ left
13:32
lumi_ joined
13:36
Woodi left
13:37
MayDaniel joined
13:42
pernatiy left
13:43
Woodi joined
13:45
sftp left
|
|||
moritz | nom: say <a b c>.elems | 13:47 | |
p6eval | nom: OUTPUT«Method 'elems' not found for invocant of class 'SixModelObject'current instr.: '_block1002' pc 99 ((file unknown):135) (:1)» | ||
moritz | wanted urgently: actual type name in the error message | ||
nom: say <a b c>.WHAT | |||
p6eval | nom: OUTPUT«Parcel()» | ||
13:48
sftp joined
13:50
Woodi left
13:51
molaf left
|
|||
daniel-s | what's nom? | 13:52 | |
moritz | rakudo on a New Object Model | 13:53 | |
13:54
wamba joined,
Woodi joined,
Trashlord left
13:58
Woodi left
14:00
Woodi joined
14:03
silug joined
14:04
Woodi left
14:05
MayDaniel left,
Woodi joined
|
|||
moritz | nom: method x(Int:D:, $x) { } | 14:06 | |
colomon | rakudo: my @a = 1..100; my @slice = 3..5; say @a[@slice] | ||
p6eval | nom: OUTPUT«Malformed parameter at line 1, near ", $x) { }"current instr.: 'nqp;HLL;Grammar;panic' pc 23569 (src/stage2/gen/NQPHLL.pir:6311)» | ||
rakudo ae5bea: OUTPUT«456» | |||
moritz | nom: method x(Int:D: $, $x) { } | ||
p6eval | nom: OUTPUT«Contextual $*PKGDECL not foundcurrent instr.: 'nqp;Perl6;Actions;_block2493' pc 45699 (src/gen/perl6-actions.pir:15844)» | ||
moritz | nom: method x(Int:D: $self, $x) { } | ||
p6eval | nom: OUTPUT«Contextual $*PKGDECL not foundcurrent instr.: 'nqp;Perl6;Actions;_block2493' pc 45699 (src/gen/perl6-actions.pir:15844)» | ||
moritz | nom: class A { method x(Int:D: $self, $x) { } } | ||
p6eval | nom: ( no output ) | ||
moritz | nom: class A { method x(Int:D: $, $x) { } } | 14:07 | |
p6eval | nom: ( no output ) | ||
jnthn | eww, that's a nasty way to fail | 14:08 | |
It, er, fails at failing. :/ | |||
moritz | aye | ||
jnthn | It wants to use $*PKGDECL in the error. | ||
Maybe "you cannot but a named method here" is simpler. :) | |||
moritz | my $*PKGDECL = '<mainline>'; # in TOP ? | 14:09 | |
jnthn | Along the same lines as TimToady++ suggested we do for attributes. | ||
Hm | |||
maybe but I'm not sure to have degree mentioning the $*PKGDECL in errors is approved of. | |||
I thought it was a good idea. | |||
TimToady seemed to feel otherwise, and he kinda has a point. | 14:10 | ||
It's really how people think about classes and modules and packages in relation to one another, I guess. | |||
To me package and class aren't in a realtionship, they're two HOWs that compose some of the same roles. | |||
But I probably have too lowlevely a view. :) | |||
moritz | rakudo: class A { method x(Self:D: $, $a) { say $a } }; A.new.x('foo') | 14:12 | |
p6eval | rakudo ae5bea: OUTPUT«===SORRY!===Invalid typename in parameter declaration at line 22, near ": $, $a) {"» | ||
moritz | nom: class A { method x(A:D: $, $a) { say $a } }; A.new.x('foo') | 14:13 | |
p6eval | nom: OUTPUT«Not enough positional parameters passed; got 2 but expected 3current instr.: 'x' pc 317 ((file unknown):42318064) (:1)» | ||
moritz | why does it want 3? | ||
the invocant, $a, and ... ? | |||
PerlJam | jnthn: according to the synopses a class is a package, so that's how people will probably think about them (at least until we get some good docs that tell a different/better story) | ||
moritz | and even if we have good docs, only 10% will read them | 14:14 | |
PerlJam | moritz: well, we're the extended documentation. We re-tell the story in the docs. | ||
14:16
araujo joined
|
|||
jnthn | moritz: You declare the invocant and two more. | 14:16 | |
The invocant, $ and $a. | |||
I think you maybe meant x(A:D $: $a) | 14:17 | ||
moritz | oh | ||
jnthn | But you don't need that $ there | ||
The : is a separator | |||
er, the second colon is ;) | |||
moritz | ah, just no comma after it | ||
jnthn | : is a comma | ||
well | |||
:) | |||
It plays the same role as one :) | |||
14:18
rindolf joined
14:19
estrabd joined
|
|||
dalek | kudo/nom: 9ede977 | moritz++ | src/core/ (2 files): implement ACCEPTS in Str and Numeric |
14:24 | |
14:26
bluescreen10 joined
|
|||
daniel-s | I've tread really hard to read the synopses on packages and modules | 14:26 | |
I don't think it's very clear on what the difference is | |||
(at least not to me) | |||
moritz | daniel-s: same here | ||
daniel-s: I gathered that modules have somehow "more meat" than packages | |||
PerlJam | what moritz said | 14:27 | |
moritz | and that packages are somehow the lowest common divisor of (module, class, role, grammar) or so | ||
PerlJam | or, sometimes I think of it as packages are "historic" and modules are the new Perl 6 way. | ||
moritz | but I don't quite got what exactly it is that a module has that a package has not | ||
jnthn | Also compare github.com/rakudo/rakudo/blob/nom/...kageHOW.pm vs github.com/rakudo/rakudo/blob/nom/...duleHOW.pm | ||
One important thing though | 14:28 | ||
class A::B { } | |||
What is A there? We need to auto-viv *something* to hold B. | |||
That A is a package | |||
daniel-s | because in the synopsis it says that module is supposed to replace package | ||
jnthn | But a package can always "go away" | ||
daniel-s | or something like that | ||
moritz | jnthn: can I export subs from a class? | 14:29 | |
jnthn | daniel-s: You don't really want to use package in your code, I suspect. | ||
daniel-s | but there are also packages | ||
PerlJam | jnthn: so modules have versions and such, but packages do not? | ||
jnthn | moritz: Sure | ||
daniel-s | there's a whole synopsis on packages | ||
jnthn | PerlJam: They have versions, yes. | ||
More importantly though, you could write: | |||
daniel-s | is there a pastbin for pod? | ||
moritz | jnthn: so class is basically a superset of the Module functionality? | ||
daniel-s | one that renders it nicely | ||
jnthn | package A { }; class A::B { }; class A { } | ||
but this is not OK: | |||
module A { }; class A::B { }; class A { } | |||
The class A would be a redeclaration error. | 14:30 | ||
Actually | |||
remove class A::B { } from both examples | |||
And property still holds. | |||
moritz | so, "a package is what you use to stub namespaces"? | ||
jnthn | moritz: Pretty much. | ||
moritz: (functionality) Yeah. Again, see the list of roles: github.com/rakudo/rakudo/blob/nom/...lassHOW.pm :) | |||
PerlJam | at least that jnthn's current understanding ;-) | 14:31 | |
jnthn | All the ones for Module, plus some more. | ||
PerlJam: No, the spec says that too. | |||
moritz | ... just not very clearly | ||
daniel-s | PerlJam: I've started writing a pod about modules | ||
pastebin.com/HndeWJ7M | |||
is it too simple? | |||
PerlJam | there's no such thing as "too simple" | ||
Simple is good. | |||
(IMHO) | |||
daniel-s | also, I intend to describe how to create modules, export functions, import different versions, and some other stuff | 14:32 | |
when I understand the differences between packages and modules, the first thing I'm doing it is writing it down | 14:34 | ||
PerlJam | daniel-s++ great | ||
daniel-s | isn't there somebody who is supposed to just know? | ||
jnthn | nom: class A { }; A.foo | 14:36 | |
p6eval | nom: OUTPUT«Method 'foo' not found for invocant of class 'SixModelObject'current instr.: '_block1002' pc 95 ((file unknown):28421538) (:1)» | ||
PerlJam | daniel-s: There are several somebodies who know I think ... the problem is conveying that knowledge in a way that makes sense and can be relatively easily retransmitted to others. | ||
moritz | daniel-s: on a nearly related topic, I can recommand ttjjss.wordpress.com/2010/08/09/so-...-6-module/ | ||
14:37
bluescreen10 left
|
|||
PerlJam | daniel-s: or think of it this way ... the synopses are supposed to explain this. you've read them, I've read them, moritz has read them, etc. and yet we all have a fuzzy understanding. So ... we probably need to tell the story a little differently. | 14:38 | |
moritz | heh, somebody thinks I read the specs :-) | 14:39 | |
14:43
Trashlord joined
|
|||
tadzik | lichtkind: not really | 14:45 | |
jnthn | moritz: In the patch you just did for ACCEPTS, need to remove the protos. | ||
moritz: Declaring a proto = hide all candidates higher in the inheritance hierarchy. | |||
moritz | oh | ||
and there's a proto in Mu? | |||
jnthn | Yes. | ||
Basically we walk up the inheritance hierarchy to find a proto. | 14:46 | ||
14:46
koban left
|
|||
moritz | I'm slowly starting to see the sense in protos | 14:46 | |
lichtkind | tadzik: you mean panda wasnt really named pies? | 14:47 | |
jnthn | moritz: :) | ||
moritz: The code that does all of that is fairly accessible, fwiw: github.com/rakudo/rakudo/blob/nom/...ntainer.pm | |||
tadzik | lichtkind: I should be back to life in like 17 hours | ||
lichtkind: Panda is an implementation of Pies, Pies like like pls | 14:48 | ||
and back to maths, see you tomorrow :) | |||
lichtkind | yup | ||
thanks | |||
even i understood nothing | 14:49 | ||
tadzik | hm | ||
lichtkind | pies semes to be some protocol | ||
tadzik | more-less | ||
lichtkind | but maybe i just can hack some understanding together by reading the repo | ||
tadzik | Pies is rather like "how it should look like" | ||
lichtkind | bye | ||
tadzik | bye o/ | 14:50 | |
14:50
wamba left
14:51
mtk left
|
|||
moritz | jnthn: it does look very readable. jnthn++ | 14:51 | |
14:52
bluescreen10 joined
14:56
mtk joined
|
|||
dalek | kudo/nom: 95fea15 | moritz++ | src/core/ (2 files): remove those superfluous protos, jnthn++ |
14:56 | |
14:59
daniel-s left
|
|||
dalek | p: ecc33ba | jonathan++ | src/pmc/sixmodelobject.pmc: Ensure error messages for 'method not found' and 'vtable not implemented' include the class name, not just SixModelObject. |
15:01 | |
moritz | \o/ | ||
jnthn | nom needs NQP_REVISION bump to use it | 15:02 | |
15:02
Shozan left
|
|||
jnthn | Will do it later, or feel free to beat me. | 15:02 | |
Or, beat me to doing it, not beat me for not doing it... :P | 15:03 | ||
jnthn gets back to $dayjob-stuff-he-shoulda-done-already :)) | |||
15:06
molaf joined
|
|||
dalek | kudo/nom: 71e6791 | moritz++ | tools/build/NQP_REVISION: bump NQP_REVISION to get better error messages for method not found |
15:06 | |
moritz | yay, I get karma for stuff that jnthn++ implemented :-) | 15:07 | |
15:14
kaare_ joined
|
|||
lichtkind | moritz: buddha said even good karma is karma, wise people seek to have no karma at all :) | 15:15 | |
moritz | lichtkind: I guess I can live with not being wise | 15:16 | |
jnthn | moritz++ # helping me look wiser | ||
lichtkind | moritz: thats very wise :) | ||
jnthn | ;) | ||
TimToady | It's not so wise to add bad karma to your life to offset the good karma... :) | 15:18 | |
15:19
aloha left
|
|||
lichtkind | TimToady: but it works :) | 15:19 | |
15:19
tzhs left
|
|||
TimToady | that depends greatly on what you mean by "works" :) | 15:20 | |
15:20
aloha joined
|
|||
lichtkind | TimToady: sorry to keep nagging but a simple reusage of the 5.6 would not be just fine? | 15:20 | |
15:20
wamba joined
|
|||
lichtkind | there was nothinh version specific in it | 15:20 | |
15:21
molaf left
|
|||
TimToady | could you email me a copy? I might have a chance to look at it today | 15:21 | |
15:21
jdv79 left,
charsbar__ left,
envi_laptop left
15:22
jdv79 joined,
molaf joined
|
|||
lichtkind | TimToady: would gladly but i own only the german translation, i will ask johan | 15:22 | |
15:22
envi_laptop joined
|
|||
lichtkind | TimToady: done | 15:27 | |
15:30
jaldhar left,
hudnix left,
jaldhar joined
15:31
hudnix joined
15:33
rindolf left
15:37
charsbar__ joined
|
|||
jnthn afk | 15:45 | ||
dalek | ecs: 30b46a5 | larry++ | S1 (2 files): be more upfront about class < module < package |
||
moritz | (that larry guy)++ | 15:55 | |
erm, TimToady++ | |||
16:05
thou joined
16:11
woosley left
16:26
bluescreen10 left,
bluescreen10 joined
16:28
spq1 joined
16:29
alester joined
16:39
kevin_ joined
16:52
tokuhirom left
16:54
birdwindupbird left
16:58
dakkar left
16:59
kevin_ left,
lumi_ left
17:03
mj41 left
17:05
Chillance joined
17:12
cdarroch joined,
cdarroch left,
cdarroch joined
17:19
kaare_ left
|
|||
dalek | kudo: 2482447 | pmichaud++ | / (2 files): Add PAST::Stmt nodes to enable temporary register sharing. |
17:25 | |
17:33
daxim left
17:38
cognominal_ joined
17:42
cognominal left
17:56
mj41 joined
18:15
mj41 left
18:21
fhelmberger left
|
|||
tadzik | hello folks | 18:21 | |
colomon | o/ | 18:24 | |
18:30
uniejo left
|
|||
moritz | \o | 18:30 | |
18:34
Bzek left,
mkramer joined
18:40
mkramer left,
GinoMan joined
18:44
rafl joined
18:46
envi_laptop left
18:54
GinoMan left
19:00
alester left
|
|||
sorear | good * #perl6 | 19:06 | |
frettled | My asterisk is very good, thank you, sorear! | 19:10 | |
19:21
bluescreen10 left
19:32
buubot_backup left
19:38
mberends joined
19:43
buubot_backup joined
19:47
uniejo joined,
Reaganomicon left
19:49
fuzzyflounder joined,
fuzzyflounder left,
fuzzyflounder joined
19:58
fuzzyflounder is now known as cooper
|
|||
jnthn | evening o/ | 20:12 | |
sorear | hello jnthn! | 20:13 | |
jnthn | o/ sorear | 20:14 | |
Only 2 days to NPW! :) | |||
sorear | :/ | ||
I won't be there :( | |||
moritz neither | 20:15 | ||
jnthn | It's curious to be on the organizer side rather than the speaker side. :) | ||
jnthn tried being an attendee once too :) | 20:16 | ||
Kept thinking "oh, when's my talk...oh wait...I don't have one here" :) | 20:17 | ||
20:24
masak joined
|
|||
masak | lol hi #perl6 | 20:25 | |
flussence | o/ | ||
sorear | HI masak! | ||
masak | tonight, as jnthn pointed out, is game night :) | ||
flussence | the guy at $dayjob disapproved of me writing tests before code... so I ignored him. And put the tests *in* the code. | 20:26 | |
frettled | flussence++ :D | ||
flussence | (and it turns out cmp_ok is a really nice replacement for ad-hoc debugging checks..) | 20:27 | |
masak | indeed. | ||
sub assert { my ($condition) = @_; die unless $condition } | 20:28 | ||
assert cmp_ok $a, $b; | |||
jnthn | masak! \o/ | 20:30 | |
masak | jnthn! \o/ | 20:31 | |
haven't seen you in quite a while :P | |||
sorear | he's been busy nomming. | 20:34 | |
jnthn | Hey, how'd you know what I've been...oh, wait. :P | ||
masak | oh the polysemy. | ||
jnthn | the WHAT?! | 20:35 | |
oh, not...yeah, I mis-thunk. | |||
frettled | o_O | ||
jnthn | :P | ||
masak | trust jnthn to see more meanings in a word than are actually there :P | ||
jnthn is inventive :) | 20:36 | ||
masak | that's why we put you on implementing Perl 6... :) | ||
TimToady | jnthn is nominative... | ||
masak | jnthna is genetive... :) | 20:37 | |
genitive* | |||
jnthn | I'm quite vocative after beer, and can be a tad accusative when sleepy... :) | 20:39 | |
masak | I'm dative if she is. er. | ||
jnthn | :D | 20:40 | |
masak | wait. this is the public channel. :P | ||
^W ^W ^W | |||
jnthn | .oO( locative fail ) |
20:41 | |
frettled is almost dormative. | 20:42 | ||
masak is almost loquative | 20:43 | ||
frettled | merely almost? | ||
masak | barely merely almost. | ||
hardly. | |||
what was the question again? :) | 20:44 | ||
frettled | are we becoming querulative? | 20:46 | |
masak | figuratively. | ||
in fact, one of my favorite languages is Lative. | |||
20:48
mj41 joined
21:00
dorlamm joined
|
|||
masak | I updated strangelyconsistent.org/blog/june-1...-operators -- adding in some final notes about precedence and junctions. | 21:06 | |
(I don't need junctions for anything, it just felt like a nice place to mention them) | 21:07 | ||
std: SOME_LABEL: loop { next SOME_LABEL } | 21:10 | ||
p6eval | std 37a0cdd: OUTPUT«ok 00:01 119m» | ||
masak | std: SOME_LABEL: { redo SOME_LABEL } | ||
21:10
donri left
|
|||
p6eval | std 37a0cdd: OUTPUT«ok 00:01 119m» | 21:10 | |
masak | TimToady: can I redo/last immediate blocks? | ||
guess not, 'cus they're not loops. | 21:11 | ||
jnthn | You'll hose up inlining of them too :P | 21:12 | |
masak | oh, troo. | ||
jnthn | Well | ||
To the degree that we're not allowed to assume we can detect usage of control exceptions. | |||
I'm not actually sure what the rules are there. | 21:13 | ||
Like, is "no return statement in lexical scope of a sub" = "no return handler needed" a valid optimization. | |||
Trouble is that it's not actually a return statement | 21:14 | ||
It's just a sub call. | |||
tylercur1is | rakudo: my &foo := { return 1; }; sub bar { foo; return 2; }; say bar; # curious | 21:18 | |
p6eval | rakudo 248244: OUTPUT«1» | ||
jnthn | I suspect that behavior is wrong, fwiw. | ||
dalek | ecza: 55018cb | sorear++ | / (4 files): Move add_categorical responsibilities out of STD.add_my_name |
||
ecza: a94e021 | sorear++ | / (10 files): Remove all lexical handling from grammar. |
|||
jnthn | rakudo: my &foo := &return; sub bar { foo 1; return 2 }; say bar | 21:19 | |
p6eval | rakudo 248244: OUTPUT«1» | ||
jnthn | That one is more of a concern. | ||
sorear | I should probably give the grammar a name other than 'STD:ver<6.0.0>:auth<perl.org>'... | ||
masak | sorear: if you're diverging, yes. | ||
you basically don't have dibs on that :auth :) | 21:20 | ||
sorear | (that last commit deleted over 1400 lines \o/) | 21:21 | |
masak | wow | ||
sorear | there are a few kinks left ... make test is warning about unused stuff that it really shouldn't | 21:22 | |
masak | blog post! strangelyconsistent.org/blog/june-15-2011-chomp | ||
sorear | niecza: SOME_LABEL: { redo SOME_LABEL } | 21:24 | |
p6eval | niecza v6-155-gd58f791: OUTPUT«Unhandled exception: Illegal control operator: redo(SOME_LABEL, lexotic) at /home/p6eval/niecza/lib/CORE.setting line 595 (CORE _lexotic @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 599 (CORE redo @ 2)  at /tmp/bH1whppt8T line 1 (MAIN mainline @ 6)  at | ||
../home/p6eval/ni… | |||
masak | right. | ||
sorear | niecza: SOME_LABEL: loop { next SOME_LABEL } | ||
p6eval | niecza v6-155-gd58f791: OUTPUT«(timeout)» | ||
21:24
Reaganomicon joined
|
|||
masak | in my blog post today, I have to explicitly `last` out of a loop just because it's not a do-once loop. | 21:24 | |
I was looking for a better way to do that. | |||
'repeat while True { ... }' is one way, but... | 21:25 | ||
feels like that cure is worse than the disease :) | |||
er, sorry, 'repeat while False { ... }' | |||
lichtkind | masak: cheers, whats your main project currently | 21:27 | |
is there ab opengl binding for parrot/rakudo? | 21:28 | ||
21:29
hudnix left
|
|||
masak | lichtkind: main project currently: blogging. | 21:33 | |
I don't know about the status of OpenGL bindings, but I haven't heard that anyone's working on it. | |||
lichtkind | thanks | 21:34 | |
masak | closest thing I can think of is a blog post Su-Shee did over a year ago. | 21:35 | |
it was about some sort of Perl 6 binding to something. I remember there being a screenshot of a window with graphics in it. | 21:36 | ||
Util | rakudo: my @a = ["a", 1], ["b", 2]; for @a -> [$c, $n] { say "$c $n" } | 21:37 | |
p6eval | rakudo 248244: OUTPUT«a 1b 2» | ||
masak | but it looks like I remember it wrong: sushee.schreibsturm.org/entries/200...kperl.html is about Perl 5, it seems. | ||
Util | rakudo: my @a = a => 1, b => 2; for @a -> [$c, $n] { say "$c $n" } | ||
p6eval | rakudo 248244: OUTPUT«Nominal type check failed for parameter ''; expected Positional but got Pair instead in <anon> at line 22:/tmp/zCMqnE7omE in main program body at line 1» | 21:38 | |
Util | rakudo: my @a = a => 1, b => 2; for @a { say "{.key} {.value}" } | ||
p6eval | rakudo 248244: OUTPUT«a 1b 2» | ||
Util | What signature can I use to unpack pairs, to avoid having to explicitly call .key and .value? | ||
Or is there something like a Pair.kv method? | |||
PerlJam | TIAS :) | ||
masak | Util: it doesn't work yet because Pairs are too parroty. | ||
21:38
dorlamm left
|
|||
masak | Util: will work in nom :) | 21:38 | |
jnthn | orly? | ||
I suspect making Pair Positional is orthogonal... | 21:39 | ||
masak | oh. | ||
jnthn | If we even want to do that. | ||
masak | no, I meant being able to unpack Pairs in siggies. | ||
you can't at present. | |||
jnthn | rakudo: my @a = a => 1, b => 2; for @a>>.kv -> $k, $v { say "$k = $v" } | 21:40 | |
p6eval | rakudo 248244: OUTPUT«a = 1b = 2» | ||
PerlJam | But he can $pair.kv though | ||
masak | oh, sure. | ||
PerlJam | what jnthn said | ||
masak | but not unpacking, which is also nice sometimes. | ||
jnthn | masak: How is unpacking pairs meant to work? | ||
masak: I remember a discussion of this before but not a conclusion... :) | |||
masak | jnthn: Pairs are objects, so like any object unpacking. | ||
jnthn | masak: Ah, you mean [:$key, :$value]? | 21:41 | |
Yes, that'd work. | |||
masak | yeah. | ||
in nom. :) | |||
jnthn | ah, yeah, I can guess why it doesn't in master. | ||
Util | PerlJam: I read that part of S32/Containers yesterday, be did not actually try it. (Chagrin) Thanks. | ||
masak | jnthn: right. | ||
21:41
Psyche^ joined
|
|||
Util | s/be/but/ | 21:41 | |
Thanks all! | 21:43 | ||
21:44
Patterner left,
Psyche^ is now known as Patterner
21:45
wamba left
22:01
dju_ joined
22:02
Tedd1 left
22:03
Tedd1 joined
22:04
dju left
|
|||
Util | $s ~~ /b/ is creating a match object in $/ . | 22:07 | |
Should $s.match(/b) also set $/ ? | |||
(adding missing /) | 22:09 | ||
Should $s.match(/b/) also set $/ ? | |||
masak | I doubt the spec says. | 22:13 | |
22:14
dju_ is now known as dju
22:16
stepnem left
22:19
mberends left
22:20
ShaneC joined
|
|||
sorear | Util: implementation defined, I'd say | 22:20 | |
22:20
ShaneC left
|
|||
Util | Thx | 22:21 | |
22:21
mj41 left
22:24
whiteknight joined
|
|||
masak | 'night, #perl6. | 22:25 | |
22:25
masak left
22:27
stepnem joined
|
|||
lichtkind | andrew++: If the weather is good (no rain), we'll sit'n'roam (or, in Modern Perl it should be written as sit::n::roam) | 22:36 | |
tadzik | oh, I got it just now :) | 22:37 | |
also, lichtkind, I'm more-less there | |||
lichtkind | tadzik: great | 22:39 | |
tadzik: ready to answer something? | |||
ah you mena in riga :) | 22:40 | ||
tadzik | lichtkind: no, not in Riga :P | 22:41 | |
more-less alive and not learning | |||
22:47
leprevost left
|
|||
TimToady | phenny: tell masak methinks you said "right side" when you meant "left side" | 23:04 | |
phenny | TimToady: I'll pass that on when masak is around. | ||
23:06
cdarroch left
23:09
Tene joined,
Tene left,
Tene joined
23:10
Mowah left
23:21
Holy_Cow joined
23:24
avar joined
23:30
ascent_ left,
ascent_ joined
23:34
dalek left,
dalek joined
23:35
phenny left
23:36
_jaldhar joined,
jaldhar left,
y3llow left,
gbacon left
23:37
y3llow_ joined,
gbacon_ joined
23:44
daemon left,
Reaganomicon left,
Reaganomicon joined
23:51
gbacon_ left
23:52
araujo left,
Chillance left,
spq1 left
23:53
[particle] left,
colomon left,
zamolxes left,
szabgab left,
PerlJam left,
apejens left,
drbean left,
Katibe left,
yath left,
moritz left,
Patterner left,
Woodi left,
sftp left,
rafl left,
pothos left,
jedai left,
mikemol left,
kst left,
sorear left,
BinGOs left,
Util left,
starcoder2 left,
barika left,
cotto_work left,
ascent_ left,
Tene left,
ingy left,
pnu left,
amkrankruleuen left,
c1sung left,
cxreg left,
hatseflats left,
miso2217 left,
pyrimidine left
23:54
HarryS left,
kolibrie_ left,
diakopter left,
ggoebel left,
gfldex left,
mattp_ left,
rhr left,
revdiablo left,
bs338 left,
spinclad left,
krunen left,
jlaire left,
estrabd left,
PZt left,
skangas left,
slavik left,
cookys left,
Woody2143 left,
nebuchadnezzar left,
baest left,
estrai_ left,
sjn left,
Krunch left,
renormalist left,
broquaint left,
frodwith left,
zb left,
jdv79 left,
takadonet left,
f00li5h left,
Bucciarati left,
hillu left,
_ilbot left,
benabik left,
tty234 left,
wooden left,
Lorn left,
flussence left
23:55
jjore left,
mathw left,
takesako left,
tadzik left,
sunnavy left,
stepnem left,
dju left,
scottp left,
cotto left,
betterworld left,
Guest87668 left,
meteorjay left,
xinming left,
kcwu left,
szbalint left,
ChrisDennis left,
cschimm1_ left,
robinsmidsrod left,
geekosaur left,
buubot_backup left,
aloha left,
s1n left,
pjcj left,
awwaiid left,
shachaf left,
risou left,
larks left,
tylercur1is left,
Vlavv left,
lue left,
domidumont left,
jnthn left,
yves left,
jql left,
nrr left,
LoRe left,
wolverian left,
whiteknight left,
mtk left
23:56
tomize left,
alyx left,
frettled left,
sivoais left,
jtpalmer left,
ribasushi left,
snarkyboojum left,
Holy_Cow left,
icwiener left,
TiMBuS left,
clkao left,
breinbaas left,
kfo left,
jerome left,
lestrrat left,
TimToady left,
pochi left,
jesk left,
mux left,
llabthgie left,
avar left,
krakan left,
mdxi left,
felher left,
cooper left,
uniejo left,
Su-Shee left,
starcoder left,
Pathin left,
jasonmay left,
Helios left,
Grrrr left,
_patch left,
nsh| left,
thou left,
Trashlord left,
pmichaud left,
Maddingue left,
REPLeffect left,
simcop2387 left,
bbkr_ left,
foomator left,
beppu left,
prammer left,
silug left,
Yappoko__ left,
ashleydev left,
eternaleye left,
jdhore1 left,
Raynes left,
JodaZ left,
athomason left,
y3llow_ left,
Tedd1 left,
cognominal_ left,
Eevee left,
_sri left,
ruoso left,
PacoLinux left,
sjohnson left,
yahooooo left,
slavik1 left,
huf left,
sbp left,
arnsholt left,
molaf left,
lichtkind left,
noganex left,
gabiruh left,
felipe left,
tomaw left,
Gothmog_ left,
literal left,
perplexa left,
daemon joined,
dalek left,
aindilis` left,
aindilis` joined,
dalek joined,
p6eval left,
daemon left,
daemon joined,
p6eval joined
|