»ö« 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
ymasory joined
00:12
[Coke] left
00:14
[Coke] joined
00:19
arulprasad left
00:22
[Coke] left
00:24
[Coke] joined
|
|||
dalek | p/ctmo: 0936e24 | jonathan++ | src/pmc/sixmodelobject.pmc: Turns out the last fix wasn't quite the whole story; this should be closer to it. |
00:39 | |
p/ctmo: 7c92758 | jonathan++ | src/ (2 files): Install subs in packages through the SC. |
|||
p/ctmo: 5a37cdf | jonathan++ | src/stage0/ (7 files): Update bootstrap. |
|||
p/ctmo: 7d0bcd9 | jonathan++ | src/Regex.pir: Fix up PAST and _dumper imports so they make entries in GLOBALish. Need to do this until they're converted to NQP. |
|||
jnthn | All being well, looks like tomorrow may be "breakthrough day" for much of the stuff I've been doing of late. | ||
For now, sleep & | 00:40 | ||
colomon | jnthn++ | 00:42 | |
00:44
ymasory left
00:47
coldhead joined
|
|||
tewk | :q | 00:53 | |
hugme hugs tewk, good vi(m) user! | |||
01:14
whiteknight left
01:15
woosley joined
02:01
Sarten-X left
02:11
Sarten-X joined
02:15
Enzo joined
02:21
leprevost joined
02:28
Chillance left
02:33
donri left,
Enzo left
02:37
plobsing joined
02:56
aindilis left
03:08
leprevost left
03:17
plobsing_ joined
03:19
plobsing left
03:20
hudnix left
03:34
Sarten-X left
03:36
Enzo joined
03:41
Sarten-X joined
03:50
ymasory joined
03:55
Enzo left
04:03
agentzh joined
04:05
ymasory left
04:10
nymacro joined
04:17
orafu left
04:18
orafu joined
05:10
sftp left
05:13
justatheory left
05:29
birdwindupbird joined
06:41
jaldhar left
06:42
jaldhar joined
06:56
woosley left
07:18
Mowah joined
07:24
masak joined
|
|||
masak | mornin', zebras | 07:24 | |
07:28
birdwindupbird left
07:30
moritz joined
|
|||
moritz | good morning | 07:30 | |
masak | morning, moritz. | 07:32 | |
tadzik | good morning | 07:33 | |
07:33
_ilbot left
|
|||
moritz | today is a big day in gsoc land | 07:34 | |
07:34
_ilbot joined
|
|||
moritz | iirc 1900 UTC is the announcement of accepted student | 07:35 | |
s | |||
07:39
yarp_ joined
|
|||
masak | exciting! | 07:49 | |
08:04
SHODAN joined
|
|||
masak | this shell looks interesting: github.com/banister/pry/ | 08:05 | |
maybe we can stea^Wborrow some ideas from it? | 08:06 | ||
08:09
woosley joined,
woosley left
|
|||
masak | don't know if this has been brought up here before: perlbuzz.com/2011/04/slipping-away.html | 08:11 | |
I feel with alester. | |||
I have no idea what to do about the situation he describes. it's easy to steer a smaller boat, but hard to steer a bigger one. | 08:12 | ||
moritz | it was #1 on reddit/r/programming yesterday | ||
(where many pointed out that this problem is hardly uniq to the perl community, but that doesn't influence the particular frustration with that community) | 08:13 | ||
masak | no, the problem is not unique to the Perl community. | 08:15 | |
partly to blame is the anonymity of Internet socializing. it's far too easy to say and do things one wouldn't afk. | 08:16 | ||
moritz | agreed | 08:17 | |
masak | then there's the demographics issue. | ||
as long as programming communities consist mostly of male twenty-somethings, there's bound to be useless testosterone flying around. | |||
08:18
r0b86 left
|
|||
masak | sorry if that sounds sexist. I'm not saying all male twenty-somethings are jerks. :) | 08:18 | |
just that if you put fifty of them in a room, a certain dynamics will arise, with a high probability. | |||
moritz | just like with fifty women you might get dynamics you'd want to avoid :-) | 08:25 | |
masak | didn't Randall Munroe describe such a community in his Google Authors talk? | 08:26 | |
anyway, I don't think such a community would be problem-free either. of course not. | 08:27 | ||
moritz | roughly, yes | ||
08:27
coldhead left
|
|||
tadzik | am I right to read that as the conflicts in the headquarters rather than conflicts in the community per se? | 08:28 | |
masak | no, I think it's in the community per se. | ||
tadzik | I personally have never seen any anger and arguments | ||
masak | huh. | ||
tadzik | maybe besides the rakudo-targetting-many-vms on the PDS few months ago | 08:29 | |
masak | tadzik: how much time do you spend in the Perl 5 community? | ||
tadzik | masak: well, very little actually, in the global one | ||
that's right | |||
masak | there you go, then. | ||
tadzik | hmm | ||
masak | here in the neighbourhood of #perl6, we don't have much of that. | ||
tadzik | well, at least it's invisible for me on the NLPW and the PM meetings | 08:30 | |
masak | tadzik: strangelyconsistent.org/blog/how-ca...e-kindness | ||
tadzik: I believe I wrote that partly because I saw how the larger Perl community had some kindness problems. | 08:31 | ||
tadzik: yes, but people who go to Perl Workshops (et al) are self-selected to be interested in meeting up with people and having a good time ;) | 08:32 | ||
moritz | agreed, people at workshops and conferences aren't interested in getting into fights, generally | ||
tadzik | so the hate and anger is present on the mailing lists and the irc? | ||
masak | tadzik: also, once you're physically in the same room, many of the technology-caused problems have already vanished. | ||
tadzik: and Twitter and Identica and blogs. | |||
tadzik | well, it's easy to call someone an dork over the wire a couple of thousand kilometers long | 08:33 | |
that's a part of it I suppose | |||
08:34
Rotwang joined
|
|||
tadzik | one might be very interested in the psychological reasons for this | 08:35 | |
08:35
jaldhar left
|
|||
masak | yes. the problem is lack of "rooting" in the things that normally make us think "oh wait, that's an actual human being with feelings". I guess. | 08:35 | |
08:35
jaldhar joined
|
|||
masak | even talking on the phone will mitigate those effects. at least if you've met previously. | 08:35 | |
moritz | having met previously does help a lot, even on IRC | 08:36 | |
being able to associate a voice, a face and real-world interaction patterns with a nick makes it almost impossible for me to shout at a nick handle | 08:37 | ||
(except for joking, of course :-) | |||
08:38
Rotwang left
|
|||
masak | more problem description: blogs.perl.org/users/erez_schatz/20...er-be.html | 08:39 | |
and here's the rationale: www.shadowcat.co.uk/blog/matt-s-tro...a-bastard/ | 08:42 | ||
(I don't want to single out mst, but he *is* a self-confessed bastard, and takes pains to explain why) | |||
08:42
bs338 joined
|
|||
masak | I've always read that latter post as "we have scaled to the point where our only recourse is to be coarse to people, use capital letters, and occasionally ban them" | 08:43 | |
08:43
perladiator joined
|
|||
moritz | that's one thing. The other is the first impression you give a newcomer | 08:44 | |
we also occasionally ban somebody | |||
masak | sure. | ||
moritz | but only after we tried to be friendly, and it didn't work | ||
masak | it's also at least an interesting point that the bastard community member fills a niche in "protecting" the non-bastard supporters. | ||
I don't feel the need for that here on #perl6. | 08:45 | ||
08:45
birdwindupbird joined
|
|||
moritz thinks he's one who conducted the most kicks/bans in here in the last two years | 08:45 | ||
masak | moritz++ # tough job, carried out seamlessly | 08:47 | |
I've always like this post: www.shadowcat.co.uk/blog/matt-s-tro...community/ | |||
the relation between a newcomer and the people already on the channel is always assymetric. | 08:48 | ||
we see that all the time. | |||
a newcomer coming in and asking "why isn't Rakudo faster?" is qualitatively different from jnthn och pmichaud asking "why isn't Rakudo faster?" :) | 08:49 | ||
masak was *so* close to writing a super-snarky answer to the "is Rakudo slow by design?" post on p6u | 08:50 | ||
"Yes -- a few of us sat down and drew up the design criteria for the Perl 6 implementation on Parrot. One of the most important items to us was runtime slowness. So we put it on top of our list." | |||
moritz too | 08:52 | ||
tadzik | "actually, we're a sikkret Perl 5 devs and we wanted it to appear even faster" | ||
as in twitter.com/#!/awwaiid/status/62173638710931457, but different | 08:53 | ||
masak | ooh. there've been further emails in that thread. | ||
pmichaud++ # reply | |||
pmichaud approaches it in exactly the right way: giving appropriate background ("apples-to-oranges comparison"), and then actually addressing the question. | |||
moritz | fwiw nobody in #parrot had a good answer to why the .pbcs are so large | 08:54 | |
masak | I agree with pmichaud that the mmap thing is more important than compressing to a smaller size. | 08:55 | |
disk is cheap. we shouldn't waste it, of course -- but I'll take quicker startup any day over small file size. | |||
moritz | a factor of 5 to 8 in size win would mean less IO time | 08:58 | |
so it's not clear that uncompressed is actually faster | |||
masak | point. | ||
sounds like a job for good old empirical science. | 08:59 | ||
and such an experiment doesn't need to wait for anything -- load-times are fairly independent from other components of Parrot. | |||
"It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model." -- Paul Graham, lib.store.yahoo.net/lib/paulgraham/jmc.ps | 09:05 | ||
interesting viewpoint. | |||
09:10
pmurias joined
|
|||
masak | "Over time, the median language, meaning the language used by the median programmer, has grown consistently closer to Lisp. So by understanding `eval` you're understanding what will probably be the main model of computation well into the future." -- ibid. | 09:33 | |
so *that's* what a "smug Lisp weenie" is ;) | |||
srsly though, the definition of eval is wonderfully elegant. | 09:34 | ||
maybe someone in here would be interested in taking a weekend at some point to implement the Lisp described in that paper in Perl 6? :) | 09:35 | ||
pmurias | masak: as similiar project idea i had recently is to implement r7rs scheme as a niecza frontend (trac.sacrideo.us/wg/attachment/wiki...aft-1.pdf) | 09:39 | |
masak | ooh | 09:41 | |
yes. if I would do what I suggested above, I'd do it in Niecza. | |||
pmurias | masak: not that i'll actually do that | ||
masak | ;) | ||
pmurias | as i have to finish the hoopl optimiser first, and it's progressing slowly | 09:42 | |
masak | nod. | ||
I think implementing a simple Lisp like that would be very instructive. a combination of "wow, it really is that simple!" and "huh, didn't realize there were these hidden subtleties in the implementation". | 09:43 | ||
(sounds contradictory, but isn't really) | |||
colomon is starting to get nervous about the p6 presentation he's giving at Penguicon on Saturday | 09:47 | ||
tadzik | colomon: p6 in general? | 09:48 | |
colomon | yes | ||
moritz | colomon: what's the audience? | 09:49 | |
colomon | It's a Linux and science fiction convention. | ||
colomon has never given a technical presentation before.... | |||
moritz | sounds like a fun mixture | 09:50 | |
masak | colomon: remember to enjoy yourself. the rest will follow :) | 09:52 | |
jnthn | oh hai, #perl6 | 09:54 | |
colomon | I need to collection a list of p6 resources... | ||
masak | hm. that, and being well-rehearsed and -prepered. | ||
jnthn! \o/ | |||
colomon | jnthn, \o/ | ||
masak | jnthn: you made it on this side of noon! :P | ||
moritz | and on which side of nom? :-) | ||
masak | speaking of which... | ||
jnthn | :) | 09:59 | |
10:01
perladiator left
|
|||
jnthn | So...where had I got to before I took sleeps... | 10:07 | |
masak | $jnthn.continuation.invoke; | ||
10:07
IllvilJa joined
|
|||
masak | IllvilJa! \o/ | 10:08 | |
jnthn | Ah yes. I needed my circularity saw... | 10:09 | |
pmurias | masak: one interesting part about hoopl is that it forces me to treat haskell as a typed language rather then ignoring types and letting the compiler infer everything for me | 10:15 | |
masak .oO( Perl 6 is a Swiss circularity chainsaw... ) | |||
pmurias: ah, yes. | |||
pmurias | jnthn: are you sure a saw is the right tool for waking up? | ||
masak | pmurias: I've been wanting to just start TDD'ing some code analysis behvaiours that I'd like. not sure how far I'd get -- it would probably become a steep uphill pretty soon. | 10:16 | |
s/soon/quickly/ | |||
jnthn | pmurias: Fear not, I have coffee! | ||
masak | Greg Young mentioned that some preconditions you don't want to enforce at runtime. and he had a very good example: the precondition of binary search. | 10:17 | |
sub binary-search(@list) { PRE { [<=] @list }; ... } | 10:18 | ||
moritz | masak: the Eiffel philosphy would be to enforce it at runtime, but dissable that check for production deployment | 10:19 | |
masak | moritz: because nothing ever goes wrong in production? :P | ||
moritz | masak: no | ||
masak: user input validation shouldn't happen with preconditions, so they act like smart C assert()ions | 10:20 | ||
masak | nod. | 10:21 | |
moritz | ie they are invariants in the API, but there shouldn't be a need to actually check them at the user | ||
they are a tool for the developer, and useless to the user | |||
masak | method register-user(ValidatedUserString $user) { ... } | ||
subtype ValidatedUserString of Str where { ... } | 10:22 | ||
moritz | that's also not the kind of validation you want to do with user input | ||
masak | moritz: how do you mean "actually check them at the user"? | ||
moritz | because it doesn't throw the exception you want | ||
s/at the user/when deployed to the user's PC/ | |||
masak | ah. | 10:23 | |
this is starting to sound like the "there's two sets of tests" discussion. | |||
some tests are worth running when installing with CPAN, because the user actually wants those to pass. some tests are just useful for a developer. | |||
& | 10:24 | ||
moritz | it's more like "the tests are actually *in* the code, and you don't want to run them in production" | ||
dalek | p/ctmo: ef63ac2 | jonathan++ | src/NQP/Actions.pm: Correct and clean up global lookup logic. |
10:26 | |
p/ctmo: 6f58a6d | jonathan++ | src/HLL/SerializationContextBuilder.pm: Make serialization Event class lexical inside of the serialization context builder. Partly because we can, also because it avoids a NYI in the new package handling. |
|||
p/ctmo: 3a9acf3 | jonathan++ | src/NQP/Actions.pm: Don't hardcode KnowHOW in the actions, but grab it from the current %*HOW. |
|||
10:26
Trashlord left
10:28
Trashlord joined
10:38
Chillance joined
|
|||
moritz | tadzik++ and masak++ # postcards for my nephew arrived | 10:42 | |
maja++ | 10:43 | ||
tadzik | moritz: did he like it? | 10:47 | |
moritz | tadzik: yes | 10:48 | |
tadzik | Great :) | 10:49 | |
flussence | .oO( that precondition thing gave me an idea, then I realised I was just thinking of the exact same mechanism taint flags use in p5... ) |
10:51 | |
moritz | flussence: you want to taint unchecked user input, and warn every time it hits a precondition? | 10:52 | |
flussence | no, more like "Array.sort sets a 'this is sorted' flag, calling mutators on that array clears it" sort of thing | 10:53 | |
10:53
Tedd1^ left
|
|||
masak | the apocalypses theorize that taint is just an enum trait nowadays. we've yet to see an implementation of that. | 10:53 | |
flussence: yes, I think something like that might be useful. I think the analyzer might want customizable rules like that. | 10:54 | ||
moritz | currently as I see it, it would need duplication of most operators | ||
masak | and not just booleans. if it kept integers, an analyzer would be able to detect the useless .pop in [email@hidden.address] @a.pop; @a.pop' | ||
er, 'my @a; ...' | |||
moritz: not necessarily duplication. just projections down to the important aspects. like length, in the context of push and pop. | 10:55 | ||
moritz | I meant for taint mode | 10:56 | |
Q: What's yellow, and equivalent to the Axiom of Choice? | 11:00 | ||
A: Zorn's Lemon. | |||
masak | I wonder if there's a name of that category of pun, wherein someone has realized that (in this case) "lemma" sounds a bit like "lemon", and then goes on to construct the rest of the pun around that. | 11:05 | |
tadzik | I wonder it this has anything to do with bored studendts. We tend to change the names of things to make them sound funny sometimes | 11:06 | |
jnthn | Aren't most puns constructed around realizing one thing sounds like another? :) | ||
masak | well, there's at least one other kind: spur-of-the-moment puns. | 11:08 | |
jnthn: you're quite good at these :) | |||
the "Zorn's Lemon" kind seems a bit more... constructed. | |||
bs338 | it's much funnier when drunk and at a party of only mathematicians | 11:09 | |
jnthn | masak: Maybe I just construct them really fast... :P | 11:10 | |
jnthn spends a few minutes madly panicing about how his latest refactor broke stings, while leaving classes intact. | 11:11 | ||
masak | <masak> jnthn: sometimes you manage to angle your puns just right! <jnthn> masak: Thanks for the complement. | ||
jnthn: that's still my all-time favorite :P | |||
jnthn | ...turns out that using the same types of quote in your shell as you use for the strings in the program will make it look that way... | ||
masak: :P | |||
Oh no, what terror have I visited upon us...I think I just added a way in NQP to declare that you want to export a different meta-object to replace the in-built definition of class/grammar/whatever. :) | 11:12 | ||
Just wait until *that* makes it into Rakudo. :) | 11:13 | ||
masak | whoa. | 11:14 | |
dalek | p/ctmo: c67bd2d | jonathan++ | / (7 files): The compiler so far has been using the HOWs that it is implemented with rather than the ones defined by the meta-objects library the program we're compiling uses, which was obviously wrong. This fixes it, by introducing a mechanism for exporting stuff in a way that will see it end up in %*HOW. Note, not official API for this. And yes, this means you can now customize what class means in NQP by writing a meta-object in a module and stuffing it into E |
11:16 | |
jnthn | oh no truncation! | 11:17 | |
masak | jnthn: this would never happen if you didn't insist on writing the whole commit comment in one line! :P | ||
jnthn | I cba to configure EDITOR :P | ||
masak | orka! | 11:18 | |
moritz | dalek cba to line-wrap for you | ||
masak | lazybot. | 11:19 | |
jnthn | moritz: That's fine, then people have to click the link to see the rest of the message, then I win free code review...if I'm lucky. <grin> | ||
OK, so now I accidentally implemented custom meta-object usage...let's see if I can do what I was actually trying to. :) | 11:20 | ||
moritz | jnthn: fwiw in bash I can also write multi-line commit messages without any editor | 11:21 | |
masak | yes, I thought about that too. | ||
11:22
sulletf joined
|
|||
masak | jnthn: how does COMMAND.COM behave if you press Enter with unclosed quotes? | 11:22 | |
moritz | just git commit -am 'foo<RETURN>rest of message' | ||
masak tries | |||
moritz | probably double quotes for teh Win(dows) | 11:23 | |
masak | aye. | ||
jnthn | masak: I...think it assumes I missed a quote off the end... | ||
masak | jnthn: early trials seems to suggest that. | ||
jnthn | ...and helpfully pretends I wrote one. | ||
masak | that is teh sux. | ||
jnthn | :P | 11:24 | |
sulletf | how can i commit efficiently ? | ||
tadzik | oh, this "orka" word, this was something interesting | 11:25 | |
phenny: "orka"? | |||
phenny | tadzik: "energy" (is to en, translate.google.com) | ||
tadzik | not really | ||
phenny: se "orka"? | |||
phenny | tadzik: "energy" (se to en, translate.google.com) | ||
tadzik | pff | ||
jnthn | tadzik: It's Swedish for something like "oh, who can be bothered" | ||
tadzik | ah, exactly | ||
jnthn is kinda impressed that Swedish huffmanized this expression so well :) | 11:26 | ||
11:27
Moukeddar joined
|
|||
masak | it's also funny how that word came to mean that expression. sv:"orka" is a verb meaning "to have the energy to do [sth]" | 11:31 | |
11:34
dual left
11:35
IllvilJa left
11:36
IllvilJa joined
|
|||
dalek | p/ctmo: 26f67b1 | jonathan++ | src/HLL/SerializationContextBuilder.pm: A little chop with the circularity saw. :-) |
11:52 | |
p/ctmo: 0c29c72 | jonathan++ | src/NQP/Grammar.pm: We never actually install KnowHOW in the package (yet), so just obtain it directly from the 6model core for now. |
|||
p/ctmo: 9e9d521 | jonathan++ | src/Regex/P6Regex/Actions.pm: Add a missing 'our' that we somehow got away with before. |
|||
11:54
Moukeddar left
11:55
Patterner left
11:57
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
pmurias | sorear: ping | 12:00 | |
jnthn | std: GLOBAL::mysub := { ok(5, 'bare GLOBAL works'); }; mysub(); | 12:12 | |
p6eval | std 3468e14: OUTPUT«===SORRY!===Preceding context expects a term, but found infix := instead at /tmp/44QLbNomEG line 1:------> GLOBAL::mysub ⏏:= { ok(5, 'bare GLOBAL works'); }; mysuParse failedFAILED 00:01 120m» | 12:13 | |
jnthn | std: &GLOBAL::mysub := { ok(5, 'bare GLOBAL works'); }; mysub(); | ||
p6eval | std 3468e14: OUTPUT«===SORRY!===Undeclared routines: 'mysub' used at line 1 'ok' used at line 1Check failedFAILED 00:01 125m» | ||
jnthn | niecza: &GLOBAL::mysub := { ok(5, 'bare GLOBAL works'); }; mysub(); | ||
p6eval | niecza v4-70-gfb79b12: OUTPUT«===SORRY!===Undeclared routines: 'mysub' used at line Any()1 'ok' used at line Any()1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2) at /home/p6eval/niecza/src/STD.pm6 line 1141 | ||
..(STD P6.comp_unit @ … | |||
jnthn | TimToady: ^^ Correct? | ||
12:16
agentzh left
12:19
Shlomo joined
|
|||
Shlomo | helo, what is the status of perl version 6? is it coming out soon to production? I heard of it looong time ago but did not have time to check it.. | 12:19 | |
12:20
woosley joined
12:22
Rotwang joined,
mtk joined
|
|||
masak | Shlomo: hi, glad you're here. it's a common question. will try to give you a good answer :) | 12:23 | |
Shlomo | masak: great | 12:24 | |
masak | labels like "beta", "development", "production" make more sense for more delimited application in well-known territories. | ||
Perl 6 is a whole new programming language. it's been in constant development for 10 years. we've come a really long way. we still have quite a long way to go. | 12:25 | ||
when people ask "when's it gonna be released" and similar things, what they really want to know is "when should I start to care about it?" | |||
12:26
sftp joined
|
|||
Shlomo | exactly. | 12:26 | |
masak | and that depends :) for some people, it's already very usable and useful. | ||
if you're doing software for nuclear warheads or precision surgery, maybe Perl 6 isn't for you yet. | |||
because it's probably not "stable" enough for those things. | 12:27 | ||
Shlomo | we are using python3 for mission critical apps and it is not that old.. | ||
masak | but Rakudo Perl 6 already has a very mature type system, OO tools, grammars, built-in functions, operators, etc. it's relatively mature. | ||
Shlomo | why not announce a release then? | ||
a production one | 12:28 | ||
masak | we're announcing a release every month. | ||
we just don't use the word "production", because it's so subjective. | |||
12:28
Trashlord left
|
|||
masak | we're happier to explain what I just explained to each person that stops by :) | 12:28 | |
Shlomo | mmm.. production level phobia? :) | ||
masak | wow, I sure hope not. | ||
I for one am eager to push Perl 6 out into the world. | 12:29 | ||
but what you're saying isn't completely baseless. we do change things around sometimes. | |||
perhaps more than other similar projects. | |||
we do that when we believe that we've learned something, and we can make things better by changing the specification. | |||
12:29
Trashlord joined
|
|||
dalek | p/ctmo: 5613e50 | jonathan++ | src/NQP/Actions.pm: Switch over the majority of lookups to the new packages model. A bunch of new regressions to hunt down, but most things work. |
12:29 | |
p/ctmo: 628e050 | jonathan++ | src/NQP/ (2 files): Load the Regex library by default; NQP users expect Regex::Match and so forth to be to hand by default. Recovers some of the broken tests. |
|||
p/ctmo: f4a923d | jonathan++ | src/NQP/Actions.pm: Fix GLOBAL::foo and contextual fallback. Fixes regressions in package var test script, apart from one that is dubious. |
|||
p/ctmo: c17da73 | jonathan++ | build/Makefile.in: Need to actually respect declaration order of things now. This fixes the regressed roles tests - it's just a reordering in the meta-objects file. |
|||
Shlomo | so the sepcification is not final yet? | ||
masak | Shlomo: that's someone working on Perl 6 right there :P | ||
Shlomo | ? | ||
pmurias | masak: how did you TDD static analysis | ||
? | |||
masak | Shlomo: the specification is largely final. we tend to think of parts of it as either "frozen" or almost-frozen/"sludgy". | ||
pmurias: I haven't, yet. I'd like to try to. | 12:31 | ||
Shlomo | oh... it looks to be a long way.. | ||
masak | Shlomo: yes. have a look at Rosetta Code, it contains many examples of working Perl 6 code. | ||
Shlomo: then you'll get a sense of how far it's already come. | 12:32 | ||
jnthn | Shlomo: The problem with declaring the spec "final" without having an implementation of all of it, is that our experience has been that the first implementations of a feature tend to need tweaks to the spec. Freezing it would actually make compiler implementation harder. | ||
masak | (the Rosetta Code examples are also good in that they often state the limitations of Rakudo and things that will improve in the future) | ||
Shlomo | which is not that bad | ||
you must define your needs | |||
then start to implement them | |||
limited by your specs | |||
masak | and sometimes we must discover our needs :) | ||
jnthn | The spec changes today aren't "shiny new stuff" but "we implemented this and it was hard in this way" or "we implemented this and users said OH NOES" :) | ||
Shlomo | otherwise you will spend your life tweaking your specs! | ||
masak | things that look good on paper sometimes don't work out in bits. | 12:33 | |
Shlomo: or suffer under a bad/unimplementable spec. | |||
Shlomo | masak: you can fix that with new realses and patches.. | ||
masak tends to be one of the user that says OH NOES | |||
Shlomo | masak: it will never be perfect | 12:34 | |
masak | Shlomo: yes, and we might one day "release" the spec and have implementations conform to that version. | ||
Shlomo: that would probably count as an "official release of Perl 6". | |||
people sometimes describe that as "Perl 6.0.0". it's even in the spec itself in a few places. | |||
things that are extra tricky are labeled as "not needed in Perl 6.0.0" :) | 12:35 | ||
Shlomo | I think the problem is that perl6 have a community of perfectionists.. I think the time from 2000 till today is more than enough for specs to be confirmed :) | ||
dalek | p/ctmo: 12f14b1 | jonathan++ | t/hll/05-commandline.t: We don't import HLL automatically any more, so explicitly do so in the 05-commandline.t tests. They all pass. |
12:36 | |
masak | Shlomo: we have perfectionists on our community. we also have lots of pragmatists, and people somewhere in-between. | 12:38 | |
and yes, many parts of the design are about "doing it right this time". as opposed to some of the design decisions that went into (and are limiting the growth of) Perl 5. | 12:40 | ||
Shlomo | I wonder in group is larry himself. | ||
in what | |||
masak | but! do not thinnk that we've been working for 11 years on one single thing. | 12:41 | |
12:41
hudnix joined
|
|||
masak | there have been many roads taken, and many lessons learned. even Rakudo itself has been very much an iterative thing. | 12:41 | |
Shlomo | I always thought that since most of you know what was good and what was bad in perl5 should be a great guide to come out with a great new language is short time.. | 12:42 | |
masak | and each time we build a little piece of Perl 6, we're getting better at it. that's not perfectionism, that's sound development. :) | ||
12:42
dual joined
|
|||
Shlomo | unless perl6 is a not related to perl5 at all.. | 12:43 | |
masak | Shlomo: well, it was possible to run Perl 6 code as early as 2005. | ||
oh sure, they're related. | |||
there was even a project meant to put Perl 5 on Parrot and make the distance between the two languages very small. | |||
the project was called Ponie. it didn't make it all the way. | 12:44 | ||
12:44
mtk left
|
|||
masak | it had skilled core developers, from what I gather. but it never got the community buy-in that was needed to make it take off. perhaps because it *required* skilled contributors, I dunno. | 12:45 | |
it might also have been way too early to try something like that back in 2003. | 12:46 | ||
we should try it again sometime. :) | |||
arnsholt | Indeed. Even if it's another failure, it'd be an interesting way to compare the two vintages of Parrot | 12:47 | |
masak | the problem with making a Perl 5 runtime is that there already is a Perl 5 runtime. it's called `perl`. | 12:48 | |
12:49
mtk joined
|
|||
masak | so Ponie would have to be very clear on what it offered that `perl` doesn't. | 12:49 | |
Shlomo | one last thing, why not announce a release data (or year) ? | 12:50 | |
s/data/date | |||
masak | it has to do with this being a community effort carried forward by volunteers. | 12:52 | |
largely unpaid volunteers, who do this out of the joy of bringing Perl 6 into the world. | 12:53 | ||
it turns out that you can't put a deadline on that kind of work. it just makes no sense. | |||
arnsholt | masak: Yeah, that definitely warrants a certain amount of thought | 12:54 | |
masak | (and that question, "why not announce a release date?", is just a reformulation of "when is Perl 6 going to be released?". so, see above.) | ||
Shlomo | so perl6 needs funding? So you assume that python or haskell or any other opensource language did get more funding than perl6? | 12:55 | |
masak | we have funding. | ||
money isn't the limiting resource. | |||
people's time is. | |||
that's why we're happy to bring in curious newcomers :) | |||
Shlomo | i thought of money because you talked about unpaid volunteers | 12:56 | |
masak | yes. I was just describing the structure of the project. | ||
Shlomo | anyway, how can we donate? since we opened the topic.. | ||
masak | hm, wow. | ||
Shlomo | I mean financial support | ||
masak | consider donating by downloading Rakudo and trying it out, maybe finding a bug or so... :) | ||
as to money, I... I don't know. TPF? | 12:57 | ||
www.perlfoundation.org/ | |||
ah, donate.perlfoundation.org/index.pl...ion%20Info | |||
Shlomo | masak: so now you know :) | 12:58 | |
masak | yes, the power of Google :) | ||
Shlomo: I held a Perl 6 Coding Contest last December, with the prize being 100 EUR worth of books. so in a way, I've donated to Perl 6 this year :) | 12:59 | ||
Shlomo | 100 EUR :) good for you :) | 13:00 | |
masak | it was a blast. I want to do it again next year. | ||
well, this year. :) | |||
Shlomo | that is the spirit of a great community.. perl6 will be a great power i think... thanks for your time. | 13:02 | |
13:02
mtk left
13:03
Shlomo left
|
|||
jnthn | Good news: | 13:04 | |
> my module Foo { our sub bar() { say("yay") } }; Foo::bar() | |||
yay | |||
Bad news: | |||
I broke the bootstrap... :/ | |||
masak | Shlomo++ # ideal newcomer | ||
jnthn | Indeed! | ||
13:05
bluescreen10 joined
|
|||
masak .oO( why is Perl 6 being developed in schlo-mo...? ) | 13:06 | ||
13:07
ggoebel__ left
13:09
donri joined,
mtk joined
13:12
ggoebel__ joined
13:13
beejeebus joined
|
|||
dalek | p/ctmo: fb745e0 | jonathan++ | t/hll/01-language.t: Another missing use HLL. |
13:16 | |
p/ctmo: dcc0d96 | jonathan++ | src/Regex/Method.pir: Partial fix for broken regex interpolation tests. |
|||
13:18
Fardad joined
13:20
beejeebus left
13:21
leprevost joined
13:22
kaare__ joined
13:29
Fardad left
13:36
yarp_ left
13:37
birdwindupbird left
|
|||
masak | 'A healthy community can put up with a certain amount of tension and compression. It's called "tensegrity" when it helps hold us all together. It's probably called something else when it drives us apart. Please aim for the tensegrity, because I don't want to figure out what to call the other.' -- TimToady++, www.nntp.perl.org/group/perl.perl6....31897.html | 13:37 | |
moritz hopes he never becomes famous, people could cite the wrong phrases from my year-old mailing list postings | 13:39 | ||
masak | moritz: I'm not sure the causal arrows point only in the direction you imply. | 13:41 | |
dalek | p/ctmo: 3fdc2de | jonathan++ | build/Makefile.in: Keep CLEANUPS up to date, so make clean actually cleans. |
14:01 | |
p/ctmo: eec5353 | jonathan++ | src/ModuleLoader.pm: D'oh. It's all well and good every module getting a clean slate (aka separate compilation), but it really shouldn't enforce its limited world view on its loader. Particularly when it's loader is the compiler, which would really rather its own symbols don't go missing. Fixes the broken bootstrap. |
|||
jnthn | *its | ||
D'oh. :) | |||
I'm...really not sure how that bug managed not to break far more... | 14:02 | ||
dalek | p/ctmo: e9a452a | jonathan++ | src/stage0/ (7 files): Update the bootstrap. |
||
masak | rakudo: my %h=1=>"happy";sub h {my %s;sub r {return "sad" if%s{$^n}++;%h{$n}//=r [+]$n.comb>>**>>2};r $^n};say $_=>h($_) for ^10 | 14:03 | |
trying to fit it into a tweet. :) | |||
p6eval | rakudo ecc4ef: OUTPUT«(timeout)appy2 sad3 sad4 sad5 sad6 sad7 happy8 sad» | ||
masak | std: my %h=1=>"happy";sub h {my %s;sub r {return "sad" if%s{$^n}++;%h{$n}//=r [+]$n.comb>>**>>2};r $^n};say $_=>h($_) for ^10 | ||
p6eval | std 3468e14: OUTPUT«===SORRY!===Two terms in a row at /tmp/PwBJ1_7js4 line 1:------> {return "sad" if%s{$^n}++;%h{$n}//=r [+]⏏$n.comb>>**>>2};r $^n};say $_=>h($_) for expecting any of: POST bracketed infix infix or meta-infix postfix | ||
.. postfix_prefix_meta_… | |||
masak | bleh. | 14:04 | |
std: my %h=1=>"happy";sub h {my %s;sub r {return "sad" if %s{$^n}++;%h{$n}//=r [+]$n.comb>>**>>2};r $^n};say $_=>h($_) for ^10 | |||
p6eval | std 3468e14: OUTPUT«===SORRY!===Two terms in a row at /tmp/bZA4SF99sn line 1:------> return "sad" if %s{$^n}++;%h{$n}//=r [+]⏏$n.comb>>**>>2};r $^n};say $_=>h($_) for expecting any of: POST bracketed infix infix or meta-infix postfix | ||
.. postfix_prefix_meta_… | |||
masak should read the error message | |||
std: my %h=1=>"happy";sub h {my %s;sub r {return "sad" if%s{$^n}++;%h{$n}//=r [+] $n.comb>>**>>2};r $^n};say $_=>h($_) for ^10 | |||
p6eval | std 3468e14: OUTPUT«ok 00:01 123m» | ||
14:05
alester joined
|
|||
jnthn | Anyone who fancies verifying that ctmo builds cleanly for them is most welcome to do so. I'm going to do some more bits, but expect a merge of latest ctmo to master later today. | 14:06 | |
I'll also blog about what on earth I've been doing for the last several days ;) | |||
14:08
[particle]1 joined
14:09
[particle] left
|
|||
sorear | pmurias: hi | 14:13 | |
14:14
birdwindupbird joined
14:15
JimmyZ_ joined
|
|||
jnthn | walk & | 14:16 | |
14:17
mj41 joined
|
|||
masak | std: my %h=1=>"happy";my %s;say [$_,(sub r {return "sad" if%s{$^n}++;%h{$n}//=r [+] $n.comb»**»2})($_)] for ^10 | 14:19 | |
p6eval | std 3468e14: OUTPUT«ok 00:01 124m» | ||
JimmyZ_ | E:\Open Source\nqp>nqp | ||
masak | rakudo: my %h=1=>"happy";my %s;say [$_,(sub r {return "sad" if%s{$^n}++;%h{$n}//=r [+] $n.comb»**»2})($_)] for ^10 | ||
JimmyZ_ | Null PMC access in instantiate() | ||
p6eval | rakudo ecc4ef: OUTPUT«Could not find sub code_73 in <anon> at line 22:/tmp/jF1UApu1Ty in main program body at line 1» | ||
masak submits rakudobug | |||
14:19
MayDaniel_ joined,
[particle]1 is now known as [particle]
|
|||
masak | rakudo: (sub r {})() for 5 | 14:21 | |
p6eval | rakudo ecc4ef: OUTPUT«Could not find sub code_73 in <anon> at line 22:/tmp/r25g6FjHN3 in main program body at line 1» | ||
masak | niecza: (sub r { say "OH HAI" })() for 5 | ||
p6eval | niecza v4-70-gfb79b12: OUTPUT«OH HAI» | ||
masak | rakudo: (sub r { say "OH HAI" })() for 5 | 14:22 | |
p6eval | rakudo ecc4ef: OUTPUT«Could not find sub code_73 in <anon> at line 22:/tmp/LeVlNG7yDT in main program body at line 1» | ||
masak | pugs: (sub r { say "OH HAI" })() for 5 | ||
p6eval | pugs: OUTPUT«***  Unexpected "r" expecting "=", subroutine parameters, trait or block at /tmp/qqcEAxdcjd line 1, column 6» | ||
sbp | std: (sub r { say "OH HAI" })() for 5 | ||
p6eval | std 3468e14: OUTPUT«ok 00:01 120m» | ||
masak | rakudo: say "compiles OK"; (sub r { say "OH HAI" })() for 5 | 14:23 | |
p6eval | rakudo ecc4ef: OUTPUT«compiles OKCould not find sub code_73 in <anon> at line 22:/tmp/Vkscj22K2J in main program body at line 1» | ||
masak | rakudo: for 5 { (sub r { say "OH HAI" })() } | 14:24 | |
p6eval | rakudo ecc4ef: ( no output ) | ||
masak | rakudo: for 5 { (sub r { say "OH HAI" })() }; say "alive" | 14:25 | |
p6eval | rakudo ecc4ef: OUTPUT«alive» | ||
masak | wtf | ||
niecza: for 5 { (sub r { say "OH HAI" })() }; say "alive" | |||
p6eval | niecza v4-70-gfb79b12: OUTPUT«Potential difficulties: &r is declared but not used at /tmp/5pPtRrAxWC line 1:------> for 5 { (sub r⏏ { say "OH HAI" })() }; say "alive"OH HAIalive» | ||
14:25
mkramer joined
|
|||
masak | TimToady, sorear: ^^ | 14:26 | |
14:26
mkramer left
|
|||
masak | it is used. just not by name. | 14:26 | |
TimToady | it's the name it's complaining about, since you could have made it anonymous | ||
masak | niecza: for 5 { (sub { say "OH HAI" })() }; say "alive" | ||
p6eval | niecza v4-70-gfb79b12: OUTPUT«OH HAIalive» | ||
masak | oh all right :) | 14:27 | |
rakudo: for 5 { (sub { say "OH HAI" })() }; say "alive" | |||
p6eval | rakudo ecc4ef: OUTPUT«alive» | ||
TimToady | same with our not using the lexical name | ||
sink bug? | |||
rakudo: for 5 { say "OH HAI" }; say "alive" | 14:28 | ||
p6eval | rakudo ecc4ef: OUTPUT«OH HAIalive» | ||
TimToady | not sink bug | ||
rakudo: say (sub { say "OH HAI" }).WHAT | 14:29 | ||
p6eval | rakudo ecc4ef: OUTPUT«Sub()» | ||
TimToady | rakudo: say (sub { say "OH HAI" })() | ||
p6eval | rakudo ecc4ef: OUTPUT«OH HAIBool::True» | ||
TimToady | rakudo: say (sub { say "OH HAI" })() for 5 | ||
p6eval | rakudo ecc4ef: OUTPUT«OH HAIBool::True» | 14:30 | |
TimToady | rakudo: (sub { say "OH HAI" })() for 5 | ||
p6eval | rakudo ecc4ef: OUTPUT«OH HAI» | ||
JimmyZ_ | TimToady: the perlchina conference in beijing will be hold at 7/2/2011 | ||
14:31
ymasory joined
|
|||
TimToady | rakudo: for 5 { (sub { say "OH HAI" })() } | 14:31 | |
p6eval | rakudo ecc4ef: ( no output ) | ||
TimToady | rakudo: my @x = do for 5 { (sub { say "OH HAI" })() } | ||
p6eval | rakudo ecc4ef: ( no output ) | ||
JimmyZ_ | *on | ||
masak | std: for 5 { (sub r {})() } | 14:33 | |
p6eval | std 3468e14: OUTPUT«Potential difficulties: &r is declared but not used at /tmp/N2soMwQjKf line 1:------> for 5 { (sub r⏏ {})() }ok 00:01 120m» | 14:34 | |
masak | std: (sub r {})() for 5 | ||
p6eval | std 3468e14: OUTPUT«ok 00:01 120m» | ||
masak | TimToady: why does the former complain but not the latter? | ||
TimToady | hmm, we'd been planning to spend the whole week in Asheville, which would make it hard to get to China | ||
but write to gloria, who plans my calendar | 14:35 | ||
JimmyZ_ | oh, ok | ||
TimToady | (Asheville is where YAPC is) | ||
masak: it's probably attached to the block logic rather than the scope logic, so likely a bug | 14:38 | ||
masak | TimToady: when I find stdbugs, what should I do? | 14:39 | |
TimToady | panic | ||
masak | ;) | ||
TimToady | ^_^' <- sweat drop | 14:40 | |
masak | no, I mean, is there any action I can take to... I don't know, offload your cognitive load in keeping track of unfixed bugs? | ||
(also, it would give me some satisfaction to be able to add it to a list somewhere) :P | |||
JimmyZ_ | submit it to github? | 14:41 | |
TimToady | well, I do keep a "todo" file | 14:42 | |
masak | oh, ok. | ||
TimToady | I guess a good question is whether you complain about imported subs that are used... | 14:44 | |
*n't | |||
^ another sweat drop | |||
14:45
JimmyZ_ left
|
|||
TimToady | jnthn: yes, it's correct; the package is not searched for sub calls by default | 14:45 | |
masak | walk & | 14:47 | |
14:54
justatheory joined
|
|||
TimToady | you can either call into the package directly with OUR::, or register a failover to the package with CANDO | 14:55 | |
jnthn | TimToady: OK, so sub lookups are essentially just lexical? | 14:59 | |
TimToady | hai | ||
jnthn | o/ | 15:00 | |
TimToady | (unless there's a CANDO in the outer lexical scope) | ||
jnthn | oh, wait, hai was "yes"? | ||
TimToady | and that just adds to the end | ||
hai! | 15:01 | ||
はい! | |||
jnthn | TimToady: fwiw, I'm planning to be at the Beijing Perl Workshop | 15:02 | |
OK, I'll fix that test :) | |||
sorear | it's probably related to this | 15:04 | |
jnthn | Doing packages righter has shaken out all kinds of dodgy assumptions and orderings in the code. :) | ||
sorear | std: sub foo { sub bar { }; bar } | ||
p6eval | std 3468e14: OUTPUT«ok 00:01 118m» | ||
sorear | std: sub foo { sub bar { }; &bar() } | ||
p6eval | std 3468e14: OUTPUT«ok 00:01 122m» | ||
sorear | hey did you fix that while I wasn't looking? | ||
niecza: sub foo { sub bar { }; &bar() } | |||
p6eval | niecza v4-70-gfb79b12: ( no output ) | ||
sorear | used to warn | 15:05 | |
TimToady | yes, fixed that one, iirc | ||
the current problem is that it's checked in getsig | |||
and the main block doesn't have a sig | |||
TimToady wonders if the main block should have a sig... | 15:11 | ||
15:11
birdwindupbird left
|
|||
moritz | *@*ARGV ? | 15:15 | |
probably without that second * | |||
TimToady | you can't have a global as a parameter... | ||
and it'd be @ARGS | |||
but then it'd probably complain if you don't use it :) | 15:16 | ||
moritz | right | ||
TimToady | it'd probably want to be a copy of @*ARGS so that different interpreters can access the original args correctly | 15:17 | |
otoh we're probably reinventing MAIN here | 15:18 | ||
15:19
kfo_ joined
15:20
leprevost left
|
|||
TimToady | so I guess what we say is that if there are multiple interpreters the PROCESS::<@ARGS> gets copied into GLOBAL::<@ARGS> for each interpreter, which works since @*ARGS is contextual and looks in GLOBAL before PROCESS | 15:21 | |
so we don't really have multiple interpreters fighting over a mutable @*ARGS | 15:22 | ||
15:22
sahadev joined
15:23
kfo left
|
|||
sorear | does sharing variables between interpreters make any sense whatsoever? | 15:27 | |
is Mu really PROCESS::Mu? If not, what is PROCESS::<$*OUT>.^mro[*-1]? | 15:28 | ||
pmurias | sorear: hi | 15:30 | |
15:30
MayDaniel_ left
|
|||
pmurias | sorear: are there ops which don't return a value at all? | 15:30 | |
sorear: with the exception of sink? | 15:31 | ||
sorear | Do you consider void a value? | ||
15:33
MayDaniel_ joined
|
|||
pmurias | do a lot of regs return void? | 15:34 | |
sorear: if consider void a value everything returns a value | |||
s/consider/i consider | |||
sorear | "regs"? | 15:37 | |
pmurias | meant to say ops | ||
15:41
sulletf left
15:45
Moukeddar joined
15:46
Moukeddar left
|
|||
sorear | pmurias: yes, a lot of ops have void returns | 15:47 | |
like 'say' | 15:48 | ||
15:55
ymasory left
|
|||
dalek | p/ctmo: cd12868 | jonathan++ | src/ (2 files): Refactor to ensure proper handling of --module-path. |
15:55 | |
p/ctmo: 04274af | jonathan++ | build/Makefile.in: Use --module-path in stage2 building. This should mean that we're achieving real separate compilation. |
|||
p/ctmo: 6080095 | jonathan++ | src/stage0/ (6 files): Update bootstrap with latest fixes. |
|||
p/ctmo: cbaf9e0 | jonathan++ | build/Makefile.in: Use --module-path in stage 1 build, so it's also doing separate compilation. |
|||
15:56
ymasory joined
|
|||
jnthn | Finally. | 15:56 | |
colomon | sorear: doesn't say return a Bool indicating success, or something like that? | ||
jnthn++ | |||
dalek | ecza: 9b0380d | pmurias++ | / (7 files): [hoopl] partway into optimising simple-tests/if.t |
||
ecza: 6367c9c | pmurias++ | hoopl/ (4 files): [hoopl] refactor all the ops from Insn to Op |
|||
ecza: 808eb1f | pmurias++ | hoopl/ (3 files): [hoopl] convert if statements correctly |
|||
ecza: 87f44f0 | pmurias++ | hoopl/Nam.hs: [hoopl] translate letn correctly |
|||
sorear | colomon: &say does, but the low-level say op doesn't | ||
pmurias | so how does &say know it succeded? | 15:59 | |
and why do we have both a say and print opcode? | |||
sorear | history; say came first, and when I heard print was needed, it was easiest to do it as a new op | 16:09 | |
SHODAN | because sometimes you want to print something | ||
you know, to a printer ;) | |||
tadzik | and sometimes you want do display() | 16:12 | |
you now, to a screen :) | |||
dalek | p/ctmo: a60d76e | jonathan++ | t/nqp/43-package-var.t: Toss a bogus test; TimToady++ for confirming bogusness. |
16:24 | |
p/ctmo: 319fc03 | jonathan++ | src/NQP/Actions.pm: Make typename rule lookup symbols properly, not using legacy packages. |
|||
p/ctmo: ace800f | jonathan++ | src/NQP/Actions.pm: Add parent class using compile time meta-object. Also give decent compile time error indicating missing parent classes. |
|||
p/ctmo: ec8a1e6 | jonathan++ | src/HLL/SerializationContextBuilder.pm: Locate meta-object via the SC. This way, we'll be able to have lexically imported/exported meta-objects, etc...plus it's a faster lookup. |
|||
p/ctmo: aab21a5 | jonathan++ | src/stage0/ (6 files): Update bootstrap. |
|||
SHODAN | yes. i always assumed "say" uses some sort of text-to-speech thingie to do its magic | ||
tadzik | and parrot has an opcode for that! Talk about high-level | 16:25 | |
16:27
woosley left
|
|||
sorear pings TimToady | 16:28 | ||
pmurias | tadzik: say is a niecza opcode | 16:29 | |
sorear | parrot has an opcode for it too | 16:30 | |
does the same thing | |||
tadzik | as I said :) | ||
pmurias | tadzik: re high-level opcodes, niecza has to_json,from_json etc. | 16:32 | |
tadzik | that's just a matter of bundled JSON module, no? | ||
pmurias | i don't understand | 16:33 | |
16:33
impious joined,
impious left,
spq joined
|
|||
tadzik | those are opcodes, the json things? | 16:33 | |
pmurias | yes | 16:34 | |
tadzik | I see | ||
pmurias | only used by a bundled JSON module | ||
tadzik: that's what you meant? | 16:36 | ||
tadzik | pmurias: no, I didn't read that the opcodes you mention are actually opcodes, I thought they are some sort of other builtins | 16:37 | |
16:38
alester left
|
|||
sorear | in niecza-think opcodes are the only way to access generic VM functionality | 16:39 | |
16:39
cdarroch joined,
cdarroch left,
cdarroch joined
16:40
jevin left,
jevin joined
16:42
leprevost joined
16:50
pernatiy left
|
|||
tadzik | jnthn: fwiw, nqp/ctmo builds fine and still fails in 4 test files | 16:56 | |
jnthn | tadzik: regex interpolation, and 3 in t/hll? | 16:57 | |
tadzik | jnthn: nopaste.snit.ch/41769 | ||
so, yes :) | |||
jnthn | Thanks, that's consistent with what I'm seeing. | ||
moritz sees those too | 16:58 | ||
jnthn | OK, great. | ||
I know what the regex interpolation issue is. | |||
dalek | p/ctmo: 5375140 | jonathan++ | src/Regex/Cursor.pir: Make sure Regex::Cursor ends up in an SC. |
16:59 | |
p/ctmo: e42c76e | jonathan++ | src/HLL/SerializationContextBuilder.pm: Improved error. |
|||
p/ctmo: ea71689 | jonathan++ | src/NQP/Actions.pm: Set default parent via the SC. |
|||
p/ctmo: 9f893e0 | jonathan++ | src/NQP/Actions.pm: Add roles via compile time meta-object; good error if role not found. |
|||
pmurias | sorear: if i have nam in a form with basic blocks, (conditional) jumps between them and registers what's the best form to feed them into backends? | ||
pmurias | sorear: try to represent those things with the current format? | ||
17:01
alester joined,
araujo left
17:08
risou joined,
araujo joined
17:15
risou left
17:21
MayDaniel_ left
|
|||
pmurias | masak: how do you plan to test that the static analysis are correct? | 17:26 | |
sorear | pmurias: I'm not sure; probably yes, though | 17:27 | |
pmurias: does the hoopl optimizer know about which primitives require spilling? | 17:28 | ||
pmurias: do you think a May release is justified? | |||
pmurias | May release of the optimiser? | 17:29 | |
17:29
mkramer1 joined
|
|||
pmurias | sorear: the hoopl optimiser doesn't know about spilling at all yet | 17:29 | |
sorear | pmurias: May release of Niecza | 17:30 | |
pmurias | if you are doing date base releases why not? | 17:31 | |
17:31
mkramer1 left
|
|||
pmurias | i don't know how much work does it take to make a release | 17:31 | |
17:32
mkramer1 joined
17:34
mkramer1 left
17:35
isBEKaml joined
|
|||
isBEKaml | ohayo, panda folks! :) | 17:35 | |
phenny | isBEKaml: 24 Apr 19:01Z <jnthn> tell isBEKaml best bet is probably to golf it. But check the String candidate in the multi set in PAST2JSTCompiler. I suspect an inconsistency with PAST2DNSTCompiler, which is tracks. | ||
isBEKaml: 24 Apr 19:02Z <jnthn> tell isBEKaml if removing the say makes it work, that's a big hint that it's the String rule. | |||
isBEKaml | jnthn: oh, yeah. I kind of golfed it down to something, but that was not the &say. :) | 17:36 | |
17:36
Moukeddar joined
|
|||
isBEKaml | jnthn: I'm seeing this with the golf'd down snippet. I can understand the inconsistency with method signatures in the java branch. Do you see that in dotnet too? gist.github.com/940871 | 17:40 | |
17:40
Moukeddar left
17:41
Moukeddar joined
|
|||
Moukeddar | hello pandas (both evil and good) | 17:41 | |
PerlJam | there are evil pandas? | ||
Moukeddar | oh, you didn't know ? | ||
isBEKaml | tadzik: you must be happy that panda's turning into your meme.. ;) | ||
tadzik | isBEKaml: it's funny :) | 17:42 | |
Moukeddar | evil one butt-rape you | ||
beware | |||
isBEKaml | tadzik:yeah, I always thought pandas fell into two types. Dour pandas and sad pandas. :P | ||
isBEKaml hopes someone with mono and 6model would try out that snippet to see if that works against the dotnet branch. | 17:45 | ||
pmurias | sorear: does any one use niecza releases as opposed to the repo? | 17:46 | |
moritz | yes | 17:48 | |
people have asked about how to compile releases in here | |||
and the bootstrap uses releases too | 17:49 | ||
Moukeddar | damn , our services killed two persons due to protesting | 17:50 | |
jnthn | isBEKaml: No, but I suspect it's down to a refactor done in the dotnet one with $*BIND_VALUE that didn't make it over into the Java one. | 17:52 | |
isBEKaml: It's the generated cod ehtat's wrong, so it'll be a bug somewhere in PAST2JST.pm. | |||
oops, fishy sentence. | |||
generated *code* | |||
:) | |||
isBEKaml | jnthn: "cod", as ever, great timing. (but bad memories of chewing cod liver oil capsules) :P | 17:53 | |
jnthn: as to PAST2JST or the method signatures in runtime, it's either of the two that are fishy. One misses what the other needs. :) | 17:54 | ||
jnthn | isBEKaml: Right. The code generated in PAST2JST is meant to pass three args. The first is the thread context, the second is the name. It gets both of those right. The third one is the value to bind into the lexical. It fails it at this one. | ||
isBEKaml: When a lexical get or bind is compiled, it's compiled either in bind context or not. If it's in bind context (carried by a contextual), it's meant to emit code to add the value to bind. | 17:55 | ||
17:56
mj41 left
|
|||
jnthn | I'm guessing at some point there was a mis-translation or something when mberends++ was updating PAST2JST to keep it in line wiht the way PAST2DNST works. | 17:56 | |
isBEKaml | jnthn: I noticed that late last night, I was about to dive into runtime when I said, "Oh, wait. It might be one of the compile phases acting up.... " :) | 17:57 | |
jnthn | Yeah, the runtime looks correct to me. | ||
isBEKaml | jnthn: So, why have many compile phases inbetween? Why not use parrot's builtin tools for grammar checking and leave the implementation/execution to runtime? | 17:58 | |
jnthn | isBEKaml: What phases exactly? | 17:59 | |
isBEKaml | jnthn: To add more context, I was thinking about how I would wire things up with some sort of a mapping with PAST tree. | ||
jnthn: instead of doing a PAST to java syntax tree transformation, isn't there a more direct way of doing a transformation to runtime classes and hand over execution? | 18:00 | ||
jnthn | Oh | ||
No | |||
Been there. Tried that. :) | |||
isBEKaml | Oh, what were the issues? Just curious.. | 18:01 | |
jnthn | Originally it was PAST => C#. As soon as the prototype felt like it was going somewhere, I added in the extra step. | ||
18:01
Trashlord left
|
|||
jnthn | Well, it was getting really messy for one. | 18:01 | |
But also, I didn't want to have to re-write all of the stuff in PAST2DNST when going to emit IL instead of C# | 18:02 | ||
18:02
pernatiy joined
|
|||
isBEKaml | IL's to DLR as C# is to CLR? (Bear with me, not very familiar with C# architecture) | 18:02 | |
Moukeddar | DLR ? | 18:03 | |
jnthn | No, IL is basically .Net bytecode | ||
Moukeddar | is perl ported to Run on the DLR ? | ||
isBEKaml | Well, one issue I saw in doing this was if PAST were dynamically changing, we would have to rewrite steps.. | ||
18:03
Trashlord joined
|
|||
isBEKaml | er, s/dynamically// | 18:03 | |
jnthn | isBEKaml: By the time we get to runtime, PAST is gone. | 18:04 | |
18:04
Moukeddar_ joined
|
|||
jnthn | isBEKaml: The point isn't to walk PAST and interpret it, it's to generate code from it. | 18:04 | |
isBEKaml | jnthn: yeah, saw that. :) But, we would have so much time in writing the runtime just prior to actual execution. | ||
masak | pmurias: I thought I'd test behaviour. so if I put in a piece with code that can never be reached, I'd expect the static analyzer to throw up a warning that the code can never be reached. things like that. | 18:05 | |
isBEKaml curses long days at work... affects coherent construction of thoughts. | |||
masak | pmurias: I'm envisioning this thing as something that matches ASTs in some way. | 18:06 | |
isBEKaml: that would explain a lot. | |||
isBEKaml: (in my life right now, I mean) | |||
isBEKaml | masak: haffun! :P | ||
jnthn | isBEKaml: Well, the thing is that this way, since NQP itself is written in NQP, we can eventually get it to compile itself to the JVM. :) | ||
Then it's bootstrapped there. :) | |||
That's the "goal" as it were. Not to cross-compile forever. | 18:07 | ||
isBEKaml | jnthn: wait, emit bytecodes from nqp. That's a *distant* goal. :) | ||
18:08
Moukeddar left
|
|||
Moukeddar_ | is Perl ported to the .NET ? | 18:09 | |
jnthn | isBEKaml: Well, on .Net we currently do large subset of NQP => ... => DNST => C# => .Net bytecode. That "just" leaves to write a DNST => .Net bytecode emitter. :) | ||
Moukeddar_: Perl 5: no, afaik. Perl 6: see Niecza. | |||
Moukeddar_ | that's a good thing | 18:10 | |
isBEKaml | jnthn: Don't you already have a compiler architecture builtin in C# ? You can compile C# code programmatically, right? That could save you some time, I guess... | 18:11 | |
jnthn: that's instead of an external call to the compiler. | |||
jnthn | isBEKaml: Could happen, but tbh I don't think writing the bytecode emitter is so hard, tbh. | 18:12 | |
oops, too honest :) | |||
I did work with .Net bytecode files before, so maybe I'm just less scared of them. :) | |||
But probably it's best to generate more textual IL ASM first. | |||
And then after that use the .Net APIs for generating bytecode files | 18:13 | ||
isBEKaml | jnthn: if you have the bytecode emitter, you don't need to generate source files at all. Since you'll have already validated the program structure with nqp's grammar and action steps. | ||
18:13
mtk left
|
|||
jnthn | isBEKaml: Right, the "generate C#" is a temporary, "make something work" solution. | 18:13 | |
18:13
mtk joined
|
|||
isBEKaml | jnthn: Right, I'll take the same approach to ASM. Get something out first and tune it later. :) | 18:14 | |
jnthn | Yes, small steps that produce something are good. :) | 18:15 | |
18:15
Moukeddar_ left
|
|||
isBEKaml | jnthn: though tbh, the "C#"ized java code looks alien to me... :) | 18:15 | |
.oO(C#ified) |
|||
18:26
jaldhar left
18:27
jaldhar joined
18:43
birdwindupbird joined
|
|||
dalek | ecza: 1a70b51 | pmurias++ | hoopl/ (4 files): [hoopl] fix the way facts are distributed by branching statements |
18:44 | |
ecza: 7bf5ef9 | pmurias++ | hoopl/Nam.hs: [hoopl] fix a bug |
|||
takadonet | rakudo: my %here;my @genomes=('yo','be','ad'); map { %here{$_}++ } , @genomes; %here.perl.say; | 19:00 | |
p6eval | rakudo ecc4ef: OUTPUT«{}» | ||
jnthn | sink fail? | 19:02 | |
takadonet | Any idea to populate the hash without do a straight assignment from the map since the map statement will be inside of a for loop | ||
? | |||
jnthn | rakudo: my %here;my @genomes=('yo','be','ad'); eager map { %here{$_}++ } , @genomes; %here.perl.say; | 19:03 | |
p6eval | rakudo ecc4ef: OUTPUT«{"yo" => 1, "be" => 1, "ad" => 1}» | ||
tadzik | heh, even google can get their servers overloaded | ||
melange-- | |||
jnthn | takadonet: In void context it's meant to force evaluation of the lazy list...but apparently doesn't... | ||
takadonet | jnthn: looks like it. Thanks | ||
tadzik | mdk.per.ly/2011/04/25/gsoc-the-tpf-...-students/ | 19:04 | |
\o/ | 19:05 | ||
takadonet | tadzik++!!!! | ||
jnthn | tadzik++ # yay!! :D | 19:06 | |
tadzik | beer to everyone! | ||
jnthn | \o/ | ||
19:08
ymasory_ joined,
nymacro left
|
|||
colomon | tadzik++ indeed! | 19:11 | |
tadzik | moritz: are you there? | ||
masak | tadzik++! | 19:14 | |
tadzik | Thank you guys :') | 19:15 | |
19:16
noganex_ left
|
|||
moritz | tadzik: yes | 19:16 | |
tadzik++ | 19:17 | ||
tadzik | moritz: I assume you are my mentor? | ||
moritz | tadzik: congratulations. Yes. | ||
masak | moritz++ | 19:18 | |
moritz | tadzik: and masak++ is backup mentor | ||
19:18
clkao left
|
|||
masak | yay | 19:18 | |
it's the one thing in GSoC I haven't been so far ;) | |||
well, that and organization overlord. | |||
19:18
noganex joined
|
|||
tadzik | so I'm entering the Community Bending Period now | 19:18 | |
masak | bend on! | ||
masak hands tadzik a beer | |||
moritz | tadzik: so in the next few weeks, we expect you to make contact with the community, set up your development environment and become familiar with the existing code base :-) | 19:19 | |
tadzik | oh, and I get to know my mentor :) | ||
moritz | reread S26 maybe | ||
moritz waves hi | |||
tadzik | probably | ||
oh hello Mr. Moritz | |||
moritz | tadzik: if you happen to travel to Germany in the next few weeks, we can community-bond IRL :-) | 19:21 | |
tadzik | moritz: oh, I'd love too :) | ||
moritz | I just fear that my own family and travel plans don't permit me to easily | 19:22 | |
tadzik | but I doubt I will :/ | ||
oh, I don't want to get on your (Your, Signe and Ronja)'s head :) | 19:23 | ||
masak | heads, surely ;) | 19:35 | |
tadzik | oh of course :) | 19:36 | |
19:36
leprevost left
19:43
Moukeddar joined
|
|||
masak | ooh, IPv6. :) | 19:45 | |
Moukeddar | where? | 19:46 | |
masak | Moukeddar: in your sign-in thingy. | ||
*** Moukeddar (Moukeddar@2002:295c:2f08::295c:2f08) has joined channel #perl6 | |||
Moukeddar | hehe | ||
i didn't know they were on IPv6 | |||
they didn't even inform me | 19:47 | ||
masak | I don't believe I've seen that before in here. | ||
TimToady | .oO(everyone wants the colon...) |
||
masak | :D | ||
Moukeddar | hehe | ||
moritz | :-) | ||
Moukeddar | i must be Speshul :) | ||
that would explain why i was diconnected for 1 week | |||
they were installing it right ? | 19:48 | ||
masak | finally resting on the IPv7th day. | ||
Moukeddar | when would that be | ||
i checked here | 19:49 | ||
www.whatismyipv6.net/ | |||
and i get the usual | |||
Your IP is 41.92.47.8 | |||
:p | |||
TimToady | 295c:2f08 is that part of it | ||
Moukeddar | hehe | 19:50 | |
if my PC is on IPv6 | |||
would that explain why i get crappy download speed? | |||
tadzik | I doubt it | 19:51 | |
flussence | 2002::/16 is 6to4 | ||
fake IPv4 basically, you're just tunnelling over ipv4. | |||
Moukeddar | ah | ||
flussence | s:1st/4/6 | ||
Moukeddar | must be the windows service | ||
my ISP mus love me :) | 19:52 | ||
must* | |||
moritz | why would your ISP care? | ||
flussence | nah, it's a client-side thing. My ISP barely has a clue but I could run 6to4 over it with a bit of effort. | 19:53 | |
Moukeddar | no i mean they switched fast to IPv6 | ||
flussence | chances are you just did some OS update that turned it on... | 19:54 | |
tadzik | hi hi :) | ||
flussence | o/ | ||
sbp | Moukeddar gets the colon! | 19:55 | |
Moukeddar | hehe | ||
the DL speed is kinda bad | 19:56 | ||
19:57
SHODAN left
|
|||
flussence | yeah, if it's 6to4 then it bounces all traffic off a single pre-defined IPv4 address running another endpoint... | 19:57 | |
Moukeddar | maaaan | ||
i'll turn utorrent to use IPv6 | |||
would that help ? | |||
flussence | v4 would be faster | ||
tadzik | I hope you're downloading free music or Unix distros :) | 19:58 | |
Moukeddar | tadzik, yes , free music and linux distro | ||
that's all i do | |||
i swear | |||
tadzik | ok, fine then | ||
Moukeddar | will it help with the speed ? | 19:59 | |
tadzik | heh, like in this Java ad. "We're just enjoying some porn" - "I hope you're doing no Java, or Open-Source?" | ||
masak | Scala Johansen :D | ||
Moukeddar | hehe | 20:00 | |
tadzik | my sohn is a monhster! | ||
flussence | oh, I remember seeing that one :) | 20:01 | |
20:01
ymasory_ left
|
|||
tadzik | I found it on reddit on a Lug meeting, and we watched it like 6 times that day | 20:02 | |
Moukeddar | where can i get 10 bucks fast | 20:03 | |
i mean except prostitution | |||
moritz | try an ATM | 20:04 | |
tadzik | yeah, those are quite friendly | ||
dalek | p/ctmo: fb7d90b | jonathan++ | src/NQP/Actions.pm: Toss unneeded old package installation code; remove a XXX comment that's been long dealt with. |
20:05 | |
p/ctmo: 8f36dee | jonathan++ | src/ModuleLoader.pm: Explicitly stash the module loader object away somewhere we'll be able to find it even after old package installation code is dropped. |
|||
p/ctmo: 25b6538 | jonathan++ | src/ (2 files): Get the regex interpolation tests passing again, after I busted 'em earlier. |
|||
Moukeddar | moritz, i need it on paypal | 20:07 | |
which sucks | 20:08 | ||
i can't use online transactions | |||
moritz | Moukeddar: please try to stay a bit more on topic here | ||
Moukeddar | Ko | ||
sorry | 20:11 | ||
moritz | jnthn: \o/ down to three failures | ||
20:15
pothos left,
y3llow left
20:16
Vlavv_ left
20:17
y3llow joined
20:18
pothos joined
20:20
pothos left,
pothos joined
20:23
justatheory left
20:26
Sarten-X left,
justatheory joined,
bluescreen10 left
20:29
Moukeddar left
20:30
Vlavv_ joined
20:37
Sarten-X joined,
Vlavv_ left
20:38
bluescreen10 joined
20:46
Mowah left
20:51
Vlavv_ joined
20:52
MayDaniel joined,
sftp left
20:55
[Coke] left
20:56
[Coke] joined
|
|||
masak | chromatic++, as usual: www.modernperlbooks.com/mt/2011/04/...th-me.html | 20:58 | |
jnthn | moritz: Some aspects of those three tests are kinda bogus now (e.g. EXPORT is now lexical, not package scoped, HLL::Compiler is managed by NQP HLL compiler now since it's in that HLL). | ||
moritz: Going to skip them for now as some of the bits there need a re-design, but it's not yet critical path stuff for Rakudo on 6model. | 20:59 | ||
21:00
kaare__ left
|
|||
masak | tadzik: there are some examples of abusive behaviour linked from that post. | 21:01 | |
21:02
sftp joined
21:03
noganex left
21:04
noganex joined,
[Coke] left
|
|||
masak | I have a feeling the channels he's describing include #perl6 ;) | 21:05 | |
variations of both of those quotes have happened here recently. | |||
21:06
impious joined
21:07
[Coke] joined
|
|||
arnsholt | masak: I had the exact same thought =) | 21:07 | |
masak | I urge people to follow chromatic's advice at the bottom of the post, and speak up. | 21:09 | |
masak posted a comment to the post | 21:12 | ||
dalek | p/ctmo: 4579af8 | jonathan++ | t/hll/0 (3 files): Skip a few tests for now that need significant revision due to design/spec changes. |
21:16 | |
21:17
impious left
|
|||
dalek | Heuristic branch merge: pushed 134 commits to nqp by jnthn | 21:19 | |
jnthn | nqp master has just been updated with the stuff I've been doing over the last several days. | ||
moritz | all hail the magic merge abilities of git | 21:21 | |
jnthn | \o/ | ||
PerlJam | jnthn: and rakudo survives? | 21:22 | |
jnthn | There's a couple of mildly tricky problems left to solve, but the Epic Refactor is over | ||
PerlJam: Rakudo uses nqp-rx, not new nqp. | |||
PerlJam | oh, I misread | ||
jnthn | PerlJam: Rakudo's nom branch will use new nqp. | 21:23 | |
moritz | /home/moritz/p6/nqp/parrot_install/bin/parrot: symbol lookup error: dynext/nqp_ops.so: undefined symbol: Parrot_get_ctx_HLL_namespace | ||
jnthn | huh... | ||
moritz | should be Parrot_hll_get_ctx_HLL_namespace | ||
jnthn thought all of those had been corrected | |||
moritz too | |||
jnthn | Was it a problem in the ctmo branch? | 21:24 | |
moritz | last I tested ctmo was fine | ||
moritz -> sleep | |||
oh, my master is too old | |||
nevermind | |||
jnthn | ah, OK | ||
phew :) | |||
Though I think that "kill this" comment may now be applicable :) | 21:25 | ||
21:26
Rotwang left
|
|||
dalek | p/ctmo: 6e8751b | jonathan++ | src/ops/nqp.ops: Remove a now-unrequired workaround. |
21:28 | |
jnthn | nqp: say("alive?") | ||
p6eval | nqp: OUTPUT«alive?» | ||
jnthn | nqp: class Foo is LolWut { } | ||
p6eval | nqp: OUTPUT«Can only use get_how on a RakudoObjectcurrent instr.: 'nqp;NQPClassHOW;compute_c3_mro' pc 1498 (gen/nqp-how.pir:430)» | ||
jnthn | Not updated yet. :) | ||
21:29
fridim_ joined
|
|||
masak | 'night, #perl6 | 21:39 | |
thanks for being a place of civility and kindness. | |||
21:40
masak left
|
|||
alester | :-) | 21:42 | |
21:42
lue left
21:43
lue joined
21:46
sahadev left,
sftp left
21:47
hercynium joined
21:50
birdwindupbird left
|
|||
jpr5 | ~. | 21:53 | |
doh. | |||
jnthn | :) | 21:55 | |
22:01
Moukeddar joined
22:05
TiMBuS left
22:16
alester left
22:19
clkao joined
22:31
hercynium left
22:35
whiteknight joined
22:43
Moukeddar_ joined
22:44
Moukeddar_ left
22:45
Moukeddar left
|
|||
jnthn | I blug at last: 6guts.wordpress.com/2011/04/25/sepa...hat-a-mix/ | 22:56 | |
23:00
PacoLinux left
|
|||
jnthn | sleep & | 23:01 | |
23:07
pmurias left
23:08
MayDaniel left,
fridim_ left
23:34
Sarten-X left
23:44
Sarten-X joined
23:45
donri left
23:50
molaf__ joined
23:51
Moukeddar joined
23:52
Moukeddar left
23:53
molaf_ left
|