perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend! Set by moritz_ on 4 May 2009. |
|||
ruoso | but that is different in syntax level | 00:00 | |
jnthn | Oh, you think that is handled syntacticly? | ||
ruoso | that's what the spec says | ||
jnthn checks the smart-match table | |||
(or where else should I look?) | |||
ruoso | the smart-match table indeed | ||
the first is compiled as 42.does(Int) | 00:01 | ||
jnthn | ruoso: It's not in the top bunch of entries that are syntactic forms though? | ||
ruoso | jnthn, I think we already had that conversation... ;) | ||
jnthn | Yeah, did we ever get an answer? | ||
ruoso | I guess it was that the entire table counts | 00:02 | |
jnthn | It can't be. You can't syntactically know what's in $scalar. | ||
And that means we can't go syntax-based on protos either. | |||
rakudo: my $foo = Int; say 42 ~~ $foo; | |||
p6eval | rakudo 615936: OUTPUT«1» | ||
jnthn | If you just went on syntax we'd get the wrong answer there. | 00:03 | |
ruoso | and that's calling .ACCEPTS | ||
jnthn | Yes, but how do you differentiate Int.ACCEPTS(42) from 1.ACCEPTS(42)? | 00:04 | |
Other than something somewhere knowing that some methods just need to dispatch differently? | |||
ruoso | hmm.... | ||
I wasn't really thinking on that in terms of Int.ACCEPTS | 00:05 | ||
but... wouldn't that be solved by the multi dispatch of ~~ ? | |||
multi infix:<~~>(Any $x, Abstraction $y) { $x.does($y) } | 00:06 | ||
jnthn | Smart-match isn't supposed to be multi-dispatch though. | 00:07 | |
ruoso | hmm.... | ||
jnthn | Plus it doesn't solve the ACCEPTS case | 00:08 | |
In Rakudo we've got away with this so far because our proto-object had a different type. | |||
(Basically, a mix-in to an instance of the type) | |||
ruoso | well... ACCEPTS itself could test for definedness | 00:09 | |
jnthn | We already said definedness doesn't tell us about proto-ness, and that's mean we make every ACCEPTS method on every type aware of the difference. | ||
Basically we need to dispatch ACCEPTS somehow differently on a type object than on an instance. | 00:10 | ||
Despite them still being the same type. | |||
Catching it in the dispatch is the best I've thought of so far on that though. :-| | |||
ruoso | ok... we're moving to the second question without answering the first | ||
how do we know it's a type object or just an bare undefined value | 00:11 | ||
jnthn | My suggestion is that it claims that it does Abstraction. | ||
ruoso | we're going in circles | ||
heh | |||
how does it know it is a type object | |||
? | |||
jnthn | That's probably a decision for the representation? | 00:12 | |
(e.g. "do I have instance storage" seems to be a sensible way to do it in P6opaque) | |||
ruoso | er... | ||
so a type object is an object without instance storage | |||
jnthn | That seems to be to be the way you're doing it in smop? | 00:13 | |
OK, you're basing your default .defined off this too. | |||
But that's the test that .defined in the repr is currently based on, if I understand correctly? | |||
ruoso | I didn't care so much about that, actually... in fact you could even use a defined object as the type object ... | ||
in fact... that's what happen when you do a runtime mixin | 00:14 | ||
but yes, .defined delegates to .^defined that usually will delegate to .^!instance_storage | |||
jnthn | OK, so I think we agree at this point that .defined isn't our way of saying "is this a type object"? | 00:15 | |
ruoso | yeah... | 00:16 | |
but the question is... | 00:17 | ||
what defines a type object? | |||
I mean... | |||
in SMOP I mostly didn't care so far... | |||
jnthn | :-) | ||
ruoso | because a type object was simply something I used as a type object | 00:18 | |
I never needed to define it per e | |||
*per se | |||
jnthn | Aye. That only holds for so long, and Rakudo is a long way beyond that point. :-) | ||
ruoso | does that mean you already know how to do it? | ||
:) | 00:19 | ||
jnthn | Well, I know how we are doing it today, but it isn't really in line with S12. | ||
(Which is that our proto-object is an instance of the class + a mix-in, which means it's of a different type) | 00:20 | ||
ruoso | yeah... it certainly doesn't fit with a more prototype-based OO... which seems where you're heading to | ||
jnthn | Plus S12 says that that the type object is of the same type. | ||
Plus I've seen a couple of places where us not having them being the same type is liable to trip us up. | 00:21 | ||
ruoso | ok... | ||
jnthn | Plus I don't know that it fits too well with the whole meta-class vs representation model. | ||
Which seems to require something more prototype-ish. | |||
ruoso | let's examine why we need to define them per se | ||
instead of just defining them by the way we use them | |||
where does that bite us? | 00:22 | ||
I mean... why do we need an Abstraction role? | |||
jnthn | I guess that partly arises out of the "all sigils (but $) imply a role". | 00:23 | |
So ::T = ... would want the RHS to do Abstraction | |||
ruoso | but :: isn't really a sigil | 00:24 | |
in fact ::T is explicitly saying T without a sigil ;) | |||
jnthn | Yeah, :: is a bit special. | ||
I'm not sure we need an Abstraction role per se. | |||
ruoso | right... | 00:25 | |
jnthn | It is, however, handy. | ||
ruoso | why do we need to test if this is a "type object" or not? | ||
jnthn | During the parse we most certainly need to know what is a type object. | ||
ruoso | but during the parse we know by their name, not by themselves | ||
jnthn | Not for stuff in the package, which will have been fully compiled when we did a "use" of the module they were in. | 00:26 | |
ruoso | you still need a header-like information for that symbols, don't you? | ||
jnthn | But yes, sometimes it goes off known names too. | ||
We don't have one. | 00:27 | ||
In the pre-compiled case, that's even trickier to get. | |||
We rely in the parse on being able to know if something is a type or not, and I don't see that changing. | |||
Both by checking names we know, and by falling back to looking at the thing. | 00:28 | ||
ruoso | what happens if we neglect the fallback? | ||
jnthn | We parse wrongly. | ||
And then generate the wrong code. | 00:29 | ||
And then we fail it. :-) | |||
ruoso | hmmm.. | ||
wouldn't it be more elegant if we had a header-like information? | |||
since we can't really define what the fallback needs to look for... | 00:30 | ||
jnthn | And anyway, we already had a case (Int.ACCEPTS(42) vs 1.ACCEPTS(42)) aside from this one where it matters whether it's a type object or not. | ||
(because we need to dispatch .ACCEPTS differently) | |||
ruoso | ok... | 00:31 | |
jnthn | What the fallback needs to look like is going to be a tad implementation-dependent too. | ||
ruoso | what's the difference between... | ||
my Int $x; 1 ~~ $x; | |||
jnthn | In Rakudo, we're going to have to care about things from other langauges too. | ||
ruoso | my $x = Int; 1 ~~ $x; | ||
jnthn | Difference in result? None. | 00:32 | |
Difference is that the first constraitns $x and the second doesn't. | |||
ruoso | did you read the code carefully? | ||
jnthn | Yes. | ||
ruoso | at the first I just have an uninitialized value | ||
and the second I explicitly set Int | 00:33 | ||
semantically... it's very much different | |||
jnthn | No, if you have a typed variable it's initialized to the proto-object. | ||
ruoso | exactly... | ||
jnthn | That's now my Dog $fido .= new() works. | ||
Either way, $x ends up containing Int. | |||
ruoso | my question is wether 1 ~~ $x should ever be understood as a type check | ||
jnthn | yes yes yes | 00:34 | |
Because it means $x.ACCEPTS(1) | |||
Which is *exactly* what the multi-dispatcher and everything else involved in type-checking hangs off in Rakudo. | |||
ruoso | considering it means $x.ACCEPTS(1) | ||
should it do a type check in that ACCEPTS call? | 00:35 | ||
I mean | |||
1 ~~ $x is a type check | |||
sorry | |||
1 ~~ Int is a type check | |||
syntatically | |||
the parser can figure that out... | 00:36 | ||
jnthn | I don't quite see what you're getting at. | ||
This isn't syntactic. | |||
ruoso | ok... let me try to ellaborate a bit more... | ||
00:36
nihiliad left
|
|||
ruoso | I'm trying to see how far the idea of not being able to define the type object per se can go | 00:37 | |
and in that process | |||
I'm contemplating the idea that | |||
my Int $x; 1 ~~ $x; | |||
should be false | 00:38 | ||
because the ACCEPTS of Int is always the same | |||
so you're comparing 1 with undefined | |||
and that's false | |||
jnthn | And for 1 ~~ Int|Str | 00:39 | |
Now we have to recognize that syntactically too | |||
? | |||
ruoso | well.. there we have a junction | ||
ok.. I see what you mean | |||
jnthn | It's interesting to contemplate what happens if we say we don't have a way of knowing whether something is a type object or not by looking at it. | 00:40 | |
But having spent the last year thinking a lot about and implementing a lot of Perl 6 type-based stuff, I just don't think it's going to fly. | |||
ruoso afraid we're going to end up with a .^!abstraction flag | 00:41 | ||
00:42
wollmers left,
wollmers joined
|
|||
jnthn | There's just too many places I can think of that it matters, where it gets really hard to see where I'd go with those if we decided it didn't matter. | 00:42 | |
00:42
cwe_Q17dh-aYEn joined
|
|||
ruoso | so, from the user perspective... | 00:42 | |
what defines a type object? | |||
is that something declared with class/role/etc? | |||
jnthn | So far my list of type-ish things are: | 00:43 | |
00:43
cwe_Q17dh-aYEn left
|
|||
jnthn | * classes | 00:43 | |
* roles | |||
* subsets | |||
* enums | |||
I think that's abou tit. | |||
ruoso | ok... besides the ^!abstraction flag (which might be the actual solution here) | 00:44 | |
there's one thing we could try | 00:45 | ||
00:45
bacek joined
|
|||
ruoso | which is about the process of getting it by its name | 00:45 | |
jnthn | More...? | 00:46 | |
ruoso still trying to find how to explain the fuzzy idea he just had | |||
jnthn | Remember that some of our type-ish things can also be anonymous. | 00:47 | |
ruoso | like mixins in the undefined value... | ||
my Int $x; $x does Bar; | |||
> | 00:48 | ||
? | |||
jnthn | That (in Rakudo) takes the type of $x, derives a subclass that does the role, and re-blesses $x into the new type. | ||
I'm aware in smop you can probably do that in a different kinda way. | |||
ruoso | I can mixin in the object itself | 00:49 | |
jnthn | Sure. We have backends that differ in there proto-oo-ness. :-) | 00:50 | |
(Which is a good thing, since if we want to see Perl 6 on other VMs, they differ in their levels of proto-oo-ness too.) | |||
ruoso | but the question here really is... | ||
jnthn | *their | ||
But basically a mix-in in Rakudo changes the type. | 00:51 | ||
ruoso | rakudo: my Int $x; say $x === Int; | ||
p6eval | rakudo 615936: OUTPUT«1» | ||
ruoso | rakudo: my Int $x; say $x =:= Int; | ||
p6eval | rakudo 615936: OUTPUT«0» | ||
jnthn | =:= Int is about container identify IIRC | ||
ruoso | right... | ||
jnthn | That should maybe even fail because the RHS isn't a container. | ||
ruoso | rakudo: my Int $x; say $x.WHICH, Int.WHICH; | ||
p6eval | rakudo 615936: OUTPUT«-1240611912-1240611912» | 00:52 | |
jnthn | Right, which is why === gives the same. | ||
ruoso | but should it be the same? | ||
jnthn | Yes. | ||
$x is just initialized to Int | |||
(which is undefined) | |||
(because it's a type object) | 00:53 | ||
ruoso | ok... which undefined values are not types then? | ||
jnthn | class Foo { method defined { False } }; Foo.new # <-- undefined | 00:54 | |
ruoso | right | ||
hatseflats | perl6 has support for coroutines, right? | ||
jnthn | It's getting later here. I suspect best will be to both go away and think on it a bit. | ||
And hope that TimToady will show up with a magic answer in the meantime. ;-) | 00:55 | ||
ruoso | yeah... my mind is kinda foggy... | ||
better sleep... | |||
jnthn | Yeah, and you're a few timezones over from me. :-P | ||
ruoso | but I have a 5-mo old baby in the house ;) | 00:56 | |
hatseflats | actually, never mind that, what happens when I call coroutine x { statement; yield 5; } two times? | ||
00:56
eternaleye joined
|
|||
jnthn | Ah, I can imagine that serves as quite a sleep-spoiler, but nice in many other ways. :-) | 00:56 | |
hatseflats | in this case, please ignore the fact that that's probably not proper perl :) | ||
00:56
bacek__ joined
|
|||
ruoso | jnthn, no doubt about that ;) | 00:57 | |
jnthn | hatseflats: I'm not sure what the status of coroutines in Perl 6 are at the moment off the top of my head. | ||
ruoso | hatseflats, Perl 6 doesn't have explicit coroutines | ||
jnthn | Last I knew S17 had the most info. | ||
ruoso | although you can easily implement them | ||
but the language itself won't provide the "coroutine" construct | |||
jnthn | OK, night all | ||
hatseflats | nite jnthn | 00:58 | |
ruoso | it should be fairly easy to implement it in a module tho | ||
hatseflats | what I'm trying to figure out is, is the default behavoir of a coroutine an implied for(;;) loop, or does the syntax break if you reach the end of your coroutine without yielding | 00:59 | |
ruoso | hatseflats, that will be up to whoever implement the coroutine module... | 01:00 | |
and we're probably going to have more than one | |||
hatseflats | no concensus as of yet then, ookay | ||
ruoso | there is consensus | 01:01 | |
the consensus is that it is not part of the language core | |||
because maintaining the state of the coroutine raises concurrency issues... | 01:02 | ||
and semantic issues as wel | |||
hatseflats | and thus leave the implementation up to whoever writes a mod for it | ||
ruoso | exactly... we do know that the language provides all the runtime features to implement all coroutine models I'm aware of | ||
hatseflats | hmhm | 01:03 | |
just for shits 'n giggles, top off your hat, name one of the concurrency issues | 01:04 | ||
I can't deduce one myself :( | |||
ruoso | considering you have a coroutine named foo | ||
therefore registered in the lexical scope as &foo | 01:05 | ||
hatseflats | yeah | ||
ruoso | therefore available for code that can be running asynchronously | ||
how do you know which state of &foo will it call when each of those codes call it? | |||
hatseflats | yep, that's one | ||
ruoso | hatseflats, are you aware of the gather/take construct? | 01:06 | |
hatseflats | not by name | ||
ruoso | hatseflats, perlcabal.org/syn/S04.html | 01:07 | |
perlcabal.org/syn/S04.html#The_gath...ent_prefix | |||
hatseflats, it's almost the same as a coroutine, but it's not a routine and it maintain its state in a lazy list... | 01:09 | ||
hatseflats | I see | ||
hmm | 01:10 | ||
01:33
ab5tract joined
01:43
silug left
01:44
Whiteknight left
01:55
chid joined
02:03
japhb left
02:04
viirya joined
02:05
PhatEddy left
02:06
nihiliad joined
02:09
chid left
|
|||
s1n | ruoso: congrats on the gsoc, i hope that works out well and reignites smop development | 02:13 | |
ruoso | s1n, thanks... | 02:14 | |
02:29
mizioumt left
02:46
Kisu joined,
Kisu left
02:47
Kisu joined,
Kisu left
02:48
Kisu joined
02:49
cspencer joined
02:50
cls_bsd left
|
|||
cspencer | rakudo: (a x=> 2).say | 02:54 | |
p6eval | rakudo 615936: OUTPUT«Could not find non-existent sub acurrent instr.: '_block14' pc 61 (EVAL_16:47)» | ||
cspencer | rakudo: 'a' X=> 1 | ||
p6eval | rakudo 615936: OUTPUT«Statement not terminated properly at line 1, near "X=> 1"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | 02:55 | |
03:01
hercynium left
03:11
japhb joined
03:20
donaldh left,
donaldh joined
03:39
orafu left
03:40
orafu joined
03:42
silug joined
|
|||
s1n | ruoso: so is there any documentation that indicates what's going on with smop? there's lots of pieces to that and i was always kind of curious about it | 03:43 | |
03:57
viirya left
04:00
justatheory joined
04:13
justatheory left,
cdarroch left
04:17
justatheory joined,
jrockway joined
04:18
mikehh_ is now known as mikehh
04:19
justatheory left
|
|||
s1n | TimToady: i question the need for Str.words (S32:389) when it will most likely only ever be useful in the most basic case. i'm not sure you should clutter the spec with that | 04:21 | |
04:43
H1N1[A] left
|
|||
TimToady | I think it will be used frequently enough in the first code other people see that it's worth it for readability | 04:46 | |
jnthn: I wouldn't mind a valid bit of some sort that is returned by .defined by default. | 04:47 | ||
04:47
bacek left
|
|||
TimToady | assuming the storage itself doesn't indicate validity | 04:47 | |
so .ACCEPTS only works on the value if it's valid | 04:48 | ||
otherwise it looks at the .WHAT (which probably matches the cases of smartmatching failures as well) | |||
er, that was not well put... | 04:49 | ||
but anyway, I think the bit is on data validity more than abstraction. | |||
or maybe there's two bits | |||
I really don't mind bits--I hope there's a taint bit in there too :) | 04:50 | ||
later & | |||
04:56
mikehh left,
cspencer left,
mikehh joined
04:59
H1N1[A] joined
05:02
H1N1[A] is now known as H1N1[S]
|
|||
s1n | TimToady: you could alternatively rename it, as .words() is very misleading | 05:09 | |
05:16
mikehh_ joined,
mikehh left,
mikehh_ is now known as mikehh
05:28
bacek joined
05:29
nihiliad left
05:37
ejs joined
05:38
cls_bsd joined
05:41
skids left
05:49
ab5tract left
06:02
ejs left
06:05
mikehh left
06:07
Rolo joined
06:08
Rolo is now known as Kyosuke_Kiryu
06:10
cls_bsd left
06:16
mikehh joined
06:46
azawawi joined
|
|||
azawawi | good localtime() | 06:46 | |
moritz_ | greetings. | 06:47 | |
07:09
DemoFreak joined
07:13
kst left
07:14
azawawi left
07:20
donaldh left,
donaldh joined
07:22
mberends joined
|
|||
spx2 | moritz_: hi | 07:27 | |
moritz_: read the blackjack article , that was pretty awesome | |||
why isn't there a project for documenting p6 ? | 07:28 | ||
moritz_: is the test suite of p6 written and you just have to write code so that all tests pass ? | |||
moritz_ | spx2: there is. | ||
spx2 | moritz_: or not even the test suite is complete yet ? | ||
moritz_ | spx2: it's not finished yet, no | 07:29 | |
spx2 | is there any empirical possible way of telling when the hell it's going to be done ? | ||
so I can know if it's worth starting to learn it or not | |||
07:31
viirya joined
|
|||
moritz_ | you can extrapolate the number of passing tests... | 07:31 | |
I did that on perlmonks somwhere, let me find that thread for you.. | |||
spx2 | moritz_: that would be fantastic | 07:32 | |
moritz_: I'd really like to take a look | |||
moritz_ | spx2: see www.perlmonks.org/?node_id=751341 | 07:33 | |
wollmers | spx2: Failed 7/381 test programs. 18/13580 subtests failed. | ||
spx2: on my desktop with a fresh pull of rakudo | |||
spx2 | ok how long does it take to carry out all the tests ? | 07:34 | |
moritz_ | 7 test programs? what did you do? ;-) | ||
spx2: about half an hour on my machine... rakudo is still very slow | 07:35 | ||
wollmers | moritz_: git pull; make clean; make; make spectest; | ||
moritz_ | IMHO it's already worth playing around with | ||
spx2 | moritz_: how experienced are you in order to be able to write code on it ? I think you already know it's grammar pretty well and you have actually written parts of the language and that is probably the reason why you would find it easy to write in it | 07:36 | |
07:39
iblechbot joined
|
|||
moritz_ | spx2: I've been hanging around here for 2.5 years or so, reading other people's code... but if you know Perl 5 it's not so hard to get started | 07:39 | |
arnsholt | rakudo: my @a = ['a', 'b', 'c']; say @a.perl; | 07:40 | |
p6eval | rakudo 615936: OUTPUT«[["a", "b", "c"]]» | ||
arnsholt | Is that correct behaviour? | ||
moritz_ | spx2: and I try to blog about it so that others can learn from my experience ;-) | ||
arnsholt: yes | |||
arnsholt | Right ho. | 07:41 | |
moritz_ | arnsholt: you assing a scalar to an array, making it the only element | ||
rakudo: my @a := [<a b c>]; say @a.perl | |||
wait | |||
p6eval | rakudo 615936: OUTPUT«["a", "b", "c"]» | ||
moritz_ | ah yes | ||
with binding you replace the array | |||
arnsholt | Right. Now I see the difference between () and [] | 07:48 | |
07:50
meppl joined
07:56
cls_bsd joined
|
|||
wollmers | rakudo: my $j = 1|2; say ~WHAT($j); | 08:06 | |
p6eval | rakudo 615936: OUTPUT«Junction()» | ||
wollmers | moritz_: should it return 'Junction()' or 'Junction'? | 08:08 | |
moritz_ | the parens are correct | 08:10 | |
wollmers | moritz_: says 'Junction' on my desktop, so something with my local build went wrong. This explains the failed tests. | 08:14 | |
moritz_ | wollmers: maybe your parrot is out of date? | 08:15 | |
'make parrot' | |||
wollmers | Yes, assumed the same. | ||
moritz_ | we really need warnings in that case | 08:21 | |
wollmers | now got the faults at execution, rebuild rakudo | 08:26 | |
warnings, or include a distinctive version of parrot into rakudo | 08:27 | ||
same for spectest - include instead of svn update | 08:28 | ||
moritz_ | for releases, yes | ||
for development: no | |||
wollmers | ACK | ||
moritz_ | and since Rakudo's releases target Parrot's releases, there's not much point in including it | 08:29 | |
but the last rakudo release did include a copy of the spec tests | 08:30 | ||
wollmers | IMHO Rakudo and Parrot are very comfortable to build compared to other projects | 08:32 | |
didn't try all, but failed spectests work now with fresh parrot | 08:35 | ||
08:39
goksie joined
08:42
[particle]1 joined
|
|||
pugs_svn | r26710 | azawawi++ | [S:H:P6] version 0.53 contains the latest STD | 08:50 | |
08:52
goksie left
09:00
[particle] left
09:06
bacek__ left
09:11
masak joined
|
|||
masak | greetings, spec-camels. | 09:12 | |
09:12
breinbaas left,
breinbaas joined
|
|||
moritz_ | aren't we spec bugs now? (see perl6-projects.org) ;-) | 09:12 | |
masak | we're definitely in a larval stage still... | 09:13 | |
rakudo: say 3 ~~ ["a", "b", "c"] | 09:14 | ||
p6eval | rakudo 615936: OUTPUT«0» | ||
masak | there are some factual inaccuracies in en.wikibooks.org/wiki/Perl_6_Progra...t_Matching | 09:15 | |
moritz_ | masak: feel free to improve them ;-) | ||
masak | I'm discouraged to go in and fix them, because the edits are held in quarantine. | ||
someone else might be more inclined. | |||
09:16
bacek left
|
|||
masak | I think I've gotten too much of a taste for immediate improvement to accept quarantines. | 09:16 | |
everything else around here is immediate. :) | |||
moritz_ | masak: maybe to talk to WhiteKnight on #parrot, I think he did some of the wikibook | 09:17 | |
masak | ah. yes. | ||
we might throw out the onion background while we're at it. it's the ghastly tiled background of the 00's. | 09:19 | ||
mberends | mmorning mmasak | 09:20 | |
masak | morning mmberends | ||
is that a pumpkin in your pocket...? | |||
mberends rolls the pumpkin onto masak's desk | 09:22 | ||
could you finish the updates you were doing to proto? eg Installer.pm line 304: .map(*.trim)})\ | 09:23 | ||
masak | already fixed. | ||
I hope I pushed that, though. | |||
oh, seems I didn't. | |||
it's pushed now. | |||
sorry. :/ | |||
mberends | :) forgiven | ||
masak | I have a feeling Installer.pm will break apart into at least two smaller units. | 09:24 | |
I'm thinking of WTOP as a use case. | |||
it will want to ask proto about all installed projects. | |||
mberends frowns | |||
masak | that's not specifically an installer task. | ||
it's more of a projects-db task. | 09:25 | ||
mberends frowns more deeply | |||
masak | do not want? | 09:26 | |
mberends | yes, but .HOW ? | ||
masak | that's the 1e6-$ question. | ||
09:26
eternaleye left,
jnthn left,
buu left,
hcchien left,
Maddingue left
|
|||
masak | all the information we want is contained in %!project-info. | 09:27 | |
maybe we just make it a separate class instead of a hash. | 09:28 | ||
in the absence of user-defined ops, we'll have to access it through methods, but that's no problem, as workarounds go. | |||
09:29
krukk joined,
jnthn joined,
eternaleye joined,
hcchien joined,
Maddingue joined,
buu joined,
irc.freenode.net sets mode: +o jnthn,
krukk left
|
|||
mberends | would you settle for that, and the existence of the installed directory as proof that it's been installed? (what's the simplest thing that could work?) | 09:29 | |
masak | I think it's all we _can_ assert. | 09:31 | |
...with reasonable certainty, at least. | |||
mberends | but just a random mkdir would throw it :/ | ||
masak | that still doesn't catch interruptet downloads, for example. or random mkdirs. | 09:32 | |
but we're not building the ultimate solution here. | |||
we're building something that works for the great majority. | |||
a random mkdir, simple though it may be, can be considered conscious sabotage for now. | |||
mberends | yes, agreed. Installer.pm still unhappy, BTW | 09:33 | |
masak | OH! | ||
masak checks | |||
mberends | line 304: meaning .map({*.trim})\ ? | 09:34 | |
masak | no, the {} should be implicit by the * | 09:35 | |
I thought I fixed that... | |||
oh, there's an extra ) as well. :/ | 09:36 | ||
jnthn | H H | 09:37 | |
mberends | O AI jnthn | ||
masak | jnthn: Rakudo Da... oh, that was tomorrow. :) | 09:38 | |
there, pushed. | 09:39 | ||
masak installs faz to see that proto really works | |||
jnthn | masak: Yeah, but I've so little other work at the moment most days I'm doing Rakudo stuff. | 09:41 | |
I'm afraid a lot of it is currently a bit "behind the scenes" as it were though. | |||
masak | that's ok. | 09:42 | |
that's important too. | |||
mberends hapy dat proto workz hear | |||
masak feels he should review his push policy | 09:43 | ||
mberends: here, a pumpkin. | |||
it was lying on my desk while I was about to $work. | 09:44 | ||
mberends likes pumpkins but thinks better git-fu would be superior | |||
masak | oh, and the 'precompiling..' message doesn't have a corresponding newline later on. | 09:45 | |
mberends | nah, it was documented as a "delete me when I irritate you" line | ||
masak | re git-fu: I think I was just distracted last night. doing mostly Rakudo hacking, not focusing on proto. | ||
mberends: what does that mean, then? | 09:46 | ||
I think for consistency it should say 'Building proto...'. | |||
mberends | it's optional whether you want to keep the precompiling message or turf it out | ||
masak | I also think that WTOP dictates that we eventually create a configure and a Makefile.in for proto... | 09:47 | |
mberends | yes, but as we get along without one, it's currently future cruft | 09:48 | |
masak | it's on our list of technological debt. | 09:49 | |
mberends | re: the Configure name, I agree that Configure.p6 looks wrong, but am not convinced about no extension at all, because that file doesn't know how to execute itself. | 09:51 | |
I would suggest Configure.pl, and let the 'use v6;' do its work. | 09:52 | ||
masak | I don't think I care enough to argue against that. :) | 09:54 | |
I don't like extensions generally, but if it makes some Windows user happy, then let's have .pl | |||
mberends | :) will do, and add Gitorious support now. | 09:55 | |
masak | nice. | 09:56 | |
Matt-W | Morning | 10:04 | |
mberends | mmmorning MMMatt-W | 10:05 | |
masak | rakudo: say 'm' x 10 ~ 'orning!' | 10:07 | |
p6eval | rakudo 615936: OUTPUT«mmmmmmmmmmorning!» | ||
10:07
cls_bsd left
|
|||
spx2 | anyone here ever used IPC::ShareLite in p5 ? | 10:08 | |
mberends | spx2: no, but it interests me | 10:10 | |
spx2 | mberends: really ? | ||
mberends: do youneed shared memory operations ? | 10:11 | ||
mberends | yes, because I had some multitasking stuff, and multithreading was not always the right answer. | 10:12 | |
it's been a while since I worked on that though, Perl 6 got me quite distracted ;) | |||
spx2 | so , if multithreading was not the right answer , how did you implement ? | ||
poe ? | 10:13 | ||
mberends | I didn't move to poe yet because it looked like too much sledgehammer for a little nut at the time. Today I would seriously look at POE before re-inventing the wheel (pun intended). | 10:14 | |
the application was a database backend with a web server and multiple scheduled tasks. Sharing the database connection was a problem in threads. | 10:16 | ||
10:16
bacek joined
10:17
Kyosuke_Kiryu left
|
|||
spx2 | well it's almost the same for me | 10:17 | |
10:17
viirya left
|
|||
spx2 | except that I have some other things also to do | 10:17 | |
anyway I was very disapointed in IPC::ShareLite and I gave it a bad rating here cpanratings.perl.org/dist/IPC-ShareLite | 10:18 | ||
mberends | spx2: I see. Is the maintainer active? (a bit off topic for #perl6). There are people here looking at making POE equivalents for Perl 6 though. | 10:21 | |
spx2 | the maintainer not sure | 10:23 | |
I think I tried to email him | 10:24 | ||
but didn't get any answer | |||
mberends | well Perl 6 does not do shared memory today and it does not seem to be a priority. Rakudo would depend on Parrot doing it first, and that's not very evident either. | 10:26 | |
10:30
Kisu left
10:31
Kisu joined
|
|||
mberends | spx2: reading the other (happier) CPAN rating and the IPC::Sharelite docs, it is Lite and shares only scalars, not objects as you desire. Your usage is out of spec and criticism unfairly harsh. Try the other modules mentioned instead. Anyway, enough P5, sorry. | 10:37 | |
10:42
mikehh_ joined
10:47
iblechbot left
10:48
ruoso left
10:57
mikehh left
10:58
payload left,
fridim joined
11:02
H1N1[S] is now known as H1N1[A]
|
|||
pmichaud | Good morning. | 11:09 | |
mberends | good am, pm | 11:10 | |
jnthn | morning pm | 11:12 | |
11:16
fridim left
|
|||
pmichaud has a few minutes waiting at the airport. :-) | 11:17 | ||
11:20
donaldh left,
donaldh joined
11:22
fridim joined
11:23
pancake joined
|
|||
pmichaud | well, time to board. bbl. | 11:29 | |
11:33
breinbaas left,
breinbaas joined
|
|||
arnsholt | baest: Was it you who was interested in my SQL grammar thing? | 11:34 | |
baest | arnsholt: it was | ||
arnsholt | Just pushed the first stuff to git://github.com/arnsholt/SQL-Grammar.git | ||
baest | arnsholt: uh nice | 11:35 | |
arnsholt | If you're still interested that is. It's ludicrously basic, but at least people can look at it if they want | 11:36 | |
baest | arnsholt: I am. I will have a look in the weekend. Maybe send you some patches if I have time and is inspired :) | ||
arnsholt | Sure. And patch away. There's mountains of stuff to do =) | 11:37 | |
11:37
hanekomu joined,
hanekomu left
|
|||
baest | arnsholt: regarding your readme, I'm not sure that it's possible to avoid actions at all, but it's not that bad | 11:45 | |
11:46
mizioumt joined
|
|||
jnthn | oh noes! news.bbc.co.uk/2/hi/technology/8037688.stm | 11:47 | |
arnsholt | baest: I don't want to avoid actions as such, I'd just like to override the default parse method with a method that automatically supplies the action object | ||
baest | arnsholt: yes, I just saw that in the code, sorry | 11:48 | |
jnthn | .oO( And I thought DNF was going to be Perl 6's killer app ) |
||
arnsholt | And then passes the call on to Grammar.parse, but for some reason I can't get the dispatch to Grammar.parse to work properly | ||
baest | jnthn: I've already heard the "oh then perl6 might be release before duke nukem forever anyways"-joke | ||
jnthn | ;-) | 11:49 | |
I thought Duke Nukem Forever was taking so long because they wanted to write it in Perl 6. :-) | |||
arnsholt | I think the joke will be on the doubters though, when they suddenly realise that Perl 6 has come into existence, right under their noses =) | 11:50 | |
baest | arnsholt: might be that there are some trickery going on. Have you looked at the outputted pir | ||
arnsholt | Not yet. My primary focus has been just getting the bare basics sort-of working | 11:52 | |
I'll do that though | |||
11:55
amoc joined
|
|||
masak | Duke Nukem Forever will be written, one way or the other. The idea is too concrete to just fizzle away. | 12:04 | |
12:06
Casan joined
12:08
mizioumt1 joined
|
|||
baest | masak: so when are you ready with it written in perl6 :) | 12:10 | |
12:10
mizioumt1 left,
mizioumt1 joined
|
|||
masak | baest: we'll see. I have a couple other projects right now taking priority. | 12:10 | |
baest: in fact, I have a very nice idea for a MUD framework that I've been thinking about since 2003, that is more or less waiting for Perl 6 to mature. | 12:11 | ||
baest | masak: :) | ||
masak | rakudo: my Int $n = +("foo 5 bar" ~~ / foo (\d+) bar / and $0); say "you can assign numified matches to Int variables" | 12:14 | |
p6eval | rakudo 615936: OUTPUT«Type mismatch in assignment; expected something matching type Int but got something of type Num()current instr.: 'die' pc 16547 (src/builtins/control.pir:225)» | ||
masak | :( | 12:15 | |
12:15
mizioumt left
|
|||
masak | maybe I have unreasonable expectations on the type system, but I think that the "scalar types" (Str, Num, Int...) should be flexible and do some kind of "late binding", allowing things like the above to work. | 12:18 | |
moritz_ | then don't declare types. | 12:19 | |
seriously | |||
if you want to use a variable like a Num whether it's a Num or not, don't declar a type, and just use it as that | 12:20 | ||
or declare a cocercion (NYI) | |||
masak | yes, you're probably right. | ||
moritz_ | that said, numification not returning an Int where appropriate is a known bug in Rakudo | 12:21 | |
or you can call it "limitation" | |||
masak | moritz_: oh, I thought that too was only an unspecced opinion of mine. | ||
good news, in that case. | |||
moritz_ | it's in RT: | ||
s/:/./ | |||
masak | I know. :) | ||
I put it there. | |||
moritz_ | iirc pmichaud acknowledged it as a bug | 12:22 | |
masak | the original issue is from Druid, where I feel I need to do excessive casting. | ||
moritz_ | anway, .int exists | ||
masak | that's my workaround at present. | ||
I'm very happy Perl 6 allows me to type 'my Dog $d = Dog.new' as 'my Dog $d .= new'. but in the above case I still have to type something like 'my Int $row = int(...)' | 12:23 | ||
moritz_ | my $row as Int = ...; | 12:24 | |
masak | oh, ok. I still need to gork 'as', though. | ||
s/gork/grok/ | 12:25 | ||
moritz_ | I don't know exactly if it works like that | ||
but in a signatures | 12:26 | ||
sub sin($x as Num) { ... }; sin "3.14"; works | |||
by coercing $x to Num | |||
masak | well, that gives me almost no type safety at all, if I understand the feature correctly. | 12:27 | |
because most everything can be coerced to an Int. | |||
moritz_ | and if that casting happend automatically (as you proposed before), then you'd have next to no type safety at all ;-) | 12:28 | |
masak | you have a point. :) | ||
moritz_ | for non-core type it's a good idea though | 12:29 | |
typecasting will give you a friendly error message if it doesn't work ;-) | |||
masak | there's a very nice deliberate confusion between numbers and strings in Perl. it sometimes seems we lose too much of that niceness when we add type checking. | ||
moritz_ | yes, we tend to overuse types | 12:30 | |
because we can. | |||
masak | I guess I'm sort of looking for a middle ground, even though I know that type systems are best when they're unforgiving. | ||
12:33
Kisu left
12:34
Kisu joined
12:37
ruoso joined
12:38
payload joined
|
|||
ruoso | HellO! | 12:42 | |
moritz_ | OH HAI | ||
frettled | I know it's old and stuff, but: www.flickr.com/photos/34034335@N00/3262204184 (no, no reason to worry, please visit Trondheim) | 12:46 | |
ruoso backlogging to see if anything came out from yesterday's open issue.... | 12:47 | ||
frettled | So, how about YAPC::EU in Trondheim next February? :) | ||
moritz_ | what about a *cheap* town for once? ;-) | 12:48 | |
arnsholt | Oooh. YAPC::EU in Norway would be excellent. I'm gonna try to get to Lisboa this year, but if it were in Norway I'd definitely go | 12:50 | |
frettled | moritz_: I refuse to answer that question as it could be used as evidence against me at a future time. | 12:51 | |
jnthn | frettled: That's...a long way north! :-D | 12:52 | |
frettled: I already did visit once to Trondheim. :-) | |||
arnsholt | frettled: Nice picture. For a second I even thought it was real =) | ||
jnthn | ok, slovak class time, laters... | ||
moritz_ | frettled: If I could find a sponor I'd surely come ;-) | ||
frettled | jnthn: mm, although we Norwegians only consider it the "middle" of Norway, although it's still around 500 km south of the north-south center. | 12:53 | |
arnsholt: but it is real. | |||
ruoso | TimToady, one thing that bugs me about it is that if you have a my Int $x; on the begging of the code and in a corner case it ends up not being initilized, when you do $a ~~ $x, it will do a type check instead of a value check... | ||
frettled | arnsholt: I mean, real pixels. | ||
arnsholt | *snort* Quite =D | 12:54 | |
12:54
iblechbot joined
|
|||
ruoso | jnthn, did you notice TimToady's reply? | 12:54 | |
arnsholt | frettled: Riktig festlig bilde da. Jeg vurderer å spre det til mine andre utenlandske venner >:) | 12:56 | |
frettled | arnsholt: but I totally agree, we should apply for a YAPC::EU in a few years. We just have to make sure that sjn and the rest of them forget how much work NPW 2009 was. | ||
arnsholt: gjxF8r det! | |||
arnsholt | When I lived in France, there were some people who wondered if polar bears roamed the streets of Norway. We really should've had that photo back then =D | 12:57 | |
frettled | yep. | 12:58 | |
12:59
abra joined
|
|||
mberends | masak: pushed proto (early), Gitorious support almost complete. | 13:00 | |
masak | nice. | 13:01 | |
I have to do some $work still, so keep the big orange one with you for now. | |||
13:01
cls_bsd joined
|
|||
masak | mberends: maybe I'll have some time to review your commits, though. | 13:01 | |
mberends | ok, gotta &think() about the repo directory structure differences. | 13:02 | |
Matt-W | My eyes are going funny | ||
Next time somebody suggests to me that I do something involving reading a 3MB diff, I'm going to throw them out of the window | 13:03 | ||
Or at least secure a copious amount of caffeine first | |||
mberends | you can't seriously read that much text manually | 13:04 | |
Matt-W | fortunately I could excise a big chunk of it automatically | ||
I'm down to having to peruse about 600KB | |||
aaaw no | |||
this file's been completely replaced | |||
because it's been converted from windows to unix line endings | |||
ow ow ow | |||
subversion's supposed to take care of that! | 13:05 | ||
masak | we have a long way to go with 'smart diffs'. | ||
Matt-W | yeah | ||
still need a person to do anything clever with this stuff | |||
I much prefer reading rakudo commit messages :) | |||
mberends remembers it's market day locally, and cycles off for groceries | 13:07 | ||
Matt-W | mmm groceries | 13:08 | |
masak | Matt-W: I was going to say that! :) | ||
Matt-W | masak: oh dear | ||
clearly there's more than just the M thing going on | |||
spx2 | mberends: sorry for the late answer , I used Storable to serialize the objects , which proved ok , up to the point where in the destructor I was using ->fetch , that was the actual problem , ->fetch didn't work in DESTROY always, sometimes it did , sometimes it didn't | 13:09 | |
masak | Matt-W: 'manuscript'? | ||
13:09
riffraff joined
13:10
skids joined
|
|||
Matt-W | how to convince a large, international company that funding the development of Perl 6 is absolutely vital, and, more to the point, that they should be funding me to do it. | 13:10 | |
of course | 13:11 | ||
telepathic aliens | |||
masak | Matt-W: you should acquire some sharks with figging lasers on their heads. | ||
Matt-W | But then I'd need a pool to put them in | 13:14 | |
masak | aye. | 13:15 | |
13:24
exodist joined
13:32
sri_kraih_ joined,
scook0_ left,
xinming_ left,
cotto left,
jan_ left,
hatseflats left,
nemstep left,
Tene left,
aindilis left,
Tene joined,
scook0_ joined,
xinming_ joined,
aindilis joined,
nemstep joined,
jan_ joined,
hatseflats joined,
cotto joined,
irc.freenode.net sets mode: +o Tene
13:34
araujo joined
13:37
riffraff left,
ashizawa left,
ashizawa joined
|
|||
frettled | Matt-W: try selling how important Perl 6 is for the future development of software, how today's software solutions may suffice for the time being, but that future growth is dependant on upgrades. none of today's programming languages offer the economy, flexibility, scalability, security and performance that Perl 6 will. | 13:38 | |
masak | frettled: I don't know if you're right, but that's very nicely put. | 13:39 | |
PerlJam | frettled: what happens when they ask "how does perl6 offer economy as compared to ruby?" Or something like that. | 13:40 | |
frettled | PerlJam: paddle | 13:41 | |
Matt-W | it's a real language, not a pile of bits taped together... | 13:42 | |
I think I'd better start with something smaller | |||
like convincing them to use a decent revision control system | |||
frettled | hehe, yeah, like git. | 13:43 | |
Matt-W | yes | 13:44 | |
in fact git would be my preference | |||
what I've been trying to do these last two days would have been much easier if we had git | |||
you know, something that understands what branches are actually for | |||
and what you want to do with them | |||
13:47
skids left
13:48
sri_kraih left
14:00
payload left
14:13
DJ-DONGDOT joined
14:18
justatheory joined
14:29
[particle] joined
|
|||
masak | rakudo: grammar A { token TOP { <text> }; token text { d } }; say ?A.parse('d') | 14:30 | |
p6eval | rakudo 615936: OUTPUT«1» | ||
masak | \o/ | ||
14:30
[particle]2 joined
|
|||
moritz_ | yes, that works these days ;-) | 14:31 | |
masak | nice. | ||
I'm trying to understand what rt.perl.org/rt3/Ticket/Display.html?id=57864 needs to be closed. | |||
in it, pm says 'inheritance and method dispatch don't seem to be working quite properly, and we'll need to get that fixed'. | 14:32 | ||
moritz_ | there's just one thing that doesn't work in inheritance | ||
and there's a separate ticket for that | |||
14:32
[particle]nyc left
|
|||
masak | so I can go ahead and close? which other ticket? | 14:33 | |
jnthn back | |||
moritz_ | rakudo: grammar A { token a { a } }; grammar B is A { }; say 'a' ~~ /<B::a>/ | ||
p6eval | rakudo 615936: OUTPUT«Null PMC access in invoke()current instr.: 'parrot;PGE;Grammar;' pc 499 (EVAL_20:216)» | ||
moritz_ | this one | ||
don't know what ticket it is, though | |||
masak | I'll have a look around. | 14:34 | |
jnthn | ruoso: I saw TimToady's response. Didn't think about it yet though. :-) | ||
masak | rakudo: grammar WSOverride { token TOP { <tok_foo> <.ws> <tok_bar> }; token tok_foo { foo }; token tok_bar { bar }; token ws { [ \h | \v | '%' ]+ } }; say WSOverride.parse($_) for 'foo bar', "foo\nbar", "foo%%%\nbar" | 14:35 | |
p6eval | rakudo 615936: OUTPUT«foo barfoobarfoo%%%bar» | ||
mberends | mmm, fish fried in batter :) masak, did you see the proto changes? | 14:36 | |
masak | mberends: no, looking now. | ||
moritz_: are you sure that one's in RT? my searches for 'grammar' and 'inherit' turn up nada. | 14:37 | ||
ruoso | jnthn, I'm not sure I got it right... but it seems he's suggesting that ACCEPTS should always check for definedness... | 14:38 | |
mberends | masak: there may be a small Installer.pm patch to follow for Gitorious projects, working on that now. | ||
moritz_ | masak: nearly sure | ||
rakudo: given 'foo' { if /bar/ { 1 } } | 14:39 | ||
p6eval | rakudo 615936: ( no output ) | ||
14:41
DJ-DONGDOT left
|
|||
masak | moritz_: nope. really not finding it. | 14:41 | |
masak submits, just to be sure | |||
moritz_ | masak: ok | ||
Matt-W | rakudo: class A {}; my A $a; say $a ~~ A ?? "A" !! "O"; | 14:46 | |
p6eval | rakudo 615936: OUTPUT«A» | ||
jnthn | ruoso: Or type-object-ness at least. | 14:47 | |
Matt-W | ah good. I was correct. | ||
jnthn | ruoso: I think it's more than not aCCEPTS should | ||
ruoso: It's about dispatching differently when we have a type object. | |||
We can't force everyone who writes an ACCEPTS method to go look at the type-object-ness. | 14:48 | ||
And then decide what to do. | |||
ruoso | that gets me to an issue I always had thought about | ||
14:48
[particle] left
|
|||
ruoso | there are some methods that are only valid on defined objects | 14:48 | |
jnthn | So anyway, I'm probably going to handle this in the dispatcher. It's a pretty cheap check. | ||
Well, of course. Any that depend on state. :-) | |||
I think we need to stop talking about defined here though. | 14:49 | ||
It's going to get horribly confusing. | |||
ruoso | right | ||
jnthn | We should probably talk about "type objects" and "instanes" or something. | ||
ruoso | there are methods that are supposed to be called on instances and other only in type objects | ||
jnthn | Though that's still not quite right. :-) | ||
ruoso | I mean... from the user perspective | ||
jnthn | Well, there are cases where we want to dispatch a method differently on instances from on type objects. | 14:50 | |
ruoso | I was thinking that we might define that as a OO feature | ||
i.e.: type methods vs instance methods | |||
jnthn | Heh, maybe that's what we steal method ^foo() { } for ;-) | 14:52 | |
class Object is also { method ^ACCEPTS($topic) { $topic.does(self) } } | 14:54 | ||
masak | mberends: looks good to me. | ||
14:55
payload joined
|
|||
ruoso | jnthn, yeah... but I guess using ^ is a bit confusing | 14:55 | |
masak | mberends: I once had this idea that the different repos should probably match to different classes in a hierarchy. then the 'given/when' blocks in various places would translate to inheritence polymorphism instead, bringing light and peace to the world. | ||
jnthn | ruoso: Yeah, it isn't really consistent with .^ at all. | 14:56 | |
mberends | masak: oh yeah, peace, man! | ||
jnthn | ruoso: method !OMFG!ACCEPTS { ... } | ||
;-) | |||
.oO( might discourage people from trying it... ) |
|||
ruoso | maybe it's a different declarator | ||
i.e. | 14:57 | ||
type method ACCEPTS {...} | |||
moritz_ | isn't that called method ICANHAZ? | ||
jnthn | I don't think we're going to get a single-use declarator past TimToady. :-) | ||
(erm, single-purpose) | |||
ruoso | it's just a scope-like declarator | ||
jnthn | Yeah, ish...but only relevant to the type object. | 14:58 | |
ruoso | not really... it's relevant to the object system as a whole | ||
you have two dispatchers in each object | |||
jnthn | Essentially I guess you're declaring a method that gets preference (even if it's higher in the inheritance hierarchy) on dispatches on the type object. | 14:59 | |
ruoso | I think you get two hierarchies | ||
jnthn | Yeah. | ||
I worry a little about this though. | |||
ruoso | while it falls back to type dispatch | ||
if the instance dispatch doesn't fullfit it | |||
jnthn | No, the other way around. | ||
ruoso | hm? | 15:00 | |
jnthn | If it's a type object one you gotta check the type object specific stuff first. | ||
Otherwise you'd go to the instance ACCEPTS always. | |||
ruoso | 1.foo tries to call regular methods | ||
jnthn | Yes. | ||
Int.foo tries to call type methods, and the instance methods if it can't do the first. | 15:01 | ||
15:01
nihiliad joined
|
|||
jnthn | Not completely sure if we want to make this a more general OO feature just yet or not. | 15:03 | |
I think for 6.0 maybe we can get away with special case. | |||
And punt the issue to the future. | 15:04 | ||
ruoso | and if that fails, it goes through type methods | ||
but Int.foo only tries type methods | |||
mberends | masak: the repo class hierarchy will naturally fall out of refactoring the given/when cases, assuming we cover all repo types before we boil them down. We should try to incorporate tarballs and some plain directory sources eg cdrom before shaping the hierarchy imho. | ||
ruoso | so new would become a type method, for instance | ||
this also solves the issue of when to autovivify an object | |||
when you have Dog{ :name<Fido> } | |||
calling a regular method would fail, | |||
but then it checks for the WHENCE | |||
autovivifies it and tries calling again | 15:05 | ||
ruoso lagging... | |||
masak | mberends: why tarballs and plain directory sources? | ||
ruoso | jnthn, I think we might have just solved a lot of issues | ||
by making it a more general OO feature | |||
jnthn | Hmm. | 15:06 | |
ruoso lunch & | |||
jnthn | I guess a level of caching would make performance less of a problem. | ||
(Looking all the way up to Object's ^ACCEPTS or however we make them look is gonna make type checking slow.) | 15:07 | ||
(If we don't optimize it somehow.) | |||
mberends | masak: because it would be nice to use an installer offline in some cases. | ||
ruoso | "all evil is premature optimization squared" | ||
moritz_ | another indirection layer is not always a good solution | ||
ruoso | jnthn, there are a lot of tricks possible here... | ||
jnthn | On the other hand, painting ourselves into a corner that we can't later optimize ourselves out of is also evil. | 15:08 | |
masak | mberends: all I hear is "more code to administer and keep fresh"... we have enough to do with the codebase already written. :/ | ||
ruoso | sure... | ||
but we were about to check in ACCEPTS anyway | |||
jnthn | I just want to make sure we don't do that. | ||
ruoso | I mean | ||
jnthn | No, I never was. :-) | ||
ruoso | even if in the dispatcher, I mean | ||
jnthn | I was always proposing a dispatch level solution. We've just got ourselves a more advanced dispatcher solution. :-) | 15:09 | |
ruoso | we were about to have a "is this a type object" flag | ||
jnthn | Erm, we still are though at some level? | ||
The dispatcher still has gotta know. | |||
ruoso | yes... | ||
masak | mberends: there are plenty of higher-prioritized candidates for code that we might need in the future, IMO. the recursive-deps stuff, for example. | ||
ruoso | so let's make some use of it ;) | ||
instead of an exception to the rul | |||
*rule | |||
jnthn | Sure, it's just that once you expose something to users you can't un-expose it. | 15:10 | |
ruoso | yeah... sure... | ||
jnthn | OTOH, a behind-the-scenes special exception can be replaced if we realize it was wrong later, or find a better way. | ||
mberends | masak: ok, let's not prematurely overdesign. | ||
ruoso | I'm just excited because it's the first time I see a solution for "when does the object autovivifies" | ||
jnthn | Being able to define your own ACCEPTS on the type-object could be interesting for parametric roles too. | 15:11 | |
In Perl 6 as currently defined, my @a = 1,2,3; sub foo(Int @x) { }; foo(@a) is an error. | |||
ruoso really lunch & | 15:12 | ||
jnthn | If on the other hand the role can say "try .does and then also try checking the values" in its type-object-y ACCEPTS. | ||
moritz_ | and who type-checks the arguments passed to ACCEPT? | ||
jnthn | moritz_: Not quite sure I follow | 15:13 | |
? | |||
masak | mberends: btw, github now has issue tracking, so I added your November bug report from long ago. | ||
15:14
skids joined
|
|||
SamB | masak: does it have git mirroring yet? | 15:14 | |
moritz_ | jnthn: I don't know if I understood your discussion correctly... but if you want to do type checking through ACCEPT methods, then you have a bootstrapping problem | ||
masak | SamB: what, github? dunno. | 15:15 | |
jnthn | moritz_: We already do do type checking through ACCEPTS. | ||
SamB | masak: yeah, github | 15:17 | |
it'd be really sweet if one could set up automated mirroring of one or more "upstream" repositories for a project ... | |||
masak | SamB: well, dunno. never had a need for that. | ||
SamB | and also have one of his/her own | 15:18 | |
masak | trying to comment on news.perlfoundation.org/2009/04/hag....html#more | ||
getting "Comment Submission Error" | |||
SamB | then you could use that "network" page to look at the commit graph | ||
masak | whom should I contact? | ||
mberends | SamB: possibly the Subproject facility approaches your goal. | 15:20 | |
15:20
donaldh left
|
|||
jnthn cheers on masak | 15:20 | ||
15:20
donaldh joined
|
|||
jnthn | masak: maybe rdice? | 15:20 | |
masak | jnthn: is he on freenode or irc.perl.org? | 15:21 | |
jnthn | masak: neither atm | 15:22 | |
masak | maybe I should just blog about it. :) | 15:26 | |
jnthn | You could always leave a com...oh, wiat. | 15:27 | |
masak blogs about it | 15:28 | ||
spx2 | can file locks be made on directories ? | 15:30 | |
mberends | spx2: yes, that's how rmdir fails when another process is cd'd there. | 15:31 | |
15:33
iblechbot left
|
|||
spx2 | mberends: thanks | 15:38 | |
masak | use.perl.org/~masak/journal/38936 | 15:42 | |
rdice already replied, saying he'd take a look. | |||
mberends | It's time for Web.pm to power a blogging site. Volunteers? | 15:45 | |
masak | mberends: have you seen ihrd's Maya? | ||
mberends runs 'proto install maya' | 15:46 | ||
masak | ...and it works! proto++ | ||
mberends: I haven't looked closely at it, but it's likely the closest we have to a Perl 6 blogging app right now. | 15:47 | ||
15:50
mizioumt joined
15:51
eternaleye left
15:52
Psyche^ joined
|
|||
mberends | masak: maya is only partly written, largely templating functions so far. | 15:55 | |
masak | mberends: anyway, I volunteer. | 15:57 | |
mberends | can I volunteer to help? | 15:58 | |
masak | mberends: I don't know, it was your call to arms! :) | ||
logic dictates you make up the rules for who can volunteer. | |||
15:59
Patterner left,
Psyche^ is now known as Patterner
|
|||
mberends | this could get recursively ossified. it does make a case for nested project dependencies, Blog -> Web -> Template + HTTP::Daemon | 16:01 | |
masak | indeed. | 16:03 | |
ok, so it turns out perlfoundation's comment function is not broken after all. | 16:05 | ||
rather, it depends somehow on Javascript to work properly, and I had recently installed NoScript. | |||
turning js on made everything work again. | |||
moritz_ hates it when pages that need javascript don't tell you so | 16:06 | ||
masak | well, it did say "invalid request" :) | 16:07 | |
s1n | masak: you're one of the authors of november, correct? | 16:08 | |
masak | s1n: aye. | ||
moritz_ | that's not the same as saying "you need javascript to use the comment function" | ||
s1n | masak: i assume you know the tests don't pass? | ||
masak | s1n: that's a broad statement. :) I have a nightly smoke, and they passed for me last midnight. | ||
16:09
mizioumt1 left
|
|||
masak | moritz_: had it said that, I wouldn't have to blog, send two emails, and then update my blog post... | 16:09 | |
s/have/have had/ | |||
s1n: what, in particular, doesn't pass for you? | |||
s1n: a nopaste would be nice. | 16:10 | ||
s1n | masak: sure, it's running right now | ||
moritz_ | s1n: and be sure to include the Rakudo and Parrot version in your nopaste | 16:11 | |
masak | yes, please. | ||
ISTR my smoke is running against Bratislava. | |||
masak checks | 16:12 | ||
seems to be quite an old Rakudo, from Feb 16, no less. | 16:13 | ||
maybe that's the discrepancy, then. | |||
s1n | what's the best way to get the git revision? | 16:14 | |
masak | s1n: first line of 'git log'. | ||
moritz_ | git show|head -n 1 | ||
masak | or that. | ||
ah right, I had difficulties building newer Rakudo revisions on feather. :/ | |||
16:15
Kisu left
|
|||
PerlJam | git rev-parse HEAD # is the *best* way IMHO (for the current branch) | 16:15 | |
:-) | |||
masak | PerlJam++ # that's obviously the correct answer | 16:16 | |
16:16
iblechbot joined
|
|||
s1n tries to remember how to get revisions from svn | 16:16 | ||
moritz_ | svn info | ||
PerlJam++ | 16:17 | ||
s1n | PerlJam++ | ||
gist.github.com/108190 | 16:18 | ||
i wonder if i should update rakudo/parrot... | |||
moritz_ | masak: nopaste.snit.ch/16494 november readme patch | ||
masak | moritz_: thanks. | 16:20 | |
jnthn | ruoso: ping | ||
mberends | masak: from the docs, ihrd has volunteered already to build a blogging engine, and inputs directly into Web.pm. A second such project would be wasted effort. We can best offer to help him. Call for volunteers withdrawn. | ||
masak | s1n: you're running Bratislava, it seems. | ||
s1n | masak: what's Bratislava? | ||
masak | s1n: if you run bleeding Rakudo, that problem will go away. | ||
s1n: Bratislava is the latest monthly. | |||
s1n | oh yeah, i used proto to build rakudo/parrot | 16:21 | |
masak | aye, I see that now. | ||
it defaults to latest monthly. | |||
s1n | how do you tell it to use bleed? | ||
masak | I'm really, really sorry I didn't check November against Rakudo before the release. | ||
s1n: actually, your best shot might be to replace the rakudo directory in proto/projects with a git checkout. | 16:22 | ||
rakudo.org/how-to-get-rakudo | 16:23 | ||
s1n | yeah i know how to get/build it, i'm just lazy :/ | ||
masak | I appreciate that. :) it's fun to have proto users. | 16:24 | |
masak ponders whether to inject Bratislava workarounds into November | |||
16:24
azawawi joined
|
|||
s1n | masak: i don't think it would be worth it | 16:25 | |
sounds like a moving target you'll soon regret | |||
masak | depends on the complexity of the workarounds. | ||
s1n | any workaround is bound to be temporary anyways | ||
masak | but I do seem to recall looking at it and deciding not to... | 16:26 | |
s1n: yes, temporary workarounds are par for the course for us Perl 6 project devs. :) | |||
azawawi | masak: greeting :) | ||
masak: s | |||
s1n | eventually, you'll have to start maintaining the work arounds for workarounds (workarounds for workounds for missing perl6 features), sounds like a death march | 16:27 | |
mberends | backports.november-wiki.org ;) | ||
masak | s1n: nah. our workarounds don't last that long. :) the average life expectancy for a workaround in a Perl 6 project is between 1 and 2 months. | 16:29 | |
azawawi: oh hai! | |||
s1n | azawawi: it must be summer :) | 16:30 | |
azawawi prepares to watch the hunt for gollum :) | |||
masak is thinking of wrapping up and going home | 16:32 | ||
s1n: working around actually looks feasible. I might get around to it tonight. | 16:33 | ||
s1n: anyway, thanks for giving November a spin. sorry about the mixed results. | 16:34 | ||
masak blames entropy | |||
azawawi | masak: tonight im going to enable the user to use Rakudo/PGE or STD syntax highlighter in Padre Perl6... | 16:35 | |
masak | azawawi: you mean you're going to implement choosing between them? | 16:36 | |
azawawi | masak: yup | ||
masak | azawawi: nice. | ||
good luck. | |||
azawawi | masak: along with ability to choose which runtime to use (mildew/rakudo)... etc | ||
masak | I should really look at that highlighting code, btw. | ||
I want to do cool stuff with Perl 6 ASTs, but haven't figured out how yet. | 16:37 | ||
azawawi | masak: it is on my todo list once i refactor STD_syntax_highlight cron job.. | ||
mberends clutches the proto pumpkin tightly as masak prepares to leave | |||
azawawi | masak: to add november, STD and t/spec and perl6 examples... | ||
masak | mberends: it's yours for now. | 16:38 | |
masak heads home | |||
16:38
masak left
16:40
ZuLuuuuuu joined
16:46
rocket_guatemala joined
|
|||
rocket_guatemala | Hello, Im adding smart links to the spect tests in pugs, and I started with the S02-builtin_data_types/array_extending.t file | 16:48 | |
but i can't find a synopsis wich mentions this explicitly | |||
moritz_ | rocket_guatemala: have you looked into S09? | 16:49 | |
rocket_guatemala | yep | ||
my question is, should i just add a smart link to a genera header? | |||
ruoso | jnthn, pong | ||
rocket_guatemala | general header, sorry | ||
moritz_ | rocket_guatemala: yes, and write a TODO comment that it needs better spec coverage | 16:50 | |
rocket_guatemala | where should I add the TODO comment? in the test file? | ||
jnthn | ruoso: I fear I'm missing a point somewhere. :-| | ||
ruoso | jnthn, where? | ||
moritz_ | rocket_guatemala: yes | 16:51 | |
rocket_guatemala | moritz_: great thanks | ||
jnthn | It appears that it's not just that a meta-class can be used with many representations. It's rather than any individual class can. | ||
rocket_guatemala | going back to coding | ||
jnthn | So first up: when I write a class, is it's proto-object always a p6opaque? | 16:52 | |
moritz_ | rocket_guatemala: I assume you have a commit bit already? | ||
rocket_guatemala | morit_: I do, yes, thanks | ||
jnthn | And second: what does it then mean to create an instance with a different representation? Does that representation essentially have to be giving all of the methods and attributes etc of the proto in some kind of copying? | 16:53 | |
And if that is the case, what does that? | 16:54 | ||
jnthn sort of thought he'd understood a lot of this, and then found it all quickly unraveling when he tried to do a concrete implementation of it... | 16:56 | ||
ruoso | jnthn, no... nothing stops you from usign a glib object as an instance of Int | 16:57 | |
PerlJam | jnthn: the proto-object is always p6opaque unless it's been blessed otherwise. (as I understand things) | ||
ruoso | PerlJam, the proto-object is p6opaque *by default& | 16:58 | |
PerlJam | right, that's what I said :) | 16:59 | |
bless is the mechanism to change the defualt. | |||
s/ua/au/ | |||
jnthn | ruoso: Right, I basically knew that. But the mechanism by which we enable that is confusing me a bit now. | ||
ruoso | that's up to the HOW | ||
and that's the reason behind the REPR API | 17:00 | ||
jnthn | ruoso: Do we have to essentially "copy" the set of methods and so forth to the other repr? | ||
ruoso | it depends... in a standard OO | ||
you will only install the methods declared directly there in the proto | 17:01 | ||
and save the reference to the superclass there as well | |||
pugs_svn | r26711 | moritz++ | [spec] some EOL conversion; set SVN props to avoid that in future | ||
ruoso | but the HOW is the one that will traverse that to find the methods | ||
PerlJam | er, I guess it's really CREATE that determines whether we use a p6opaque or not. Not bless. | ||
ruoso | yes... CREATE | ||
jnthn | PerlJam: Right. You call CREATE to get a candidate to bless. | 17:02 | |
ruoso: I see your ClassHOW in bless doing things like | |||
$candidate.^!methods = (); | |||
But I don't see where that gets initialized? | |||
spx2 | jnthn: I see you're doing alot of Perl6 presentations ? how does the ratio time_to_develop/time_to_present look ? | ||
ruoso | right... it gets initialized by the compiler | 17:03 | |
by calling add_method | |||
add_attribute | |||
compose_role | |||
17:03
M_o_C joined
|
|||
jnthn | oh, hang on | 17:03 | |
spx2 | jnthn: is it >1 or <1 ? | ||
jnthn | $candidate.^!isa = $prototype; | ||
spx2: It takes longer to prepare than to deliver. | |||
spx2: How much longer depends on the level of re-use. | |||
17:04
rocket_guatemala left
|
|||
jnthn | ruoso: Does that line I pasted above mean that we add to the list of parents? | 17:04 | |
ruoso | yes | ||
jnthn | erm. Does that not mean that your instances are not really a derived type? | ||
Rather than an instance per se? | 17:05 | ||
ruoso | it is an instance as it has instance storage | ||
jnthn | Ok, but basically in the smop world there's not really any such thing as an instance per se? | ||
ruoso | yeah... that's the prototype-oo influence in SMOP | 17:06 | |
there's no fundamental difference between a type and an instance | |||
jnthn | An instance is a representation + storage allocated + the first parent is the type object? | ||
ruoso | yes... | ||
jnthn | Uff. I hadn't quite realized that bit. | ||
ruoso | but nothing stops an instance to have more declarations | ||
and in that case it is its own type | |||
i.e.: mixins | 17:07 | ||
pugs_svn | r26712 | moritz++ | [t/spec] fix roles smartlinks | ||
17:08
mizioumt1 joined
|
|||
jnthn | OK. | 17:08 | |
jnthn needs to think this lot through a bit and see how this might end up looking | |||
moritz_ | szabgab: it seems that quotes don't work in header sections of smartlinks... | 17:09 | |
ruoso | jnthn, basically this is how you have ClassHOW as a HOW, and the types being regular objects | ||
moritz_ | szabgab: L<S04/"The lift statement prefix"/ doesn't work, but <S04/The C<lift> statement prefix> works | ||
ruoso | the cool thing about that, is that you could have a XMLRPCHOW that looks for the methods in the prototypes but dispatches them to a remote site | 17:10 | |
as well as | |||
DBIx::Class::HOW | |||
which would look for the definitions of the classes in the prototypes | |||
but would be actually mapping that to the rdbms of choice | 17:11 | ||
jnthn | Sure, I'd figured out that custom meta-classes were cool. I've been trying to work out the representatiosn side of all of this too. | ||
It seems to me that if you're forwarding everything over XMLRPC then your actual representation wouldn't matter so much though? | |||
ruoso | exactly... | ||
but you still need to ask which methods you have and with which parameters | |||
and then you ask that to the type objects | 17:12 | ||
szabgab | moritz_, I don't really have time in the next few weeks, you could add these to the smartlinks module with a TODO: comment ? | 17:13 | |
ruoso | and in the case of the DBIx::Class::HOW, it would use the instance storage to save the local version of the data | 17:14 | |
jnthn | Yes, true. | ||
moritz_ | szabgab: I'll do my best | 17:19 | |
szabgab: I don't grok 03-process-t-file.t... should I just add a verbal description? | 17:21 | ||
17:21
cls_bsd left
17:24
mizioumt left
|
|||
pugs_svn | r26713 | moritz++ | [Text::Smartlinks] add TODO | 17:24 | |
szabgab | moritz_, just verbal descr | 17:25 | |
though better to have it in writing ... | 17:26 | ||
pugs_svn | r26714 | moritz++ | [t/spec] fix all but 3 smartlinks | 17:29 | |
azawawi | szabgab:hi | ||
szabgab: did u try the latest Perl6 plugin? :) | |||
pugs_svn | r26715 | moritz++ | [t/spec] remove tests for hash interpolation in regexes (gone from spec) | 17:31 | |
17:37
amoc left
17:39
amoc joined
17:44
nemstep` joined
17:45
minazo joined
17:46
cognominal left
17:48
nemstep` left
17:49
kane___ left,
nemstep left
17:50
cognominal joined
17:52
nemstep joined
17:54
azawawi left
18:01
kaether left
18:02
cdarroch joined
|
|||
moritz_ | rakudo: regex text { "foo" }; say "foo" ~~ /<text>/ | 18:02 | |
p6eval | rakudo 615936: OUTPUT«Statement not terminated properly at line 1, near "foo\" }; sa"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | ||
18:09
abra left,
ejs joined
18:14
yary joined
18:16
rocket_guatemala joined
|
|||
yary | newb q: how do I get a list to repeat indefinitely, eg what goes on the right to make "say (1,2,3,4,5) >>*>> (0,1,...?)" show (0,2,0,4,0) | 18:17 | |
pugs_svn | r26716 | rocket++ | Added smart links to array_extending.t | ||
jnthn | yary: I guess (0,1) xx * might do it, but rakudo doesn't have lazy lists just yet so that won't work out so well at the moment. :-) | 18:24 | |
yary | thanks, I tried that beforehand and got a counter-intuitive result, now I know why! | 18:25 | |
just reading through the synopses slowly and trying out ideas as I read | 18:26 | ||
oh, it is working in this case- | 18:27 | ||
perl6: say (0,0,0,0,0,0) >>+>> ((1, 2) xx *) | |||
p6eval | pugs: OUTPUT«***  Unexpected ">>+>>" expecting operator, ":" or "," at /tmp/FwMnNqmHzT line 1, column 19» | 18:28 | |
..elf 26716: OUTPUT«Parse error in: /tmp/yRnq4o3QfQpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say (0,0,0,0,0,0) >>+>> ((1, 2WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | |||
..STD_r... | |||
..rakudo 615936: OUTPUT«Use of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized value000000» | |||
yary | huh, it worked on my machine | ||
perl6: say (0,0,0,0,0,0) »+» ((1, 2) xx *) | |||
p6eval | elf 26716: OUTPUT«Unimplemented infix_prefix_meta_operator or infix_circumfix_meta_operator at ./elf_h line 2947» | 18:29 | |
..pugs: OUTPUT«***  Unexpected "\187+\187" expecting operator, ":" or "," at /tmp/udRyN7sSl1 line 1, column 19» | |||
..rakudo 615936: OUTPUT«Use of uninitialized valueNon-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.current instr.: 'die' pc 16547 (src/builtins/control.pir:225)» | |||
18:29
pancake left
|
|||
yary | rakudo: say (0,0,0,0,0,0) »+» ((1, 2) xx *) | 18:29 | |
p6eval | rakudo 615936: OUTPUT«Use of uninitialized valueNon-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.current instr.: 'die' pc 16547 (src/builtins/control.pir:225)» | ||
yary | I'm getting "121212" as a result locally | ||
but when I quit rakudo and restart it, I get a different answer! hmmm | 18:30 | ||
rakudo: my @x=(11,22,33); say @x[*-1]; say (0,0,0,0,0,0) >>+>> ((1, 2) xx *) | 18:31 | ||
p6eval | rakudo 615936: OUTPUT«33121212» | ||
yary | put that in your pipe and smoke it | ||
18:34
rocket_guatemala left
|
|||
Infinoid | nice | 18:35 | |
jnthn | Heh, I didn't know that works. :-) | ||
yary | It only works after the fiddling with @x, otherwise the last "say" returns :Use of uninitialized value (x6) 000000 | 18:37 | |
PerlJam | crazy | 18:39 | |
jnthn | Indeed. | 18:40 | |
That sounds very odd. | 18:41 | ||
PerlJam | It's the *-1 that does something to make it work. | ||
well, @x[*-1] (I guess a *-1 by itself won't help ;-) | 18:42 | ||
jnthn | Ah, that's believable. | 18:43 | |
PerlJam | yary: did you rakudobug it? | 18:46 | |
18:48
alester joined,
M_o_C left
18:55
mizioumt1 left
|
|||
pugs_svn | r26717 | jnthn++ | [t/spec] Tests for .WALK. | 18:58 | |
yary | I will | 19:00 | |
lunch break at the moment | 19:01 | ||
pugs_svn | r26718 | jnthn++ | [t/spec] Improve description. | 19:03 | |
19:14
cognominal left
19:20
donaldh left,
donaldh joined
|
|||
yary | submitted | 19:23 | |
it got stranger | |||
19:23
cognominal joined
|
|||
yary | rakudo: my @x=(9); say @x[*-1]; say (0,0,0,0,0,0) >>+>> ((1,2) xx *) | 19:24 | |
p6eval | rakudo 615936: OUTPUT«9122222» | ||
yary | rakudo: my @x=(7,8); say @x[*-1]; say (0,0,0,0,0,0) >>+>> ((1,2) xx *) | ||
p6eval | rakudo 615936: OUTPUT«8121222» | ||
yary | rakudo: my @x=(4,5,6); say @x[*-1]; say (0,0,0,0,0,0) >>+>> ((1,2) xx *) | ||
p6eval | rakudo 615936: OUTPUT«6121212» | ||
yary | that's the bug report | 19:25 | |
sent it in | |||
moritz_ | scary. | 19:26 | |
PerlJam | whoa. That *is* strange | ||
But I can kinda see how it would happen. | |||
jnthn | IIRC *-1 is handled rather specially at the moment. | 19:28 | |
And thus some stuff is working "accidentally". | |||
dalek | kudo: 06e2f1d | jnthn++ | src/parrot/ClassHOW.pir: When generating parents list, need to stop at Perl 6's Object. |
19:32 | |
kudo: 194b524 | jnthn++ | src/setting/Object.pm: Fill out the implementation of .WALK such that it passes all of S12-introspection/walk.t. |
|||
kudo: 6db88b0 | jnthn++ | t/spectest.data: Add S12-introspection/walk.t. |
|||
19:45
mizioumt joined
|
|||
jnthn | EURGH that tea is *cold* :-/ | 19:46 | |
jnthn should keep _one_ mug on this desk at a time. | |||
ruoso .oO ( cold tea is not as bad as cold cofee ) | 19:52 | ||
PerlJam | cold sweet tea is actually quite good. | 19:53 | |
19:53
yary left
|
|||
jnthn | ruoso: True. | 19:54 | |
PerlJam: Yeah, some tea is good cold. Not this sort. | |||
jnthn drinks coffee by morning, tea by afternoon, and beer by evening. | 19:55 | ||
If I drink coffee too late on in the day, I have trouble sleeping. | 19:56 | ||
OTOH, if I don't drink coffee early on in the day I have trouble doing anything. :-) | |||
PerlJam always drinks tea at night | 19:57 | ||
that might be why I sometimes have trouble sleeping :) | |||
jnthn | If tend to go for green or fruit teas rather than black tea, so less caffeine. | 19:59 | |
20:00
bacek_ joined
|
|||
jnthn takes dinner break; more Perl 6 hacking soon. | 20:01 | ||
PerlJam | I need to find a good place to buy real green tea. The local markets here have something called "green tea" but it's nothing like the green teas I'm used to drinking | ||
20:01
Kisu joined,
bacek left
20:10
avar is now known as cabin
20:11
cabin is now known as serendipity
20:15
serendipity is now known as avar
20:19
ruoso left
20:38
amoc left
20:42
amoc joined
20:53
ejs left
20:54
alester left
21:22
mberends left
21:32
skids left
21:43
mizioumt1 joined
21:44
Whiteknight joined
21:45
mizioumt left
|
|||
pugs_svn | r26719 | lwall++ | [STD] split gobbling message to both before and after globbled block | 21:57 | |
22:05
hudnix left
22:06
mizioumt joined
22:12
mizioumt2 joined
22:13
iblechbot left
|
|||
TimToady | std: for map {...}, lines {...}; | 22:18 | |
p6eval | std 26719: ( no output ) | ||
22:20
mizioumt1 left
|
|||
moritz_ | sh: line 1: 20667 CPU time limit exceeded /usr/bin/perl tryfile /tmp/Gzrvw40wnX >> /tmp/LOYjRoTuw2 2>&1 | 22:21 | |
there's a lot of strain on the server right now :( | |||
std: for map {...}, lines {...}; | |||
p6eval | std 26719: OUTPUT«##### PARSE FAILED #####Function 'lines' needs parens to avoid gobbling block at /tmp/haeUnR3ByV line 1:------> for map {...}, lines {...};Missing block (apparently gobbled by 'lines') at /tmp/haeUnR3ByV line 1:------> for map {...}, lines {...}; | ||
..... | |||
22:23
hudnix joined
22:25
rocket_guatemala joined
|
|||
pugs_svn | r26720 | rocket++ | Added smartlinks to test files. | 22:26 | |
22:26
payload left
|
|||
jnthn afk; Rakudo day tomorrow. :-) | 22:27 | ||
22:27
mizioumt left
22:31
exodist left
22:34
rocket_guatemala left
22:39
Whiteknight left
22:42
Whiteknight joined
22:53
nihiliad left
23:20
donaldh left,
donaldh joined
23:28
eternaleye joined
23:31
mizioumt2 left
23:32
skids joined
23:38
amoc left
23:39
fridim left
23:51
eternaleye left
23:53
DemoFreak left
|