»ö« 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:06
pmurias left
|
|||
masak | just posted my method PRE/POST rant to p6l. | 00:06 | |
comments are very welcome. | 00:07 | ||
00:11
itz left
|
|||
masak | 'night, #perl6 | 00:18 | |
00:18
NamelessTee left
|
|||
tadzik | 'night | 00:19 | |
00:22
itz joined
00:27
itz left,
itz joined
00:31
itz left
00:32
itz joined,
facefox joined
01:01
bynari left
|
|||
lue | nom: my $str = "/*test*/hello"; $str.subst(/"/*" <-before "*/"> "*/"/,""); say $str; | 01:12 | |
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 1, near "\"*/\"> \"*/\""» | ||
lue | Am I doing something wrong or is that a bug? | ||
sorear | it's spelled <!before... > | 01:16 | |
but I think you actually want '/*' .*? '*/' | 01:17 | ||
rx | |||
rx|'/*' ... | to make it easier to read | |||
lue | Thank you. | 01:24 | |
colomon | macro D1 merged? | 01:34 | |
phenny | colomon: 10 Mar 08:05Z <[Coke]> tell colomon about feather.perl6.nl/~coke/sin.diff | ||
02:18
thou left,
lumi__ left
02:40
thou joined
02:41
PacoAir left
02:42
PacoAir joined,
PacoAir left
02:43
lumi__ joined
03:06
orafu left
03:07
dbr left
03:10
orafu joined
03:12
Chillance left
03:31
raiph left
03:36
mucker left
03:38
sftp left
03:59
leprevost left
04:02
lutok left
04:05
leprevost joined
04:09
whiteknight left
04:15
am0c left,
araujo left
04:18
icwiener_ left
04:20
araujo joined,
araujo left,
araujo joined,
plobsing joined
04:23
plobsing_ left
04:32
mucker joined
05:27
birdwindupbird joined
05:59
localhost left
06:01
localhost joined
|
|||
moritz | good morning | 06:35 | |
sorear | good moritz | 06:42 | |
06:59
NamelessTee joined
07:16
GlitchMr joined
07:40
Jerkwad left
07:43
kaare_ joined
07:47
kaare__ joined
07:48
kaare_ left
08:00
doy left,
doy joined
08:09
proller_ left
08:11
mucker left
08:44
thou left
09:18
timotimo left
09:19
timotimo joined
09:24
bacek left
09:45
bacek joined
09:46
pmurias joined
09:47
am0c joined
|
|||
pmurias | fglock: ping | 09:57 | |
10:01
sisar joined
|
|||
dalek | p/new_make: e916eda | bacek++ | tools/build/Makefile.in: Parallelize stage0 build |
10:04 | |
bacek | phenny, tell jnthn Can you retest new_make branch? | 10:05 | |
phenny | bacek: I'll pass that on when jnthn is around. | ||
10:14
xinming left
10:15
PacoAir joined
10:16
sporous left,
sporous joined
|
|||
dalek | p: 6010c98 | bacek++ | src/6model/serialization.c: Pacify compiler by explicit casting |
10:22 | |
p/new_make: 607cd33 | bacek++ | / (14 files): Merge branch 'master' into new_make |
|||
10:22
xinming joined
10:31
tokuhirom joined
|
|||
tadzik | good day | 10:33 | |
fsergot | o/ | 10:34 | |
tadzik | hi fsergot | 10:36 | |
10:38
Trashlord left
10:39
Trashlord joined
|
|||
moritz | \o | 10:40 | |
10:44
mj41 joined
|
|||
jnthn | ohhai o/ | 10:48 | |
phenny | jnthn: 10:05Z <bacek> tell jnthn Can you retest new_make branch? | ||
jnthn pulls | 10:49 | ||
phenny: tell bacek gist.github.com/2015984 - the NQP build fails immediately again now | 10:56 | ||
phenny | jnthn: I'll pass that on when bacek is around. | ||
11:20
bbkr joined
11:24
xinming left
11:41
whiteknight joined
11:47
lutok joined
11:53
sisar left
|
|||
masak | ahoj, #perl6 | 12:15 | |
yay, me gots a TheDamian reply <3 | |||
sjn | o/ | 12:17 | |
12:17
Util left,
Juerd left,
Juerd joined
|
|||
sjn reads jnthn's gpw slides | 12:17 | ||
jnthn.net/papers/2012-gpw-meta-programming.pdf | |||
sjn kinda stopped at the "Declarators and meta-objects" | 12:18 | ||
just wondering, why was the meta-object type for roles called ParametricRoleHOW, instead of just RoleHOW? | 12:19 | ||
(although I look at this from the point of someone who doesn't have the full picture) | |||
is there a RoleHOW type alredy? | 12:20 | ||
</n00b> | |||
moritz | sjn: hysteric raisins, I think | 12:22 | |
12:22
Util joined
|
|||
jnthn | No, design. | 12:22 | |
sjn | yes, I understand that hysteric raisins can be very glorp! | 12:23 | |
jnthn | Roles appear in various forms. | ||
There are four different meta-objects involved in implementing roles. | |||
sjn | ok? | ||
jnthn | We could choose to make one more specially named. | ||
(e.g. decide it gets to be RoleHOW) | 12:24 | ||
sjn is a fan of huffman-encoding whatever is used the most :) | |||
and I'm fan of patterns :D | 12:25 | ||
jnthn | But there's also a sense in which the oddness screams out "hey, this thing works a bit differently" :) | ||
sjn | makes it easier to remember stuff | ||
jnthn | Well, then you get to choose your pattern. | ||
Because the others are FooRoleHOW | |||
So if we make one of them just RoleHOW, we break that pattern. :)] | |||
sjn | where can I find a list of the HOWs? | 12:26 | |
moritz | did you mean to ask: HOW can I find a list of HOWs? :-) | 12:27 | |
jnthn | sjn: They're in src/Perl6/Metamodel :) | ||
masak | I for one am for the idea of renaming s/ParametricRoleHOW/RoleHOW/ | ||
I think it's worth breaking the pattern. | 12:28 | ||
*especially* if it turns out that parametric roles are, in some sense, the user-facing kind of roles. | |||
and they seem to be exactly that. | |||
sjn | there are many ways of having patterns that handle inconsistencies | ||
masak | but, it's up to jnthn who really groks the model. :) | 12:29 | |
sjn enjoys being a n00b, so he can ask silly questions :) | 12:30 | ||
jnthn | Well, it's a good question. | ||
masak | sjn: I think you're the... third to ask this exact question for this slide. | ||
jnthn | The degree to which ParametricRoleHOW is a *good* use-facing thing may be questionable though. | 12:31 | |
*user-facing | |||
I can imagine a RoleHOW whose sole purpose is making it easy to construct roles. | |||
sjn | it's also relevant to the "is Perl6 teachable" thing I'd love to spend time on at the hackathon :) | ||
masak | jnthn: well, as you said during my talk, all roles, even 'role R {}', are parametric. | ||
jnthn | Indeed | 12:32 | |
tadzik | sjn: we could try making a Perl 6 Crash Course to find that out :) | ||
jnthn | Well, before they're made concrete :) | ||
masak | right, but that's not the HOW that a newcomer MOP user will reach for. | 12:33 | |
tadzik | true | ||
12:33
preflex left
|
|||
tadzik | if he/she will reach anyHOW | 12:33 | |
jnthn | masak: Yeah. But the newcomer MOP user may find working with ParametricRoleHOW a little too surprising also at the moment. :) | ||
12:33
preflex_ joined
|
|||
masak | what we really should optimize for is the use case of "ok, let's try to synthetically construct a role here" | 12:34 | |
"OMG it worked!" | |||
jnthn | masak: You have to know that for it to work out, you must set a body block up. | ||
12:34
preflex_ is now known as preflex
|
|||
jnthn | And that body block has to return a hash that will serve as a type environment. | 12:34 | |
masak | nod. | ||
jnthn | masak: If we want to optimize for the use case of synthetically constructing one, we might like to reserve RoleHOW for a facade that makes that nice. | 12:35 | |
masak | so maybe it's as you say, there's room for a RoleHOW facade... yeah, that. | ||
jnthn | Anyway, a bunch of people have asked the question, so it clearly wants an answer. :) | 12:36 | |
masak | the slide would look much nicer, too :) | ||
jnthn | Well, uniformer if nothing else. :) | 12:37 | |
masak | nom: class A { method foo($x) {} }; class B is A { method foo($a, $b, $c) {} }; say "alive, no warning" | ||
p6eval | rakudo bd6fde: OUTPUT«alive, no warning» | ||
masak | what do you folks think of TheDamian's idea of the above emitting a warning? | ||
nom: say :($a, $b, $c) ~~ :($x) | |||
p6eval | rakudo bd6fde: OUTPUT«False» | ||
masak | nom: say :($a, :$b) ~~ :($x) | 12:38 | |
p6eval | rakudo bd6fde: OUTPUT«False» | ||
jnthn | Hm. I think it gets that right by accident :) | ||
masak | nom: say :($a, :$b) ~~ :($x, *%) | ||
p6eval | rakudo bd6fde: OUTPUT«False» | ||
masak | hm. | ||
I'd expect that last one to be True. | |||
jnthn | Same, but Rakudo has never (in any version) yet implemented sig ~~ sig | ||
masak | oh! | ||
well, that explains it, then. | 12:39 | ||
jnthn | btw, it only needs writing Perl 6 code :) | ||
masak replies to TheDamian | |||
jnthn | For anybody who fancies taking it on. | ||
Anyway, I'm very happy masak++ started the PRE/POST thread and that TheDamian++ responded. | |||
I need to read both again a couple more times :) | |||
masak: One thing we have to worry about if we want to warn over the above situation is how to do the warning well | 12:41 | ||
e.g. "Non-Liskovian inheritance of method 'foo'" won't cut it :) | |||
.oO( the semantics in multiple inheritance will be "fun" too... ) |
12:42 | ||
masak | line numbers for both methods, I'd guess. | ||
"Warning: new method overrides old with different signature." | |||
jnthn | masak: It's more that the word Liskov will just confuse a bunch of folks :) | ||
masak | yah, so don't use it. :P | ||
jnthn | "Signature of method 'foo' in subclass B is more demanding than that in class A" | 12:44 | |
:) | |||
tadzik | jnthn: for sig ~~ sig, don't we need that for MAIN? | 12:45 | |
jnthn | no, we use the multi-dispatcher ordering for that | 12:46 | |
oh, oops, I gotta go to gothenburg... | |||
masak | "Signature of method 'foo' in class B isn't compatible with signature of method 'foo' in class A." | ||
jnthn -> station | |||
masak | jnthn: o/ | ||
moritz is worried about having to compare signatures, which in general isn't computable | 12:47 | ||
masak | it maybe impossible to create a comparator that gets the answer right every time, but it's possible to create a comparator that terminates every time, at the cost of giving up on some hard comparisons. | 12:49 | |
moritz | anything that contains subset types, really | ||
masak | as usual, 'where' blocks (and by extension, subtypes), are the prob... yeah. | ||
12:50
Chillance joined
|
|||
masak | :($x where MultipleOfTen) ~~ :($x where EvenNumber) | 12:51 | |
this one is True in some ideal sense, but I wouldn't expect it to return True. | 12:52 | ||
question is whether it should return False or some third value. | |||
feels almost like it should return something like 'False but Unknown' | 12:53 | ||
moritz | feels like it should fail() | ||
masak | 'False but Mu' ;) | ||
yeah, fail() might achieve the same effect. | |||
so, "isn't computable" here just means that it'll fail() sometimes. | 12:54 | ||
moritz | and what does that mean for DBC? | ||
masak | that the compiler won't be able to warn sometimes when Liskov is broken. | ||
moritz | or should it warn when it doesn't know? | 12:58 | |
masak | no, because that would just put a stigma on using subtypes in method signatures. | 13:00 | |
moritz | I kinda remember that we generally reserve all-capitcal names | 13:01 | |
is that somewhere in the specs? if yes, where? | |||
masak | we do for Pod. | ||
the fact that the compiler can't infer something isn't grounds for warning about it, IMHO. | |||
13:07
xinming joined
|
|||
moritz also replies to TheDamian | 13:11 | ||
masak | moritz: I don't see a TTIAR violation in 'will require { ... }' | 13:15 | |
just as there isn't any with 'if { say "OH HAI" } { say "OH HAI AGAIN" }' | |||
moritz | traits usually take a term as argument | 13:20 | |
oh, trait_mod:will is special in that respect. Never midn then. | |||
masak | yeah, that's part of the raison d'etre for trait_mod:will, IIRC. | 13:25 | |
otherwise we could use trait_mod:is for everything. | 13:26 | ||
cf 'will begin', 'will leave', etc. | |||
moritz | it makes sense to me for 'will leave', but 'will begin'? | 13:28 | |
that 'will' makes it sound further in the future than the mainline code | |||
13:29
GlitchMr left,
GlitchMr joined
|
|||
masak | yeah, forget 'will begin'. :) 'will enter', then. | 13:29 | |
moritz | same problem | 13:30 | |
masak | then I don't see it. | 13:31 | |
13:31
xinming left
|
|||
masak | entering the block happens quite a while after parsing it. | 13:31 | |
moritz | yes, but it happens before the block is executed | ||
whereas the 'will' suggests it will happen later | |||
masak | 'the block' -- the surrounding block? | 13:32 | |
not at all. we must activate the surrounding block in order to run an ENTER phaser. | 13:33 | ||
otherwise it won't have the proper OUTER. | |||
13:34
sisar joined
13:36
xinming joined
|
|||
moritz | activate, yes, but not run its code | 13:37 | |
13:38
mscha joined
|
|||
mscha | perl6: my @list = 1, 2, 3, 101, "102", 103, "201", 202, "203"; say @list; say @list.sort: { $^a cmp $^b }; | 13:39 | |
p6eval | rakudo bd6fde: OUTPUT«1 2 3 101 102 103 201 202 2031 101 102 2 103 201 3 202 203» | ||
..niecza v15-4-g1f35f89: OUTPUT«1 2 3 101 102 103 201 202 2031 2 3 101 103 202 102 201 203» | |||
..pugs b927740: OUTPUT«123101102103201202203110223101103201202203» | |||
mscha | The dangers of using cmp ... | 13:40 | |
moritz | yes | 13:41 | |
it's actualyl a rather deep problem | |||
mscha | cmp isn't transitive, when using different types of objects, so *shouldn't* be used for sort. | 13:42 | |
But it's still the default. | |||
moritz | well, it's very useful for lists of objects of the same type | ||
which is a very common case | |||
what would you use as the default comperator? | 13:43 | ||
mscha | Good question. | ||
moritz | if you want numeric or string sort,it's only 4 characters away | ||
.sort(~*) or .sort(+*) | 13:44 | ||
colomon wonders if there is any use for binary sort (.sort(?*)) | 13:45 | ||
mscha | Still, it's a it surprising if you *think* you have a list of numbers, but some of them happen to be strings, and you simply do .sort. | ||
Still, it's a bit surprising if you *think* you have a list of numbers, but some of them happen to be strings, and you simply do .sort. | |||
moritz | mscha: yes, in programming you are usually surprised if your assumptions about your data are invalid | 13:46 | |
mscha | :) | ||
lumi__ | Erlang has a total order over everything ever | ||
moritz | lumi__: ... which will likewise surprise you if you think you have other objects than you actually have :-) | 13:47 | |
lumi__ | moritz: Yes, it's pretty surprising | 13:48 | |
masak | colomon: sure, if you want falsy things to come before truthy things. | 13:50 | |
colomon: but probably nicer to use .classify in most cases. | |||
moritz: I still don't see the problem with 'will enter'. it just says "once this code runs, it will run with ENTER semantics". | 13:51 | ||
moritz | masak: we don't require 'will' for ENTER phasers eitehr | 13:57 | |
moritz gives up | |||
13:58
MayDaniel joined
|
|||
masak | yeah, we're talking past each other. | 14:05 | |
14:15
xinming left
|
|||
TimToady | remember that declarations happen at BEGIN time, so the 'will' is still future to that, generally | 14:18 | |
grr, woke up 20 minutes before I needed to on a "spring forward" day... | 14:19 | ||
moritz | I know, but we don't have 'will' on all those other compile time declarations that aren#t called until runtime | 14:20 | |
which is why it feels so oddly out of place | 14:21 | ||
14:23
MayDaniel left
|
|||
TimToady | the 'will' is implied by the uppercase, which says "I'm a hook, and naturally future" | 14:27 | |
14:27
sftp joined
14:28
xinming joined
|
|||
TimToady | the uppercase says "STOP! I'm doing something weird", but a declaration is already weird. | 14:30 | |
14:37
huf left,
huf joined
15:00
mscha left
15:08
DarthGandalf left
15:09
DarthGandalf joined
15:25
Jerkwad joined
|
|||
felher | TimToady: one question, if you don't mind. Regarding your refactoring of rosettacode.org/wiki/Langton's_ant#Perl_6 : Is the primary reasong for using 'gather for'/'take' instead of 'do for' that niecza doesn't support 'do for' yet? | 15:25 | |
15:26
archme joined,
archme left
15:33
alvis left
15:35
tokuhirom left
15:49
Patterner left
15:51
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
dalek | ecs: 578e3cb | masak++ | S04-control.pod: [S04] un-spec method-level PRE/POST The intent was to extend block-level PRE/POST to something that could do Eiffel-style Design-by-Contract assertions. This is an intriguing idea, but not in the way the spec outlined it. See <www.nntp.perl.org/group/perl.perl6....3.html> for details. |
15:58 | |
16:02
sftp left,
sftp joined
|
|||
masak | nom: constant catalan = 1, map { (4*$_ + 2) / ($_ + 2) * @catalan[$_] }, 0..*; .say for catalan[^10] | 16:18 | |
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===Variable @catalan is not declaredat /tmp/ZT46t2W420:1» | ||
masak | nom: constant catalan = 1, map { (4*$_ + 2) / ($_ + 2) * catalan[$_] }, 0..*; .say for catalan[^10] | ||
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&catalan' called (line 1)» | ||
masak | nom: constant k = 1, map { k[$_] }, 0..*; .say for k[^10] | 16:19 | |
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&k' called (line 1)» | ||
masak | niecza: constant k = 1, map { k[$_] }, 0..*; .say for k[^10] | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.Kernel.ToComposable (Niecza.STable arg, Niecza.STable cls) [0x00000] in <filename unknown>:0  at Niecza.Kernel.ApplyRoleToClass (Niecza.ST… | ||
masak submits rakudobug | |||
I think the nieczabug is already submitted. | |||
nom: constant k = k; say k | 16:20 | ||
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===Could not find sub &k» | ||
masak | nom: constant k = 1; constant k2 = k; say k2 | 16:21 | |
p6eval | rakudo bd6fde: OUTPUT«1» | ||
masak | nom: constant @catalan = 1, map { (4*$_ + 2) / ($_ + 2) * @catalan[$_] }, 0..*; .say for catalan[^10] | 16:22 | |
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===Variable @catalan is not declaredat /tmp/RbXEOFt2RN:1» | ||
masak | nom: constant @catalan = 1, gather for 0..* { take (4*$_ + 2) / ($_ + 2) * @catalan[$_] }; .say for catalan[^10] | 16:23 | |
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===Variable @catalan is not declaredat /tmp/YwtlrBBlpG:1» | ||
TimToady | felher: yes, when possible I try to support both platforms | ||
masak | nom: constant @catalan := 1, gather for 0..* { take (4*$_ + 2) / ($_ + 2) * @catalan[$_] }; .say for catalan[^10] | ||
p6eval | rakudo bd6fde: OUTPUT«===SORRY!===Variable @catalan is not declaredat /tmp/g_JUP4gP6l:1» | ||
masak | ok, so rosettacode.org/wiki/Catalan_numbers#Perl_6 doesn't work on Rakudo. | ||
TimToady | sometimes I try to support both, and sometimes I support the one I think is more correct... :) | 16:24 | |
felher | TimToady: k, thnx :) | ||
TimToady | the last one I did only supports rakudo | ||
s/supports/runs on/ | 16:25 | ||
felher | TimToady: i just noticed: 'for 0,2,4 ...^ $size - 2 -> $x {...' aren't we missing the last two lines? ^ and -2? | ||
TimToady | because niecza can't overload builtin ops | ||
16:25
snearch joined
|
|||
TimToady | it includes the matched final value | 16:26 | |
oh, right | |||
I didn't remove the ^ | |||
good spot | |||
felher | TimToady: i fix it unless you are already fixing it? Also: do you like -2 more than ^? | 16:31 | |
TimToady | I already fixed it | 16:34 | |
felher | TimToady++ :) | ||
masak | I already hesitate between explicit subtraction and implicit ^-ing too. | ||
TimToady | it won't match unless the endpoint is even | ||
I guess we could exclude the endpoint and not have -2 at all | |||
masak | sometimes it feels like I should choose one or the other based on some rule I come up with, but when I think about it some more it just feels arbitrary again ;) | 16:35 | |
TimToady | the -2 felt clearer to me this time | ||
16:35
mucker joined
|
|||
felher | I see. Thanks :) | 16:35 | |
TimToady | since it's doing 4-sized cells | ||
16:35
mucker left
|
|||
TimToady | niecza used to do the recursive catalan if you declared it: constant @catalan = 1, ... | 16:37 | |
but that broke at some point | |||
16:38
abercrombie left
|
|||
TimToady | something got to eager to wrap the demand back through the array properly | 16:40 | |
*too | |||
sisar | the Langton's ant code does not work on Rakudo ? | 16:42 | |
TimToady | it did at one point, but it runs very slowly | 16:43 | |
masak | I ran it the other day on Rakudo. | 16:44 | |
sisar | well, i'm getting this erros : gist.github.com/2017093 | ||
*error | |||
TimToady | is that current rakudo and current parrot? | 16:45 | |
sisar | 'This is perl6 version 2012.02-168-ga8086d4 built on parrot 4.1.0 revision RELEASE_4_1_0-35-g47bfa1f' | 16:46 | |
masak | could be something happened when copy-pasting to the file. | 16:47 | |
sisar | i built it a couple of days ago, so i'd say yes, it's latest | ||
masak: it works on Niecza | |||
masak | oh, hm. | ||
TimToady | works on rakudo (takes 2 minutes though) | ||
masak | sisar: if you built Rakudo a couple days ago, it can't be HEAD, 'cus the latest commit was made yesterday :) | 16:48 | |
TimToady | git pull sez my nom is up-to-date | ||
are you 32 or 64-bit? | |||
moritz | well, should still be new enough | 16:49 | |
masak | true. | ||
walk & | |||
sisar | i'm 32-bit | 16:50 | |
well, my laptop is :) | |||
TimToady | :D | ||
sisar | fyi, i'm Inf-bit , i think | ||
flussence | .oO( I think I'm ebcdic... ) |
16:51 | |
TimToady | hmm, nothing in that program should be coming anywhere near Inf | ||
moritz | worked here, took 3m9s | 16:52 | |
sisar | should i recompile rakudo ? | ||
moritz | sisar: did you 'make install'? | 16:53 | |
16:53
am0c left
|
|||
sisar | moritz: hehe. the last time you pointed that out was the last time i built rakudo | 16:54 | |
TimToady | hmm, RC doesn't seem to be syntax hilighting Perl 6 these days... | ||
the ▘▝▀▖▌▞▛▗▚▐▜▄▙▟█ looked really cool when it was red, but now it's not... | 16:55 | ||
sisar | i can't make sense of the errors. | 16:58 | |
"in file '(file unknown)' line 17" why is file unknown ? | |||
16:59
birdwindupbird left
|
|||
moritz | sisar: because it's probably not while parsing the file, but in some intermediate step | 16:59 | |
TimToady | yes, it looks like a version skew error | 17:01 | |
finding the wrong parrot or some such | |||
17:01
lateau joined
|
|||
sisar rebuilds rakudo, parrot, nqp | 17:02 | ||
17:05
thou joined
|
|||
TimToady | is anyone else on 32-bit hardware? that hasn't been eliminated that I know of | 17:07 | |
17:09
lateau left
|
|||
jnthn | o/ | 17:09 | |
jnthn made it to Gothenburg :) | |||
17:09
lateau joined
|
|||
TimToady | felher: well, I thought I'd fixed it, but got the dreaded "Sorry! We could not process your edit due to a loss of session data." | 17:10 | |
now it's fixed | |||
rosettacode's been giving me that a lot lately | |||
felher | TimToady: ah, i didn't even notice. I just changed it locally so i can test it, but didn't look on RC again :) | 17:12 | |
jnthn | TimToady: My laptop is 32-bit | ||
re gist.github.com/2017093, I dearly hope it's not becaue the path happens to have a ' in it... | 17:13 | ||
felher | jnthn: i fear it is. | 17:15 | |
jnthn | bah | ||
sisar | jnthn: hm. rakudo can't handle file names with a ' ? | ||
felher | jnthn: i have the same problem once i renamed the file to include a "'" | ||
17:16
lateau left
|
|||
TimToady | that's it | 17:16 | |
jnthn | It'll be soemthing silly, no doubt | ||
TimToady | probably a good spot for an injection attack :) | ||
jnthn | bah | ||
Found it | 17:17 | ||
felher | That was fast :) | ||
TimToady | he didn't say he'd fixed it :) | ||
felher | True :) | ||
jnthn | Well, got a patch, but gotta wait to see if it helps :) | 17:18 | |
17:19
Moukeddar joined
|
|||
sisar | :| , i should have waited. now i gotta recompile after jnthn's fix | 17:20 | |
jnthn | Sorry for fixing things :P | ||
sisar | LOL | 17:21 | |
mikemol | TimToady: I'm trying to find out what's causing that. I've generally been accustomed to it happenening to me for ages, as I get halfway through something, and then get pulled aside longer than the session timeout. As a result, I have a habit of hitting 'preview' immediately before submit. | 17:22 | |
nm. | |||
I found it. | |||
Sec while I fix it. | 17:23 | ||
K, should be fixed. | |||
17:24
Moukeddar left
|
|||
sisar | after recompiling rakudo, the error is almost the same, but with 'in file '(file unknown)' line 153725337'. Line 153725337 !! Wow ! | 17:24 | |
wait, the line number is different for every try | 17:25 | ||
geekosaur | mmm, uninitialized data | 17:26 | |
sisar | another interesting observation, it gives out huge line nos, but after every three or so tries, it returns to line 17 ! | 17:27 | |
jnthn blames IMCC | 17:28 | ||
sisar submitted 4 ubuntu-related crash reports today, found one rakudo bug | 17:30 | ||
jnthn | sisar++ | 17:31 | |
sisar wonders if bugs have a way of finding him ? | |||
s/finding/targeting | |||
jnthn | phenny: tell masak S04 still has a leftover: "Class-level C<PRE> and C<POST> submethods..." | 17:32 | |
phenny | jnthn: I'll pass that on when masak is around. | ||
17:32
icwiener joined
|
|||
sisar | jnthn: IMCC ? | 17:33 | |
masak | jnthn: I chose to leave those in, as I don't see a problem with them. | 17:34 | |
phenny | masak: 17:32Z <jnthn> tell masak S04 still has a leftover: "Class-level C<PRE> and C<POST> submethods..." | ||
sisar | never mind, Intermediate Code Compiler | ||
jnthn | sisar: yes, that | ||
dalek | kudo/nom: b13c517 | jonathan++ | src/Perl6/Actions.pm: Seems that we already end up with file annotations being emitted, so don't add them again in an extra way in the Actions. The extra way in question also didn't escape output, meaning a foobar'd.p6 would cause invalid code-gen; sisar++ for reporting. |
17:35 | |
sisar | jnthn++ | ||
jnthn | masak: But the way they've been left in feels...accidental. | 17:36 | |
I mean, it points out why they are different rather than introducing them as existing. | 17:37 | ||
masak: Plus it's a mess. | |||
masak | you have a point. | ||
I'll see what I can do. | |||
jnthn | It doesn't say what PRE gets at the argument | ||
Then | |||
And the C<POST> | |||
submethod gets the return value as the topic, just as exit phasers do. | |||
YEAH GOOD LUCK | |||
masak | :P | 17:38 | |
I reflected on that one too. | |||
jnthn | That's only gonna work if you write submethod POST($_) { } :) | ||
masak | ok, I'll simply remove them. | ||
jnthn | Well, up to you :) | ||
masak | we can toy with introducing them as a CallHOW extension. | ||
and then maybe spec them back if we feel like it. | |||
jnthn | We can keep them, they just need to be spec'd sufficiently that I can actually do a first cut of them :) | ||
Also, do we call all of them up the inheritance chain, etc. | 17:39 | ||
masak | hm, yes. | ||
jnthn | Yes, it would be trivial to do them as a module. :) | ||
masak | don't worry about submethod PRE and POST. worry about block-level PRE and POST :) | ||
masak goes about un-spec'ing submethod PRE and POST, too | |||
jnthn | :) | ||
OK | |||
fglock | o/ | 17:40 | |
jnthn | Let's do them in a module first. | ||
And see how that works out. | |||
o/ fglock | |||
I'll see if I can do block level PRE/POST amongst my $teaching-work :) | 17:41 | ||
masak | \o/ | 17:42 | |
dalek | ecs: 937f37f | masak++ | S04-control.pod: [S04] unspec submethod PRE/POST See <irclog.perlgeek.de/perl6/2012-03-11...275742> for the discussion that precipitated their removal. Anyone with a working implementation of them is free to add them back. :-) |
17:48 | |
masak | I promise not to decimate the spec any more today. :) | 17:56 | |
jnthn | Ouch, it looks like my last patch may have oddly busted something... | 17:58 | |
jnthn checks | |||
18:01
pmurias left
18:04
sudokode left
|
|||
sisar | jnthn: the patch worked | 18:04 | |
18:05
GlitchMr42 joined
|
|||
sisar | bash has issues with filenames with a ' ? | 18:05 | |
18:05
pmurias joined,
GlitchMr left
18:06
GlitchMr42 is now known as GlitchMr
|
|||
jnthn | sisar: It's OK, it works, I was doing something else silly :) | 18:06 | |
18:08
sudokode joined
|
|||
sisar | jnthn: phew, then i don't have to recompile :) | 18:10 | |
'night #perl6 ! | 18:14 | ||
sisar zzz.. | |||
geekosaur | sisar, yes, ' is full quoting (no variable expansion) | ||
fglock | pmurias++ # node.js runtime | 18:16 | |
cognominal | fglock: ??? | 18:17 | |
fglock | pmurias added support for node.js to p5-to-js | 18:18 | |
pmurias | fglock: hi | ||
cognominal | nice | 18:19 | |
pmurias | fglock: it still works on d8? | ||
fglock | I fixed it a little - now it works :) | ||
fglock installs node | 18:22 | ||
jnthn | masak: gist.github.com/2017537 fwiw | 18:23 | |
Hacky and incomplete, mind :) | |||
dinner & | |||
[Coke] | sorear: anythign I can do to diagnose why this step takes so long on my 64bit os x box?: | 18:28 | |
cd src && NIECZA_KEEP_IL=1 mono ../boot/run/Niecza.exe -C STD | 18:29 | ||
moritz | w 13 | ||
sorry | |||
18:35
sisar left,
Vespakoen joined
|
|||
masak | jnthn: nice. :) | 18:37 | |
jnthn: how does it treat private methods and submethods? | |||
18:43
wolfman2000 left
|
|||
fglock | pmurias: $ node perlito5.js -Bjs t5/01-sanity.t | 18:44 | |
18:45
bbkr left
|
|||
pmurias | fglock: checking... | 18:48 | |
fglock | hmm - the CORE prototypes will be missing, because they were discarded after compiling the compiler | 18:50 | |
maybe - I need to check | |||
18:51
pjcj left
|
|||
pmurias | fglock: ? | 18:52 | |
fglock: most tests pass | |||
prove -e 'node perlito5.js -Bjs' t5 # is much nicer than the find abomination | |||
fglock: do you have node installed? | 18:53 | ||
fglock | yes | ||
nice - prove works for me | 18:54 | ||
pmurias | tests 21 and 22 fail | ||
fglock | pmurias: yes, I think the compiler needs to save more state in the source file, in order for eval() to get a complete enviromnet | 18:55 | |
environment | |||
pmurias | fglock: do perlito5 and perlito6 code share code? | 18:56 | |
18:57
ascrazy joined
|
|||
fglock | not anymore, perlito5 is now completely rewritten | 18:57 | |
18:57
ascrazy left
|
|||
pmurias | it might be better to seperate them into to directories rather then have a 5 and 6 prefix | 18:57 | |
* postfix | 18:58 | ||
fglock | they need to have different names, to allow installation in usr/bin/whatever | 18:59 | |
pmurias | on executables yes | ||
fglock | they share lib5 | ||
pmurias | but on lib,src,t,README | ||
fglock | hmm - dunno, I was thinking about splitting even more, with a top-level perl6 and perl5 | 19:01 | |
pmurias | with perl5 containing Perlito5 and perl6 Perlito6? | 19:03 | |
fglock | yes (maybe) | ||
ack TODO src5 | wc -l # 42 | 19:05 | ||
pmurias | fglock: re split, that's what I meant | 19:06 | |
fglock: where should we keep strict setting? | 19:10 | ||
so "no strict" is the default | 19:13 | ||
we need that for running t/base | |||
fglock | %Perlito5::STRICT I think - this can be declared in Perlito5::Runtime | 19:14 | |
t/base is pretty difficult | 19:15 | ||
re t5/21-test.t - 'use' is implemented in the wrong place (as a ast preprocessor), not available to eval() | 19:19 | ||
it's a bug | |||
19:19
sporous left,
sporous joined
19:22
snearch left
|
|||
[Coke] | sorear: AHAHAHA. no diagnostics necessary - just complain on IRC and it finally proceeds to the next step. | 19:23 | |
(probably doesnt' help that I'm building ghc in another tab.) | 19:26 | ||
tadzik | seems that Parrot can reliably create and run 120000 tasks on 8 threads these days | 19:29 | |
19:29
birdwindupbird joined
|
|||
[Coke] | in a branch, no? | 19:38 | |
tadzik | aye | 19:40 | |
19:41
wayland76 joined
19:44
wayland76 left
19:45
MayDaniel joined
|
|||
pmurias | fglock: should all new tests in t5 have a number? | 19:46 | |
fglock | yes, I think it helps - the most basic tests are then run first | 19:52 | |
jnthn back from noms :) | 19:57 | ||
Apart from the bit where a candle almost set my hair on fire, it was pretty good. :) | |||
masak: Private methods and submethods don't get PRE and POST called on them. | 19:58 | ||
sorear | [Coke]: that step always takes the longest time - was around 90s on the dinosaur | 20:01 | |
good * #perl6 | 20:03 | ||
fglock | sorear: o/ | 20:04 | |
sorear | o/ fglock | ||
masak | jnthn: nice. | 20:06 | |
nom: class A { submethod !foo {} } | |||
p6eval | rakudo b13c51: ( no output ) | ||
pmurias | fglock: how can I test strict? | ||
masak | nom: class A { submethod !foo {} }; say "alive" | ||
p6eval | rakudo b13c51: OUTPUT«alive» | ||
pmurias | fglock: we need eval to catch exceptions first? | ||
jnthn | masak: That's prolly kosher, though pointless. | 20:07 | |
masak: Private methods are never virtual anyway. | |||
masak | nod. | 20:08 | |
sorear | jnthn's doing PRE/POST now too? | ||
jnthn | sorear: Likely not tonight. | 20:09 | |
fglock | yes, we need that - eval-block is not implemented | ||
moritz | but since strict.pm errors are compile time, you need STRING-eval anyway | ||
jnthn | sorear: But hopefully in the next copule of days, if I have the ork after work. | ||
fglock | it is easy to add, I'll take a look (now adding special vars, I want $^O) | 20:10 | |
ah, yes - you can just use string eval | 20:11 | ||
20:18
skids joined
|
|||
jnthn | moritz: ooc, how is the Sink branch? Did I need to look at that? | 20:28 | |
moritz | jnthn: didn't have much motivation to look at it. It's freshly rebased, and I've tried to implement some stuff, but didn't get as far as I wanted | 20:31 | |
jnthn: oh, and about the exceptions... you proposed that we install subs that can be invoked to generate the rightly typed exceptions... but the problem is that if we call it from NQP or C land, we'll be passing non-Perl 6 objects to it | 20:32 | ||
jnthn: so we can't use normal signatures | 20:33 | ||
that's very inconvenient | 20:34 | ||
jnthn | moritz: We generally can 'cus the binder marshalls. | 20:35 | |
fglock | pmurias: eval-block is parsed; it needs some emitter work | ||
jnthn | For strings and integers, at least. | ||
20:36
ksi joined
|
|||
fglock | afk | 20:37 | |
20:38
birdwindupbird left
|
|||
moritz | what about lists and hashes? | 20:39 | |
jnthn | moritz: I believe RPA becomes Parcel, and hashes become a Hash. | 20:40 | |
20:40
GlitchMr left
|
|||
moritz | hm | 20:40 | |
jnthn | moritz: Look for Rakudo_types_parrot_map | ||
moritz | so we just need somehting that traverses them, and upgrades their elements | 20:41 | |
jnthn | It ain't recursive, true. | 20:42 | |
Implementable though, I guess. | 20:43 | ||
moritz | desirable? | ||
jnthn | Maybe. What's your use case, ooc? | 20:44 | |
moritz | I know I've needed that for the typed exceptions so far | ||
lists of matching candidates for example | |||
jnthn | But those should be lists of Perl 6 code objects. | 20:45 | |
moritz | hm, right | ||
20:45
thou left
|
|||
moritz | I know I've needed it recently for something... | 20:45 | |
for X::Package::Stubbed | |||
well, we'll see | 20:46 | ||
jnthn | For that one you do have the option of passing the list of stubbed packages, mind. | ||
And method message grabs their names | |||
In general, that is perhaps a better approach. | 20:47 | ||
Like, if two roles provide a conflicting method, include a list of the roles, not just their names. | |||
20:47
Moukeddar joined
|
|||
jnthn | (Not as a workaround, but because it's more useful.) | 20:48 | |
[Coke] | sorear: it took HOURS here. | ||
sorear | Weird | 20:49 | |
Swapping? | |||
[Coke] | could be. | ||
now working on NieczaActions | 20:51 | ||
which is at 10s of minutes. | |||
20:52
fglock left
|
|||
[Coke] | there's over 600M free at the moment. | 20:52 | |
sorear | what mono version? are you using --gc=sgen? | 20:53 | |
moritz | jnthn: I'm a bit sceptical about that | 20:55 | |
jnthn: because in the case of errors, we sometimes have packages whose composition has failed | |||
so I don't know if they can .gist correctly | 20:56 | ||
jnthn | It can't, but it can .HOW.name | ||
20:56
Patterner left
|
|||
[Coke] | sorear;I'm using whatever "make" gives me. checking the version... | 20:56 | |
Mono JIT compiler version 2.10.6 (tarball Fri Mar 9 18:42:58 EST 2012) | 20:57 | ||
sorear | of course it's also possible there was a massive regression recentyly | 20:58 | |
20:58
Psyche^ joined,
Psyche^ is now known as Patterner
21:06
alvis joined
21:07
Moukeddar left
21:14
Trashlord left
21:18
Trashlord joined
21:27
kaare__ left
21:28
VXZ joined
|
|||
dalek | ok: 0e0ac08 | moritz++ | src/ (4 files): several corrections by Philipp Marek |
21:32 | |
sorear | jnthn: I heard news about the fire in Slovakia :( | 21:38 | |
[Coke] | +# 03/11/2012 - rakudo++ ; niecza (96.21%); pugs (38.97%) | 21:43 | |
+"niecza", 20307, 1, 757, 1540, 22604, 23759 | |||
+"pugs" , 8227, 0, 3022, 1343, 12592, 23568 | |||
+"rakudo", 21106, 31, 626, 1888, 23485, 24026 | |||
jnthn | sorear: Same :( | ||
sorear: Sad. It was really old. | 21:44 | ||
[Coke] | b: say 21106*.01; say 21106*.39-8227 | ||
p6eval | b 1b7dd1: OUTPUT«211.064.34» | ||
jnthn | Perhaps the worst part is that it burnt down for a really stupid reason - careless uses of matches when lighting cigarrettes :/ | 21:48 | |
tadzik | I thought it was about burning grass on the field nearby | ||
sorear | ah, (US news)-- | ||
they told me it was a brush fire | |||
tadzik | supposedly they still don't know | 21:49 | |
jnthn | tadzik: Ah, I'd read the grass was set on fire by dropped matches. | ||
masak throws his theory into the fray | |||
it was a stray meteorite. | |||
tadzik | jnthn: oh, it may be | 21:50 | |
jnthn | sorear: No, it was rightish, it was that the grass was on fire. | ||
21:51
Moukeddar joined
|
|||
sorear | meh, they deserve the -- for other reasons | 21:51 | |
jnthn | :) | ||
jnthn never actually visited that particular castle, but did go to quite a few of them. | 21:53 | ||
phenny: "krasna horka"? | 21:55 | ||
phenny | jnthn: "Krasna Horka" (sv to en, translate.google.com) | ||
jnthn | phenny: sk en "krasna horka"? | ||
phenny | jnthn: "beautiful hot" (sk to en, translate.google.com) | ||
jnthn | ouch! | ||
tadzik | beautiful mountain, I think | ||
horka sounds like "górka" | 21:56 | ||
jnthn | Horka actually means "little hill" I believe. | ||
Though... | |||
tadzik | phenny: "górka"? | ||
phenny | tadzik: "hillock" (pl to en, translate.google.com) | ||
21:56
fsergot left
|
|||
tadzik | eek | 21:56 | |
jnthn | phenny: sk en "krasna uhorka"? | ||
phenny | jnthn: "beautiful cucumber" (sk to en, translate.google.com) | ||
jnthn | ;) | ||
tadzik | "góra" is "hill" | ||
jnthn | hora is mountain in Slovak, iirc. | ||
tadzik | "górka" is "small hill" | ||
that'd match | |||
jnthn | aye | ||
Just some s/h/g :) | 21:57 | ||
21:58
MayDaniel left
|
|||
dalek | p/new_make: 282e894 | bacek++ | tools/build/Makefile.in: Revert "Parallelize stage0 build" This reverts commit e916eda7eca1299fc709b7d0fbecbd6745198a50. |
21:59 | |
22:00
lestrrat left
22:01
lestrrat joined
22:07
fsergot joined
22:16
ksi left
22:19
nnunley joined
22:20
wamba joined
22:22
wamba left
|
|||
bacek_at_work | jnthn, if you have time can you try new_make again? | 22:22 | |
22:23
wamba joined
22:25
wamba left
22:39
Moukeddar left
22:50
mjreed joined
|
|||
mjreed | rakudo: constant @vecs = ([1,0,1], [0,-1,1], [-1,0,1], [0,1,1]); | 22:50 | |
p6eval | rakudo b13c51: ( no output ) | ||
mjreed | rakudo: constant @vecs = ([1,0,1], [0,-1,1], [-1,0,1], [0,1,1]); say @vecs[1][1]; | 22:51 | |
p6eval | rakudo b13c51: OUTPUT«-1» | ||
mjreed | odd. 2012.02 is giving me 'Cannot handle constant @vecs with non-literal value yet', though I don't see what's non-literal about that. | 22:52 | |
masak | commas probably count as non-literal. | ||
jnthn | mjreed: That restriction was only lifted within the last couple of weeks, and didn't make it into a release yet. | ||
Will be in the March one, or just grab latest from GitHub. :) | 22:53 | ||
masak | love it when people think the last release is stale :) | ||
jnthn | bacek_at_work: I'm only $slow-laptop and need to sleep in a moment...teaching tomorrow. Will try and get to testing it tomorrow. | 22:54 | |
mjreed | masak: says good things about the velocity of the project... :) | ||
masak | aye :) | 22:55 | |
22:55
lutok left,
Patterner left
22:57
Psyche^ joined,
Psyche^ is now known as Patterner
23:01
Patterner left
|
|||
jnthn | sleep & | 23:04 | |
23:04
Psyche^ joined,
Psyche^ is now known as Patterner
23:30
pjcj joined
23:31
pjcj left
23:34
pjcj joined
23:38
pmurias left
23:45
havenn joined
23:48
PacoAir left
23:52
Patterner left
|