»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
sorear | what is the full spec rule? | 00:00 | |
00:03
Schwern joined
|
|||
TimToady | S05:2913 | 00:04 | |
sorear | and now, I've managed to make STD.pmc not store the RHS of = *at all* | 00:07 | |
TimToady | /o\ | 00:09 | |
00:09
Schwern left
|
|||
sorear | hmm, actually, gimme5 *does* implement {'binding'} = [] | 00:09 | |
but only if you actually put the binding inside the quantifier | |||
[ <foo> ]? | |||
er | |||
[ $<foo> = a ]? | |||
TimToady | ah | ||
I'd say that's a buglet | 00:10 | ||
is it worth fixing in gimme5? | |||
sjohnson | buglets are cuter than regular bugs | 00:12 | |
sorear | TimToady: I'd say not | 00:13 | |
TimToady | buglet: wall.org/~larry/cameliafav.ico | 00:15 | |
sjohnson | that's cuet | 00:16 | |
sorear | xli-- "cameliafav.ico is a 576x720 MacPaint image" | 00:17 | |
00:17
azert0x left
|
|||
TimToady | 32x32: wall.org/~larry/camelia32.ico | 00:18 | |
those might not be the most recent ones though | 00:19 | ||
they look like some of the earlier prototypes that didn't do transparency right | |||
sjohnson | TimToady: did you draw that in The Gimp? | 00:21 | |
TimToady | nod | ||
sjohnson | TimToady: you can get a decent sized 64x64 png or something with transparancies, and upload it to one of those online png -> .ico converters | 00:22 | |
and then they alloledge all the new resolution settings that windows has brought to the table, ater the 766 byte win3.1 icon days | |||
TimToady | the better version of 16x16: wall.org/~larry/camelia16.ico | 00:24 | |
(and the one from pugs repo) | |||
sjohnson | the 16x16 ones look cuter because the eyes look like pixel diamonds | ||
TimToady | the 32x32 is the same | ||
yes, well, it's hard to get all the features in without a bit of distortion | |||
sjohnson | TimToady: members.shaw.ca/smujohnson/img/4cha...llface.png | 00:25 | |
TimToady: the distortion makes it cute though, so it worked out well. | |||
00:26
kensanata left
|
|||
sorear | TimToady: what is the point of _PAREN? | 00:30 | |
and why does it differ so much from _BRACKET? | |||
TimToady | it knows that it is going to be _SUBSUMED, so it doesn't have to worry about preserving the original Cursory type | 00:31 | |
sorear | why does it exist at all? | 00:32 | |
00:32
justatheory left
|
|||
sorear | instead of just clling the inner stuff directly? | 00:32 | |
TimToady | um, logging entry and exit? yes, it's pretty useless other than that | ||
sorear | ah | 00:33 | |
00:33
masonkramer joined
|
|||
TimToady | but optimizing it won't get you much in STD itself, since parens are pretty rare | 00:34 | |
pugssvn | r31037 | sorear++ | [viv] Hack - emulate gimme5's binding-to-quantified-atoms bug | ||
TimToady | for a long time it parens didn't even work in STD | ||
sorear | why does STD 5031 use parens at all? | ||
why not brackets? | 00:35 | ||
TimToady | it might have originally been a $0, and got rebound when I discovered $0 didn't work, or decided it needed a better name in the parse tree :) | ||
just guessing | 00:36 | ||
sorear | ah | ||
TimToady | actually, we could probably optimize away the BRACKET if it's going to be SUBSUMEd | 00:37 | |
ants & | 00:38 | ||
sjohnson | bust out the raid | ||
TimToady | did | 00:41 | |
fortunately, window ants, so could spray outside | |||
since SUBSUME calls cursor_bind which reblesses into the parent, which dups what BRACKET does | 00:42 | ||
sorear | stage3 STD.pmc is now only 1500 lines different from stage2 | 00:43 | |
with 19 errors | 00:44 | ||
since stage2 now handles asserion:var correctly | 00:45 | ||
00:45
masonkramer left
|
|||
TimToady | convergence is good | 00:46 | |
sorear | the next order of business: backslash escapes in strings | ||
TimToady | that's always kinda fiddly | 00:47 | |
sounds like we'll be translating Cursor back to P6 pretty soon :) | 00:48 | ||
sorear | "back"? | ||
TimToady | the original Cursor ran under pugs | ||
sorear | I see. | ||
TimToady | but it was just too flakey | ||
sorear | Too slow? | ||
ah | |||
TimToady | pretty slow too | ||
but it would randomly crash 50% of the time | 00:49 | ||
I'm sure it would be much more solid under newer Haskells | |||
sorear | well... I don't think /all/ of the stuff in Cursor can be mapped to Perl6 | ||
TimToady | unless the problem was in the pugscode itself | ||
well, we can piecemeal it | 00:50 | ||
sorear | what I was going to do was to split off Cursor.pm6 from CursorBase.pmc | ||
TimToady | especially if I ever finish STD_P5 well enough to parse 'use v5;' blocks :) | ||
sorear | Cursor.pm6 starts empty and sucks code in from CursorBase and STD | ||
TimToady | that's what I mean by piecemeal it | ||
sorear | e.g. EXPR, panic, lineof | ||
sjohnson | the ants wanted to look at camelia | 00:51 | |
TimToady | is a perfectly valid way to develop it | ||
00:51
Util left
|
|||
sorear | as a fringe benefit, it will become possible to use viv with other grammars but STD | 00:51 | |
TimToady | you can use other grammers under gimme5, but you usually have to work at it :) | ||
sorear | yeah, but you have to name them STD and include FAILGOAL and lineof methods | 00:52 | |
possibly others | |||
TimToady | you only need FAILGOAL and lineof if you fail :) | ||
00:52
masonkramer joined
|
|||
TimToady | but yeah | 00:53 | |
sjohnson: looking at pretty girls through windows is generally considered a bit antisocial | 00:54 | ||
00:54
colomon joined
|
|||
sjohnson | they've probably had more luck with girls than i have had | 00:54 | |
at least aunts have gone in people's pants before | |||
ants* | 00:55 | ||
jnthn | Oh gosh, 3am. | 00:56 | |
On the upside, I now has travel tickets and places to stay for the Perl workshops next month. \o/ | |||
sjohnson | once rakudo is a bit more ready for production value, i'll be the first to program a female AI to talk to. how sad is that | ||
TimToady | jnthn++ # dealing with "Real Life" | 00:57 | |
jnthn | :-) | ||
sorear | sjohnson: you've been beaten to the punch by about 50 years | ||
TimToady | Why do you say that once rakudo is a bit more ready for production value, you'll be the first to program a female AI to talk to. how sad is that | ||
jnthn | TimToady: Happily, one of the conferences even has a river trip as a part of it. :-) | 00:58 | |
TimToady | How does this make you feel? | ||
jnthn | I have this sinking feeling... | ||
TimToady | Why do you say that you have this sinking feeling...? | 00:59 | |
sjohnson | well, i was actually seriously considering doing a regular chat bot to prank some friends on ir | ||
irc | |||
but it might take too long... and i think it's also been done before | |||
would be kinda fun though | |||
TimToady | /invite elizabot | 01:00 | |
sjohnson | TimToady: reason i said it, is because most girls i meet don't really care about computer stuff :( | ||
TimToady | Is this something about your father? | ||
TimToady wishes he could remember more of eliza's snappy comebacks... | 01:01 | ||
jnthn | .oO( freudbot ) |
||
araujo | sjohnson, that doesn't happen only to you hehehe | ||
sjohnson | well my dad did show my brother and i how to program in basic on an apple //e back when we were really young, maybe it does have something to do with it | ||
sjohnson is 28 years old now | 01:02 | ||
TimToady | Does this bother you? | ||
sjohnson | heh, this reminds me of Dr. Sbaitso | ||
TimToady | I suppose I could switch to Perry... | 01:03 | |
araujo | sjohnson, you depressed because you don't find gf? | ||
sjohnson | can haz gf with perl knowledge | ||
TimToady | it's the voices again... | ||
01:04
colomon left
|
|||
sorear | does anyone here remember lambdabot's "eliza" module? | 01:04 | |
(else) | |||
sjohnson | araujo: i think it is just desire bothering me, not so much a lack of a gf... | 01:05 | |
araujo | sjohnson, got my first gf after 27 years (been with her for 4 months) .. I really wanted to get one very badly back in the days ... to be honest with you ... now I see i wasn't missing much ... women are too hard for me to understand | 01:06 | |
if you say A, they say B,if you say B, they say A, if you say A & B, they say C | |||
.... | |||
sjohnson | perl6 can address those issues | 01:07 | |
sorear | diff -y is my new favorite command | ||
jnthn never quite managed to convince a girl to be his gf yet, but experiences gained through failure so far suggest...writing a Perl 6 compiler is easier. :-) | |||
sjohnson | araujo: thanks for the help. i should remember this. my cousin said that all his desires of girls have led to misery, whether or not he "succeeded" with them | 01:08 | |
jnthn guesses the debugging tools are just more advanced. :-) | |||
araujo | writing a Perl 6 compiler is kinder garden homework compared with closely understanding a girl | ||
sorear is 19 and in no hurry. | |||
araujo | sjohnson, my recommendation is .. go and try .. that is what life is all about, I just tell you my personal experience ... | 01:09 | |
01:10
pausenclown left
|
|||
[Coke] | crazy kids need to get off my lawn is what. | 01:11 | |
sjohnson | ahh, i kinda tried and failed many times, but my brain is too stupid to stop desiring. | 01:12 | |
TimToady | one can never fail to truly love someone, whether or not they love you back | 01:13 | |
01:14
pausenclown joined
|
|||
TimToady | you can never fail at wanting what is best for another person | 01:15 | |
and one cannot acquire a true girlfriend without understanding the "friend" part | 01:16 | ||
araujo | love is good ..... now, if we talk about relationships ... | ||
sjohnson | pretty much all my desires have been selfish now that you mention it | 01:17 | |
... oopsies | |||
[Coke] wonders if his 21 year relationship is on the high side for this discussion. kids. :P | |||
01:17
rgrau left
|
|||
sjohnson | [Coke]: i was just gonna ask about kids actually | 01:17 | |
TimToady is sitting next to his youngest kid, who is 21 :) | 01:18 | ||
kids change your life even more than a spouse, because you get to pick your spouse | |||
but with kids, you just get what you get | |||
sjohnson | sounds like a good surprise with kids | ||
TimToady | not always :) | 01:19 | |
araujo | I am sure kids would say the same at some point about parents :P | ||
TimToady | but they're good practice on that 'unconditional love' thing | ||
sjohnson | i kinda wish my dad watched anime with me | ||
araujo | well, you can love without a spouse or kids in this world | ||
sjohnson | an "anime dad" is hard to find | ||
araujo | hehehe | ||
TimToady | I kinda wish my dad was still alive | 01:20 | |
I periodically dream that he is, and it was all a big mistake :) | |||
araujo | we all will face that in life :( | ||
sjohnson | natural causes? | ||
TimToady | otoh, he'd be 90 now... | 01:21 | |
well, if congestive heart failure plus metastisized prostate cancer is "natural"... :) | |||
he made it to 66 | |||
01:22
masonkramer_ joined
|
|||
TimToady | my mom will be 86 this year though | 01:22 | |
so there's some hope on that side | |||
[Coke] | TimToady: mine only to 45. | ||
araujo | going beyond 70 is already hard enough for this generation | ||
TimToady | she's still pretty sharp too | ||
01:22
colomon joined
|
|||
sjohnson | i watch tv shows as often as i can with my dad, as i worry that he could go at any moment, and he's got a rare dry wit. *sniff* | 01:23 | |
TimToady | ah well, I try to stay young at heart, at least in some of the good ways | ||
colomon | is there a log for #phasers? | ||
jnthn | colomon: aye but not much happened. | ||
colomon | 'k | 01:24 | |
jnthn | I didn't even make any awful puns. | ||
TimToady | colomon: it's even mentioned in the /topic | ||
nice to have a /topic now :) | |||
jnthn | "IR clogs.." :-D | ||
colomon | TimToady++ # was no topic there last time I remember looking. | ||
sjohnson | @karma | ||
(´ー` ) | 01:25 | ||
TimToady | lambdabot was functionally exiled | ||
jnthn realizes that he could find a pair of clogs and tell people they were infrared, but since you can't see that spectrum nobody would be able to tell they weren't. :-) | |||
TimToady | well, almost everything is infrared already | ||
sjohnson | TimToady, are you much of git guy? | 01:26 | |
TimToady | not really | 01:31 | |
01:32
whiteknight left
01:33
atomicstack joined
|
|||
sjohnson | its kinda making my life easy at work, but there's a ton i have yet to learn about it | 01:36 | |
sorear | the great thing about git is how little there is to learn about it | 01:37 | |
git - the stupid content tracker | 01:38 | ||
araujo | hehehe | 01:39 | |
sjohnson | for me it's the content tracker that makes one feel stupid | 01:43 | |
if there is one thing i dont understand, it's what "git potty" means. it's in the man page. but googling only brings up the man page | 01:46 | ||
maybe sorear knows | |||
sjohnson crosses fingers | |||
whatever it is, it sounds cute | |||
araujo | a perl 6 CVS , that is what we need | 01:50 | |
[Coke] | no it isn't. | ||
araujo | Yet Another CVS | 01:59 | |
02:00
[mark] joined
|
|||
jnthn | Ho hum. Maybe I should try sleep. | 02:00 | |
sorear | git: 'potty' is not a git-command. See 'git --help'. | 02:04 | |
snarkyboojum | the 'potty' is a term they use to refer to the 'porcelain' or wrapper git commands which lead to the 'plumbing', i.e the core git programs | 02:07 | |
02:10
Chillance left
02:14
snarkyboojum left,
agentzh joined
02:15
bluescreen joined,
bluescreen is now known as Guest97772
02:16
Guest97772 left,
Guest97772 joined
02:17
Guest97772 is now known as mariano
02:29
Guest35747 left
02:30
snarkyboojum joined
02:44
colomon left
02:48
plobsing joined
02:52
skids left
02:53
skids joined
02:55
justatheory joined
03:01
sorear left
03:03
sorear joined
03:06
meppl left
|
|||
snarkyboojum | is there currently any Rakudo LHF for the month? :) | 03:07 | |
the advent calendar test suite is pretty much complete - looking for something else to chew on :) | |||
I know.. "if you have to ask"... :) | 03:10 | ||
03:39
gfx joined
|
|||
TimToady | <sorear> TimToady: How does ./std precompile modules? Looking at it it seems to just be a thin wrapper over STD->parsefile | 03:47 | |
look at Cursor's you_were_here function | |||
03:50
TiMBuS joined
|
|||
sjohnson | snarkyboojum: thank you | 03:52 | |
03:53
snarkyboojum left,
mariano left,
saaki joined
04:01
snarkyboojum joined
04:03
skids left
04:06
molaf joined,
patspam left
|
|||
TimToady | eternaleye: your when's won't work because, in the absense of a declarator, binding to :() doesn't declare any variables | 04:14 | |
you want something more like: | |||
rakudo: given a => 3 { when * -> Pair ( Str $key, $value ) { say $key } } | 04:15 | ||
p6eval | rakudo 18d996: OUTPUT«Nominal type check failed for parameter ''; expected Pair but got Bool instead in main program body at line 11:/tmp/ugNYBju6pg» | ||
TimToady | see S03:3472 | 04:16 | |
04:16
eternaleye left
|
|||
TimToady | and S03:3581 | 04:17 | |
04:23
Wolfman2000 left
|
|||
snarkyboojum | rakudo: 2 <<+<< 1,2,3 | 04:27 | |
p6eval | rakudo 18d996: ( no output ) | ||
snarkyboojum | rakudo: 1,2,3 >>+>> 2 | ||
p6eval | rakudo 18d996: ( no output ) | ||
snarkyboojum | rakudo: say 2 <<+<< 1,2,3 | ||
p6eval | rakudo 18d996: OUTPUT«323» | ||
snarkyboojum | rakudo: say 2 <<+<< (1,2,3) | 04:28 | |
p6eval | rakudo 18d996: OUTPUT«345» | ||
snarkyboojum | rakudo: say 2 <<**<< (1,2,3) | ||
p6eval | rakudo 18d996: OUTPUT«248» | ||
04:28
eternaleye joined
|
|||
TimToady | hyperops aren't list infixes | 04:30 | |
eternaleye: see irclog.perlgeek.de/perl6/2010-06-02#i_2392634 | 04:31 | ||
snarkyboojum | aren't list infixes? | ||
TimToady | no, so they only take a "scalar" argument on either side, which is typically an array | 04:32 | |
which is why you got the results above | 04:33 | ||
whereas things like Z and X are designed to work on lazy lists | |||
so take a list on either side | |||
rakudo: say 2 X+ 1,2,3 | 04:34 | ||
p6eval | rakudo 18d996: OUTPUT«345» | ||
TimToady | note, no parens needed | ||
snarkyboojum | right, but << will "extend" the "list" in the right? | ||
or is that unspecced | |||
TimToady | since hypers are run-to-completion, they're more for singular objects that happens to be complex inside | ||
*happen | |||
snarkyboojum | not sure what run-to-completion mean | 04:35 | |
means | |||
TimToady | spec says deficient dimensions will be extended, not deficient lists | ||
snarkyboojum | ah ok | ||
TimToady | so 2 can change to (2,2,2,2,2,2) | ||
but (2,2,2,2) can't change to (2,2,2,2,2,2,2) | |||
snarkyboojum | yeah | ||
ok | |||
thanks :) | 04:36 | ||
TimToady | arguably, if we did something like that, (1,2,3,4) should extend to (1,2,3,4,1,2,3,4,1,2,3,4) rather than (1,2,3,4,4,4,4,4,4,4,4) | ||
snarkyboojum | sure | 04:37 | |
TimToady | but since there are already ways to express either of those in terms of (1,2,3,4,*) or (1,2,3,4) xx *, it's not terribly important | ||
eternaleye | TimToady: Note that I only used $_ in the givens, not the vars in the signatures - :key($) would be clearer as I'm only using them for the name of the appropriate chunk of the pair | 04:38 | |
w/givens/whens/ | |||
snarkyboojum | the temptation is there to create mamoth perl one liners with chaining hypers etc | 04:39 | |
mammoth | |||
TimToady | eternaleye: I was explaining your first result at irclog.perlgeek.de/perl6/2010-06-01#i_2389173 | 04:40 | |
std: given a => 3 { when :( Pair ( Str $key, $value ) ) { say $key } } | |||
eternaleye | TimToady: Oh, that was just a trying something I wasn't actually using, but I wanted to know what happened | ||
p6eval | std 31037: OUTPUT«===SORRY!===Variable $key is not predeclared at /tmp/XcJtA61In5 line 1:------> ( Pair ( Str $key, $value ) ) { say $key⏏ } }Check failedFAILED 00:01 117m» | ||
TimToady | which std agrees with | ||
eternaleye | s/a/me/ | ||
TimToady | whereas: | 04:41 | |
std: given a => 3 { when * -> Pair ( Str $key, $value ) { say $key } } | |||
p6eval | std 31037: OUTPUT«ok 00:01 114m» | ||
eternaleye | I was trying to make moritz_' example work, but I forgot to change that | ||
TimToady | that does declare $key over the block | ||
but I don't think rakudo implements the * binding yet | 04:42 | ||
sorear | * <pointy> is legal? | ||
what production? | |||
oh, (when) (*) (pointy) | 04:43 | ||
how does * differ from True? | |||
TimToady | xblock calls pblock, which is either with or without -> | ||
it's less misleading :) | 04:44 | ||
and doesn't get you a warning | |||
std: given a => 3 { when True -> Pair ( Str $key, $value ) { say $key } } | |||
p6eval | std 31037: OUTPUT«Potential difficulties: Smartmatch against True always matches; if you mean to test the topic for truthiness, please use :so or *.so or ?* instead at /tmp/Wr91YRO81B line 1:------> given a => 3 { when True⏏ -> Pair ( Str $key, $value ) { say $keyok 00:01 | ||
..… | |||
TimToady | std: given a => 3 { default -> Pair ( Str $key, $value ) { say $key } } | 04:45 | |
p6eval | std 31037: OUTPUT«===SORRY!===Missing block at /tmp/ohN3NdRwKY line 1:------> given a => 3 { default ⏏-> Pair ( Str $key, $value ) { say $key Parse failedFAILED 00:01 111m» | 04:46 | |
TimToady | heh | ||
I guess default isn't quite the same as 'when *' | |||
sorear | TimToady: if you have a "local" deep inside a P5 expression, how does the local scope? | ||
TimToady | to the surrounding curlies, same as lexicals, more or less | 04:47 | |
sorear | so the local is in scope but undef earlier in the block? | ||
TimToady | modulo the strange hidden blocks that sneak into p5 around certain constructs | ||
"local" is not a noun | 04:48 | ||
local is a verb that applies to a global var | |||
so whether it's undefined earlier or not depends on its previous value | |||
local itself undefines, by default, so you have to assign the previous value in p5 to keep the value | 04:49 | ||
"temp" in p6 is supposed to default the other way, and preserve the outer value | |||
which is why, in Cursor.pmc you see things like local $::HIGHWATER = $::HIGHWATER; | 04:53 | ||
sorear | yes | ||
TimToady | in p6 that'll just be temp $*HIGHWATER; | ||
'course, temporizing dynamic vars in "real" p6 will be different from temporizing globals and ordinary lexicals | 04:54 | ||
sorear | so basically local $::FOO = 3 is SAVESV($::FOO); $::FOO = 3 | ||
TimToady | and with real dynvars temp $*HIGHWATER turns into my $*HIGHWATER = $OUTER::HIGHWATER or something like that | 04:55 | |
sorear | not a scoping construct at all | ||
just save-stacked assignment | |||
TimToady | yes | ||
which is not very thread-friendly | |||
05:00
yinyin joined
05:02
Schwern joined
05:08
kaare joined
05:09
kaare is now known as Guest41943
05:14
BinGOs left,
BinGOs joined
05:19
molaf left
05:35
lue left
|
|||
pugssvn | r31038 | sorear++ | [viv] Improve handling of non-subrule captures again | 05:49 | |
sorear | STD.pm6 contains a line of the form <item=.sym> | 05:50 | |
this gets unfolded to $<item> = foo | |||
gimme5 ignored the binding in this case | |||
viv doesn't | |||
so I neeeded to improve the AST processors | 05:51 | ||
(actually, I changed Actions, not viv.) | |||
I BELEIVE IT NOT. stage 3 == stage 2 !!! !!! !!! | 05:58 | ||
05:59
cognominal left
06:05
snarkyboojum left,
uniejo joined
06:09
justatheory left
|
|||
sorear runs a make snaptest to establish a baseline | 06:12 | ||
06:15
envi^home joined
|
|||
mberends | sorear++ | 06:17 | |
06:18
cognominal joined
06:19
Su-Shee joined
|
|||
moritz_ | good morning | 06:22 | |
sorear | good morning moritz | 06:23 | |
I just successfully bootstrapped STD.pm6 and viv | |||
moritz_ | \o/ | ||
sorear | will commit the needed Makefile changes after a double snaptest | ||
06:25
snarkyboojum joined
|
|||
eternaleye | sorear++ # You rock so hard | 06:25 | |
sjohnson | cool | 06:27 | |
sorear | TimToady: How does lex/STD.pm6.store work? | 06:44 | |
06:45
s1n left
06:47
s1n joined
|
|||
sorear | I see | 06:50 | |
pugssvn | r31039 | sorear++ | [Cursor] Allow lex/ and syml/ directories to be overridden | ||
mathw | Morning | 06:51 | |
pugssvn | r31040 | sorear++ | [std] Add prototype node classes to silence errors from Actions | 06:58 | |
TimToady | \ö/ | 07:09 | |
sorear++ sorear++ sorear++ sorear++ sorear++ sorear++ | 07:10 | ||
sjohnson | heh | 07:14 | |
TimToady | but zzz & # will play with it in the morning | 07:16 | |
sorear | in the morning, it will be installed as default | ||
gimme5 may or may not be gone, depending on snaptest results | |||
sleep well | |||
07:17
mikehh left
07:22
snarkyboojum left
07:29
ejs joined
07:32
dalek left,
hugme left,
mathw left,
pugssvn left,
ajs left,
clsn left,
bkeeler left,
jiing left,
obra left,
c1sung left,
IRSeekBot left
07:33
ejs left
07:38
ejs joined,
dalek joined,
hugme joined,
mathw joined,
pugssvn joined,
ajs joined,
tootroot joined,
clsn joined,
bkeeler joined,
jiing joined,
obra joined,
c1sung joined,
IRSeekBot joined,
card.freenode.net sets mode: +vvov hugme pugssvn bkeeler IRSeekBot
07:49
s1n left,
dju joined
|
|||
sorear | snaptest ends at 94.36% | 07:49 | |
moritz_ | is that the same as normal STD+gimme5 snaptest? | 07:50 | |
07:50
pmurias joined,
dju left
|
|||
sorear | moritz_: that was the STD+gimme5 snaptest; I was establishing a baseline | 07:50 | |
moritz_ | ah | 07:51 | |
did you also time it? | |||
07:51
dju joined
07:52
s1n joined
|
|||
sorear | no | 07:55 | |
07:57
dju left
07:59
pmurias left
|
|||
sorear | Is it considered bad form to set PERL5LIB in Makefiles? | 07:59 | |
mathw | I would think so | 08:01 | |
moritz_ | rakudo: say "Perl 6 Advent".comb(/<alpha>/).join('|'); | ||
p6eval | rakudo 18d996: OUTPUT«Cannot take substr outside string in <anon> at line 11:/tmp/8a1sSMRqEw in 'Cool::match' at line 2103:CORE.setting in 'Any::join' at line 1898:CORE.setting in main program body at line 11:/tmp/8a1sSMRqEw» | ||
eternaleye | Recent Camelia discussion prompted me to search the clogged infrared for this: www.perlportal.com/logo/camelia.html (originally posted by LylePerl). I particularly liked (and still do) #7 | 08:03 | |
mathw | If it doesn't get exported into the user's environment it's probably okay, but you would I think be better off passing include paths to perl | ||
sorear | mathw: I want it to affect subprocesses too | 08:06 | |
pugssvn | r31041 | sorear++ | [STD-ecosystem] Change Makefile to use viv by default instead of gimme5. Check in a bootstrap copy of STD.pmc. | 08:08 | |
08:08
viklund joined
|
|||
sorear | next, I need to get snaptest to run at all | 08:08 | |
08:18
plobsing left
08:22
dakkar joined
08:38
clintongormley joined
|
|||
pugssvn | r31042 | sorear++ | [viv,STD_P5] Fix STD_P5 for viv, which is rather stricter about valid P6 | 08:47 | |
08:52
BrowserUk left
08:59
cli_ joined
|
|||
moritz_ | www.modernperlbooks.com/mt/2010/06/...ation.html "If you've worked with macros in C or C++ or source filters in Perl 5, note that they have file scope" | 09:06 | |
I thought C/C++ macros are pretty much global | |||
arnsholt | They're only accessible in the files where they're either #defined or #included | 09:09 | |
But global at file level, yes | |||
moritz_ | I meant that more in the sense of: I write an include file, that uses a macro internally | ||
but if I don't care, it's available globally, ie in any file that includes my file too | 09:10 | ||
arnsholt | Yeah, in that sense it's global | ||
moritz_ | in that sense it has larger scope than file | ||
rakudo: '1 ' ~~ /.*/; say +$/ | 09:15 | ||
p6eval | rakudo 18d996: OUTPUT«1» | ||
arnsholt | The problem is that C has a messed-up view of how to include libraries, and what is file-scope | 09:21 | |
Seeing how #include just pastes a file into your file | |||
moritz_ | right | ||
mathw | of course you can #undef a macro when you're done with it so it doesn't leak | 09:24 | |
moritz_ | but the fact that you have to take extra care is bad | 09:25 | |
and what if that macro existed (but with different contents) before the #include line? | |||
09:27
yinyin left
|
|||
arnsholt | I can't remember what happens then | 09:27 | |
Might be implementation-dependent | |||
mberends | grammar hai { rule TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse("HI", :actions(hai::act)); # works | 09:28 | |
rakudo: grammar hai { rule TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse("HI", :actions(hai::act)); # works | |||
p6eval | rakudo 18d996: OUTPUT«YO!» | ||
mberends | rakudo: grammar hai { rule TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse(" HI", :actions(hai::act)); # inserting a space fails. HALP! | 09:29 | |
p6eval | rakudo 18d996: ( no output ) | ||
moritz_ | rakudo: grammar hai { token TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse(" HI", :actions(hai::act)); | 09:30 | |
p6eval | rakudo 18d996: OUTPUT«YO!» | ||
mberends | oh, token. thanks moritz_++ | 09:31 | |
mathw | moritz_: well in the normal case that macro wouldn't exist afterwards. you can detect it, save it and restore it, but to do that for every macro... this is why macros cause pain :) | ||
moritz_ | I guess that the implict <.ws> from 'rule' and the explicit one interact badly... but I don't know why | ||
mathw: but don't you need another macro for storing the old contents? | |||
which you'd have to clean up again, recursively? | |||
mathw | yes | 09:32 | |
there's a good guideline, it says 'don't use macros in header files', and it's paired with one that says 'if you do use macros in header files, give them names very likely to be unique' | 09:33 | ||
moritz_ | "we built you this cool language; but pulease don't actually use its features; they are harmful for your dog" | 09:34 | |
09:34
masak joined
|
|||
masak | oh hai, #perl6! | 09:35 | |
moritz_ | good (late) morning, masak | ||
mberends | oh hai, masak! | ||
moritz_ | how are those bufs coming along? | ||
mathw | moritz_: well the thing is that it's not cool, it's merely ubiquitous | 09:36 | |
moritz_ | right :-) |