»ö« 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! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
00:01
tri left
00:04
ashleydev is now known as fud,
fud is now known as FUD,
FUD is now known as __FUD__
00:05
dalek joined,
ChanServ sets mode: +v dalek
00:08
__FUD__ is now known as ashleydev,
BooK_ left
00:10
dalek left,
whiteknight joined
00:14
hercynium joined
|
|||
lue | ohai o/ | 00:17 | |
masak | greetings, lue. | ||
lue | I saw that pun-fest earlier. [ I would come up with a pun, but it would have everybody hopping, and I don't think anyone could beer it :) ] | 00:18 | |
diakopter | somehow I missed a punfest in theh backlog | 00:22 | |
jnthn | lue: So you bottled out? Couldn't tap into the punfest? Can't pump them out fast enough? | ||
masak | jnthn: my, you're just overflowing with liquid-related material. | 00:23 | |
jnthn | It wasn't too pour an effort. | 00:24 | |
(OK, *that* one was...) | |||
lue | Will anyone &slurpy that liquid? | 00:25 | |
00:26
envi left
|
|||
jnthn | Sure, when it comes through the ==> | 00:26 | |
masak | down the hatch! | ||
jnthn | down the batch! ;) | 00:27 | |
Actually I shouldn't do that. Tomorrow it's a socialist^Wred day here in Sweden, so the systemka won't be open for me to acquire a replacement batch for the rest of the weekend. :) | 00:28 | ||
lue | Make sure it's decaf. We wouldn't want «jnthn», now do we? | 00:29 | |
jnthn | Probably not. I've already had at least one person give me the "you must be one of the most nuts people I ever met" look already today. :) | 00:30 | |
masak | a look most often given to geeks by non-geeks, by the way. | 00:31 | |
jnthn | Yes, I think that probably sums it up. | 00:32 | |
lue | masak: did you see that gist I linked to in my blog post? gist.github.com/662027 | ||
masak | lue: no, but now that I do, I'm happy you're experimenting with Tardis. | 00:33 | |
I see you have added line-by-line editing of the program. | 00:34 | ||
lue | That feature Works™* (*only works in certain situation) | 00:35 | |
00:35
bgoggin joined,
bgoggin left
|
|||
masak | rakudo: say (my @a).end | 00:36 | |
p6eval | rakudo 142d22: OUTPUT«-1» | ||
masak | S32 says: "Returns the final subscript of the first dimension; for a one-dimensional array this simply the index of the final element." | ||
masak submits rakudobug | |||
huh. I didn't even see the missing "is" in that second sentence before :) | 00:37 | ||
00:37
patspam left
|
|||
jnthn | masak: huh. If there's nothing in there, what do you want it to return? | 00:37 | |
lue | .oO(It must be the effect of re-reading what you put in IRC) |
||
jnthn | 0 would be wrong because that'd imply there's one thing in there. | ||
lue | rakudo: say Nil.end | 00:38 | |
p6eval | rakudo 142d22: OUTPUT«-1» | ||
lue | but -1 could be in a list as well. | ||
masak | jnthn: I don't know. but it's not to spec right now. | ||
jnthn: maybe Failure. | |||
lue: if you say that, you've misunderstood the purpose of .end (just like I did first time I saw it) | 00:39 | ||
jnthn | masak: I think you maybe need to explain it then. :) | ||
masak: 'cus I suspect I'm missing something also... | 00:40 | ||
masak | well, first off, let's agree on what S32 actually *says*. | ||
it says "returns the final *subscript*. | |||
an empty array has no final subscript. | |||
hence -1 is *wrong*. | |||
jnthn | Hm | ||
True | |||
It may be a handy sentinel if you planeed to do some math on it. | |||
But yeah, I can see flagging it up as a Failure is probably better. | 00:41 | ||
masak | if S32 said "returns less than the length of the array", -1 would have been fine. | ||
but it doesn't. | |||
so it isn't. | |||
this is why we have a spec, for precision and clarity. | |||
in this case, it's precise and clear. hence, bug. | |||
if you want -1, please use C<+@a - 1> :) | 00:42 | ||
jnthn | fairy nuff. | ||
masak | I even have a use case for this being wrong: Tardis. | 00:45 | |
colomon | masak++ # just read blog post | ||
masak | \o/ | ||
this line: github.com/masak/tardis/blob/maste...tardis#L37 | 00:46 | ||
when I was restoring Tardis, at one point @ticks was empty (but shouldn't be). @ticks.end returned -1, and the line sais "# Finished. Ticks: 0..-1" | 00:47 | ||
which looked... wrong. | |||
it certainly wasn't something I expected ever to get putting that line in. | |||
sorear | You think a crash would look more correct? | ||
masak | maybe. | 00:48 | |
but a Failure would only generate a warning, I think. | |||
sorear | 0..-1 looks like an empty list to me | ||
colomon | 0..0 is not empty | ||
and Failure becomes 0 in this context, no? | |||
masak | dunno. | ||
sorear | S04:1220 | ||
any use of a Failure other than .defined or .Bool causes an exception to be thrown | 00:49 | ||
masak | right. | ||
booby-trap. | |||
00:54
icwiener left
|
|||
masak | so, it will die, not just warn. | 00:54 | |
that's fine by me. | 00:55 | ||
because @ticks.end was used here in a way never intended. | |||
lue | masak: alright if I fork Tardis to hack on it? [I remember cases where forking caused issues] | ||
00:56
icwiener_ joined
|
|||
masak | lue: you have my permission. | 00:56 | |
diakopter | forking leads to spooning | ||
colomon | huh. Haven't there been repeated complaints that something like 4 + Failure returned the no Bridge method error rather than 4? | ||
masak | diakopter: but never to sporking? | ||
colomon: I'm still a wee bit uneasy about the whole Bridge thing. | 00:57 | ||
colomon | masak: can you explain? | ||
masak | in my mental model of Math, there are the equivalents of Num and Rat and Int... but not of Bridge. | ||
that's the extent of my complaint about the elected model. | 00:58 | ||
I realize it's addressing a real problem. I don't have a better solution. | |||
jnthn | .oO( a Real problem... ) |
||
masak | if I did, I would complain louder :) | ||
jnthn: your punnery is Continuous! | 00:59 | ||
jnthn | An Integral part of #perlt! | ||
colomon | your mental model of Math isn't going to have Bridge, because Bridge isn't an actual type. | ||
jnthn | *#perl6 | ||
lue | you would be able to get changes I make when I fork, right? (Or am I thinking of the wrong thing?) | ||
masak | colomon: that isn't much of a consolation. so it's a conversion method to something that isn't an actual type; so what? | 01:00 | |
colomon | Bridge is more-or-less "the most accurate Real type available in this Perl 6 that everyone knows about." | ||
masak | lue: there's something called a fork queue in github. it allows changes to flow back. | ||
colomon | If you have a better one-word term for that, I'll be happy to change it. | ||
jnthn | Coercomatic | ||
colomon | ooooo | 01:01 | |
masak | all I know right now is that it's not "really" called Bridge. :) | ||
diakopter | I spun a pun for the pundits, and I was expunged. | ||
masak | jnthn: by the pronunciation rules of English, the second 'c' in that word is pronounced 'k'. | ||
lue | Coerce-o-matic? | 01:02 | |
jnthn | masak: English doesn't have pronunciation rules. :P | ||
masak | right. needs to be what lue said. | ||
lue | .oO(or the coerceinator) |
||
masak | jnthn: a fayre poynte. | ||
sorear | I imagine colomon is cognate to Solomon, and has a soft c | 01:04 | |
masak | huh. | ||
sorear | I'm uneasy about Failure in general. | ||
colomon | sorear: actually not. | ||
sorear | Very uneasy. | ||
masak | sorear: for optimization reasons? | 01:05 | |
colomon | My name is Solomon, but my id is colomon with a hard c sound. | ||
but back to Failure | |||
sorear | masak: semantics, mostly | 01:06 | |
I have a very clever implementation of delayed throw waiting | |||
which I would hate as a Perl 6 user, but at the same time it would be a shame to throw it away as an implementer | |||
masak | :) | 01:07 | |
I haven't really been the victim of a lot of delayed throws in my Perl 6 adventures. | |||
either that, or they're so natural that I don't think of them as such. | 01:08 | ||
I have been worried about Freaky Action at a Distance. | |||
but practice hasn't confirmed this worry (yet). | |||
sorear | masak: the reason you haven't been the victim of any delayed throws is because nobody implements them. | 01:11 | |
masak | oh. | 01:12 | |
sorear | S04 has other consequences | ||
the most disturbing for me is that try { function(); CATCH { } }; can still throw exceptions | 01:13 | ||
delayed exceptions require the ability to throw more than one exception at once; CATCH only skims off the top exception | 01:14 | ||
jnthn | try { function(); } OTOH... | ||
sorear | the rest will sail through, unless you have a for @$! { .handled = True } in your catch | ||
sorear goes off and reads the GHC-on-LLVM thesis | 01:15 | ||
01:24
dnl- joined
01:28
dnl left
01:30
cdarroch left
01:37
ggoebel left
01:45
sftp left
01:46
ggoebel joined
|
|||
jnthn | goodnight, #perl6 | 01:49 | |
01:53
icwiener_ left
|
|||
masak | 'night, jnthn. | 01:58 | |
lue | masak: I think Tardis will end up being a really fun project for me. [ gee, a program that dabbles in time travel, I wonder why I like it :) ] | 02:00 | |
masak | :) | ||
lue | .oO[ BTW, I think smashing random bits with a rubber mallet is fun as well :) ] | 02:01 | |
sorear | the GHC/LLVM integration does something so simple I could never have thought of it | 02:12 | |
masak | do tell. | ||
sorear | GHC requires a very specific format of stack frames... | ||
so I was wondering how it conveyed that to the backend. | |||
nope, it just uses a program-managed stack pointer; the compiler's own call stack is unused | 02:13 | ||
GHC-generated LLVM code consists of zero-argument functions that tail call each other | |||
masak | sweet. | ||
sounds a lot like CPS. | 02:14 | ||
sorear | this does mean that esp goes unused, which is not pretty on a CPU with only 8 integer registers, though | ||
masak | time for me to sleep as well. | 02:15 | |
'night, #perl6. | |||
lue | g'night o/ | ||
02:15
masak left,
whiteknight left
|
|||
sorear wonders if lue will apply to GCI | 02:15 | ||
lue | I'm considering it. | 02:19 | |
02:26
ggoebel left
02:40
xinming_ joined
02:42
xinming left
02:44
hercynium left,
patspam joined
02:57
hercynium joined
03:08
risou joined
03:11
jlaire left
03:12
risou_ joined
03:15
risou left
03:16
jlaire joined
03:17
ggoebel joined
03:19
ggoebel left
03:43
Chillance left
04:00
plobsing joined
04:10
risou_ left
04:19
wooden left
|
|||
sorear | niecza: for ("x", "\xFFFE") -> $ch { say ?($ch ~~ /<-[ f ]>/) } | 04:20 | |
p6eval | niecza f730971: OUTPUT«Unicode character 0xfffe is illegal at /home/p6eval/niecza/src/Niecza/Actions.pm line 907.Unicode character 0xfffe is illegal at /home/p6eval/niecza/src/Niecza/Actions.pm line 907.Bool::TrueBool::False» | ||
04:20
hercynium left
04:21
lidden left
|
|||
sorear | niecza: for ("x", "\x2FFF") -> $ch { say ?($ch ~~ /<-[ f ]>/) } | 04:22 | |
p6eval | niecza f730971: OUTPUT«Bool::TrueBool::False» | ||
sorear | it looks like I accidentally coded 'All' to exclude Cn | 04:23 | |
04:29
dnl- left
|
|||
sorear | fixed | 04:33 | |
04:42
araujo left
04:52
justatheory left
05:00
chitragupt left
05:12
Axius joined
05:26
Axius left
|
|||
sorear | fixed q[foo]... it wasn't an LTM issue, it was » being broken and only matching on the left side of actual whitespace | 05:31 | |
06:11
Lorn left
06:12
Lorn joined
06:15
risou joined
06:22
patspam left
06:32
Lorn left
06:53
Bucciarati left
06:54
dukeleto left,
dukeleto joined
06:55
jhuni joined
07:02
risou left
07:06
risou joined
07:16
aesop_ left
07:19
aesop joined
07:22
_kaare joined
07:41
Lorn joined
07:44
mberends left
08:04
risou left
08:08
PZt left
08:11
PZt joined
08:28
Lorn left
08:38
nymacro joined
08:50
Lorn joined
|
|||
sorear | yay, got <foo> working at last | 08:52 | |
08:57
meppl joined
09:03
nymacro left
09:05
Ross joined
09:08
envi joined
09:29
dalek joined,
ChanServ sets mode: +v dalek
09:30
dalek left
09:36
xinming_ left
09:43
constant left
09:45
constant joined,
constant left,
constant joined
09:48
mavrc joined
09:55
dalek joined,
ChanServ sets mode: +v dalek
09:57
sftp joined
09:59
MayDaniel joined
10:07
wamba joined
10:10
dalek left
10:17
dalek joined,
ChanServ sets mode: +v dalek
10:19
dalek left
10:21
dalek joined,
ChanServ sets mode: +v dalek
10:24
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
10:27
dalek left
10:28
masonkramer left,
masonkramer joined
10:29
dalek joined,
ChanServ sets mode: +v dalek,
dalek left
10:30
dalek joined,
ChanServ sets mode: +v dalek
|
|||
dalek | : 21ceeb2 | sorear++ | misc/dalek-conf.json: dalek test commit |
10:31 | |
10:31
dalek left
10:34
dalek joined,
ChanServ sets mode: +v dalek
|
|||
sorear | dalek should now be working for repos | 10:35 | |
sorear out | |||
tadzik | o/ | 11:18 | |
11:18
wallberg joined
11:20
wallberg left,
wamba left
11:21
wamba joined,
wamba left,
kensanata joined,
wamba joined
11:22
M_o_C joined,
ggoebel joined
|
|||
tadzik | oh, I see IO::Stat in use | 11:24 | |
11:31
jhuni left
11:34
mberends joined
11:41
mberends left,
mberends joined
11:44
kanishka left
11:49
kanishka joined
11:52
M_o_C left
12:09
araujo joined,
araujo left,
araujo joined
12:16
mberends left,
mberends joined
|
|||
mberends | the Perl booth (and the other booths) here at t-dose.org is well attended. We are staffed by at least 7 people :) | 12:17 | |
(wifi still goes up and down a bit, the network experts are working on that) | 12:18 | ||
jnthn | o/ mberends | 12:21 | |
Are you handing out round tuits? ;-) | |||
12:23
lidden joined,
mberends left
12:25
mberends joined
|
|||
mberends | jnthn: I hadn't got a round tuit yet, but I really should ;) | 12:26 | |
test 6model/dotnet on Mono/Ubuntu netbook: All tests successful. Files=24, Tests=167, 195 wallclock secs | 12:33 | ||
jnthn | ah, cool...the library loading primitives didn't break the Mono build. :-) | 12:36 | |
12:37
vdrab joined
12:38
wallberg joined
|
|||
mberends | jnthn: several tests are reporting: warning CS0169: The private method `NQPOutput_1289046623.Load(Rakudo.Runtime.ThreadContext, Rakudo.Runtime.Context)' is never used | 12:38 | |
not serious, but perhaps an avoidable distraction | |||
jnthn: Wendy sends @greetings | 12:39 | ||
araujo | pastie.org/1276960 | ||
12:46
phenny left
12:47
phenny joined
12:49
phenny left,
phenny joined
|
|||
jnthn | mberends: Oh, it shoulda been marked public. | 12:50 | |
mberends: Thanks, will fix. | |||
mberends: Greetings to Wendy too :) | |||
oh huh, the Main is private too. | 12:51 | ||
13:03
kanishka left
13:04
pmurias joined
13:14
whiteknight joined
13:18
Patterner left
13:33
Psyche^ joined,
Psyche^ is now known as Patterner
13:37
icwiener joined
13:47
colomon left
13:51
MayDaniel left
13:52
colomon joined
13:54
xinming joined
13:57
colomon left,
phenny left
13:58
phenny joined
|
|||
moritz_ just had a p6advent brainstorm | 14:00 | ||
result soon to be seen on p6u | 14:01 | ||
14:02
Ross left
14:10
icwiener left
14:24
phenny left,
phenny joined
14:26
phenny left,
phenny joined
14:28
takadonet joined
|
|||
takadonet | yo | 14:28 | |
14:42
wamba left
|
|||
jnthn | o/ takadonet | 14:46 | |
takadonet | jnthn: how are u sir? | 14:49 | |
jnthn | takadonet: Fine, thanks. Busily preparing for a course I'm teaching next week, but hoping to get some Perl 6 hacking in later on today too. :-) And you? | 14:52 | |
14:52
countley joined
|
|||
takadonet | jnthn: going to do some chores around the house but hacking now around a rakudo bug/NYI and I may have a solution | 14:53 | |
jnthn | Nice :-) | ||
takadonet | well my solution just went boom.... | 14:54 | |
14:55
mberends left
|
|||
jnthn | Rakudo may yet find applications in the demolition industry. ;-) | 14:55 | |
14:56
mberends joined
|
|||
takadonet | jnthn: maybe | 14:58 | |
15:00
mberends left
15:08
patspam joined
15:12
sftp left,
wallberg left
15:13
MayDaniel joined
15:21
xinming left
15:22
sftp joined
15:23
xinming joined
15:27
countley left
15:30
justatheory joined
15:36
kensanata left
15:40
masak joined
|
|||
masak | \o/ | 15:40 | |
I see you've had a quiet day here. | 15:42 | ||
jnthn | There goes the peace and quiet... :P | 15:44 | |
masak | mwhaha | ||
jnthn | masak++ # managed to get two spec commits out of TimToady++ | ||
masak: Did you see 'em? | 15:45 | ||
masak | yes. one parallel and one antiparallel :) | ||
jnthn | :) | ||
For the BUILD one, I'm wondering if we want a deprecation cycle (more) | |||
masak | possibly. | ||
jnthn | Instead of just changing Rakudo to only care about publics and ignore privates, it still works with the privates but warns for one release that this ain't going to work in the future | 15:46 | |
Then after that we drop it | |||
masak | great idea. | ||
jnthn | So there's a release's grace. | ||
masak | jnthn++ | ||
jnthn | Well, it's quite easy to do too. | ||
masak | then we get to test things a bit. | ||
jnthn | Right. | ||
I think it's going to break a lot of people's code. | |||
masak | quite possibly. | 15:47 | |
jnthn | I've got plenty of slides out there with examples that rely on the existing behavior. | ||
One of us (or someone else) should write a good blog post explaining the change too, which we can reference in the next release. | |||
We've got a good 2-3 weeks beofre the next release anyways. | 15:48 | ||
So no immediate hurry. | |||
I may patch Rakudo this weekend though. | |||
15:48
Bucciarati joined
|
|||
masak | aye. | 15:50 | |
jnthn | Cruiously, I think I may reach the point of writing NQP.Net's BUILD this weekend also :) | ||
masak | yay | ||
jnthn | Depends how long it takes me to decontaminate^Wdejava-ize this course material... | 15:53 | |
masak | actually, I think Java is a pretty OK language. my main complaint is its lack of closures. | ||
but otherwise, it's fine. I like TDD-ing in it. | 15:54 | ||
jnthn | masak: I'm actually "translating" a TDD course | 15:56 | |
masak: And keep seeing things and thinking, "gee, I like the way we do it in C# better" | 15:57 | ||
masak | would be nice to hear about some of those things at some point. | ||
I'm sure C# got some things righter than Java. | |||
jnthn | It'd be silly if they hadn't. | ||
Coming five years later. | |||
masak | right. | 15:58 | |
15:59
kanishka joined
|
|||
masak | since Wien, I'm rediscovering sour cabbage. turns out I had a big hunger for it that I wasn't aware of. | 16:01 | |
so today I went to the store and bought a big jar of it. | 16:02 | ||
jnthn | Om nom nom kysla kapusta | 16:03 | |
I ate loads of that when I was on vacation in Germany/Austria/Slovenia earlier this year. :) | 16:04 | ||
In Ljubljana I had one night blutwurst with sour cabbage struddel. | |||
masak | om nom nom 酸菜 :) om nom nom kimchi :) | ||
tadzik | ~~ | 16:05 | |
masak | tadzik! \o/ | ||
jnthn | happy smartmatch, tadzik | ||
masak | hope you get ACCEPTed. | ||
tadzik | moritz_++ # p6advent support | ||
jnthn | Well, we removed the possibility to REJECT... | 16:06 | |
masak | felt too negative. | ||
tadzik | I'm also thinking about something targeted for P5ers, but more like "you no longer need getopt, moose, autobox, everything's here, wee!" | ||
masak | those posts are often good, yes. | 16:07 | |
tadzik | so, am I to create a repo for ideas, or one will be created in perl6/? | 16:08 | |
ah, there is it, in mu | 16:09 | ||
I'll create a new dir | |||
16:12
PZt left
16:14
kanishka left
16:24
wamba joined
16:32
colomon joined
|
|||
tadzik | moritz_: SYN | 16:33 | |
moritz_: one of your points is: what is a term, what is an operator? why is the distinction import? I assume you mean "important" | 16:35 | ||
ideas gitpushed to mu | 16:36 | ||
dalek | : 4d192cc | tadzik++ | misc/perl6advent-2010/topic-brainstorming: Added topic-brainstorming for 2010 Advent Calendar |
||
tadzik | bah, review is no longer a clickable link | 16:37 | |
colomon | tadzik++ | 16:40 | |
masak | tadzik: alternatively, "why is the distinction of import?" :) | ||
16:44
jferrero joined
|
|||
jnthn | Because it's not of export? | 16:44 | |
masak | you can't export things from Perl 6, because Perl 6 is all-encompassing. | 16:45 | |
jnthn | I think "of importance" would be the right thing there :) | ||
"of import"...read weird to me. | |||
masak | are you seriously going to question my knowledge of English? :P :P | ||
tadzik | masak: :) | 16:46 | |
jnthn | Probably not, given I'm only a native speaker. :P | ||
masak | I do agree that "of import" sounds... a little bit stiff. | ||
but it's not incorrect. | |||
tadzik | gee, mu is huge! | 16:47 | |
masak | tadzik: it was *the* repo for many years. | ||
jnthn | masak: Aye, it's correct. | ||
masak: I'd just never, ever say it like that. | |||
tadzik | masak: yeah, half of the size is the .git files | 16:48 | |
masak | tadzik: er :) | ||
oh, because of the history. | |||
that's not too bad. | |||
jnthn | If the whole history only takes as much space as the current version, I'd say the history is stored pretty efficienlty. :) | 16:49 | |
masak | there's git's nice design for you. designing things right from scratch is... of import. :) | 16:50 | |
jnthn | :P | ||
masak | you're right, it does sound odd. | ||
16:56
PZt joined
|
|||
colomon | "import" in that sense makes me think of 70s comic book writers. | 17:00 | |
masak | why? | ||
17:01
dnl joined
|
|||
colomon | it's the sort of psuedo-grandiose language they loved to use. | 17:01 | |
dnl | mxF6insen | ||
colomon | the same way the writers a decade before just stuck exclamation points after every single sentence. | ||
nothing at all wrong with it, mind you, it's just not the way people normally talk. | 17:06 | ||
masak | dnl: hi. you might want to switch your client to utf8. seems you have latin-1 right now. | 17:07 | |
dnl | masak: ok, thx | 17:08 | |
17:08
dnl left,
dnl joined
|
|||
masak | dnl: Wir alle benutzen Unicode hier. :) | 17:08 | |
dnl | ja ich eig. auch | 17:09 | |
masak | \o/ | ||
dnl | hope it lööks better now :> | ||
jnthn | Ja, we be nutz about Unicode! | ||
17:09
xabbu42 left
|
|||
masak | dnl: it lööks greät! | 17:09 | |
dnl | hehe, thx | ||
masak | rakudo: say "hi dnl! »ö«" | 17:10 | |
p6eval | rakudo 142d22: OUTPUT«hi dnl! »ö«» | ||
masak | rakudo: sub foo { say "like our" }; &foo.wrap: { say "how do you"; callsame; say "evalbot? :)" }; foo | 17:12 | |
p6eval | rakudo 142d22: OUTPUT«how do youlike ourevalbot? :)» | ||
jnthn | I'd do that with protos and a multi if only we had an nqpnet evalbot here. :) | 17:13 | |
masak | rakudo: class A { method foo { say "ourselves" } }; class B is A { method foo { say "proud of it" } }; class C is B { method foo { say "we're pretty" } }; C.new.*foo | ||
p6eval | rakudo 142d22: OUTPUT«we're prettyproud of itourselves» | ||
masak | rakudo: class A { method foo { say "if this" } }; class B { method foo { say "works?" } }; class C is A is B { method foo { say "hm, wonder" } }; C.new.*foo | 17:15 | |
p6eval | rakudo 142d22: OUTPUT«hm, wonderif thisworks?» | ||
masak | \o/ | ||
jnthn | :) | 17:16 | |
Yeah, it works MRO. | |||
*walks | |||
masak | C3, even. | ||
jnthn | I tried upgrading 6model to use C4 at one point, but it got explodey. | 17:17 | |
masak | *groan* | ||
jnthn | Ooh, thanks to diakopter++'s hacking I suspect it's possible to get the C3 code running on NQP.Net now. :) | ||
17:19
Ross joined,
Ross left,
Ross joined
17:21
Ross left
17:24
xinming left
|
|||
masak | rakudo: class A { method foo { say "A" } }; class B is A { method foo { say "B"; nextsame } }; B.new.foo | 17:33 | |
p6eval | rakudo 142d22: OUTPUT«BA» | ||
masak | rakudo: class A { method foo { say "A" } }; class B is A { method foo { say "B"; nextsame } }; my &x = B.WALK(:name<foo>)[0]; &x.wrap: { say "wrap"; nextsame }; x(B.new) | ||
p6eval | rakudo 142d22: OUTPUT«wrapB» | ||
masak submits rakudobug | |||
at least I suppose it is one. | 17:34 | ||
I love my job. :) | |||
why doesn't the last evaluation print "wrapBA"? | 17:35 | ||
tadzik | did we have wrapping at our last advent calendar? Maybe we could explain Test::Mock btw | 17:36 | |
masak | I think jnthn should do a Test::Mock instalment. | ||
jnthn | Oh yeah, I heard that's a nice module. | ||
masak remembers he has promised to write a review of it | |||
jnthn | :P | ||
tadzik | maybe for advent calendar? | 17:37 | |
masak | if that's deemed the right medium, sure. | ||
jnthn | I'd be happy to write an article on it for the advent calendar. | ||
tadzik | jnthn: care to add yourself to the file? | ||
jnthn | Can take it from various angles I guess. | ||
tadzik: Where is The File? | |||
tadzik | jnthn: mu/misc/perl6advent2010 I think | ||
masak | tadzik++ # Making Stuff Happen | 17:38 | |
tadzik | it's to start on Decembet the first? | ||
colomon | yes | ||
tadzik | advent is 23 days? | 17:39 | |
masak | 24. | ||
jnthn | 24. | ||
tadzik | So eve's included, ok | ||
so 24 topics to choose | |||
masak | rakudo: say [*] 1..4 | ||
p6eval | rakudo 142d22: OUTPUT«24» | ||
tadzik | I think those will have to be chosen and assigned to writers by 20th of November | 17:40 | |
masak | tadzik: it would be *really* helpful to have a file with 24 slots in it. | ||
tadzik | hmm | ||
masak | tadzik: last year we filled in the blanks a couple days before at the latest. | ||
tadzik | ah, ok | 17:41 | |
masak | and on the day in question we made sure that the person was available and ready. | ||
worked out pretty well. we never missed a day, at least. | |||
colomon | I had to go with emergency posts twice. | ||
(I think.) | |||
masak | some people wrote drafts in advance. | ||
tadzik | so maybe let's just create a 24-slot arra^Wfile, and people will volunteer for the days? | ||
colomon | So it pays for at least one or two of us to have stuff done in advance. | ||
masak | tadzik: yes. | 17:42 | |
tadzik | But I think it'd be nice to make a list of a must-have posts from what we have brainstormed | ||
masak | tadzik: maybe put that at the head of such a file? | ||
that way, when people are choosing a slot, they have some inspiration as well. | |||
jnthn: no comments on the wrap-B-A bug above? | 17:43 | ||
tadzik | masak: good idea. But I'd wait few days for the ideas to clarify, and stuff | ||
masak | nod | ||
tadzik | I wonder what can I write about | 17:44 | |
masak | what do you want to write about? | 17:46 | |
tadzik | oh, everything, it's fun :) | ||
I remember promising to extend a grammar chapter in The Book | 17:47 | ||
maybe the module system | |||
dukeleto | tadzik++ # adventy stuff | 17:48 | |
masak | do people remember which articles resonated best with people last year? | ||
jnthn | I think it was mostly the frequency of published material. | 17:49 | |
masak: looking at the wrap one | |||
colomon | good grief, my mandelbrot set post has gotten 40 views this week!? | 17:50 | |
masak | :) | ||
(long tail)++ | |||
jnthn | masak: hmm | ||
masak: I can kinda see why it's happening. | 17:51 | ||
masak: It feels wrong. | |||
masak | what feels wrong? | ||
jnthn | That wrapping it breaks the deferal up the MRO | ||
colomon | #1 Metaoperators | ||
#2 Getting Rakudo | |||
#3 The beauty of formatting | |||
#4 Static Types and Multi Subs | 17:52 | ||
#5 Grammars and Actions | |||
that's all time. | |||
perl6advent.wordpress.com/wp-admin/...;summarize | |||
masak | colomon: looks about right. | ||
colomon | probably have to be logged in to see that. | ||
masak | jnthn: yes -- that's the title of my bug report :) | ||
colomon | (logged into wordpress as a Advent contributor, I mean) | 17:53 | |
jnthn | masak: To make it work, the current candidate list kinda needs to get "collected" or something. | ||
When it gets to the ponit of being fully iterated. | |||
So we fall to the otuer dispatcher's idea of current candidate list. | 17:54 | ||
masak | jnthn: ok. | ||
jnthn | e.g. empty = implicit pop | ||
masak adds all this to the ticket | |||
jnthn | Not sure if we get ourselves into trouble in exciting new ways by doing that though :) | 17:55 | |
masak | conceptually, I don't see any problem. | ||
jnthn | No, I don't have an immediate example of a problem we'd cause or some extra fragility it'd introduce. | ||
Tend to be a little knee-jerky against implicit magic, that's all. :-) | 17:56 | ||
masak | what's magic about it? | 17:57 | |
I think I'm still missing the hard part. | |||
wrapping, to me, is a very "clean" operation. | |||
no much magic about it. | |||
jnthn | masak: Remember that when you wrap something you're adding a new dispatcher. | ||
So now what happens is not .foo => method dispatcher | 17:58 | ||
But .foo => method dispatcher => wrap dispatcher | |||
masak | right. | ||
jnthn | Each dispatcher implies the existence of a candidate list. | ||
masak | the wrapping dispatcher is nested inside the method dispatcher. | ||
jnthn | nextsame and friends look for the candidate list on the top of the stack, essentially. | ||
17:58
simon__ joined
|
|||
jasonmay | could I achieve async IO by writing something lower-level within a perl6 module? | 17:59 | |
jnthn | Right, but that's the issue. The method just becomes the last thing in the candidate list. | ||
jasonmay | like I think parrot has something like poll() ? | ||
masak | jnthn: yes, but 'nextsame' inside the original unwrapped method shouldn't change receiver. | ||
jnthn | What's a receiver? | ||
jasonmay | in rakudo I mean | ||
masak | jnthn: one of the dispatchers. | ||
jnthn | YOu seem to be implying that nextsame is boudn in some way at compile time. | ||
It's not. | |||
It's just a sub call. | |||
masak | jasonmay: I've never seen anyone do that. but maybe there's a way. | ||
jasonmay: you might want to ask the #parrot people over at irc.perl.org | 18:00 | ||
jasonmay | is there a better way? | ||
jnthn | jasonmay: All Rakudo's IO is wrapping around Parrot IO objects really. | ||
masak | jasonmay: async IO isn't really there yet, as far as I know. | ||
jnthn | jasonmay: So if Parrot has bits we're not providing yet, there'll be ways to do it. It's mostly dependent on what Parrot offers so far though. | ||
jasonmay | ok cool | 18:01 | |
thanks | |||
masak | jnthn: I can't put my finger on it. the model you describe doesn't sound right. let me think about this for a day or two. | ||
jnthn | Oh, I think mberends++ and I maybe managed to work out how to call select using Zavolaj once. | ||
masak: I alluded to a lot of this in that dispatch blog post a few weeks ago. | |||
tadzik | . o O ( FakeAsyncIO.pm ) | ||
jnthn | masak: The one that led to the multi-dispatch changes. | 18:02 | |
masak | right. | ||
jnthn | The multi-dispatch changes addressed most of it. | ||
But I still think we may have some lingering more general dispatch issues. | |||
Particularly around dispatcher interaction. | |||
masak | I'm getting increasingly interested in dispatcher interaction. | 18:03 | |
I mentioned it the other day as well. | |||
jnthn | Aye, it's (one of many mnay things) on my mind too. | ||
Anyway, under the current model you'd need the now-empty wrap candidate list's dispatcher frame to vanish or be ignored by the nextsame in the method to resume walking the outer candidate list. | 18:04 | ||
Which is do-able, but just makes me that tiny bit uncomfy. :) | |||
masak just stumbled over perl6training.net/ | 18:05 | ||
jnthn: I think you should mention Rakudo on there, not just Pugs :P | |||
jnthn | sheesh | ||
how old is *that* | |||
masak | 3 years? | ||
jnthn | Given the picture of me on there...not recent. | ||
masak | :) | 18:06 | |
jnthn pushes updating it onto his "things to do" list | |||
Not sure the market for Perl 6 training is quite there yet though. :) | |||
masak | won't be long now. we just need to release Perl 6, and then... oh wait. :/ | 18:07 | |
jnthn | :P | ||
I should update the referenced slides and point to Rakudo, at least. :) | |||
masak++ # reminding me to take care of stuff I forgot I even had :) | |||
masak | strangely, living in a post-"Christmas" climate feels just like living in a pre-"Christmas" climate. anyone else notice that? | ||
except, of course, that Rakudo is awesomer than two years ago. I shouldn't forget that. | 18:08 | ||
Rakudo is in many ways more at this point than Pugs was at its peak. it's just gotten there with less fanfare. | 18:09 | ||
sorear | good * #perl6 | 18:15 | |
tadzik | hello sorear | 18:16 | |
jnthn: I read your 2005 talk about Parrot, it mentions JIT, Threads, why are they no more, what has happened? | |||
masak | greetings, sorear. | ||
sorear | jasonmay: you may find this useful, it's a cooperative thread scheduler in pure Perl 6: www.nntp.perl.org/group/perl.perl6....34249.html | 18:17 | |
masak | tadzik: JIT has always been a problem child in Parrot. as far as I understand, one is still at square 1 with it. threads are there, but so untested as to be virtually not there. | ||
jnthn | tadzik: Nobody wanted to maintain the JIT so it got ripped out instead, under the assumption that it would be replaced soon thereafter. | ||
Guess what didn't happen. | 18:18 | ||
sorear | tadzik: the link change was not intentional. It broke last night when I was busy making dalek work at all again after recent github changes | ||
I'm suprised nobody noticed dalek is working... | |||
tadzik | Parrot folks noticed. I didn't notice it was broken | 18:20 | |
jnthn | noms & | 18:24 | |
cxreg | jnthn: isn't that why they're now doing lorito? | 18:25 | |
colomon | sorear++ | ||
tadzik | cxreg: Lorito has more reasons to be than to enable easier JIT compilation | 18:26 | |
jasonmay | sorear: thanks, I'll take a look in a bit | 18:27 | |
18:27
jhuni joined
18:30
simon__ left,
dalek left
|
|||
sorear | tadzik: the URLs should be fixed now | 18:31 | |
18:31
dalek joined,
ChanServ sets mode: +v dalek
18:36
takadonet left
18:46
hercynium joined
|
|||
tadzik | sorear++ | 18:47 | |
18:59
wamba left
19:00
bluescreen joined
|
|||
diakopter | post-Christmas? really? | 19:00 | |
19:01
bluescreen is now known as Guest22875
|
|||
masak | diakopter: so says the current Perl 5 pumpking, obra. | 19:02 | |
diakopter: according to obra, Christmas was the Rakudo Star release. | |||
diakopter | that's utter bull****. the [para]phrase was "when [a] Perl 6 is released, every day will be like Christmas, [so we can refer to its release date as Christmas]". Until every day is like Christmas [in terms of using Perl 6], Perl 6 hasn't been released. | 19:06 | |
I'm disappointed he said that. | 19:07 | ||
19:07
dalek left
|
|||
masak | the "every day will be Christmas" is not part of the original quote/joke about Christmas, though. | 19:07 | |
diakopter: you want the URL to the talk? | |||
diakopter | what was the original quote/joke | ||
arnsholt | I think it was just "Perl 6 will be released for Christmas" | 19:08 | |
masak | "When will Perl 6 be released? -- By Christmas. [We're just not saying which one.]" | ||
Larry used to say that to interviewers. | |||
19:08
dalek joined,
ChanServ sets mode: +v dalek,
dalek left
|
|||
arnsholt | It was audreyt that made the extension, no? | 19:09 | |
masak | not originally. | ||
she used it a lot in talks, though. | |||
I'm trying to recall the name of the (likely) originator. | |||
I traced it back through the IRC logs once. | |||
arnsholt | Cool | ||
19:10
dalek joined,
ChanServ sets mode: +v dalek,
icwiener joined
|
|||
diakopter | I never said I was referring to the "original" use of "Christmas"... but if obra made that comment about Rakudo Star, that's contrary to what S01 says | 19:10 | |
(now referring to Larry's use of "Christmas") | |||
masak | ok. | 19:11 | |
diakopter | (when "Perl 6" will be released) | ||
6.0.0 | |||
so don't see how we're post-Christmas in any sense | 19:12 | ||
tadzik | It's rather "it has alredy started snowing" | ||
diakopter | (snowing N years before Christmas?) | 19:13 | |
masak | anyway, I'm using Perl 6 every day. and it's at least November :) | ||
tadzik | masak: are you releaseing psyde? | 19:14 | |
masak | tadzik: soon, soon. | ||
tadzik | before christmas? | ||
masak | yes. I give my word. | 19:15 | |
probably early December some time. | |||
(and no, psyde is not the Big Announcement) | |||
ah. it was fglock++ who coined the "every day will be Christmas" variation. | 19:17 | ||
or was it putter++? | 19:18 | ||
dang. | |||
tadzik | rakudo: role something {}; multi trait_auxiliary:<is>(something $trait, $block, $arg) { .WHAT.say for $trait, $block, $arg} # what's wrong? | 19:19 | |
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Null PMC access in get_string()» | ||
masak submits rakudobug | |||
tadzik | right :) | ||
masak | rakudo: sub trait_auxiliary:<a>() {} | 19:22 | |
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Null PMC access in get_string()» | ||
masak | that's what's wrong. | ||
19:22
hercynium left
|
|||
jnthn | huh :S | 19:22 | |
You wanted trait_mod anyway, if you're trying to write a trait, though. But yes, something's wrong there. | 19:23 | ||
masak | something that seems to have evaded the spectests. | ||
19:26
patspam left
|
|||
tadzik | LolDispatch uses trait_auxiliary | 19:27 | |
why would I want trait_mod? | |||
masak | isn't LolDispatch alpha code? | ||
tadzik | dunno | ||
probably. But it contains a funny and easy example for traits, and I wanted to understand those | 19:28 | ||
19:29
au|irc left
|
|||
lue | ohayo | 19:29 | |
masak | lue: \o | 19:30 | |
tadzik: we definitely need more such examples. | |||
tadzik | masak: that was my intention | 19:31 | |
masak | tadzik: why don't you badger jnthn a bit more, and maybe he'll show you a working example. | 19:32 | |
either that, or look in the Rakudo source code. | |||
tadzik | masak: there is a working example in Zavolaj, but LolDispatch was easier to read | ||
rakudo doesn't use mod_auxiliary anyway :/ | 19:33 | ||
jnthn | tadzik: A while back, the various different types of trait handler were unified. | 19:34 | |
Everything is trait_mod now | |||
So the code will need an update for that. | 19:35 | ||
tadzik | ah, that explains a lot | ||
masak | blog post! strangelyconsistent.org/blog/novemb...pragmatism | 19:37 | |
24 days to go. I'm not even breaking a sweat so far. :) | |||
tadzik | gist.github.com/665650 -- out of ideas again :/ | ||
oh wait, that's wrong | 19:38 | ||
fixed a gist | |||
lue | What would the best way be to allow quoting on a commandline? [things like rewrite "say $a;"] I'm hoping there's some tricky regex thing | ||
tadzik | jnthn: how do I use these? :/ | 19:39 | |
masak | lue: I don't understand what you're asking. | ||
lue | I want to force people to use quotation marks for clarity's sake, but I don't need them when I'm processing the info. | 19:40 | |
(in my example above I need just say $a; ] | 19:41 | ||
19:41
namer joined,
Steppenwolf joined
19:43
namer left
|
|||
lue | I wonder, is it still possible to add tasks to GCI, or is that finalized? | 19:44 | |
tadzik | they are still being added I think | ||
but ask #parrot | |||
masak | lue: I don't understand the context of your commandline problem. | 19:45 | |
lue: you probably explained it well, given that one has some piece of extra information that I don't have. | 19:46 | ||
either that, or I need coffee. | |||
lue | Right now, in my fork of Tardis, I have the rewrite command. All I want is to be able to detect some sort of quotation so Tardis doesn't disappear. | 19:48 | |
masak | ok, so the context is your rewrite command. | ||
and you want to detect quote marks. | |||
I'm with you so far. | |||
lue | with input -e "my $a = 3; say $a;" and rewriting the first line of code (tick 1) using rewrite "my $a = 2;" produces this as the program: | 19:50 | |
"\"my \$a = 2;\"; say \$a;" | 19:51 | ||
[ sorry, imagine \ in front of every $ in the input ] | 19:52 | ||
masak | well, the regex /^ \" (.*:) \" $/ will tell you whether the string starts and ends with quotes. | 19:55 | |
and if it matches, you can just replace that string with $0. | |||
lue | all that looks familiar except the colon. | ||
masak | though I must confess that allowing both the quote and non-quote form sounds like the Wrong kind of user-friendliness. | 19:56 | |
lue: the colon is a ratchet, preventing backtracking. it allows the regex to fail faster when it fails. | |||
jnthn | tadzik: May need to be "our" scoped for the moment. | ||
masak | it has the same effect as using 'token' rather than 'regex'. | ||
lue | I know. I think I'll leave it at not-quoting, considering it doesn't do that much harm. | 19:57 | |
(although trying to rewrite anything that uses some sort of quotation (i.e. say "hello";) fails miserably right now) | |||
rakudo: my $a = "Well; hello; there;" say $a.split(';').perl | 19:58 | ||
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Confused at line 22, near "my $a = \"W"» | ||
tadzik | jnthn: what, the role? | ||
masak | lue: missing semicolon. | ||
lue | rakudo: my $a = "Well; hello; there;"; say $a.split(';').perl | ||
p6eval | rakudo 142d22: OUTPUT«("Well", " hello", " there", "")» | ||
lue | rakudo: my $a = "Well; hello; there;"; my @b = $a.split(';').perl; @b[1] = "hi;"; say @b.join(';') | 19:59 | |
p6eval | rakudo 142d22: OUTPUT«("Well", " hello", " there", "");hi;» | ||
masak | lue: .perl makes it into one element. | 20:00 | |
lue | rakudo: my $a = "Well; hello; there;"; my @b = $a.split(';'); @b[1] = "hi;"; say @b.join(';') | ||
p6eval | rakudo 142d22: OUTPUT«Well;hi;; there;» | ||
jnthn | tadzik: No, those are our-scoped by default. | ||
tadzik: the multi | |||
masak | multi subs are our-scoped by default? | 20:01 | |
ah; roles are. | |||
*phew* | |||
tadzik | jnthn: but it is | ||
lue | rakudo: my $a = "hi;"; $a.chop; say $a; | ||
p6eval | rakudo 142d22: OUTPUT«hi;» | ||
lue | .oO(that explains my double-semicolon issue.) |
20:02 | |
tadzik | masak: is 'before' just fancy '<'? | ||
jnthn | tadzik: oh, yes... | ||
masak | tadzik: yeah, it's the general one, not just numeric. | ||
jnthn | Your candidate also shows up in the list. | ||
tadzik | yeah | 20:03 | |
jnthn | rakudo: our multi trait_mod:<is>($block, $arg, :$foo!) { say "ok" }; sub bar() is foo(42) { } | 20:04 | |
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Could not find sub &say» | ||
jnthn | ... | ||
tadzik | that's... cool | ||
jnthn | rakudo: our multi trait_mod:<is>($block, $arg, :$foo!) { "ok".say }; sub bar() is foo(42) { } | ||
p6eval | rakudo 142d22: OUTPUT«ok» | 20:05 | |
jnthn | That way works. | ||
tadzik | hmm | ||
but what with this say? | |||
jnthn | oh, maybe the trait subject comes first... | ||
sorear needs to hurry up | |||
jnthn | It's just the usual outer-and-BEGIN bug. | ||
tadzik | mhm | ||
masak | it's in RT, but probably not in that form. | ||
tadzik | yay, it works | 20:06 | |
jnthn | I think when pmichaud++ and I discussed the set of bugs at YAPC earlier int he year, we concluded that we needed lexpad changes to do it, but doing that implied a bunch of other changes. | ||
Or at least, doing it properly did. | 20:07 | ||
lue | masak: is it known that Yapsi::Compiler can't accept any input with quotation marks in it? Both ' and escaped " fail. | 20:10 | |
masak | lue: Yapsi doesn't have strings yet. | ||
only Ints. | 20:11 | ||
jnthn | Well, that did for BCPL... :-) | 20:12 | |
masak | it just hasn't been a priority. | ||
lue | Hm, it bugs me. [maybe I should go fix it. /me goes to try to fix it] | 20:13 | |
jnthn | Can't believe the official Perl 6 doesn't have strings! | ||
masak | it's a disgrace! | ||
tadzik | jnthn: well volunteered! | ||
sorear | I have strings working in niecza-compiled STD btw | ||
jnthn | Dissapoinstring. | 20:14 | |
lue | jnthn: We ought to stringle you for all those puns... | 20:16 | |
jnthn | Using a rope? :-) | 20:18 | |
20:19
risou joined
|
|||
lue | your murder would be a titlecase for any lawyer :) | 20:19 | |
20:22
dFlamingR joined
20:24
dFlamingR left
20:26
FlamingRed joined
20:31
Steppenwolf left
|
|||
masak | nice post by draegtun++ that I hadn't seen before: transfixedbutnotdead.com/2010/10/31...ng-update/ | 20:32 | |
tadzik | gist.github.com/665696 what am I doing wrong now? :) | ||
sorear | masak: Have you read your blog lately? | ||
masak | sorear: why, is there something wrong with it? | ||
tadzik was so hoping this would work, so he could present a working example | |||
sorear | masak: strangelyconsistent.org/blog/feed.atom | ||
see for yourself | |||
masak looks | |||
ouch. | 20:33 | ||
masak fixes | |||
sorear++: thanks. | |||
20:33
phenny left
20:34
phenny joined
|
|||
sorear | was it related to the shell code in your last blog post? | 20:35 | |
masak | yes. | ||
seems to be a missing quote. | |||
tadzik | jnthn: might taking a look at the gist? You seem to be the one knowing stuff about traits | 20:37 | |
masak | sorear: should work now. | 20:38 | |
lue is currently break— er, fixing yapsi. | 20:41 | ||
tadzik | jnthn: oh, I'm stupid, nevermind | 20:42 | |
masak | someone picked up on my roman-numeral experimentation from a few days ago: perlenespanol.com/foro/numeros-roma...t5499.html | 20:43 | |
20:46
MayDaniel left
20:50
jdd joined
20:53
jdd left
20:54
y3llow_ joined,
pothos_ joined
|
|||
lue | masak: I start to see why strings aren't available yet. | 20:54 | |
20:56
y3llow left,
pothos left,
y3llow_ is now known as y3llow
20:57
pothos_ left,
pothos joined
|
|||
sorear waits for somebody to commit something | 21:02 | ||
masak | lue: no, it's not particularly hard, I don't think. it just hasn't been prioritized so far. | ||
flussence | I'm probably misunderstanding something here, but why doesn't "rule { '/*' ~ '*/' .* }" parse C++-style comments? I couldn't get it to work in my CSS grammar thing. | 21:04 | |
masak | that .* looks a bit too greedy to me. | ||
tadzik | yep. What about /* */ */? | 21:05 | |
masak | that doesn't parse. | ||
sorear | .* in a rule takes everything up to the end of the file and doesn't give anything back | 21:06 | |
flussence | .*? doesn't work for me either, though. | ||
sorear | also, you want to use token, not rule | ||
flussence | oh. I suddenly remember making that mistake last time... | ||
sorear | Try '/*' .*? '*/' | ||
I'm wary of ~ / quantifier parsing interactions | 21:07 | ||
masak | me too. | ||
flussence | yep, that's the one I changed it to and it worked with that, hence the confusion. | ||
masak | I'm skeptical of ~ in general. | ||
it's still slightly slushy, IMO. | |||
sorear | ~ carries a fair performance cost in niecza because it has to set $*GOAL | 21:08 | |
STD.pm6 relies extensively on being able to check what the current goal is | |||
flussence | I think I might avoid using it entirely for the time being, writing test cases is awkward when ~ throws up a fatal error... | 21:10 | |
21:11
kjeldahl joined
|
|||
lue | Funny enough, that's probably the same reason \" .* \" won't DWIM :) | 21:11 | |
21:12
whiteknight left
|
|||
sorear starts hacking on JSYNC::XS for Niecza | 21:12 | ||
21:13
risou_ joined
|
|||
masak | someone should write a "what everyone who would even consider using a quantifier needs to know about greedy quantifiers" blog post. | 21:13 | |
feels like this is a FAQ. | |||
21:14
risou left
|
|||
lue | .oO(I like working on grammars, because I don't deal with regexes often in anything else I do) |
21:14 | |
tadzik | gist.github.com/665696 -- looks like the trait can't set/modify any variables | 21:15 | |
masak | lue: the reason Str hasn't made it into Yapsi yet is that they're not on the the path of things I'm interested in exploring: control flow, exceptions, phasers, etc. | ||
tadzik: looks that way, yes :/ | 21:16 | ||
tadzik | dang. If it won't work before advent calendar, there is no reason to write about traits imho | 21:17 | |
sorear wonders if I should be blogging or anything like that | |||
masak | sorear: yes, please. | 21:18 | |
lue | Yes! I got it to parse :D , but: Unknown instruction: $0 = "hello" (I've already got an idea on the answer) | ||
masak: It's fine, I'm working on it for you :) | |||
masak | lue: that means you've made it into the runtime. but the runtime also only knows about integers. | 21:19 | |
it doesn't know what to do when it sees an instruction assigning a string to a register. | |||
lue | Well, I found the resting place of the error, so I know the general area. | 21:22 | |
lue wonders if using Tardis on Yapsi is a good idea... | 21:24 | ||
masak | unfortunately, Yapsi can not parse itself yet. | 21:28 | |
for example, the Yapsi source code contains strings, and Yapsi doesn't handle strings. but that's just the beginning of it. | |||
it'd be really cool to have it self-host. some ways to go to get there, though. | |||
lue | It looks like there would have to be a string version for everything (lib/Yapsi.pm:523 about). | 21:30 | |
21:30
jhuni left
|
|||
masak | depends how the runtime chooses to handle strings. | 21:31 | |
21:32
myname_ joined
|
|||
masak | rakudo: sub tall { $^guy ~~ /tall/ }; sub dark { $^guy ~~ /d }; sub handsome { $^guy ~~ /handsome/ }; my &ideal := &tall & &dark & &handsome; my $date = "tall, dark and handsome"; if ideal($date) { say "swoon!" } # from E06 | 21:34 | |
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | ||
masak | hm. worked locally. | 21:35 | |
rakudo: sub tall { $^guy ~~ /tall/ }; sub dark { $^guy ~~ /dark/ }; sub handsome { $^guy ~~ /handsome/ }; my &ideal := &tall & &dark & &handsome; my $date = "tall, dark and handsome"; if ideal($date) { say "swoon!" } # from E06 | |||
p6eval | rakudo 142d22: OUTPUT«swoon!» | ||
masak | there we go. | ||
that's... awesome. | |||
lue | I'm probably breaking Yapsi with every edit, but its fun :) | 21:36 | |
masak | lue: are you running the tests? | ||
lue | $ bin/yapsi -e 'my $a = "hello"; say $a;' | 21:37 | |
"hello" | |||
(initiate Kirby Dance) | |||
_Now_ I'll run the tests. | 21:38 | ||
21:38
mavrc left
|
|||
masak | lue++ | 21:38 | |
lue | ...how do I run the tests? (make test fails because this server's copy of prove doesn't have -e) | 21:39 | |
tadzik | with mbuild! :) | ||
(unless it uses prove too :F) | 21:40 | ||
(it does) | |||
21:40
risou_ left
|
|||
tadzik thinks about how trans could be sped up | 21:41 | ||
masak | lue: I suggest you update Test::Harness from CPAN. | ||
tadzik | masak: how bad does it sound to make trans run regex substitutions for every pair of array elements? | 21:42 | |
masak | tadzik: it doesn't work, for reasons explained in today's post. | ||
tadzik | hmm, must've missed that | ||
masak | the nice thing about .trans is that it doesn't double-substitute. | ||
regexes would. | |||
21:43
rindolf joined
|
|||
rindolf | Hi all. | 21:43 | |
masak | rindolf! \o/ | ||
tadzik | ah, I see | ||
hey rindolf | |||
rindolf | Hi masak , tadzik | ||
tadzik: your nick reminds me of the Hebrew letter/word Tzadiq. | |||
masak | rakudo: say "Hello rindolf, the IRC user formerly known as another Perl 5 successor." | 21:44 | |
rindolf | Tzadiq means "righteous" in Hebrew. | ||
p6eval | rakudo 142d22: OUTPUT«Hello rindolf, the IRC user formerly known as another Perl 5 successor.» | ||
tadzik | rindolf: nice. I think the original name, Tadeusz, is also Herbew. IIRC | ||
ah, it's aramic | |||
(aramaic) | |||
rindolf | tadzik: ah. | 21:45 | |
21:45
jhuni joined
|
|||
masak | jhuni: aloha! | 21:45 | |
aloha: jhuni! | |||
rindolf | masak, tadzik : what's up? | ||
tadzik | rindolf: oh cool. I was having fun with traits, but they're sadly to broken to be fun atm :( | 21:46 | |
masak | rindolf: it's *not* Christmas yet. but we're pretty productive, and things are looking good. | ||
rindolf | masak: cool. | ||
tadzik | rindolf: gist.github.com/665696 | ||
lue | how do I get cpan working on a machine I don't have root priveleges on? | 21:47 | |
tadzik | use local::lib | ||
masak | lue: you can also run the test files directly: `perl6 t/compiler.t ; perl6 t/runtime.t` | 21:48 | |
lue: but then you probably need to set PERL6LIB explicitly. | |||
PERL6LIB=`pwd`/lib | |||
sorear | curl -L cpanmin.us | perl - -i App::cpanminus | ||
rindolf | Hmmm... I may need to package the new Rakudo for Mandriva Cooker. | 21:49 | |
Or should I wait for the next one? | |||
sorear | it'll spit out a big chunk of warnings saying it's auto,matically doing soemthing with local::lib | ||
tadzik | Star is not old yet | ||
lue | I think I got it. | ||
tadzik | btw, any C++ers around? | ||
sorear | yes | 21:50 | |
unfortunately | |||
rindolf | tadzik: I know some C++. | ||
tadzik: not a lot. | |||
tadzik: I know C better. | |||
tadzik | I have a Uni project in C++ to write, so I prototyped it in Perl 6 and now I need to translate it :) | ||
flussence | I don't know C++, but I can pretend to if needed! | ||
tadzik | rindolf: same here. I try to avoid C++ if I can | ||
sorear | I know quite a lot of C++ | 21:51 | |
lue | perl6 t/* seems to work just fine. | 21:52 | |
tadzik | pastie.org/1277857 -- here. It is supposed to be an app encrypting its input, having different algorithms, easily addable. That's what I thought about, and I'm not sure how to express myself in C++ | ||
sorear | use inheritence | 21:53 | |
tadzik | first thing that discouraged me was that I can't easily use :: in class names in C++, they're operators | ||
well, I do. So the role would turn into a class with virtual methods, yes? | |||
sorear | the :: in Perl6 class names actually came from C++ | ||
masak | rakudo: sub foo($x) { say $x }; my &x = &foo.assuming("assumed!"); &foo.wrap({ say "wrapped!"; nextsame }); x | ||
p6eval | rakudo 142d22: OUTPUT«wrapped!assumed!» | ||
masak | wow. | ||
sorear | but you need to use package Foo { class Bar { } } | ||
not class Foo::Bar | 21:54 | ||
*usage* syntax is the same | |||
tadzik | I see | ||
so I'd be doing namespace Foo { class Bar {} } in C++? | |||
sorear | yes | ||
21:55
mavrc joined
|
|||
tadzik | hmm, I'll do some trials | 21:55 | |
oh, I made it compile. Yet I'm not sure it makes sense | 21:57 | ||
lue | masak: tests 29..46 of compiler.t fail, every other test in t/ is fine. Is that expected? | ||
masak | lue: no, 100% tests pass is expected. | 21:58 | |
masak runs the Yapsi tests | |||
21:59
REPLeffect left
22:00
REPLeffect joined
|
|||
tadzik | pastie.org/1277872 -- am I doing this right? Sorry for polluting the channel with C++, but only Perl 6 people will understand what was I going to do :) | 22:00 | |
22:00
MayDaniel joined
|
|||
masak | lue: all tests pass here. | 22:02 | |
22:02
myname_ left
|
|||
sorear | tadzik: virtual ... const = 0; | 22:04 | |
if you don't put in the = 0 C++ will assume there's a definition somewhere, and you might get link errors | |||
lue | .oO(I'm going to spend a while finding the error, aren't I?) |
||
22:05
Chillance joined
|
|||
tadzik | sorear: tanks. The rest is fine? | 22:05 | |
sorear | (Bjarne Stroustrop thinks NULL is spelled 0 and publically hates the macro.) | ||
yes | |||
tadzik | s/tanks/thanks/ | ||
well, the guy who I give projects to said to use 0L instead of NULL, because it's a macro and blah blah | 22:06 | ||
masak | lue: I don't know. but if you do find it, make all the tests pass, and add at least one new test for your new functionality for good measure, you might want to consider sending me the patch. :) | ||
22:06
REPLeffect left
|
|||
lue | I only changed two things, so it shouldn't be that hard to find the issue. | 22:09 | |
22:09
M_o_C joined,
M_o_C left,
M_o_C joined
|
|||
masak | dev.perl.org/perl6/doc/design/exe/E06.html contains some of the most fearless Perl 6 macro usage I've seen so far. I know the text is old, but it's both refreshing and scary at the same time to see them used like that. something within me screams "that will NEVER work!" | 22:12 | |
(I don't mean that macros won't ever get implemented. I mean that E06 assumes that it's easier and less of a hassle that it'll turn out to be) | |||
tadzik | return (\@sheep, \@goats); -- that looks Perl5ish | 22:13 | |
masak | well, it's legal Perl 6. | ||
but yes, Perl 6 was a lot closer to Perl 5 at that time. perhaps not too surprising. | |||
masonkramer | rakudo: sub bag ( *@items --> Bag ) is export { } | ||
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
masak | masonkramer: I'd guess --> isn't implemented yet. | 22:14 | |
rakudo: sub foo( --> Int ) {} | |||
tadzik | that int should've been Int, no? | ||
p6eval | rakudo 142d22: ( no output ) | ||
masak | masonkramer: ah. Bag isn't implemented yet. | 22:15 | |
tadzik | rakudo: Int foo() { "bar" } | ||
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Confused at line 22, near "Int foo() "» | ||
tadzik | rakudo: Int sub foo() { "bar" } | ||
p6eval | rakudo 142d22: OUTPUT«===SORRY!===Confused at line 22, near "Int sub fo"» | ||
masonkramer | Oh, right. | ||
tadzik | no C-style available? | ||
masonkramer | Yeah, I'm trying to implement Bag right now | ||
jnthn | tadzik: not without a scope deccy | ||
masonkramer | but that line isn't working for me either | ||
tadzik | jnthn: hm? | ||
jnthn | rakudo: my Int sub foo() { "bar" } | ||
p6eval | rakudo 142d22: ( no output ) | ||
tadzik | cool | ||
masak | tadzik: what jnthn said. you have to "forewarn" Perl 6 that something declaratory is coming. | 22:16 | |
tadzik | cooler if sub could be ommited :> | ||
jnthn | It's forbidden (TTIAR) without it though. | ||
tadzik | ah, I see | ||
masak | jnthn: ah yes. that's why. | ||
jnthn | "BEWARE! Upcoming declaration!" | ||
masak | or rather, the forewarning is necessary due to TTIAR. | 22:17 | |
lue | TTIAR? | ||
tadzik | Two Terms In A Row | ||
dalek | ecza: 45f6aeb | sorear++ | lib/JSON/JSDOM.cs: Add a DOM for the JSON/JSYNC/YAML interface |
22:19 | |
lue | .oO(dang it, even commenting out everything I added, those failing tests still fail) |
||
22:19
REPLeffect joined
|
|||
tadzik | yay, paths work | 22:20 | |
masak | lue: wnat about running the tests on a clean checkout? | ||
lue | would I lose all 2 lines I added? (I can add them in again, not that difficult) | 22:21 | |
masak | not if you do a new checkout somewhere else. | 22:22 | |
tadzik | or git stash your changes | ||
masak | either that, or 'git stash' your what tadzik said :) | ||
22:23
icwiener left
|
|||
masonkramer | how can I declare my implementation of postfix<{}> for objects that do Associative? | 22:23 | |
jnthn | method postcircumfix:<{ }>($key) { ... } | 22:24 | |
lue | too late :) [if it were more than 2 little things (kindly indicated to me by git diff beforehand) I would've stashed] | ||
masonkramer | thanks | ||
lue | still won't compile 29..46 of compiler.t with clean checkout of lib/Yapsi.pm hm :/ | 22:27 | |
masak | lue: and you don't have any old .pir files littering about? | ||
lue | (I just realized I probably need to update Rakudo) | ||
masak | no, I don't think so. | 22:28 | |
unless it predates Rakudo Star. | |||
22:28
masonkramer_ joined,
masonkramer left
|
|||
lue | I think it does. In any case, good idea to update! | 22:28 | |
22:28
masonkramer_ is now known as masonkramer
|
|||
masak calls it an early night | 22:31 | ||
see you tomorrow, #perl6. | |||
22:31
masak left
|
|||
masonkramer | goodnight | 22:31 | |
22:40
patspam joined
22:50
mberends joined,
starcoder left
22:51
REPLeffect left
22:53
M_o_C left
|
|||
dalek | odel: 28e9882 | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm: [dotnet] Fix a little bug in PAST2DNST when compiling some package variable binds. |
22:55 | |
odel: 3682233 | jnthn++ | dotnet/compiler/ (2 files): [dotnet] Twiddle JnthnNQP a bit to make packages live in the package by default, but also allow my to be used to say it's a lexical package. |
|||
odel: 2348cc1 | jnthn++ | common/NQP/NQPSetting.pm: [common] Mark the various packages in the setting as lexical ones. |
|||
22:55
starcoder joined
23:03
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
23:05
pmurias left
23:06
REPLeffect joined
|
|||
masonkramer | can I set a default value for hashes? | 23:17 | |
tadzik | what do you mean? | ||
masonkramer | the value to which a hash value autovivs | 23:18 | |
tadzik | hmm, you'll have to setup your subset of Hash I think | ||
23:22
rindolf left
23:24
meppl left
23:26
mavrc left,
MayDaniel left
23:27
dalek left
23:28
dalek joined,
ChanServ sets mode: +v dalek
23:35
_kaare left,
Axius joined
23:36
dalek left
23:39
dalek joined,
ChanServ sets mode: +v dalek
23:40
FlamingRed left
23:44
REPLeffect left
23:48
REPLeffect joined
|
|||
dalek | odel: de688fe | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm: [dotnet] Fix code-gen bug that caused problems with && and || and probably other things that cared about what a failed if/unless evaluated to. |
23:59 | |
odel: f7efbd5 | jnthn++ | t/nqp/25-class.t: [t] We now pass 25-class.t. |