»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by diakopter on 25 January 2010. |
|||
00:04
REPLeffect left
00:07
snarkyboojum joined,
pmurias left
|
|||
bkeeler | This place sure is quiet on the weekend | 00:23 | |
00:24
REPLeffect joined
|
|||
lue | hello! | 00:25 | |
00:25
xabbu42 joined
|
|||
colomon | personally, I am beat. | 00:26 | |
bkeeler | Just trying to wrap my head around the iterator code | ||
lue | It seems the weekends/afternoons are low points. Exactly the times I can get on. :( | ||
bkeeler | How did you house showing go? | 00:27 | |
colomon | We got no feedback. | 00:28 | |
but the house didn't burn down or anything. :) | |||
bkeeler | Always a plus | ||
lue | \o/ | 00:29 | |
colomon | sitting here, zombified, watching the olympics and dazedly websurfing. | ||
bkeeler | Sucks that you can't be there when they show it | ||
lue | Did you count all your valuables? Check the safe? Pat them down as they left? :) | 00:30 | |
colomon | probably just as well, I'd probably say something stupid to potential buyers. | ||
I think I saw the mp3 player was still there. and obviously they didn't steal the wireless router. | |||
00:30
REPLeffect left
|
|||
bkeeler | I've only sold one house, my dads, and it was such an easy sale | 00:30 | |
Sold it to the Salvation Army | |||
lue | How is that obvious? Are the wireless... wires missing? | 00:31 | |
bkeeler | They snapped it up, paid cash full price offer | ||
colomon | well, I'm talking to you somehow, and there is no ethernet cable attached to this computer. | ||
bkeeler: wow, that's awesome. | |||
lue | bkeeler: that's when you cough and say there was a misprint. Then jack the price one 0 :) | 00:32 | |
bkeeler | Kind wish I'd waited though, I'd have got about $30-40K more if I'd waited 2 or 3 years | ||
colomon | but you never know. If I'd sold three years ago, I'd have made money on the house, rather than losing $40k or more on it. | 00:33 | |
bkeeler | ouch | ||
lue | If anyone knew for sure, they'd know so much else that they wouldn't find the right information in time | ||
bkeeler | Indeed, you never know, and it's not like I was in a position to be taking over the mortgage at the time anyway | 00:34 | |
colomon | I've already grown accustomed to that hit. Now I only worry about how much worse it can get before we get rid of it. | ||
lue | Pick up toothbrush... no no no no! Toothbrush first! Ack! Now there's toothpaste everywhere! Pick up toothbrush!!! | ||
Flex your fingers... Awww! Not the hand holding the 'paste! The other hand! | |||
bkeeler | I bought my house at just the wrong time too, I feel your pain | 00:35 | |
The Portland market is by no means as bad as some, but I'm sure I'm at least a little in the hole | |||
At least I can still afford the mortgage. Didn't get sucked by those ARMs | 00:36 | ||
lue | I prefer Intel myself... (oh wait, not that kind of ARM) :D | 00:37 | |
bkeeler | alpha: say grep { $_ % 2 == 0 }, 1..7; | 00:39 | |
p6eval | alpha 30e0ed: OUTPUT«246» | ||
bkeeler | master: say grep { $_ % 2 == 0 }, 1..7; | ||
Hmm | 00:40 | ||
p6eval also takes the weekend off it seems | |||
lue | master: isn't valid. | 00:41 | |
bkeeler | Oh right | ||
rakudo: say grep { $_ % 2 == 0 }, 1..7; | |||
p6eval | rakudo 68bb56: OUTPUT«246» | ||
bkeeler | Oh interesting | 00:42 | |
My copy gets it wrong | |||
colomon | how so? | ||
lue | is your copy revision 68bb56 ? | ||
bkeeler | It outputs 111 | ||
colomon | that's really weird. | 00:43 | |
bkeeler | I'm up to date wrt to github | ||
I must have messed something up in my working copy | |||
colomon | works with my local up-to-date copy. | 00:44 | |
bkeeler | Oh, I know what I did | ||
It's related to what I was hacking on last night at 5am | 00:45 | ||
Was trying to make &take be a proper listop. I see grep is implemented with gather | |||
00:45
BinGOs joined
|
|||
colomon | ah, yes. | 00:46 | |
rakudo: my @a = 1...*; say @a[0]; say @a[1]; | |||
p6eval | rakudo 68bb56: ( no output ) | 00:47 | |
bkeeler | Problem is gather and the iterator infrastructure in general don't deal nicely with parcels yet | ||
colomon | ENOTENOUGHLAZINESS | ||
rakudo: my @a = 1...*; say @a.batch(10).perl | |||
p6eval | rakudo 68bb56: ( no output ) | 00:48 | |
00:48
REPLeffect joined
|
|||
bkeeler | Is ... implemented with gather? | 00:48 | |
colomon | believe so. | ||
rakudo: say (1...*).WHAT | 00:49 | ||
bkeeler | makes sense | ||
p6eval | rakudo 68bb56: OUTPUT«GatherIterator()» | ||
colomon | I think the @a = 1...* is what is not working. Must have been part of the laziness pmichaud temporarily disabled last week. | 00:50 | |
00:50
lestrrat is now known as lest_away
|
|||
bkeeler | Yeah, array assignment is eager by the looks of it | 00:51 | |
colomon | It's not supposed to be. Pretty sure it wasn't in ng two weeks ago. :) | 00:53 | |
00:55
REPLeffect left,
REPLeffect joined
|
|||
bkeeler | The laziness logic is still there in Seq,!fill, but Array is not using it, it seems | 00:56 | |
00:58
lue left
01:02
lue joined,
xabbu42 left
|
|||
lue | woah. What just happened? I'm dizzy... | 01:02 | |
colomon | bkeeler: I'm sure pmichaud will get it sorted out sometime soon. | 01:04 | |
rakudo: say (1...10).batch(10).perl.say | |||
p6eval | rakudo 68bb56: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)1» | ||
colomon | rakudo: say (1...*).batch(10).perl.say | ||
p6eval | rakudo 68bb56: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)1» | ||
bkeeler | most likely | ||
colomon | does make me ponder even more rewriting of the series tests, as right now they are dependent on array assignment as well. | 01:05 | |
bkeeler | As I said, I was playing around with take, make it send up parcels instead of scalars, the way it's specced to | 01:06 | |
Problem is the parcels don't get flattened when they're supposed to | |||
lue | (thinking to myself) Maybe a NYS error isn't accurate. Not Yet *Fully* Specced (NYFS) ? | 01:10 | |
bkeeler | rakudo: say map { $_, $_ * 2 }, 1..5 | 01:11 | |
p6eval | rakudo 68bb56: OUTPUT«22222» | ||
bkeeler | Aha! | ||
map gets it wrong | |||
alpha: say map { $_, $_ * 2 }, 1..5 | 01:12 | ||
p6eval | alpha 30e0ed: OUTPUT«12243648510» | ||
01:12
literal left
|
|||
bkeeler | And map is *not* implemented with gather/take though perhaps it should be | 01:13 | |
colomon | I believe the idea is that map is so fundamental it benefits from being at the lowest possible level. | 01:14 | |
bkeeler | I suppose so | ||
At any rate, fix the parcel flattening for map and my take modification should be fixed as well | |||
lue | Heh, the past few days I read nothing but major errors on this IRC | 01:15 | |
01:15
literal joined
|
|||
lue | I want to fix something, but it's like being given a vetran's WoW account and told "Go ahead." | 01:15 | |
bkeeler | It looks like the iterator logic in List.pir handles flattening | ||
colomon | lue: a really good first step is working on tests. | 01:16 | |
there is a LOT of room for better tests. | |||
and they are really handy for implementing the language. | |||
01:16
avar left
|
|||
lue | I'll (try to) look up how to write tests then. (Of course, if you would point me in the right direction... :D ) | 01:17 | |
bkeeler | Do a "make testable" and it will check out the spec tests from pugs SVN | ||
01:18
literal left
|
|||
colomon | I don't know that there is a guide somewhere. | 01:18 | |
bkeeler | Then run utils/test_summary.pl, or just make spectest | ||
colomon | I bought the Perl testing book when I started working on it, but it was relatively little help. | ||
bkeeler | Dive into the t/spec directory and start poking around | ||
01:19
jferrero left
|
|||
colomon | usually I complain about under-tested features two or three times a week. :) | 01:19 | |
bkeeler | pugs commit bits are given out fairly liberally I believe | ||
though I still don't have one :) | |||
lue | /o\ the voices! to meny voises /o\ | ||
01:21
snarkyboojum left
|
|||
lue will try to compile rakudo in an actual tty terminal (instead of Konsole) and maybe it'll compile faster (if needed) | 01:21 | ||
01:21
synth joined
|
|||
bkeeler | Shouldn't make all that much difference | 01:22 | |
use make -j 4 though, especially if you have more than one core | |||
lue | I do not have more than one core. I barely have a 1GHz core (if that) | ||
bkeeler | Ah | 01:23 | |
lue | 384MiB RAM, 768 swap space | ||
bkeeler | Yikes | ||
01:23
lest_away is now known as lestrrat
|
|||
bkeeler | a netbook, or just something really old? | 01:23 | |
colomon | oh yes, I don't know how to give pugs commit bits (though I'm sure I have permission to do it), but if you ask around you'll quickly get some. | ||
lue | Would -Ofun do anything :) | ||
colomon | I've seen TimToady hand out a bunch... | ||
lue | PowerBook PPC G3 (circa '99) | 01:24 | |
bkeeler | Ah | ||
Yeah, your best bet is sshing to a real box | |||
01:25
literal joined
|
|||
colomon | If you're serious about helping, someone (definitely not me) can probably get you a shell account on one of the perl development boxes. | 01:25 | |
bkeeler | I'm spoiled I guess, sitting here at a Mac Pro quad core with 16G ram ;) | ||
01:25
Chillance left
|
|||
lue | remotely, or switch o'er to a tty window using fancy key combos? (I'd have to do the latter, unless there's a willing candidate...) | 01:25 | |
01:26
crythias left
|
|||
lue | I could get upto 1GiB of RAM (buying stuff) and a G4 processor | 01:26 | |
bkeeler | I have a server in a colo that's not doing all that much, I guess I could give you a shell account on it if you like | 01:27 | |
I've built rakduo there before, so it's got all the tools installed | |||
01:27
avar joined
|
|||
lue | I actually have parts from a PowerBook G4, but then I'd have to solder... (You can buy a G4 replacement for this computer and just pop it in however) | 01:27 | |
01:28
literal left
|
|||
lue | I've actually switched out the ~12GiB hd with the G4's 40GiB already :D | 01:28 | |
01:28
literal joined
|
|||
colomon | Oooo, my best Mac is this MacBook Pro. quad core and 16 gigs sounds very nice.... | 01:28 | |
lue | bkeeler: I'll think about it for a moment, let me see if any of my for ttys won't help (you never know) | 01:29 | |
s/for/four/ | |||
bkeeler | It might help if you shut down KDE and X altogether, given how little ram you have | ||
01:29
crythias joined
|
|||
lue | Maybe, if I had IRC communication methods thru terminal (never bothered to look, but I wouldn't mind) :) | 01:31 | |
bkeeler | One of the old school IRC clients should be fine | ||
BitchX is a decent one I recall | 01:32 | ||
01:33
snarkyboojum joined
|
|||
snarkyboojum | surely some tests to expose the recent range errors wouldn't go astray? | 01:33 | |
lue | some tests that autofix bugs would be nice too :) | 01:34 | |
01:35
wolf2k_ubuntu joined
|
|||
lue is trying desperately to find the tty switching command (can never remember) | 01:36 | ||
found it! turns out, fedora runs on tty1 (weird) | 01:38 | ||
colomon | snarkyboojum: actually, we are now having a spec debate over what exactly range should do in those cases. | 01:39 | |
snarkyboojum | yep - but some tests once that's determined would be good? | 01:40 | |
colomon | oh yeah, for sure. | ||
lichtkind | good night | ||
snarkyboojum | sweet | ||
colomon | lichtkind: o/ | ||
01:40
lichtkind left
|
|||
snarkyboojum | or even now.. so someone is forced to update them :) | 01:40 | |
lue | o/ litchkind | ||
snarkyboojum: string ranges are horribly underdetailed. :/ (I vote the whole of unicode, or whatever's laziest \o ) | 01:41 | ||
snarkyboojum | the specs are juicy aren't they :) | 01:54 | |
rakudo: say ^10 | |||
p6eval | rakudo 68bb56: OUTPUT«0123456789» | ||
lue | thanks to you guys, I actually (somewhat) feel like wanting to kill X for the first time ever! | ||
snarkyboojum | rakudo: say ^'Z' | ||
p6eval | rakudo 68bb56: ( no output ) | ||
snarkyboojum | rakudo: say (^'Z').iterator.batch(50) | 01:55 | |
p6eval | rakudo 68bb56: OUTPUT«012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849» | ||
lue | /o\ ō.– | ||
colomon | that's the range 0..^'Z' | ||
snarkyboojum | yep | ||
Z is supposed to be cooerced to the left type? | 01:56 | ||
colomon | I'm not sure. | ||
It would be in S03 (operators), the Range section. | |||
snarkyboojum | "For ranges with other non-numeric types on the right, the right argument is coerced to the type of the left argument and treated as numeric." | ||
yeah | |||
I need to read these spec in more detail (what great bedtime reading) :) | 01:57 | ||
bkeeler | Speaking of Ranges, I need to go clean mine, along with the rest of the kitchen. Can't put it off any longer... | ||
colomon | Hmmm.... I don't have a clue how to do that. | ||
bkeeler | cd kitchen; make clean | ||
laters... | 01:58 | ||
snarkyboojum | Range.GrabAndClean | ||
colomon | no, no, no, the type coercion. I can clean a kitchen. | ||
snarkyboojum | heh | ||
colomon | ack, I need to delete that damned function before it haunts Rakudo forever.... | ||
snarkyboojum | :P (I should stop typing it eh) | 01:59 | |
lue | ah, the wonders of P6 (let's hope to [deity of your choice] that no normal user ever has to see it...) | 02:01 | |
snarkyboojum | I watched a vid of jnthn dumping the AST to stdout when he was running perl6 code before, but can't find the vid.. how do you get into the guts of what the compiler is doing when it's running stuff? (excuse the vagueness of the question) | 02:03 | |
is that what --dumper and --trace is all about? | 02:05 | ||
colomon | That I don't know. | ||
colomon knows distressingly little, actually.... | |||
dalek | kudo/master: 14f803a | (Solomon Foster)++ | src/core/Iterator.pm: Get rid of GrabAndSay, not spec and it is easily done now with batch($n) and say. |
02:06 | |
02:07
nihiliad left,
yinyin joined
|
|||
lue | Looks like ERC (Emacs) might be right for me :) | 02:09 | |
02:13
nihiliad joined
02:18
nihiliad left
02:19
JimmyZ joined
|
|||
lue | hello? (I hate silence) | 02:21 | |
colomon is drinking the last of his Talisker with his dad. | |||
TimToady | e | ||
lue | oi! | ||
You missed a rousing discussion about my old laptop, TimToady! | |||
colomon | i | ||
lue | e | 02:24 | |
JimmyZ | yo | 02:25 | |
bkeeler | Mmmm.. talisker | 02:30 | |
colomon | bkeeler: my favorite. | 02:31 | |
bkeeler | It's good one | 02:32 | |
Well, kitchen's clean. Now when the dishwasher's done, it'll be time to assemble 3 or 4 trays of lasanga for the freezer | 02:34 | ||
I need bigger freezer though... | |||
colomon | Mmmmmmm...... | 02:36 | |
errr... why isn't rat.t parsing?! | 02:38 | ||
lue | it's a rat. :) | ||
02:42
nihiliad joined
02:46
wknight8111 left,
simcop2387 joined
|
|||
bkeeler | Seems to be the for block after # Give the arithmetic operators a workout | 02:48 | |
Remove that and it parses | |||
colomon | ooo, good analysis. | ||
lue | wow. There is a real difference between the Konsole font and a real tty's font. | 02:49 | |
colomon | PerlJam must have broken something with his for changes yesterday. | ||
02:50
nihiliad left
|
|||
bkeeler | Yeah, it's wanting to make the for a postfix for the preceding block | 02:51 | |
A semi after the block fixes it | |||
02:52
ggoebel left
|
|||
colomon | bkeeler++ | 02:52 | |
I'm trying to track down which commit caused the problem. | |||
TimToady | er, that's not a fix :) | ||
bkeeler | rakudo: { 1; } for (1, 2) | ||
p6eval | rakudo 14f803: ( no output ) | ||
bkeeler | Indeed not | ||
colomon | TimToady: I'm sure he meant in the "makes it go away" sense. :) | 02:53 | |
bkeeler | I did yes ;) | ||
rakudo: { 1; } for (1, 2) { say "hi" } | |||
p6eval | rakudo 14f803: OUTPUT«Confused at line 11, near "{ 1; } for"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
colomon | It's good analysis. | ||
TimToady | std: { 1; } for (1, 2) { say "hi" } | ||
p6eval | std 29796: OUTPUT«===SORRY!===Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/oXJ6yRpMfJ line 1:------> { 1; } for (1, 2) ⏏{ say "hi" } expecting any of: bracketed infix infix or | ||
..meta-infixFAILED … | |||
bkeeler | Ah, because of the lack of a newline | ||
TimToady | you can use  on input as well as output | 02:54 | |
std: { 1; }for (1, 2) { say "hi" } | |||
p6eval | std 29796: OUTPUT«ok 00:01 108m» | ||
bkeeler | rakudo: { 1; }  for (1, 2) { say "hi" } | 02:55 | |
p6eval | rakudo 14f803: OUTPUT«Confused at line 11, near "{ 1; } \n f"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | rakudo doesn't do STD's end-of-block semantics yet | ||
lue | is that funky symbol supposed to say NL ? (I assume it, but to be sure) | 02:56 | |
bkeeler | lue: yeah, it's kinda hard to read here too | ||
What's the bot that ord's unicode characters? .u? | 02:57 | ||
.u  | |||
phenny | U+2424 SYMBOL FOR NEWLINE () | ||
bkeeler | Ah there he is | ||
02:57
quietfanatic left
|
|||
bkeeler | How the heck do I type one of those on a mac keyboard anyway? I had a copy and paste yours | 02:57 | |
02:57
hudnix joined
|
|||
lue | press enter :) (to get the NL thing, IDK) | 02:58 | |
colomon | I can confirm that ec47f33ef2201e2c0ea588141f5750dc74da2b02 does not have the problem. | 03:00 | |
I'm guess the next patch caused it.... | |||
TimToady | well, under gnome you can do CTRL-SHIFT-u2424 | 03:02 | |
lue | high-pitched mocking voice: "well, under gnome you can do CTRL-SHIFT-u2424" I use KDE, and that's what Linus Torvalds uses! | 03:04 | |
TimToady | we all have our faults | ||
colomon | PerlJam's e90453678f18304d9846847af857e5f33c780858 is the source of the problem. | 03:05 | |
TimToady | though California has more faults than most | ||
lue | TimToady: Pun++ | ||
arlinius | in more ways than one | ||
colomon | (PerlJam here is perlpilot on github, right?) | ||
TimToady | much of world culture is now our fault | ||
snarkyboojum | or duff? | 03:06 | |
ignore me | 03:07 | ||
bkeeler |  Aha! | ||
Figured it out | |||
lue | I wants to type it in KDE (now to bug Karl D. Edenworth with a unicode feature request) | 03:08 | |
arlinius | lue: if you use emacs, you can bind a key to ucs-insert | 03:09 | |
TimToady | or if you use an imput method, there's usually a way to do unicode too | 03:10 | |
03:10
nihiliad joined
|
|||
TimToady | like scim or ibus | 03:11 | |
bkeeler | Hmm, only thing is selecting the "Unicode Hex Input" keybord layout I lose the ability to easily type accented characters without knowing the hex code | ||
TimToady | I wouldn't do it with a keyboard layout | 03:12 | |
bkeeler | That's just how mac os does things, AFAICT | ||
TimToady | I blame Steve | 03:13 | |
bkeeler | Yep. Another Californian at that | ||
TimToady | to a fault | ||
bkeeler | I shudder to think how macs would be if he were a Texan though | 03:14 | |
lue | oh no! don't say that! | 03:15 | |
TimToady | 'course, with an input method, I'm always switching into 日本語 mode by accident... | 03:17 | |
03:20
bbkr joined
|
|||
lue | You know japanese? (I thought you just looked up a couple words on occasion...) | 03:20 | |
03:20
drbean_ joined
|
|||
colomon | TimToady: How do you give out commit bits for pugs? lue and bkeeler need them... | 03:21 | |
03:22
mikehh left
|
|||
TimToady | there's a page at commitbit.pugscode.org/admin/project/Pugs/people for that. not sure if you have to be an admin to do it though | 03:22 | |
anyway, anyone who wants a commit bit, msg me your email and preferred svn nick | 03:23 | ||
colomon | Ah, I thought anyone who had one could give one out. | ||
TimToady | you can try, but right now you're listed as "author" | ||
I don't know how it really works | |||
03:24
cotto joined
|
|||
lue | I'll be back later, after homework. Then I'll log out, kill X, and start on working on Rakudo! | 03:24 | |
colomon | I somehow remembered the password, and now I'm at a page saying "Add a new committer"... | ||
03:28
justatheory joined
|
|||
lue | The commit bit is only useful for pugs (its tests), right? (one more q before I _have_ to go) | 03:33 | |
colomon | lue: yes. | ||
lue | thank you. That is all. G'bye for the moment! | ||
colomon | there are a bunch of projects stored in the pugs repo, actually. | ||
but not rakudo. | |||
must sleep soon myself. | |||
TimToady | tests and specs | 03:36 | |
and all the other projects under its directory, like STD | |||
03:39
lestrrat is now known as lest_away
|
|||
lue | hello? I'm back | 04:05 | |
04:05
hudnix left
|
|||
lue | TimToady, if you're here, I'll msg you what you need to give me a commit bit | 04:07 | |
TimToady | what if I'm not here? | ||
lue | dang it. I was hoping you're here. :) | 04:09 | |
TimToady | well, we can pretend | ||
04:14
quietfanatic joined
|
|||
TimToady | lue: and to answer your earlier questions, I know a fair amount of Japanese, but I wouldn't call myself anything like fluent yet | 04:23 | |
lue | Now, is there anything specific to checking out/in pugs tests? Or just typical svn stuff? | 04:24 | |
TimToady | just normal svn | ||
lue | alrighty. (I'm assuming it doesn't matter WHERE I put the pugs code) | ||
TimToady | if you add a file run util/add-svn-props on it | 04:25 | |
no, doesn't matter | |||
~pugs works fine | |||
er, ~/pugs | |||
lue | so....much.....of......the pugs.....source code! | 04:30 | |
TimToady | it's not all pugs | 04:32 | |
most of it isn't pugs, in fact | |||
you're also getting mildew, smop, elf, etc | 04:33 | ||
lue | takes....so....much.....more time.....than....should be required! | ||
oh. It's done :) | |||
So, if I type in checkin, it only checks in what I changed (please say yes) | 04:35 | ||
I'm new to all this "working on open-source projects with other people" thing | |||
TimToady | yes | 04:36 | |
remember that this is a revision control system, so if you booboo we can always back it out | |||
so we go on forgiveness rather than permission around here | 04:37 | ||
lue | alright. (Just a like a quick — er, wiki) | 04:38 | |
I'll be right back. I'm going to kill X. | 04:39 | ||
04:39
lue left
04:45
patspam joined
04:46
lue joined
|
|||
lue | hello? | 04:46 | |
04:46
JimmyZ left
|
|||
lue | TimToady: are you there now? (You weren't before) | 04:47 | |
04:48
Trashlord joined
|
|||
TimToady | I come and go | 04:49 | |
(we're watching Olympics at the same time) | |||
lue | Ah. I'm hearing it from the other room | 04:51 | |
TimToady | well, we're still watching yesterday's on the Tivo :) | ||
cross-country pursuit at the moment | |||
04:52
gfx joined
|
|||
TimToady | so I also work on my Chinese characters in the gaps | 04:52 | |
lue | I saw Shaun White the other day. His `new trick' wasn't that impressive. (then again, I'm not much for sports) | 04:53 | |
04:55
lest_away is now known as lestrrat
|
|||
TimToady | it was the last half-twist that was impressive, I guess | 04:55 | |
he didn't exactly nail it, though | 04:56 | ||
.u 𠥥 | 04:58 | ||
phenny | U+20965 CJK UNIFIED IDEOGRAPH-20965 (𠥥) | ||
TimToady | that's the character I'm on currently :) | ||
lue | oh hell. This computer restarts X when I kill it >:( | ||
(this terminal won't show me it :/) | |||
TimToady | mine either, but it might show up in the log | ||
yes, it does | 04:59 | ||
it's a box with two birdies inside it :) | |||
lue | now it's on tty7 | ||
TimToady | I'm about 65% through labeling all the characters---only about 42000 to go... | 05:01 | |
lue is seeing how to kill X & KDE to save resources... | 05:02 | ||
s1n misses perl | 05:09 | ||
ugh so tired of java, everything perl can do, java can do with 100 times as much code | |||
lue | \o/ I guess | ||
bkeeler | You probably want to change your init level | 05:11 | |
Do you have a /etc/inittab file, lue? | |||
Not sure what Fedora uses these days, a lot of Linuxen have moved away from init | |||
05:12
REPLeffect left
|
|||
s1n | iirc redhat still uses init | 05:12 | |
that and their sysconfig stuff | |||
bkeeler | If so, ditching X is probably something as simple as init 3, or telinit 3 or something | ||
Runlevel 3 is multiuser, no X. multiuser with X is 5 if I recall, which I probably don't. It'll tell you in /etc/inittab anyway | 05:13 | ||
05:16
snarkyboojum left,
snarkyboojum joined
|
|||
lue | How do I hit runlevel 3 | 05:17 | |
bkeeler | It used to be as easy as typing 'init 3'. Some systems have a 'telinit' command that does the same thing | 05:18 | |
s1n | init 3 from a virtual terminal | ||
bkeeler | Or maybe initctl or something | ||
s1n | doing it from within X might have a funny effect, depending on your system | ||
lue | ooh, init 3 did something. | 05:19 | |
hoorah! \o/ | |||
bkeeler | fedorasolved.org/post-install-solutions/runlevel | ||
They recommend telinit | |||
lue | o well. Too late :D | ||
should I init 5 then telinit 3, or just leave it? | 05:20 | ||
bkeeler | Nah, should be fine | ||
If it was going to do something bad we wouldn't be talking right now | 05:21 | ||
s1n | it's fine, it's not a permanent change | ||
lue | yeah, your probab | ||
s1n | lol | ||
05:23
patspam left
|
|||
lue | no busy LED yet... (wow, X must have been a resource hog) | 05:31 | |
bkeeler | KDE more so | ||
lue | I happened to use both at the same time :/ | 05:32 | |
bkeeler | That's the usual arrangement hehe | ||
Some say gnome is a bit leaner, but really probably wouldn't make that much difference | |||
lue | But Linus Torvalds uses KDE (not what made my decision, but still...) | 05:34 | |
bkeeler | heh | ||
Supposedly Richard Stallman uses no X-based stuff whatsoever, so you can take comfort in emulating him now | 05:35 | ||
lue | (saw an XKCD comic about him once :D ) | 05:36 | |
bkeeler | When I lived in Alaska my roommate at the time invited him up to speak at the university and put him up in the house for a couple of days, so I got to bask briefly in the legendary Stallman aroma | 05:37 | |
lue | :O :O :O :O :O O.O O.O O.O O.o O.o | 05:38 | |
My shocks are so much, it scared bkeeler, apparently | 05:43 | ||
bkeeler | I'm not that easily shocked | ||
lue | No, | 05:45 | |
MY shocks scared you | |||
I wouldn't mind going Xless for good _too_ much, but there are all the PNGs and GIFs and... | 05:47 | ||
bkeeler | not to mention firefox | 05:48 | |
lue | OH YES! I forgot about that! (there is lynx, however, but...) | ||
05:48
nihiliad left
|
|||
lue is compiling in record time! Xless is awesome! | 05:48 | ||
05:49
scp1 joined,
am0c joined
|
|||
lue | I think I'll go back to runlevel 5 when all the compiling is over. That's all I need init 3 for really | 05:57 | |
lue watching olympics while waiting & | 05:58 | ||
06:06
crythias left
06:10
justatheory left
06:18
JimmyZ joined
|
|||
lue | helooooo | 06:22 | |
JimmyZ | o'hai | 06:25 | |
lue | hey (still watching TV while waiting) | 06:35 | |
afk (again) | |||
06:43
kaare joined
06:44
kaare is now known as Guest30383
|
|||
lue | I'll finish up here tomorrow. Cheers! | 07:01 | |
07:01
lue left
07:20
wolf2k_ubuntu left
07:22
Su-Shee joined
|
|||
Su-Shee | good morning | 07:24 | |
07:28
ihrd joined
07:36
ihrd left
07:43
Speedy2 joined
|
|||
Speedy2 | www.search2.net | 07:43 | |
07:44
Speedy2 left
07:45
JimmyZ left
07:51
iblechbot joined
07:57
ihrd joined
07:58
xinming joined
07:59
supernovus joined
08:03
ihrd left
|
|||
supernovus | A hopefully simple question. I am working on a little project that uses plugins defined in a config file. The original version was written in Perl 5 and uses YAML for it's config, and so when it see's plugin: [ First, Second ] it loads Namespace::Plugins::First, etc. using a 'require $plugin'; But, when I try this method in Perl 6, it tells me nice things like: Can't find ./lib/Websight::Dispatch in @*INC | 08:03 | |
spinclad | Interoperation of Rakudo with Perl 5 is rudimentary at best, as yet. (1) Is Websight::Dispatch a Perl 5 module, or ported to Perl 6? (2) Same question for the plugins. (3) Do you have them in @*INC? | 08:10 | |
supernovus | It is ported to Perl 6. I'm writing it all from scratch, just loosely based on my old system that was in Perl 5. | 08:11 | |
I'm not actually using any Perl 5 code or libraries in the new implementation. | |||
spinclad | ah, so it's just @*INC to track down. | 08:12 | |
rakudo: say @*INC | |||
p6eval | rakudo 14f803: ( no output ) | ||
spinclad | rakudo: say @*INC.perl | ||
p6eval | rakudo 14f803: OUTPUT«undef» | ||
spinclad | rakudo: use Foo | ||
p6eval | rakudo 14f803: OUTPUT«"load_bytecode" couldn't find file 'Foo.pir'current instr.: '!use' pc 345482 (src/gen/core.pir:47172)» | ||
supernovus | I think the problem is that because $plugins is a variable, the require statement is looking for a a literal file called Websight::Dispatch rather than turning that into Website/Dispatch.pm | 08:13 | |
spinclad | so it's consistent in p6eval's jail, at least | ||
mmm... i'd have to look at how require is parse, i don't know if interpolation is implemented | 08:15 | ||
*parsed | |||
if you say use Websight::Dispatch rather than use Websight::$foo , is it any better? | 08:16 | ||
or require | 08:17 | ||
(as a test) | 08:18 | ||
supernovus | Yeah, I've already tested that. use and require work fine if the namespace is a non-variable (in January's release, the new master has a few regressions with use and require.) | 08:19 | |
Now I seem to have gotten past that part (by converting the plugin name into a plugin path), and it's the $plugin.new() call that is dying horridly. I've tried my $instance = eval("$plugin.new()"); but alas, no such luck. I know, I'm asking for some dark magick. :-) | 08:21 | ||
08:23
masak joined
|
|||
spinclad | lolitsmasak \o/ | 08:23 | |
masak | good Monday morning, #perl6! | ||
\o/ | |||
frettled | morning-thing! | ||
08:23
frettled sets mode: +o masak
|
|||
masak | nothing like a kanelbulle in the morning. | 08:23 | |
frettled | :) | 08:25 | |
08:25
snarkyboojum left
|
|||
Trashlord | sup | 08:26 | |
masak | y0 | 08:27 | |
08:27
yinyin left
|
|||
spinclad | Dude | 08:27 | |
08:27
yinyin joined
|
|||
frettled | Rock on! | 08:27 | |
Rock off! | |||
Somehow I don't think that will be quiet as catchy as «wax on, wax off!» | 08:28 | ||
s/quiet/quite/ | |||
Good morning, fingers, I can tell that you wanted to sleep a bit longer, but now we've got to work, my sweeties. | |||
spinclad | 'but does it follow the wax on, wax off protocol? | ||
' | |||
'or the clear to rock / ready to rock one?' | 08:30 | ||
masak | is irclog.perlgeek.de unresponsive for anyone else this morning? | ||
(it is for me) | |||
spinclad | fine here | 08:32 | |
masak | strange. | 08:33 | |
08:33
[particle] joined
|
|||
masak | hm, seems there's a bug in Chrome somewhere rather than in irclog.perlgeek.de. or maybe both. | 08:37 | |
supernovus: you still there? I think you'll have to nopaste some code for me/us to help you. I have a slight suspicion that you're doing something wrong or NYI with module names in strings... | 08:42 | ||
frettled, bkeeler: I must say I truly enjoyed your match of Mornington Crescent this weekend. it's always nice to see two good players have a go at it. | 08:43 | ||
spinclad :to(bed) & | 08:46 | ||
moritz_ | good morning | 08:51 | |
masak | morning, moritz_ | 08:52 | |
supernovus | masak: You probably don't want to see the code to this... it's very evil. :-) I worked around the issues I was having, using something like "my $plug = eval("$class.new()"); which did work after I figured out that I had a typo in the class I was loading... | 08:58 | |
masak | supernovus: ok. | 09:00 | |
supernovus: (and generally, I don't think you'll be able to shock me with code evilness. I'm just finishing up a project where I emulate goto statements in generated code. :-P) | 09:02 | ||
supernovus | Heh, well then. I'm porting the CMS that runs my website from Perl 5 to Perl 6. Or at least that was the original theory, just adding some new functionality while I'm at it. Oh, and writing a parser for something that sort of looks like YAML, but isn't really... | 09:05 | |
I can tell it's 01:00 in my time zone... my eyes are beginning to glaze over. Probably best to give the code a break and go to bed. | 09:06 | ||
moritz_ | good night | 09:08 | |
masak | supernovus: I salute your efforts. sounds like we have a lot of goals in common. | 09:09 | |
supernovus | Masak: indeed, I'll send a tweet when I post the source to github. Anyway, Good Night everyone, I'm off to bed. | 09:13 | |
masak | Good Knight. | ||
09:14
supernovus left
09:16
gfx left
|
|||
masak | moritz_: good analysis on 'when True' and 'when some_function($_)'. I'm on the fence about the whole issue. feels like people will be surprised either way. (i.e. whether 'when True' always matches or only matches against the Bool anum value True.) | 09:24 | |
moritz_ | masak: one thing I forgot: if we change $a ~~ $bool to means (?$a) === $bool, do we have a value that's always false if smart-matched against? | 09:26 | |
(except for a regex which never matches, which feels kind of... bloated) | |||
masak | !* | 09:27 | |
moritz_ | doesn't work as currently specced | ||
masak | just thinking out loud :) | ||
moritz_ | alpha: say (!*).(False).perl | ||
p6eval | alpha 30e0ed: OUTPUT«Bool::True» | 09:28 | |
09:28
moritz_ sets mode: +v p6eval
|
|||
masak | by the way, what's the use case for a value that never matches anything? | 09:28 | |
frettled | masak: thank you (M.C.) :) | ||
masak | is that for code that you never want to execute? :) | ||
moritz_ | masak: I was thinking of a function that might return that for smart-matching | ||
something like given $obj { when coerce_to_smartmatchy some_function($_) { ... } } | 09:29 | ||
where prefix:<coerce_to_smartmatchy> would turn True into * and False into someting that never matches | 09:30 | ||
masak | ah, of course. | ||
moritz_ | of course. | ||
:-) | |||
masak | I'm not sure True and False should have this role at all. | ||
we need something like Accept and Reject for that. | 09:31 | ||
09:31
lestrrat is now known as lest_away
|
|||
moritz_ | only if we change the semantics of ~~ Bool | 09:34 | |
masak | right. | 09:35 | |
well, here's the core of the issue as far as I'm concerned. I've come to see infix:<~~> as a sort of "compare with DWIMmy semantics". do 'eq' for Str, '==' for Numeric, type comparison for classes/roles/subtypes, and enum comparison for enums. | 09:38 | ||
that all holds, but there's a big exception when matching against Bools. | |||
the question is whether or not the exception pulls its own weight. | |||
Bools are already special in a way, in that they're used implicitly by if, while and their negations. | 09:40 | ||
and by various other things which coerce to Bool, I guess, such as subtype thunks. | |||
09:49
xabbu42 joined
09:51
snarkyboojum joined
09:52
snarkyboojum left,
snarkyboojum joined
10:00
yinyin left
10:07
scp1 left,
scp1 joined
10:18
payload left
|
|||
jnthn | o/ | 10:23 | |
10:24
scp1 left
10:26
orafu joined
|
|||
masak | \o | 10:26 | |
m-locks | oi | ||
jnthn had lovely weekend in Vienna :-) | 10:27 | ||
10:27
jferrero joined
|
|||
jnthn | Even if I was woken up at 7am for a sword fight. :-) | 10:27 | |
10:27
dakkar joined
|
|||
masak | jnthn: I hate when that happens. Luckily my rival was even more bleary-eyed than I was, so I lived to see another day. | 10:35 | |
jnthn | masak: Luckily mine was 3 years old and the sword was made of foam. :-) | 10:37 | |
masak | huh. never been in that situation. | 10:38 | |
I have, however, had a layover in Vienna. | |||
10:43
payload joined
|
|||
masak | strange question on p6u. I don't really understand the context. is 'make spectest_smolder' a Pugs make target? | 10:45 | |
10:50
Trashlord left
|
|||
frettled | Well, if you should have some time for non-Perl 6 things, such as role-playing games, I rather like Legend of the Five Rings (AKA _L5R_). Japanese-style, mythological setting. This digression was sponsored by Kansai Denki. | 10:51 | |
10:52
payload left
|
|||
m-locks | whats with that japan | 10:52 | |
masak | m-locks: they're exceptionally positive about Perl 6, for one thing. :) | 10:53 | |
m-locks | nice to know | 10:56 | |
so are they gonna finish the 1.0 release soon? | 10:57 | ||
masak | m-locks: what do you mean? | 10:59 | |
the 1.0 version of Japan? | |||
I don't think countries have releases. | |||
(though if any country did, it would be Japan, I guess.) | 11:00 | ||
m-locks: Perl 1.0 was released 22 years, 2 months and 4 days ago. | 11:01 | ||
m-locks | no but if they're positive i assume they are excited and doing all the things they can to get a working implementation | 11:02 | |
i was referring to rakudo | |||
masak | Rakudo doesn't have numbered versions. at least not yet. | 11:03 | |
there's a "Rakudo Star" or "Rakudo *" on the horizon, though. | |||
jnthn | I'm doubtful that Rakudo will adopt an x.x style version number scheme. | ||
People tend to read a lot more into such things than is really helpful. | 11:04 | ||
masak | agreed, that would be insane. Rakudo 1.1, Rakudo 2.2, Rakudo 3.3... :) | ||
jnthn | masak: :-P | ||
snarkyboojum | Rakudo *.* :O | ||
jnthn | lol | ||
masak | snarkyboojum: the DOS version :P | 11:05 | |
snarkyboojum | heh | ||
m-locks | creating a grammar to express all rakudo versions | ||
jnthn | Maybe we should just keep adding a * for each production release. | ||
;-) | |||
masak | Rakudo Production Release... Whatever! | ||
jnthn | Whatever a "production release" is. | ||
masak | a production release is one that jnthn and pmichaud has stamped with a magic rubber stamp with the text "can be safely used in submarines, airplanes and nuclear power plants" on it. | 11:08 | |
jnthn has used Rakudo on an airplane. | 11:09 | ||
masak | alternately, a production release is a release made with the RT ticket count below 50 :) | ||
jnthn | It was running on my laptop. :-) | ||
masak | jnthn: it's the stamp that counts, not the actual use. :) | ||
jnthn | oh | ||
:-) | 11:10 | ||
Silly me. It's all about things being stamped. | |||
:-) | |||
masak | exactly. | ||
"TODO: procure magic rubber stamp." | |||
11:13
Exodist joined
11:46
athaba joined
11:48
ggoebel joined
11:49
meppl joined,
ggoebel left
|
|||
colomon | o/ | 11:50 | |
moritz_ | \o | ||
11:50
lichtkind joined
11:51
mikehh joined
|
|||
lichtkind | jnthn: moin | 11:53 | |
moritz_ | lichtkind: you pinged me? | 11:54 | |
lichtkind | moritz_: yes i just wanted to show you www.perlfoundation.org/perl6/index....oritz_lenz | 11:57 | |
moritz_: feel free to correct it or tell me | |||
moritz_ | seems accurate to me | 11:58 | |
moritz_ is not used to other writing about him | |||
colomon | You're the chief maintainer of the test suite?!? | ||
(Why does no one tell me these things?) | 11:59 | ||
moritz_ | colomon: there's no such job description, but I've filled that position for the last 1.5 years or so | ||
colomon: although I feel that you're taking over | |||
jnthn | lichtkind: oh hai...I saw you pinged me, but when I tried to pong you weren't here. :-) | 12:00 | |
colomon | dear heavens, no, please! | ||
lichtkind | colomon: if you tell me everything about you, its also easier for enybody to know :) | ||
jnthn: yes i wanted also you to check you mini biography :) | 12:02 | ||
jnthn: www.perlfoundation.org/perl6/index....orthington | |||
colomon | Seriously, I've poked around a lot in S03 and S32, but that's it for the test suite for me so far. | ||
And if you'd ask me to tell you what position moritz_++ has, I wouldn't have had any idea what to say, other than that he is awesomely useful to have around. :) | 12:04 | ||
jnthn | lichtkind: Huh...biography of me that doesn't mention beer? :) | ||
lichtkind: Anyways, it's fine, though very shortly will be out of date. :-) | |||
lichtkind | jnthn: i was temted but if its right with you i will include beer | ||
jnthn: what whould i add? | 12:05 | ||
colomon: doing stuff is not the same as position :) | |||
moritz_ | "Jonathan is the only known Perl 6 hacker who managed to mention beer in every single presentation about Perl 6" | ||
lichtkind: in Perl 6 land it is | 12:06 | ||
lichtkind | jnthn: English Perl hacker, who currently loves Beer and lives therefore in Bratislava, ?? | ||
jnthn | lichtkind: But next month I move from Slovakia to Sweden. | 12:07 | |
lichtkind | uhhh | ||
bkeeler | We just need to find a brewery to sponsor a grant with beer | ||
lichtkind | interesting | ||
jnthn | Just say that I generally can be found living in European countries that start with "S". :-) | ||
lichtkind: Yes, taking up some new worky stuff there. | |||
Not full time though...so still time for Rakudo too. \o/ | 12:08 | ||
lichtkind | o/ | 12:09 | |
Su-Shee | jnthn: you're moving to spain? ;) | ||
lichtkind | jnthn: www.perlfoundation.org/perl6/index....orthington rewritten a bit | 12:11 | |
snarkyboojum | typo at 'developement' | 12:12 | |
moritz_ | Su-Shee: I thought it was switzerland | ||
t/spec/S32-str/uc.rakudo dies here | 12:14 | ||
rat.t too | |||
jnthn | Su-Shee: I did live in Spain for six months once. ;-) | 12:15 | |
Mmm...Switzerland. :-) | |||
Not lived there. Yet. :-) | |||
lichtkind | Su-Shee: whant you page too? :) | 12:16 | |
12:16
payload joined
|
|||
Su-Shee | lichtkind: I want what? :) | 12:16 | |
lichtkind | Su-Shee: tpf wiki | ||
mikehh | moritz: I get the same results - spectest_smolder #32234 | ||
Su-Shee | lichtkind: not necessary, I don't care much for that stuff. | 12:17 | |
dalek | kudo/master: 7fe9e3e | moritz++ | t/spectest.data: re-enable test for statement-modifying for-loop, and add a new test file which we have never passed before |
||
mikehh | moritz_: I get the same results - spectest_smolder #32234 | ||
missed the underscore :-} | 12:18 | ||
moritz_ | rat.t is a parse error | 12:20 | |
colomon | we worked that out last night. | 12:24 | |
12:24
ggoebel joined
|
|||
colomon | commit e90453678f18304d9846847af857e5f33c780858 broke parsing of blocks (with no trailing semicolon) before for statements. | 12:25 | |
I don't know how to fix the grammar to get around that. | |||
bkeeler++ # for figuring out the details of how the parse was broken | |||
12:26
ggoebel left
|
|||
moritz_ | ah, so I don't need to bisect. Good :-) | 12:27 | |
colomon | Instead of reversing that commit, I decided to wait for wiser heads to wake up. ;) | 12:28 | |
donsbot.wordpress.com/2010/02/21/sm...m-codegen/ | |||
12:38
ignacio_ joined
12:40
pmurias joined
12:45
meppl left
|
|||
takadonet | morning all | 12:47 | |
colomon | O/ | ||
colomon is apparently getting a big head. | 12:48 | ||
masak | takadonet: \o | 12:49 | |
12:50
hsb joined
12:57
uniejo joined
12:58
uniejo left
12:59
ignacio_ left
13:02
uniejo_ joined
13:03
ignacio_ joined,
uniejo_ left
13:04
uniejo joined
|
|||
pmichaud | good morning, #perl6 | 13:06 | |
mathw | it's pmichaud! | ||
colomon | o/ | 13:07 | |
takadonet | morning pmichaud | ||
masak | lolitspmichaud! | 13:09 | |
13:09
iblechbot left
|
|||
jnthn | yayitspmichaud! | 13:11 | |
pmichaud | \o | 13:12 | |
mathw | I think everyone's happy to see you | ||
jnthn | .oO( If there's something strange, wrong in your grammar, who do you call? pmichaud! ) |
13:13 | |
13:13
ruoso joined
|
|||
pmichaud | It's just because I always did well in grammar school :) | 13:14 | |
jnthn | ;-) | ||
masak .oO( Grammar 201: Longest-Token Matching ) | 13:15 | ||
lichtkind | masak: cheers :) | 13:20 | |
pmichaud: please say if there is something incorrect www.perlfoundation.org/perl6/index.cgi?nqp | |||
masak | pmichaud: I have now seen how <after> is implemented in PGE. it basically does $target.substr(0, $pos) ~~ / [$after-pattern] $/. very hackish. :) | ||
lichtkind: moin, enlightened child. | 13:21 | ||
lichtkind | :) | ||
colomon | pmichaud: speaking of grammar.... | ||
colomon: commit e90453678f18304d9846847af857e5f33c780858 broke parsing of blocks (with no trailing semicolon) before for statements. | |||
[07:25am] colomon: I don't know how to fix the grammar to get around that. | |||
[07:25am] colomon: bkeeler++ # for figuring out the details of how the parse was broken | |||
pmichaud | masak: yes, <after> was always a hack. But until STD.pm, it was the only working implementation of <after> anywhere :) :) | 13:22 | |
colomon: I'll look at it as soon as I return (kid to school... back in ~15) | |||
colomon | danke | 13:23 | |
pmichaud | do we have a quick example of a broken parse? | ||
(afk, brb) | |||
masak | pmichaud: I'm not criticizing. mostly wanted to praise your pragmatism. :P | ||
13:24
ruoso left
|
|||
colomon | pmichaud: rat.t is a long example... | 13:27 | |
(sorry, suffering small child interference at the moment) | |||
13:41
SmokeMachine joined
13:44
ruoso joined
|
|||
masak | colomon: rat.rakudo runs here. | 13:46 | |
colomon | masak: really?! | 13:47 | |
masak | yep. | ||
pmichaud | I get the parsefail, yes. | ||
lisppaste3 | colomon pasted "simple failing example" at paste.lisp.org/display/95414 | 13:48 | |
masak | I just built Rakudo 3704a2 on Parrot r44294, and it runs fine here. | ||
pmichaud | masak: current head seems to be 7fe9e3e | ||
masak | oh :/ | ||
that's the reason it works here, then. :) | |||
colomon | if you add a semicolon after the first block, the simple example parses and runs. | 13:49 | |
pmichaud | yes, it's the standard problem of not detecting a close curly as statement end | 13:50 | |
masak | I've experienced similar parsefails before. | ||
specifically, when redefining postcircumfix:<{ }> | |||
pmichaud | since it doesn't detect the statement end, it sees the 'for' as a statement modifier and gets all confused. | 13:51 | |
colomon | pmichaud: yup, I understood the issue once bkeeler++ tracked it down, just didn't have a clue how to fix it (other than just reverting the patch that enabled statement for). | ||
pmichaud | I'm a little surprised it's broken.. I could've sworn that I had this working (in ng). | 13:52 | |
colomon | afk # need to shovel out the driveway... | ||
pmichaud starts looking at the file history to see what's happening | 13:53 | ||
guess I didn't. Maybe I fixed it in nqp-rx. | 13:54 | ||
hmmm, not fixed there, either. | 13:55 | ||
13:58
ignacio_ left
14:02
hanekomu joined
14:03
ignacio_ joined
|
|||
pmichaud prototypes a fix in nqp -- faster to do it there. :) | 14:04 | ||
lichtkind | pmichaud: feel free to edit www.perlfoundation.org/perl6/index....ck_michaud | 14:05 | |
masak | the perlfoundation wiki has LTA CSS. the boxes on the right overlap the article text. :/ | 14:12 | |
at least on Chrome. | 14:13 | ||
lichtkind: there's a dangling double quote on the last line of the pmichaud article. | 14:14 | ||
lichtkind: also, the T in PCT stands for 'Toolkit'. | 14:15 | ||
lichtkind | masak: thanks done | ||
masak | third, the punctuation in the second sentence makes it seem as if PGE were all of the things mentioned in that sentence (grammar engine, compiler, pumpking) | 14:17 | |
14:18
hanekomu left
14:19
kensanata joined
14:20
ruoso left
|
|||
lichtkind | masak: in german that is different :) | 14:21 | |
m-locks | chrome seems to display some web pages wrong | 14:22 | |
masak | needs some polish :) | 14:23 | |
lichtkind | masak: done- great joke | ||
masak | not as funny as www.youtube.com/watch?v=8gpjk_MaCGM | ||
lichtkind | masak: im only partian fan of monty python | 14:25 | |
only the monty part :) | |||
14:35
ruoso joined
14:38
ignacio_ left
|
|||
dalek | p-rx: 216bacc | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION. |
14:43 | |
p-rx: 3a51f6c | pmichaud++ | (2 files): Fix statement_modifier on line after close curly bug. |
|||
14:49
synth left
14:51
hudnix joined
14:52
PZt joined
14:55
iblechbot joined
|
|||
pmichaud | std: { say 'hello' } for 1,2,3 { .say } | 14:55 | |
p6eval | std 29797: OUTPUT«===SORRY!===Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/CGWhlGJk6c line 1:------> { say 'hello' } for 1,2,3 ⏏{ .say } expecting any of: bracketed infix infix or | 14:56 | |
..meta-infixFAI… | |||
14:56
quietfanatic left
|
|||
dalek | kudo/master: eacccf9 | masak++ | docs/metamodel.pod: [docs/metamodel.pod] fixed small typo |
14:58 | |
15:06
Guest30383 left,
ignacio_ joined
|
|||
masak | jnthn: ping. | 15:07 | |
15:07
Trashlord joined
|
|||
pmichaud | I have a fix for the statement modifier bug -- spectesting now. | 15:07 | |
lichtkind | pmichaud : thanks | 15:17 | |
pmichaud | std: say for 1; | ||
p6eval | std 29797: OUTPUT«Potential difficulties: Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/o6d5YCs4us line 1:------> say⏏ for 1;ok 00:01 105m» | ||
jnthn | masak: pong | 15:18 | |
pmichaud | std: xyz for 1; | ||
p6eval | std 29797: OUTPUT«Undeclared routine: 'xyz' used at line 1ok 00:01 105m» | ||
15:18
Trashlord left
|
|||
jnthn | masak: grr...native speakers suck. :-) | 15:19 | |
masak | :) | ||
how so? | |||
jnthn: small metamodel question. how do multimethods square with .^add_method? | |||
jnthn | masak: OK, this one does. :-) | 15:20 | |
masak: It doesn't know about them. | |||
masak: You add something ~~ Multi | |||
mikehh | I got a patch to get rakudo to build on parrot with g++ ver 4.4.1 - nopaste.snit.ch/19736 | 15:21 | |
masak | jnthn: hm. posit Child is Parent, each having at least one multi method foo. | ||
jnthn: will all the multi variants of Child and Parent be visible from Child? | |||
dalek | kudo/master: 5afabfa | pmichaud++ | src/Perl6/Grammar.pm: Fix bug with close-curly not terminating statement before apparent |
||
kudo/master: dcc84e6 | pmichaud++ | docs/metamodel.pod: Merge branch 'master' of [email@hidden.address] |
|||
jnthn | Define "visible" | ||
masak | jnthn: participating in multi dispatch without any explicit trickery. | 15:22 | |
jnthn | If a valid candidate exists in Child, then we call it. | ||
Otherwise, we continue up to Parent and look for candidates there. | |||
masak | ok. | 15:23 | |
so a very wide match within Child will override a very narrow match in Parent? | |||
15:23
athaba left
|
|||
jnthn | Correct. | 15:23 | |
masak | understood. thanks. | ||
jnthn | In fact | ||
There's nothing to say that if Parent's foo is a multi, then Child's also has to be. | 15:24 | ||
pmichaud | anyone want to evaluate a test with me? In for.t, I have disagreements with the tests for RT #61494 | ||
15:24
PacoLinux joined
|
|||
masak | jnthn: so now it seems to me that multis are perfectly orthogonal to inheritance. | 15:24 | |
pmichaud | I also disagree with test #7 | ||
15:24
athaba joined
|
|||
pmichaud | my $a = 0; | 15:24 | |
{ $a++ } for 1..3; | |||
is $a, 0, 'the closure was never called'; | |||
jnthn | masak: My slightly tired brain thinks that sounds fair. :-) | 15:25 | |
masak | jnthn: :) | ||
15:25
xabbu42 left
|
|||
jnthn | pmichaud: Do you expect: | 15:26 | |
$a++ for 1..3; | |||
{ $a++ } for 1..3; | |||
To have different semantics? | |||
masak | I think a comment in that file says there was a p6l thread where TimToady said they do. | ||
pmichaud | that might be a different question. But I do expect the code in the curlies to be executed. | ||
jnthn | pmichaud: I think I don't in that... | ||
pmichaud | Because S04 has: | 15:27 | |
{ say OUTER::<$_>, $_ } for 1,2,3; # 421,422,423 | |||
jnthn | for 1..3 { { $a++ } } # will be exeucted | ||
for 1..3 { $a++ } # like this | |||
pmichaud | S04 also has | ||
@names = ({ "$^name.$^num" } for 'a'..'zzz' X 1..100); | 15:28 | ||
and even | |||
# Not an error: Equivalent to "for 1..10 -> $x { say $x }" | |||
{ say $^x } for 1..10; | |||
masak | www.nntp.perl.org/group/perl.perl6....26071.html | ||
pmichaud | hmmmmm | ||
I think the synopsis must be correct here, and the p6l message must be fossil. | 15:29 | ||
...but checking. | |||
jnthn | -> $i { say $i } for 1..3; | ||
masak | linked from line 57 in t/spec/S04-statement-modifiers/for.t | ||
jnthn | That one may well produce a closure and not call it. | ||
15:29
jackyf joined
|
|||
jnthn | iiuc then | 15:29 | |
{ say 1; { say 2 }; -> $x { say 3 }; } # 1, 2 | 15:30 | ||
well, 1\n2\n...but not 3. | |||
pmichaud | jnthn: S04 has: | ||
@names = (-> $name, $num { "$name.$num" } for 'a'..'zzz' X 1..100); | |||
so that seems to argue against the -> forms producing closures. | 15:31 | ||
jnthn | Ah. | ||
15:31
REPLeffect joined
|
|||
pmichaud starts checking 'svn blame' | 15:31 | ||
masak | waitwait... that assignment binds looser than the statement modifier? o.O | ||
pmichaud | the statement modifier is in parens | 15:32 | |
it's inside the parens along with the lambda block | |||
so it's modifying the lambda block, not the assignment. | |||
masak | oh. | 15:33 | |
sorry, I'm a bit distracted :) | |||
pmichaud | 23854 larry @names = (-> $name, $num { "$name.$num" } for 'a'..'zzz' X 1..100); | ||
r23854 | larry | 2007-05-28 14:14:12 -0500 (Mon, 28 May 2007) | 2 lines | |||
I'm guessing the r23854 commit (May 2007) supersedes the Sep 2006 p6l posting. :) | 15:34 | ||
15:34
synth joined
|
|||
jnthn | wfm | 15:34 | |
pmichaud | okay, how about the RT #61494 tests? | 15:35 | |
(line 81) | |||
15:35
payload left
|
|||
jnthn | The one with the XXX note? | 15:37 | |
pmichaud | yes | ||
jnthn | That looks...dubious. | 15:38 | |
pmichaud | I don't think this test belongs in for.t | ||
the problem here is (was) with the parsing of 'say', not with the for modifier. | |||
jnthn | Yes, S16-io/bare-say.t or something like that (name from memory) would be more suitable. | 15:39 | |
pmichaud | I'll move it. | ||
thanks. | |||
jnthn | np | ||
t/spec/S16-io/bare-say.t | 15:40 | ||
15:41
iblechbot left
|
|||
lichtkind | how about also a chat bot for wiki changes? | 15:42 | |
masak | depends on its chattiness. | ||
lichtkind: are you feeling that your work is not getting enough attention? :) | 15:43 | ||
moritz_ | lichtkind: dalek has an rss parser. If the wiki export an RSS feed of changes, it should be rather easy to do | ||
lichtkind | masak: no it would generate overall more attention to the wiki | ||
moritz_ | lichtkind: ask Infinoid for the details, and see github.com/Infinoid/dalek-plugins for details | ||
lichtkind | moritz_: thanks will later look into that | ||
moritz_: seems to be written in p5 :) | 15:44 | ||
jnthn | Feel free to write a Perl 6 one. :-) | 15:45 | |
lichtkind | jnthn: ask one of my clones | ||
pmichaud | $lichtkind.clone.say("Feel free to write a Perl 6 one. :-)") | 15:46 | |
lichtkind | hahha | ||
masak: i noticed that since i make more noise there where much more edits from other people | 15:47 | ||
ceeya | |||
15:47
iblechbot joined
|
|||
masak | that's true, noise sometimes leads to more people helping. | 15:48 | |
jnthn turns up his music | |||
pmichaud | PLZTURNOFFPOLKAMUSICKTHXBYE | 15:49 | |
15:49
Psyche^ joined
15:50
nihiliad joined
|
|||
jnthn | lol! | 15:50 | |
pmichaud: Regionally realistic, but not what I tend to be found listening to. :-) | |||
15:53
justatheory joined,
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | jnthn: once you move up here, pmichaud can guess folkmusik with nyckelharpa instead :P | 15:56 | |
15:59
Trashlord joined
16:01
Trashlord left,
Trashlord joined
|
|||
jnthn looks up nyckelharpa | 16:05 | ||
ooh, that's a curious thingy. | |||
masak | :) | ||
it's basically a medieval synthesizer. | 16:06 | ||
jnthn | lol! | ||
You should add that to the Wikipedia page. :-) | |||
masak | heh :) | 16:07 | |
pmichaud | hmmm... pugs commits aren't showing up here? | 16:08 | |
moritz_ | no pugs_svn running atm | 16:09 | |
can anybody look up what its host mask was? | |||
pmichaud longs for git. | |||
masak | how long is it since we switched to git? a year? | 16:10 | |
already everyone is hooked :) | |||
s/we/Rakudo/ | |||
pmichaud | 13 months, now | 16:11 | |
yes, even some of the parrot folks who were steadfastly against git are starting to say "gee.... maybe we should...." | |||
moritz_ | Thu Jan 29 15:04:36 2009 +0000 was the last svn commit | ||
pmichaud | jnthn: is there a strong reason that Method.new takes a symbolic name ("!sig_setup...") instead of a block PMC as an argument? | 16:16 | |
I guess it's to keep the :outer | 16:18 | ||
16:18
pyrimidine joined
|
|||
jnthn | pmichaud: It's to keep the outer. | 16:19 | |
pmichaud | okay. I think I'll replace that with block references. | ||
jnthn | I'm willing to consider it a code smell | ||
pmichaud | but maybe this is another place where it makes sense to have an explicit :outer attribute :) | 16:20 | |
so far I'm still a bit against that approach, though. reference tends to make more sense. | |||
16:21
payload joined
|
|||
jnthn | If we can keep the outers straight and have a way to reference a block, that's fine by me. | 16:21 | |
$block.reference() # makes a PAST node of some kind that is a reference to the block | 16:22 | ||
pmichaud | sure, reference a block is with PAST::Val(:scope<register>, :value($block)) | ||
(er, .new(...) ) | |||
that already exists :) | |||
jnthn | PAST::Val has a .scope | ||
? | |||
pmichaud | oh, I have that wrong. | ||
ummmmmmm | |||
I'll have to look at alpha to see what it was :) | 16:23 | ||
might be PAST::Var then | |||
oh, it's just PAST::Val.new( :value($block) ) | 16:24 | ||
16:28
synth left
|
|||
pmichaud | hmmmm | 16:28 | |
create_code_object(PAST::Op.new( :pirop('newclosure PP'), $block ), 'Method', 0, $lazy_name); | |||
that looks problematic also. newclosure creates a clone. | 16:29 | ||
oh, maybe it's okay. | 16:30 | ||
jnthn | Probably for the benefit of para-roles. | 16:32 | |
pmichaud: Ordinary classes almost certainly don't need it. | |||
pmichaud | it's in the thunking logic for attribute initializers | 16:33 | |
jnthn | oh! | 16:39 | |
Isn't there a comment saying why? :-) | 16:40 | ||
Oh, maybe there was in Alpha... | |||
yes | 16:41 | ||
# Need to not just build the closure, but new_closure it; otherwise, we | |||
# run into trouble if our initialization value involves a parameter from | |||
# a parametric role. | |||
pmichaud | right... but newclosure might bring about other issues | ||
anyway, I'm leaving that alone for now | 16:42 | ||
(i.e., until we observer a problem) | |||
*observe | |||
jnthn | We had it that way in alpha for the best part of a year, iirc. :-) | ||
So fingers crossed. :-) | |||
pmichaud | if there's a problem, it will come about from people attempting to access lexicals or package vars from within an attribute initializer | 16:43 | |
okay, I've switched lazy sigs to be referenced-based instead of namespace-lookup-based ... spectesting now. | |||
16:50
meppl joined
16:51
cotto_work joined
|
|||
pmichaud | I don't quite understand the comment at Actions.pm:1016 | 16:52 | |
# Added via meta-class; needn't add anything. | |||
$past := PAST::Stmts.new(); | |||
oh, I think I see what's happening. | |||
The real method is being installed into $table{$name} | |||
er, %table{$name} | |||
I think I can switch that. | 16:53 | ||
jnthn | Yes, you've got it. | 16:56 | |
pmichaud | I'm switching it so that it still returns the actual method object, and installs a reference into $table{$name} | 16:57 | |
jnthn | +1 | 16:59 | |
17:01
uniejo left
|
|||
pmichaud | building, testing, crossing fingers | 17:01 | |
sjn crosses fingers too | 17:02 | ||
17:02
uniejo joined
|
|||
sjn | btw, quite a few people @ FOSDEM wanted to know about Rakudo | 17:03 | |
masak | \o/ | ||
sjn | and a few were very happy to hear about how much has been done and about Rakudo Star | ||
pmichaud | excellent | 17:04 | |
wish I could've gone to FOSDEM. I was there in 2008 and it was a great conference. | 17:05 | ||
sjn | it was very nice to look at the faces after I told them "Perl 6 not released? No.. There's been more than 20 monthly releases already, and in Q2 you'll get the first one meant for general usage." :) | ||
they look mostly like this: 8-o | |||
looked* | |||
:) | |||
pmichaud | excellent. sjn++ | ||
sjn | followed by this: 8-) | 17:06 | |
pmichaud | (sigh) maybe it's time for me to switch isps.... | 17:07 | |
pmichaud@orange:~$ nslookup www.google.com | |||
;; connection timed out; no servers could be reached | |||
jnthn: where do the entries in %table get used? | 17:09 | ||
jnthn | pmichaud: src/Perl6/[Package|Role].pm | 17:17 | |
17:18
masak left
17:24
cotto_w0rk joined
|
|||
jnthn | pmichaud: Essentially, we make an instance of one of those per package. | 17:24 | |
pmichaud: So there's a single data structure that has information at compile time on what's making up the class etc. | 17:25 | ||
pmichaud: And it also knows how to produce the AST, which is mostly a bunch of meta-method calls. | |||
pmichaud | right. any particular pieces of that that are likely to depend on having PAST::Block nodes? | ||
because what I'm sending now are PAST::Val | |||
jnthn | pmichaud: nope | 17:26 | |
pmichaud: They just emit the node straight into the PAST tree that does the call to the meta-class. | 17:27 | ||
pmichaud | hmmm. I get a codegen failure. | ||
17:27
cotto_work left
|
|||
pmichaud | let me reset and try again. | 17:27 | |
jnthn | oh? | ||
oddness | |||
What's the failure? | |||
pmichaud | something is outputting "Capture" into core.pir | 17:28 | |
jnthn | ew | ||
pmichaud | which makes me think a node is being stringified somewhere that shouldn't be. | ||
jnthn | Would putting a PAST::Val inside a PAST::Op with pasttype callmethod cause a problem? | ||
pmichaud | nope | ||
jnthn | OK | ||
pmichaud | PAST::Val is constant :-) | ||
and in this case, it just becomes a register | 17:29 | ||
jnthn | Sure | ||
pmichaud | (a PMC register) | ||
jnthn | That's the only slightly interesting thing we do. | ||
Other than that it's just emitting it. | |||
As in, sticking the node you pass in into a PAST tree. | |||
pmichaud | right | ||
I'll try it again, look more closely at the codegen | 17:30 | ||
jnthn | OK | 17:32 | |
17:33
gbacon joined
|
|||
pmichaud | assign $P114, Capture[0x2e68850] | 17:33 | |
yeah, it's the funky thing going on with the PAST::Op, I guess. | 17:34 | ||
jnthn | ah, Ihate | ||
pmichaud | $P113 = new ["Perl6MultiSub"] | ||
new $P114, "PAST;Op" | |||
assign $P114, Capture[0x2e68850] | |||
$P115 = $P113."set_candidates"($P114) | |||
meta."add_method"(obj, "Str", $P115) | |||
jnthn | it when that happens... | ||
oh | |||
eww | |||
So only a problem for multis? | |||
17:35
nbrown joined
|
|||
pmichaud | oh, wait | 17:37 | |
create_code_object returns a PAST::Block? or something else? | |||
pmichaud checks | |||
jnthn | PAST::Op | ||
pmichaud | that's the issue | ||
okay | |||
jnthn | It takes a PAST::Block as one of it's parameters | ||
Basically, it wraps the Parrot sub up in a higher level code object. | 17:38 | ||
pmichaud | right, I ended up taking the reference to the PAST::Op instead of the block | ||
jnthn | oh! | ||
You probably wnat to pass the reference into create_code_object :-) | |||
pmichaud | sooooo..... | ||
jnthn | oh, but hmm | ||
pmichaud | the question really becomes, what gets returned by method_def ? | 17:39 | |
at the moment, the problem line is | |||
jnthn starts to see the problem... :-/ | |||
pmichaud | $past := PAST::Stmts.new(); | ||
because we really need to return the block, or something containing the block | |||
jnthn | Return whatever create_code_object returns. | ||
IIRC, it doesn't matter if you call create_code_object twice on the same Parrot sub. | 17:40 | ||
In .new, I'm pretty sure it recognizes if the Parrot sub already has an attached wrapper. | |||
And just returns that. | |||
pmichaud | more to the point, I don't think we want %table{$name} to be handling the code gen for the block itself. as in, ever. | ||
17:41
payload left
|
|||
jnthn | Well, it's "not" now in a sense. | 17:41 | |
As in | |||
It doesn't care much about what it's given. | |||
17:41
pmurias left
|
|||
pmichaud | but in the code it generates, are the various method calls expecting to have the actual Method object or the underlying block ? | 17:42 | |
jnthn | Method object. | ||
pmichaud | right, that's a problem. | ||
jnthn | ? | ||
17:42
payload joined
|
|||
jnthn | I don't want [package|role].pm having to know about doing the wrapping. | 17:42 | |
pmichaud | I agree | 17:43 | |
jnthn | And at the moment they don't. | ||
(Yes, it just so happens that the current impl has the actual PAST node for the block and the wrapping passed in. But it doesn't have to be that way.) | |||
I'm guessing I'm kinda missing your point somewhere, I'm just not quite sure where yet. :-) | 17:44 | ||
pmichaud | I'm just trying to decide what should get the reference. | ||
I guess it's okay for the Method object to get the reference -- in that case, the method_def would "make $past" on the unwrapped block | |||
*would have to | 17:45 | ||
jnthn | I'm not sure that will end well. :-/ | ||
Well | |||
It maybe doesn't matter for has-scoped methods. | |||
But for my and our scoped ones (which granted we don't handle yet), the lexpad symbol and/or pcakge symbol should point to the wrapped thingy. | 17:46 | ||
pmichaud | that's no problem, that's what happens I think | 17:47 | |
basically, %table{$name} always sees the result of create_code_object | |||
jnthn | Yes | ||
pmichaud | it's just that the Method object created for create_code_object gets a reference to the Parrot sub | ||
jnthn | Right | 17:48 | |
pmichaud | while the Parrot sub itself (unwrapped) is used as the .ast value of method_def | ||
so that it will be scoped properly | |||
jnthn | That would probably work as an improvement on current situation. | ||
pmichaud | at runtime, the Method object ends up being exactly the same as it is now | ||
jnthn | Yes. | ||
But the outers are pointed correctly. | |||
pmichaud | okay, trying that | ||
jnthn | I think that'll work. | ||
Be careful not to break anonymous methods. | 17:49 | ||
pmichaud | they're in a separate 'if' section, shouldn't matter | ||
anonymous methods don't end up in that special %table anyway, I don't think. | |||
jnthn | Correct. | ||
17:49
IllvilJa left
|
|||
jnthn | Was just a heads up that they *should* return the wrapping code. | 17:50 | |
pmichaud | correct, they still will. | ||
pyrimidine | just a quick question, is PERL6LIB working on master? | ||
pmichaud | pyrimidine: not yet. | 17:51 | |
pyrimidine | ok, just checking | ||
17:51
stephenlb joined
17:57
xabbu42 joined
18:00
quietfanatic joined,
dakkar left,
payload left,
ignacio_ left
18:04
ignacio_ joined
|
|||
pmichaud | > class A { my $x = 'xyz'; method xyz() { say $x; } }; A.new.xyz; | 18:04 | |
xyz | |||
lambdabot | <no location info>: parse error on input `class' | ||
pmichaud | \o/ | ||
lambdabot: i hate you | 18:05 | ||
making spectest now | |||
18:06
lambdabot was kicked by jnthn (lambdabot))
|
|||
jnthn | Hate removed. | 18:06 | |
moritz_ | didn't I kickban lambdabot back in the days? | ||
jnthn | moritz_: I think so | ||
moritz_: I don't remember lambdabot being around much at all of late. | |||
So was kinda surprised to see it again now. | |||
pmichaud: Nice work! | |||
(Well, if the spectests pass anyway. :-P) | 18:07 | ||
pmichaud | so far so good | ||
jnthn | S14-role will be the acid test. :-/ | ||
PerlJam | good day all | ||
pmichaud | PerlJam: is it? | ||
PerlJam | so far it seems so. | 18:08 | |
jnthn | PerlJam: Akshually I liked yesterday better. | ||
PerlJam | besides I'm wishing everyone a good day rather than making a statement about today :) | ||
pmichaud | S14-roles all passed. | ||
jnthn | pmichaud: Hmm. | ||
OK. | |||
pmichaud | let me double-check the codegen | 18:09 | |
jnthn | parameterized-type.t | ||
Is probably the budgie in the cage. | |||
If that passes, you're probably in the clear. | |||
pmichaud | it passed | 18:10 | |
18:10
cotto_working joined
|
|||
jnthn | OK, wfm then. \o/ | 18:10 | |
18:10
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
pmichaud | and yes, we get correct codegen (looking at generated PIR) | 18:11 | |
18:11
ShaneC joined
|
|||
pmichaud | the block now has the correct :outer | 18:11 | |
jnthn | Excellent. | ||
pmichaud | I'll commit what I have, then remove the pir:: hacks that we were using for !to-radians and make sure it still works | 18:12 | |
colomon | \o/ | ||
pmichaud | or I'll let colomon++ do it :) | ||
(need lunch here) | |||
colomon | stirring tapioca here... | ||
pmichaud absolutely loves his new google phone. | |||
18:13
cotto_w0rk left
|
|||
pmichaud | (which isn't so new anymore, I guess) | 18:13 | |
colomon | is that the nexus? | ||
pmichaud | yes | ||
ordered one in the first hour the site went live :) | |||
jnthn | Is that the Google Phone equivalent of lining up outside the Apple Store? :-) | 18:14 | |
18:14
xomas joined
|
|||
pmichaud | jnthn: yes, I think so. | 18:14 | |
I was watching the Google press conference online, someone blogged "hey, the store is up!", and mine was ordered within just a few minutes :) | 18:15 | ||
jnthn | :-) | ||
Does it run Rakudo yet? | |||
;-) | |||
pmichaud | via a ssh window, yes :) | ||
colomon | I haven't quite understood why people seem to prefer it to the Droid? | ||
pmichaud | the droid I saw seemed clunky next to my phone | ||
colomon | Ah. Clunky might be for me. ;) | 18:17 | |
pmichaud | yes, I'm definitely a fan of "thin", "small", and "elegant". | ||
colomon | mostly I'm concerned about cell providers... it's not clear to me that anyone other than Verizon (who we're on) does an acceptable job with northern Michigan. | ||
afk # letting out parents' dog | |||
18:17
am0c left
|
|||
pmichaud | yeah, it was nice that I was already on T-Mobile, so that wasn't a concern for me :) | 18:18 | |
lichtkind | pmichaud: even in german is T-mobile is a konzern :) | 18:19 | |
blog.rfc2324.org/ | |||
pmichaud | pushed class lexicals fix | 18:21 | |
okay, lunchtime | |||
colomon | \o/ | ||
lichtkind | pmichaud: bon appetit | 18:22 | |
jnthn: www.perlfoundation.org/perl6/index....akudo_star | 18:23 | ||
TimToady | lichtkind: I would prefer that my entry not speculate about Turing awards | 18:24 | |
dalek | kudo/master: a3a650e | pmichaud++ | src/ (2 files): Change lazy signature setup so that it uses block references instead |
18:25 | |
kudo/master: d98b492 | pmichaud++ | src/Perl6/Actions.pm: Refactor method creation a bit, making sure that to the underlying Parrot sub, so that the PAST::Block for the sub itself can be nested within the class/package/role main block. This resolves the problem with methods being unable to access lexical and package-scoped variables in class definitions. |
|||
lichtkind | TimToady: this sentence i copied from former material, since im no native speaker im reluctant with english jokes, but its your page, i remove it | ||
lichtkind | TimToady: your also author of viv? | 18:26 | |
18:27
hercynium joined
|
|||
TimToady | yes | 18:27 | |
jnthn | lichtkind: s/March/April/ | ||
TimToady | but it's not a major thing, really | ||
jnthn | s/His/It's/ | 18:28 | |
lichtkind | TimToady: thanks change is done | ||
TimToady | it's only in 2nd spot on the perl6.org page because I didn't want to pick one of the other things :) | ||
lichtkind | TimToady: it might compared to std but in the wiki we try to explain also also hillarious perl 6 terms | 18:29 | |
jnthn: thanks | |||
jnthn: any more specific date? | |||
TimToady | also, viv isn't done yet, considering it's supposed to translate vi to v | ||
and replace gimme5 | 18:30 | ||
jnthn | lichtkind: no :-) | ||
TimToady | people keep distracting me with shiny spec issues :) | ||
lichtkind | :) | 18:31 | |
jnthn | .oO( is it the spec that's shiny, or the issues :-) ) |
||
lichtkind | TimToady: i wasnt aware of thing like v and vi | ||
PerlJam wishes he could go to a TED event at least once | |||
lichtkind | PerlJam: most TED speaches i saw sucked badly | 18:33 | |
jnthn: done | 18:34 | ||
PerlJam | Then I've been lucky in cherry-picking the good ones. | ||
lichtkind | PerlJam: most propably we have different taste :) | ||
18:41
synth joined
18:43
payload joined
18:44
ggoebel joined
18:48
payload left
18:49
bionoid joined
18:50
bionoid left
18:51
justatheory left
18:56
|Jedai| joined
|
|||
mdxi | there are some interesting speeches, but i can't help but think that the people in teh room during those speeches are the same people who were OMG SO SURE that the Segway was about to magically turn all urban sprawl, everywhere, into gleaming arcologies | 18:57 | |
18:57
payload joined
|
|||
colomon | pmichaud: Huh. Still getting Null PMC access in can() with sin. Must check new code. | 18:58 | |
19:08
rgrau joined
19:14
kensanata left
19:17
Chillance joined
19:18
justatheory joined
19:19
andy1 joined
|
|||
colomon | pmichaud: Yup. I | 19:23 | |
I'm getting pretty much the same results as before the patch. | |||
19:37
xomas left,
payload left,
cotto_w0rk joined
19:40
payload joined,
cotto_working left
|
|||
pmichaud | colomon: looking | 19:45 | |
19:47
cotto_w0rk left,
telmich joined
|
|||
telmich | hello | 19:47 | |
PerlJam | greetings telmich | ||
telmich | I'm wondering whether choosing perl6 as a language to learn for a software devepment learning project | 19:48 | |
is a good idea or not. how far is perl6 usable? | |||
moritz_ | telmich: it's not yet production ready | ||
telmich: do you know other programming languages already? | 19:49 | ||
PerlJam | moritz_: in some sense we should stop telling people that, so that they'll try to use it anyway :) | ||
telmich | moritz_: lot shell, some perl, more c | ||
moritz_ | PerlJam: in some sense we shouldn't try to disappoint people | ||
telmich | I'm want to learn a new language within this project and also having a look at ruby currently | 19:50 | |
moritz_ | what kind of project? | ||
PerlJam | telmich: ruby is an excellent language to learn. Very perlian in feel, but with syntax more like python | ||
telmich | well, the idea is to learn the theory of software development | ||
and we're pretty free to chose the language | |||
PerlJam | telmich: oh, if you just want theory, you don't even *need* a programming language :;) | 19:51 | |
er, ;) | |||
telmich | well, at the end there must be something we can refactor ;-) | ||
TimToady | ruby will tend to trick you into software development via monkey patching though... | ||
telmich | TimToady: well, any other good pointer to a usable (object orientated! it's still in) programming language? | ||
PerlJam | telmich: smalltalk | 19:52 | |
telmich | I was also considering python, but the interpreter is imho too buggy | ||
TimToady | if you consider python too buggy, stay away from rakudo for now. :) | ||
telmich | PerlJam: sonuds interesting | ||
TimToady: ok :-) | 19:53 | ||
TimToady | on the other hand, python has *design* bugs which aren't in Perl 6 :) | ||
PerlJam | telmich: Haskell is object oriented if you cock your head to one side and squint a little bit. | ||
telmich | PerlJam: hmm, haskell is missing i/o in normal cases, afaik | 19:54 | |
PerlJam | telmich: depending on what lessons your willing to learn, PHP 6 is object oriented too :) | ||
TimToady | yeah, well, you have to see monads as objects, objects are all about state | ||
PerlJam | s/you/you're/ | 19:55 | |
telmich: you can still do IO with Haskell. It's just ... different. | |||
19:55
masak joined
|
|||
colomon | pmichaud: thanks. | 19:56 | |
telmich | PerlJam: I guess php6 is a major bug upgrade of php4, isn't it? | 19:57 | |
PerlJam | telmich: definitely. | ||
pmichaud | colomon: it seems to be working for me. | 19:58 | |
colomon | how did you do it? | ||
pmichaud | I'll check in my change to sin.t momentarily. | ||
PerlJam | telmich: but, there are many design errors on PHP due to their apparent language-design-by-brownian-motion | 19:59 | |
pmichaud | committed. | ||
PerlJam | s/on/in/ | ||
pmichaud | r29800 | 20:00 | |
20:00
jferrero left
|
|||
PerlJam | telmich: But it's "good enough" and that's all that matters to most people | 20:00 | |
telmich | PerlJam: well, I think a bit different, which is perhaps the reason why I got in here. | ||
20:01
synth left
|
|||
telmich | Still, perl6 somehow sounds like hurd and grub2 (though grub2 _HAS_ a release...) | 20:01 | |
colomon | pmichaud: git pull is claiming I'm already up-to-date.... | ||
PerlJam | telmich: Perl 6 has a release every month | ||
telmich: it's just called "Rakudo" | |||
20:01
cotto_work joined
|
|||
moritz_ | telmich: but it's better than Duke Nuke Forever (which has stalled in development) | 20:01 | |
telmich | hehe | 20:02 | |
that one needed to come :-) | |||
pmichaud | colomon: what does line 1018 of src/Perl6/Actions.pm look like? | ||
or, what's the result of "git log -1"? | |||
colomon: note, all I did was change the spectest -- I didn't change anything in master since before lunch | 20:03 | ||
20:04
pugssvn joined
|
|||
telmich | thanks for you advice so far, I'll come back and look again in some time! | 20:06 | |
20:07
telmich left
|
|||
colomon | pmichaud: oh! | 20:08 | |
There should be parallel changes in the spectest and in Any-num.t. | 20:09 | ||
20:09
synth joined
|
|||
colomon | pmichaud: latest commit is d98b4925c260c6a44cd7985883473afe719e36fc by you | 20:11 | |
colomon actually feel asleep and started dreaming in his office chair while pmichaud was trying to talk to him ten minutes ago. sigh.... | 20:12 | ||
line 1018 of Actions.pm is # $past := PAST::Stmts.new(); | 20:17 | ||
20:17
ignacio__ joined
20:18
ignacio_ left
|
|||
pmichaud | colomon: okay, you have the most up-to-date version | 20:21 | |
and yes, I see the null pmc when trying the straightforward change to src/core/Any-num.pm | |||
colomon | so it's not just my machine. | ||
but the change in sin.t works? | |||
pmichaud | yes. | ||
I think it has to do with the fact that we're in core | 20:22 | ||
colomon | ah. | ||
pmichaud | class initialization gets a little weird there. | ||
colomon | makes sense. | ||
well, getting sin.t fixed is probably a more important first step anyway. | 20:23 | ||
20:23
jackyf left
|
|||
lichtkind | pmichaud: am i right that rakudo #26 is already ng? | 20:24 | |
pmichaud | lichtkind: yes. | ||
lichtkind | pmichaud++ great | ||
pmichaud | colomon: yes, I suspect we need to fix the other *.t files also? | ||
colomon | pmichaud: I'll be happy to get that if sin.t works for me. | 20:25 | |
It'll be a very quick fix. | |||
but I might not be able to get it tested and checked in before an upcoming whistle lesson. | |||
:) | |||
pmichaud | no rush from this end, other than I'd like to get the pir:: out of the test files asap | 20:26 | |
but it doesn't have to happen "immediately" | |||
colomon | It really is trivial to change... I've already got it done, just need the testing of the change now. | 20:28 | |
But I'm excepting to get pinged from Newfoundland in about one minute. :) | 20:29 | ||
20:29
cotto_work left
|
|||
lichtkind | ruoso: ping | 20:34 | |
20:37
masak left
20:38
jferrero joined
20:42
cotto_work joined
20:46
kaare joined
20:47
kaare is now known as Guest60183
20:51
Trashlord left
|
|||
pmichaud | colomon: I'm not quite sure why things aren't able to be fixed in Any-num.pm yet, but I'll keep looking into it. I'm sure it has to do with the order in which things initialize inside of the core setting. | 20:51 | |
my main concern at this point was to get lexicals working in user-defined classes, and in the tests | 20:53 | ||
(and eliminate the pir:: from the test files) | |||
so that's been accomplished :) | |||
afk for a bit | |||
20:56
hercynium left
21:01
ash_ joined
|
|||
ruoso | lichtkind, pong | 21:02 | |
21:04
uniejo left
|
|||
lichtkind | ruoso: grat please add to www.perlfoundation.org/perl6/index....niel_ruoso or tell me | 21:05 | |
21:06
ignacio__ left
|
|||
ruoso | lichtkind, I added a link to my linkedin and ohloh profiles ;) | 21:14 | |
lichtkind | ruoso: thanks, hope you seen we massivelyrevamped the wiki :) | 21:15 | |
ruoso looking | |||
colomon | pmichaud: right, getting it out of the tests is most important. | 21:22 | |
pugssvn | r29801 | colomon++ | [t/spec] Remove the pir:: optimization hack from the trig tests now that our variable declarations work okay in user classes. | 21:23 | |
21:23
colomon left,
colomon joined
|
|||
colomon | Don't know how I managed to log myself out there. | 21:24 | |
21:27
stephenlb left
|
|||
ash_ | rakudo: class Foo { }; my $a = Foo.new; my $b = Foo.new; say $a ~~ $b; | 21:28 | |
p6eval | rakudo d98b49: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Foo'current instr.: 'infix:<~~>' pc 212643 (src/gen/perl6-actions.pir:15669)» | 21:29 | |
ash_ | how would you compare a class you made? | ||
would you need to override ~~ or == or eq or something? | 21:30 | ||
lichtkind | pmichaud: since im mention you there you should have seen this: www.perlfoundation.org/perl6/index....akudo_star | 21:31 | |
TimToady | ash_: depends on how you want to compare | ||
jnthn | ash_: For smartmatch you implement an ACCEPTS method in your class. | 21:33 | |
$a ~~ $b calls $b.ACCEPTS($a) | |||
ash_ | so, if you want ~~ to work you only need to make an ACCEPTS? | 21:34 | |
21:34
hercynium joined
|
|||
jnthn | Yes. | 21:35 | |
See some of the built-in types in src/core/ in Rakudo for some examples. | |||
ash_ | thanks, will do | 21:37 | |
ruoso | TimToady, would you mind dropping the Instant->Numeric conversion ? | ||
er... s/conversion/coercion/ | |||
ruoso just sent an email with the reasoning about it | 21:38 | ||
21:39
jferrero left
|
|||
colomon | Wouldn't you normally want to override cmp for a class, unless your class was specifically stringy or numeric? | 21:41 | |
21:43
alester joined
|
|||
ash_ | cmp or eqv? | 21:44 | |
21:44
ruoso left
|
|||
colomon | depends on what kind of comparison you want to do, I guess. | 21:44 | |
ash_ | so... there is ==, ===, eq, eqv, cmp, ~~, umm... any others? just curious | 21:45 | |
colomon | well, cmp fits in with <=> and leg | ||
It's not exactly an equals operator, though it can do that. | 21:46 | ||
21:47
SmokeMachine left
|
|||
ash_ | is True ~~ False really supposed to be true? | 21:48 | |
pmichaud | no, it's False | ||
but False ~~ True is true :-) | |||
rakudo: say True ~~ False; | |||
p6eval | rakudo d98b49: OUTPUT«0» | ||
colomon | :\ | ||
ash_ | ah, that's what i meant i guess | ||
pmichaud | rakudo: say False ~~ True | ||
p6eval | rakudo d98b49: OUTPUT«1» | ||
ash_ | is that doing True.ACCEPTS(False)? or which kind of smartmatch does that do? | 21:50 | |
jnthn | (True.ACCEPTS(False)) yes | 21:52 | |
But Bool's ACCEPTS is just defined as method ACCEPTS() { self } | |||
ash_ | is that how it should be? | 21:53 | |
just seems like a confusing definition | 21:55 | ||
TimToady | the assumption is that anything returning boolean has tested $_ somehow | ||
21:55
pmurias joined
|
|||
TimToady | and "True" is the test that overrides whatever was in $_ :) | 21:56 | |
21:56
jferrero joined
|
|||
TimToady | however, since we've invented that * matches everything, there's less need for that | 21:56 | |
quietfanatic | rakudo: say False ~~ 1 | 21:57 | |
p6eval | rakudo d98b49: OUTPUT«0» | ||
TimToady | so maybe we could put a warning if the right side is True | ||
quietfanatic | rakudo: say True ~~ 1 | ||
p6eval | rakudo d98b49: OUTPUT«1» | ||
TimToady | or can be determined not to have tested $_ | ||
ash_ | so like given $a { when * { } } vs given $a { when True { } }; it used to be when True, so it matched itself against anything basically? | 21:58 | |
TimToady | yes | ||
pmichaud | I figured the purpose of the existing match is more like: | 22:00 | |
given $person { when .age > 35 { ... }; when .age > 40 { ... } | |||
TimToady | yes, that tests $_ | 22:01 | |
pmichaud | hmmmmm | ||
detecting that might be tricky, though. | |||
TimToady | which is much more useful than matching the left side against Bool | ||
pmichaud | right | ||
(I'm arguing in favor of the current spec) | |||
it seems more logical to special-case the situation of where infix:<~~> ends up with a true value as its rhs | 22:03 | ||
when function-returning-true() { ... } # no warning | 22:04 | ||
if xyz ~~ True { ... } # warns | |||
ash_ | could Bool.ACCEPTS(False) { self === True } ? | ||
pmichaud | if $xyz ~~ function-returning-true() { ... } # also warns | ||
ash_: note that the result of 70 > 35 is "True" :-) | 22:05 | ||
TimToady | what if it function-returning-true see CALLER::<$_>? | ||
*sees | |||
pmichaud | TimToady: I'm advocating that we don't worry about whether we "see $_" | ||
s/advocating/suggesting/ | |||
Bool.ACCEPTS($x) { self } | 22:06 | ||
and | |||
infix:<~~>($topic, Bool) { warn ... } | |||
TimToady | that would warn if you say when $_ == 42 | 22:07 | |
pmichaud | oh, does when call infix:<~~> ? | 22:08 | |
I think we have it calling accepts | |||
TimToady | yes | ||
pmichaud | but I could be wrong about that | ||
TimToady | well, they're both special syntax that calls ACCEPTS | ||
there is no ~~ operator, really... | |||
is how I've been thinking of it | |||
pmichaud | okay, then I was posing a possible difference in the operator | ||
s/operator/syntax | |||
TimToady | doesn't help with when True | 22:09 | |
pmichaud | my thinking was that 'when' never warns, while '~~' warns. | ||
TimToady | I think the target of either can be analyzed syntactically for things that obviously want a warning, like True | ||
pmichaud | so when True would end up being True.ACCEPTS($_) which wouldn't warn | ||
TimToady | I think that's just as like to confuse people as ~~ True | 22:10 | |
*likely | |||
pmichaud | I'm thinking of the case where someone does | ||
if $x ~~ $y { say "x matches y" } | |||
and $y ends up happening to be a Bool true or false | |||
we can't detect that syntactically | 22:11 | ||
TimToady | well, that's the grep True, ... case | ||
possibly detectable for a parameter prototyped as as Matcher | 22:12 | ||
lemme stew on that a little longer | 22:13 | ||
pmichaud | sure | ||
I see the problem with the other side as well now, also. | |||
22:19
cdarroch left
22:21
payload left
|
|||
dalek | kudo/master: b9b10eb | pmichaud++ | build/Makefile.in: Add some dependencies to the t/*/*.t targets. |
22:23 | |
22:29
wknight8111 joined,
mssm joined
22:30
Su-Shee left
22:40
iblechbot left
22:44
ggoebel left
|
|||
colomon | TimToady: pir:: removed from spectests, thanks to pmichaud++'s patch that got "our @a" working in class definitions. | 22:45 | |
22:47
cotto_work left
22:50
pyrimidine left
22:53
samlh joined
22:55
IllvilJa joined
22:58
eternaleye joined
22:59
cotto_work joined
23:01
wanradt_ joined
23:02
Guest60183 left
23:07
stephenlb joined
23:13
athaba left
23:17
payload joined
23:21
snarkyboojum left
23:23
xabbu joined
23:24
xabbu is now known as Guest42753,
payload left,
payload joined
23:25
Guest42753 left
23:29
xabbu42 left
23:30
snarkyboojum joined
23:34
lest_away is now known as lestrrat
23:37
wanradt_ left
23:45
ggoebel joined
23:48
pmurias left
23:54
wanradt joined
23:57
nihiliad left
|