Please check your feather e-mail | search.cpan.org/dist/SVN-Mirror/ | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org | www.treehugger.com/files/th_images/paradigm.jpg Set by Juerd on 27 August 2006. |
|||
00:00
tewk joined,
kcwu joined,
TreyHarris joined,
Khisanth joined,
ludan joined,
gantrixx joined
00:01
ilogger2 joined,
Khisanth joined,
Odin- joined,
Eidolos joined,
radian joined,
gantrixx joined
00:02
lambdabot joined,
ajs joined
00:03
mauke joined
00:04
bsb joined,
ludan joined
00:05
obra joined,
clkao joined,
JarJarBinks joined,
gugod_ joined,
marcus joined,
LCamel joined,
cognominal joined,
Revision17 joined,
broquaint joined,
bcorn joined,
Lorn joined
00:06
cookys joined,
kolibrie joined,
pmurias joined,
markstos joined
00:07
lumi joined
|
|||
markstos | I recommend now adding feather.perl6.nl to the topic since the page has now been updated to be a good Perl6 resource. | 00:07 | |
lambdabot | Title: Perl6 Community Development Server | ||
00:08
SamB joined,
kanru joined
00:09
kcwu joined,
merlyn joined,
typester joined,
miyagawa_ joined,
rnorwood joined,
mtve joined
00:10
cj joined,
masak joined,
araujo joined,
notsri joined,
xinming joined,
glasser joined,
Eimi joined,
Bit-Man joined
00:11
integral joined,
avar joined
00:12
Southen joined
00:13
ingy joined,
silug joined
00:14
pasteling joined,
lisppaste3 joined
00:15
nothingmuch joined,
tewk joined,
awwaiid joined,
TimToady joined
|
|||
markstos | Which of these syntax is prefered to passed name/value pairs to subs in Perl6? | 00:19 | |
foo ( name => 'value' ); | |||
foo ( :name<value> ); ? | |||
ayrnieu | which do you prefer? | 00:20 | |
clkao likes :name<value> | |||
markstos | s/passed/pass/ | ||
For me, it's not currently a matter of preference, it's matter of getting either work well with pugs ATM. :) | |||
clkao | i thought both works? | 00:21 | |
00:21
Grrrr joined
|
|||
markstos | The both do, at different times. :) I'm still a little confused about when one works and the other doesn't, but I've seen issues. | 00:21 | |
00:21
Maddingue joined
|
|||
markstos | Hold on, I think I remember a quick example. | 00:21 | |
00:21
xern joined
00:23
dvorak joined
00:25
Psyche^ joined,
Psyche^ is now known as Patterner,
TreyHarris joined
00:26
nekokak joined
|
|||
markstos | I guess my confusion is around when the slurpy modifier is needed. Here it won't work until it's added: | 00:26 | |
?eval sub foo (*%args) { say %args.perl; } foo( :a<b> ); foo( a => 'b' ); | |||
clkao | i thought it's always needed if you are not having named arg in the foo signature | 00:28 | |
markstos | Sounds right. I'm just used to the looseness of Perl5, and am still adapting to Perl6. | 00:29 | |
However, whenever I figure out a "Perl6" way to address something, the code seems to be shorter and simpler... | |||
clkao | also you can use \ in signature to get the capture object. and just deref it | 00:30 | |
00:31
araujo joined
|
|||
araujo | :-) | 00:31 | |
cmarcelo, not sure about the difference either | |||
markstos | Capture objects are a mental leap. In Perl5, it was always an array to unpack. With Captures, I can get the named part, or the positioinal part, but I didn't see a way to get Whole Thing As An Array like I'm used to. | 00:32 | |
araujo | cmarcelo, here on pugs, (1 .. 9) , [1 .. 9] , behave apparently the same | ||
markstos | However, I'm also trying to learn differnet ways to think about things, and not just translate what I know about P5 into a new syntax. | 00:33 | |
I like multi methods, also I still get surprising results sometimes. | |||
00:33
PolettiX joined
|
|||
markstos | s/also/although/ | 00:33 | |
clkao | markstos: i thought by default it's *@_ | 00:35 | |
which is same as perl | |||
5 | |||
markstos | Oh. :) I hadn't discovered that yet. I'm enjoying trying out the newer style syntax, though. | 00:36 | |
00:36
ludan joined
|
|||
markstos | I did notice that @_ didn't work the same. | 00:36 | |
clkao | *@_ is rw, actually ;) | ||
markstos | Hmm.. Is that a good thing ? | 00:37 | |
ayrnieu | markstos - yes. | ||
00:38
ludan joined
00:40
ludan joined
00:45
lisppaste3 joined
00:46
PolettiX joined
01:01
vel joined
|
|||
markstos | I think declaring two multi subs where all the arguments are optional should generate a warning. Here's an example: | 01:05 | |
multi sub foo ($b?) { say "b: ".$b.perl } multi sub foo ($a?) { say "a: ".$a.perl } foo('boo'); | |||
I've already do this twice accidently... | 01:06 | ||
s/do/done/ | |||
I guess that's just a variation of generating two multi subs with the same signature. Currently, pugs just chooses one, although there is no clear correct answer: | 01:08 | ||
multi sub foo () { say "b: " } multi sub foo () { say "a: " } foo(); | |||
Perhaps that should even be an error, not a warning. | |||
01:10
justatheory joined
01:16
soisoisoi joined
01:26
dolmans joined
01:37
bsb left
|
|||
markstos | I'm still confused about "references are gone in Perl6", but yet, using the [] and {} notations make a difference: | 01:43 | |
?eval sub foo { say *@_.perl; } foo( <a>, %(d=>2) ); foo([<a>], {d=>2}); | 01:44 | ||
Is this a case of pugs lagging behind the spec, or are references sorta present, even outside of Captures ? | |||
01:54
bsb joined,
lambdabot joined
02:10
lambdabot joined,
jferrero joined
02:11
mdiep joined
02:18
justatheory joined
|
|||
TreyHarris | markstos: no... references are not present. but remember, the default signature when no signature is present is (*@_). So there's a slurpy making an implicit [,] in your call | 02:26 | |
so <a> gets unwound into "a" | 02:30 | ||
markstos | TreyHarris: /something/ is present, because [<a>] produces a different result than <a>, and {} produces a different result than %()... and the result looks like references to me. | 02:46 | |
Perhaps you could say they are "embedded arrays" and "embedded hashes", but they look like references to me. | 02:47 | ||
02:53
DaGo joined
|
|||
markstos | I was wondering about the difference between %h<<$a>> and %h{$a}. The first is an interpolated string. The second is an evaluated expression. | 02:53 | |
?eval my $a = 1; my %h; %h{$a+1} = 'expression'; %h<<$a+2>> = 'interpolated string'; say %h.perl; | |||
Surprisingly, though, this can be used for to pass a named params: | 02:56 | ||
:name<<$value>> | 02:57 | ||
But this throws an error: | |||
:name{$value} | |||
03:05
crem_ joined
03:21
Yappo joined
03:31
markstos left
|
|||
audreyt | markstos: that's a simple bug... fixed | 03:31 | |
marcus: allso, re feather.perl6.nl | 03:32 | ||
I'd like to simply point pugscode.org there. | |||
03:32
agentzh joined
|
|||
TreyHarris | audreyt: oh, was i wrong? slurpy param doesn't effect [,] reduction on args? | 03:32 | |
audreyt | marcus: but that means the essential info on pugscode.org needs to be present as well | 03:33 | |
agentzh | markstos: the :name{$value} syntax seems weird. i think you should use :name($value) instead. :) | ||
audreyt | TreyHarris: slurpy and [,] are different | 03:34 | |
*@_ makes the incoming %hash into list of pairs | |||
while [,]%hash becomes named | |||
which is partly why they now look different... | |||
TreyHarris | ah, ok. so foo(<a>) and foo('a') should always look different to foo, no matter how it's declared? | 03:35 | |
audreyt | actually, <a> is currently just the same as 'a' | 03:36 | |
I'm not sure if it should make a 1-elem List or not, actually | |||
TreyHarris | that's what i thought | ||
i just can't put it into words... but i feel it should work that way | |||
audreyt | because in perl5, qw<1> | ||
also means just '1' | |||
TreyHarris | well, should foo(<a b>) always work like foo('a', 'b') then? i'd say yes | 03:38 | |
audreyt | it should always work like | ||
foo( ('a','b') ) | |||
following that logic, perhaps it's wrong for <a> to just mean 'a' | 03:39 | ||
perhaps it should mean ('a',) after al | |||
that is, a List object, not a Str object. | |||
TreyHarris | hmmm.... word-calling subs seems like a common think to do though | 03:44 | |
audreyt | foo([,]<a b c>) still gets you that. | 03:45 | |
agentzh | (thought | 03:46 | |
(though not beautifully) | |||
:) | 03:47 | ||
audreyt | sure... it depends on which way you are optimizing for | 03:48 | |
03:54
evalbot_12770 joined
|
|||
TreyHarris | well, captures will help there too | 03:55 | |
04:01
svnbot6 joined
|
|||
audreyt | r12772 (orig r12771): audreyt | 2006-08-28 11:52:12 +0800 | 04:02 | |
* <a> is now ('a',) and never just 'a'. | |||
r12770 (orig r12769): audreyt | 2006-08-28 11:35:39 +0800 | |||
* :name{...block...} and :name{hash=>'val'} now works, prompted by markstos++. | |||
TreyHarris | smoking | ||
oh... damn | |||
smoking r12771 ;-) | |||
audreyt | well I'm smoking r12772 | 04:03 | |
so that's actually a useful diff | |||
TreyHarris | hmmm... do i need to do something about the "Smoker info not found. Please create a file named .smoker.yml" message? i've just ignored it up till now | 04:05 | |
audreyt | no that's fine | 04:06 | |
agentzh | audreyt: are you smoking ~audreyt/pugs? | 04:19 | |
audreyt | no. rebuilding | ||
evalbot was down | |||
agentzh | ah, okay. | ||
04:19
Khisanth joined
04:21
dolmans joined
04:22
SubStack joined
|
|||
TreyHarris | i love how my dock cpu monitor quickly tells me when makes or smokes are done... :-) | 04:27 | |
audreyt | so how mail fails are for you? | ||
TreyHarris | ? | 04:28 | |
audreyt | s/mail/many/ | ||
the last line in smoke.html | |||
TreyHarris | oh, it's still smoking :-) | ||
i was just noting that i don't have to look at the window to tell :-) | 04:29 | ||
it's just doing ext/Pod-Event-Parser now, so it still has quite a ways to go | |||
oh, audreyt, i've been noticing that if by mistake i run /usr/bin/pugs with a sourcetree PERL6LIB, or my sourcetree pugs without a PERL6LIB, they both start being very unhappy from then on. segfaults and "illegal hardware instruction" errors all over the place. i've put a ~/bin/pugs script in that looks at my cwd to decide what to do in order to keep that from happening in the future, but just fyi | 04:31 | ||
audreyt | ok. | 04:33 | |
bbiab | |||
TimToady: this idiom | 04:34 | ||
s:g{123}{456} | |||
is actually wrong, right? | |||
needs to write as | |||
s:g {123}{456} | |||
or s:g/123/456/ | |||
I've changed it to s:g"123"456" | 04:40 | ||
svnbot6 | r12772 | audreyt++ | * File::Spec::Unix: Remove the invalid quoting syntax s:g{}{} as it'd be taken as s:g({}). | ||
04:42
evalbot_12772 joined
04:43
kanru joined
|
|||
svnbot6 | r12773 | agentz++ | [util/smartlinks.pl] | 04:46 | |
r12773 | agentz++ | - simplified the HTML template a bit. (now we're using | |||
r12773 | agentz++ | ``<a href="#" ...'' | |||
TimToady | audreyt: yes, that's wrong | 04:57 | |
audreyt | there's... a huge amount of corpus that's wrong, then | 05:02 | |
svnbot6 | r12774 | audreyt++ | * pugs -Ifoo -Ibar should put bar in front of @*INC. | ||
audreyt | I finished changing ext/ | ||
but can't focus long enough to finish t/ | |||
svnbot6 | r12775 | audreyt++ | * ':g{}' now always mean pair, never backtracks. | 05:05 | |
r12776 | audreyt++ | * Change s:P5{}{} and rx:P5{} and m:P5{} etc in ext/ | 05:08 | ||
r12776 | audreyt++ | to use some other delimiter, usually / or ". | |||
05:09
Aankhen`` joined
|
|||
TimToady | I don't think <a> should assume a , | 05:14 | |
I think it should be equivalent to ('a') | 05:15 | ||
TreyHarris | but <a b> will always be equivalent to ['a', 'b']? | 05:17 | |
TimToady | yes. | ||
er, no | |||
not in list context | |||
it's equivalent to ('a', 'b'), and the parens go away | |||
parens do not construct sublists in list context. | 05:18 | ||
TreyHarris | yes | ||
ok, good | |||
TimToady | and <...> is equivalent to a parenthesized list. | ||
we use this all the time in :foo<string> to pass a single string. | |||
TreyHarris | right | ||
TimToady | turning it into ['string'] would be tragicomic | 05:19 | |
TreyHarris | ok, so the behavior markstos was seeing was almost correct, and the behavior he expected would not be correct | ||
audreyt | hm. ok, reverting | ||
but then, f(<a b>) | |||
if it's equiv to f(('a','b')) | |||
then it still won't bind to "sub f ($x, $y)" | |||
right? | |||
TimToady | right, since those aren't list context | 05:20 | |
(...) autointerpolates only in list context. | |||
except, of course, that ('a') is a perfectly good scalar too. | |||
audreyt | though ('a',) would not be | 05:21 | |
TimToady | correct | ||
audreyt | and <a> is equiv to the former not the latter | ||
TimToady | yes | ||
it's one of those syntactic literal thingies that kinda means different things, like 42 | 05:22 | ||
which might or might end up thinking of itself as Int or Num. | |||
audreyt | can you clarify the spec to say that <a> stands for ('a') not ('a',), then? | ||
TimToady | I'll have a look at it. | 05:24 | |
Need to pack for Birmingham though... | |||
audreyt | oh, right. have fun! | ||
svnbot6 | r12777 | audreyt++ | * <a> now means ('a') again, not ('a',), to narrowly avoid the tragicomical doom. | ||
TreyHarris | lol | 05:27 | |
audreyt | :) | 05:28 | |
05:31
evalbot_12777 joined
05:32
agentzh left
|
|||
svnbot6 | r12778 | gaal++ | (minor) avoid redefining subs when subtest fails | 05:32 | |
05:36
evalbot_12777 joined
05:44
christo joined
|
|||
svnbot6 | r12779 | audreyt++ | * Pugs.Internals: don't let evalbot die whenever someone throws big5 or latin1 at her -- instead just warn about bad UTF8 sequence. | 05:44 | |
audreyt | it should be much harder to accidentally kill evalbot now.. | 05:45 | |
TimToady | Actually, under adverbs it already says: Bare C<< <a> >> turns into C<('a')> rather than C<('a',)>. | 05:47 | |
but I will clarify the preceding section as well. | |||
05:48
Khisanth joined
|
|||
audreyt | k, danke | 05:50 | |
05:53
evalbot_12779 joined
|
|||
audreyt | ?eval "éäøęÆ UTF8 ē ę" | 05:55 | |
evalbot_12779 | decodeUTF8: bad data: '\151' "\d[25]\r/ UTF8 Y\d[151]" | 05:56 | |
audreyt | good, it didn't die. | ||
(fwiw, that's "this is not a UTF8 pipe" in big5.) | |||
?eval "Ceci n'est pas une pipe" | 05:57 | ||
evalbot_12779 | "Ceci n\'est pas une pipe" | ||
05:57
christo left
|
|||
TimToady | Um, then why did it print right in my irssi? | 05:58 | |
audreyt | that'd be... surprising | ||
TimToady | not the evalbot, but your eval | ||
audreyt consults her /recode settings | |||
and indeed I set it wrong so I was sending UTf8 | 05:59 | ||
TimToady | I see: ?eval "éäøęÆ UTF8 ē ę" | ||
audreyt | most weird. | ||
06:00
kasei joined
|
|||
audreyt | ?eval "test" | 06:01 | |
evalbot_12779 | "test" | ||
06:06
b00t joined
|
|||
TimToady | Interesting, it's ē ē®” in Japanese, concentrating more on the tubiness like English. I presume the Chinese is more of a reference to its ladle-like shape. | 06:07 | |
audreyt | aye. ē ē®” is valid Chinese too | ||
TimToady | or that you "scoop smoke" with it? | ||
And maybe the ē ę would work in Japan too, for all that... | 06:08 | ||
svnbot6 | r12780 | audreyt++ | * system() should pass utf8 through as well. | ||
audreyt | though, as in the La trahison des images painting, the shape is more ladle-ish than tube-ish | ||
TimToady | "this is not a ladle or a tube either..." | ||
audreyt | "sometimes a UTF8 string is just a UTF8 string" | 06:09 | |
TimToady | on the other hand, the first several pages of google hits on ē ę are all Chinese, so probably not used in Japan. | 06:12 | |
audreyt | *nod* | ||
06:14
onsen joined,
evalbot_12780 joined
|
|||
audreyt | ?eval "å±±ęę¶č, é°ęč·čÆ, äøč¦ē ē®”, ä¹č¦åäø²" | 06:16 | |
evalbot_12780 | decodeUTF8: bad data: '\176' decodeUTF8: bad data: '\239' decodeUTF8: bad data: '\139' decodeUTF8: bad data: '\161' decodeUTF8: bad data: '\139' "q\tv\d[7], \d[176]\tw\d[239], \r\d[139]Y\d[161], C\d[139]W2" | ||
audreyt | hrm. | ||
SamB | huh, looks good to me! | 06:19 | |
I guess evalbot doesn't work right? | |||
audreyt | yeah. I think it's because %ENV<> doesn't handle high bits | ||
06:21
mauke_ joined
|
|||
audreyt | ?eval 1 | 06:21 | |
evalbot_12780 | 1 | ||
audreyt | ?eval "ē ē®”" | ||
evalbot_12780 | decodeUTF8: bad data: '\161' "Y\d[161]" | ||
audreyt | yup, that's it. | ||
06:22
zgh joined
|
|||
gaal | ?eval "this is not a lugged steel tube of a cuspy Rivendell bike" | 06:25 | |
evalbot_12780 | "this is not a lugged steel tube of a cuspy Rivendell bike" | ||
svnbot6 | r12781 | audreyt++ | * ENV values are now assumed to be encoded in UTF8. | ||
TimToady | mountains have handrails, swamps have lotus flowers, you don't see a pipe, so you see a character string? | 06:28 | |
audreyt | "On the mountain is the mulberry tree ; In the marshes is the lotus flower." | 06:29 | |
06:30
onsen_ joined
|
|||
audreyt | # www.afpc.asso.fr/wengu/wg/wengu.php...&no=84 | 06:30 | |
svnbot6 | r12782 | audreyt++ | * oops, typo. | 06:31 | |
TimToady | I suppose a mulberry is "rail plant", meaning you make a walking stick from it, or some such. | 06:34 | |
06:35
mauke_ is now known as mauke
|
|||
TimToady | no, I'm just misreading the character, railing is only if you combine it with "hand"... | 06:37 | |
"support plant" is more like it, or "help plant"... | |||
06:38
Khisanth joined
|
|||
audreyt | yup | 06:39 | |
TimToady | but mulberry is ę” in my dictionary. | ||
durn poets, always using fancy words... | |||
audreyt | ę¶č means the same as ę¶ę” | 06:40 | |
which means the same as ę”... | |||
TimToady | my dict gives different pronunciations, or is that dialectical? | 06:41 | |
audreyt | different pronounciations | 06:43 | |
TimToady | agentzh: I'm not going to have time to hack on the smoke uploader to send the .yml along with, so if you want to work on that, feel free. | ||
audreyt | ę¶č is -u and ę¶ę” is -ang | ||
the poet is constrained by rhyming | |||
because the original third sentence is "äøč¦åé½", which only rhymes with ę¶č. | |||
TimToady | both tone 1 | ||
audreyt | yup | 06:44 | |
TimToady | one of these decades I'm gonna have to get serious about my Mandarin... | ||
06:45
drrho joined
06:46
onsen joined
06:48
evalbot_12782 joined
|
|||
audreyt | ditto for me re Japanese... | 06:49 | |
?eval "åé½" | |||
evalbot_12782 | decodeUTF8: bad data: '\229' decodeUTF8: bad data: '\173' decodeUTF8: bad data: '\144' decodeUTF8: bad data: '\233' decodeUTF8: bad data: '\131' decodeUTF8: bad data: '\189' "\d[229]\d[173]\d[144]\d[233]\d[131]\d[189]" | ||
ayrnieu | easiest way to force seriousness is to start paying someone to help you, probably. Also, get a dictionary from www.pleco.com , and consult www.bokee.com/ (podcast.bokee.com/ has much awesomeness) | ||
audreyt | cool, at least it doesn't drop data anymore | ||
lambdabot | Title: å客ē½-Bokee.com-ōæ½xE4ōæ½xBD ęēē½ē» | ||
xinming | ?eval "åé½" | 06:50 | |
evalbot_12782 | decodeUTF8: bad data: '\229' decodeUTF8: bad data: '\173' decodeUTF8: bad data: '\144' decodeUTF8: bad data: '\233' decodeUTF8: bad data: '\131' decodeUTF8: bad data: '\189' "\d[229]\d[173]\d[144]\d[233]\d[131]\d[189]" | ||
xinming | ?eval "ä½ å„½" | ||
evalbot_12782 | decodeUTF8: bad data: '\228' decodeUTF8: bad data: '\189' decodeUTF8: bad data: '\160' decodeUTF8: bad data: '\229' decodeUTF8: bad data: '\165' decodeUTF8: bad data: '\189' "\d[228]\d[189]\d[160]\d[229]\d[165]\d[189]" | ||
audreyt | ?eval "ēäø" | 06:52 | |
evalbot_12782 | "\d[29378]\d[19988]" | ||
audreyt | yay | ||
06:52
christo joined
|
|||
audreyt | ?eval "äøäŗäø".chars | 06:53 | |
evalbot_12782 | 3 | ||
audreyt | ?eval qćSome strange quotesć | 06:55 | |
06:55
onsen_ joined
|
|||
evalbot_12782 | "Some strange quotes" | 06:55 | |
audreyt | excellent. | ||
?eval 1|2 | 06:56 | ||
evalbot_12782 | (1 | 2) | ||
TimToady | 'druther see it default to \x than \d | ||
or is that something hardwired into Haskell? | |||
audreyt | it's not | ||
haskell uses the "\29378" form | |||
which is invalid :) | |||
TimToady | yay | 06:57 | |
actually, I'd rather see the ēäø form... | |||
audreyt | test for isPrint? | ||
TimToady | I've also been tempted to sneak ā¤ in inplace of the newline, but wasn't sure how irssi would treat a spaceless long line... | 06:58 | |
well, now that today is | 06:59 | ||
audreyt | trying isPrint | 07:00 | |
TimToady | tomorrow, I'd better go to bed. | ||
audreyt | sleep well :) | ||
...and don't let bed pugs bite | |||
TreyHarris | oh dear... you have bedpugs? | 07:02 | |
audreyt | s/which, because the list is in scalar context/which, because the list is assigned to a scalar/ | 07:03 | |
is perhaps more accurate... (:= wouldn't Array-isy it) | 07:04 | ||
TreyHarris | how so? isn't it in scalar context? | 07:05 | |
TimToady | question is, whether ($a, $b) := (1,2) dwyms? | ||
audreyt | it is, but "scalar context" alone doesn't Array-ify a list | 07:06 | |
that works, because there's an implicit : and \ on both ends, iirc | |||
sub f ($x) {} f (1,2); | |||
is where it's scalar context but not scalar assignment | 07:07 | ||
TimToady | yeah, I guess you get one paren set free anyway | ||
audreyt | and therefore no Arrayification is performed | ||
TimToady | right, it's f((1,2),3) that does f([1,2],3) | 07:08 | |
if sub f ($x, $y) | |||
TreyHarris | urrrr. i know i read this in synopses, but my mind's addled and i'm not remembering nor finding it quickly... what's the difference between ($x, $y) = (1, 2) and ($x, $y) := (1, 2)? | ||
audreyt | TimToady: but does it? I thought $x will get the List | ||
and the Array(mutable)ness only happens on scalar= | 07:09 | ||
not any form of := | |||
TreyHarris | ?eval my ($x, $y) = (1, 2); <<$x $y>>.say | ||
07:09
evalbot_12782 is now known as evalbot_12783
|
|||
evalbot_12783 | OUTPUT[2 ] Bool::True | 07:09 | |
TreyHarris | ?eval my ($x, $y) := (1, 2); <<$x $y>>.say | ||
evalbot_12783 | OUTPUT[2 ] Bool::True | ||
TreyHarris | hrm | ||
?eval my ($x, $y) := (1, 2); [<<$x $y>>].say | |||
evalbot_12783 | OUTPUT[1 2 ] Bool::True | ||
TreyHarris | ?eval my ($x, $y) = (1, 2); [<<$x $y>>].say | ||
evalbot_12783 | OUTPUT[1 2 ] Bool::True | ||
TimToady | well, it gets listified, even if not to the extent that [...] does... | 07:10 | |
audreyt | right... | ||
clarified that, and the grammat nit, as r11509 | 07:12 | ||
to S02. | |||
TimToady | k | ||
TreyHarris | ?eval (1, 2).say | 07:13 | |
evalbot_12783 | OUTPUT[12 ] Bool::True | ||
TreyHarris | ?eval <1 2>.say | 07:14 | |
evalbot_12783 | OUTPUT[12 ] Bool::True | ||
TimToady | TreyHarris: = is defined to work very much like Perl 5's assignment, including copy semantics. := is the new P6 binding semantics like parameter binding. = is mostly discussed in S02, the := and binding are kinda scattered around. | ||
TreyHarris | ?eval my ($x, $y) = (1, 2); <<$x $y>>.say | ||
evalbot_12783 | OUTPUT[2 ] Bool::True | ||
TreyHarris | why? | ||
TimToady | ?eval my ($x, $y) = 1,2; <<$x $y>>.say | 07:15 | |
TreyHarris | TimToady: yes, i know about :=, but I specifically wondered about the difference between := (1, 2) and = (1, 2), since they're both values on the RHS | ||
evalbot_12783 | OUTPUT[2 ] Bool::True | ||
TimToady | looks like a bug to me. | ||
TreyHarris | ok, i'll write a test | ||
but i guess my smoke has to finish before i save it lest it give weird results... | 07:16 | ||
TimToady | the main difference between := and = on the right is that = is always only completely list or scalar context | ||
whereas := can provide some mixture, like a sub signature can. | |||
TreyHarris | ah, right. so in that particular example there was no reason to use := rather than = | 07:17 | |
TimToady | arguably, though, if you bind to immutable values, you then can't modify them without at least undoing the binding. | 07:18 | |
TreyHarris | right | 07:19 | |
?eval 1 = 2 | |||
evalbot_12783 | Error: Can't modify constant item: VInt 1 | ||
TreyHarris | ?eval $x := 1; $x = 2 | ||
evalbot_12783 | Error: Bind to undeclared variable: "$x" | ||
TreyHarris | ?eval my $x := 1; $x = 2 | ||
evalbot_12783 | Error: Can't modify constant item: VInt 1 | ||
TimToady | right, you can foo(1) even if the parameter is rw, as long as you don't actually w it. | ||
though I can argue it the other way too. | 07:20 | ||
TreyHarris | yes. :-) stricture? | ||
TimToady | at least if the declaration is visible at compile time. | ||
TreyHarris | that's wild.... | ||
?eval my ($x, $y) = (1,2) | |||
evalbot_12783 | (\1, \2) | ||
audreyt | the <<$a $b>> bug is fixed | ||
TreyHarris | oh. | ||
my pugs is printing "(#<Scalar:0x42469a8>, #<Scalar:0x42469c0>)" when i do that last | 07:21 | ||
audreyt | pugs> my ($x, $y) := (1, 2) | 07:22 | |
(#<Scalar::Const:0x12cd018>, #<Scalar::Const:0x12cd010>) | |||
pugs> my ($x, $y) = (1,2) | |||
(#<Scalar:0x12fba8c>, #<Scalar:0x12fbaa0>) | |||
ideally the Scalar::Const will go away | |||
and replaced by UInt | |||
I mean Int | |||
TreyHarris | ok, good | 07:23 | |
07:25
onsen joined
|
|||
audreyt | ?eval my ($x, $y) = 1,2; <<$x $y>>.say | 07:27 | |
evalbot_12783 | OUTPUT[2 ] Bool::True | ||
audreyt | hm, still rebuilding r12784 | ||
TreyHarris | oh, svnbot6 is gone | 07:29 | |
audreyt | ?eval my ($x, $y) = 1,2; <<$x $y>>.say | ||
07:29
evalbot_12783 is now known as evalbot_12784
|
|||
evalbot_12784 | OUTPUT[12 ] Bool::True | 07:29 | |
TreyHarris | yay | 07:30 | |
audreyt | svnbot6 syntax errored out ;) | 07:32 | |
fixed | |||
TreyHarris | agentzh: the synopses on feather are out of date. at least S02 is, by almost two weeks | 07:33 | |
oh, he's not here | |||
07:34
carrumba joined,
svnbot6 joined
|
|||
audreyt | a simple :name{foo} change took 4 hours to settle down... | 07:35 | |
TreyHarris | do you feel like stability is getting harder lately? | 07:39 | |
07:40
kane-xs joined
|
|||
xinming | audreyt: what the stage of making the self-hosting perl 6? | 07:40 | |
07:40
onsen_ joined
|
|||
audreyt | TreyHarris: mostly it's the unforseen consequences that shows up in t/ and examples/ | 07:42 | |
svnbot6 | r12787 | lwall++ | more fixing s:foo{ and m:foo{ | ||
07:42
nothingmuch joined
|
|||
audreyt | TreyHarris: and yeah, because the sheer number of them compared to, say, 1 year ago, it's steadily more work to fix them | 07:42 | |
xinming: not sure I understand.. | 07:43 | ||
xinming | hmm, I think I wonder how many percentage of pugs self-hosting is finished. v6 can parse the sainty test, Does it mean the self-hosting perl 6 (with many bugs is ok >_<) can be out in this christmas? | 07:45 | |
v6.pm | 07:46 | ||
audreyt | well, that question amounts to asking whether v6/v6-Compiler/ can take over perl5/Pugs-Compiler-Perl6/ | ||
by this christmas; I'm not qualified to answer that... try fglock :) | 07:47 | ||
TimToady | audreyt: why is all_examples.t disabled? | ||
audreyt | is it? | ||
TimToady | svn blames you. say "finito" | ||
audreyt | ah. sorry. was debugging | 07:48 | |
TreyHarris | fglock's making lots of progress lately from the svn logs... but like audreyt, i'm sure the closer the goal gets, the harder it'll get. hopefully it's not xeno's paradox though | ||
audreyt | fixing | ||
fixed | |||
r12788. | 07:49 | ||
TimToady | k, that should take my failures back down into the 600s | ||
audreyt | 573 here | ||
TimToady | sleep smokin' & | 07:50 | |
svnbot6 | r12788 | audreyt++ | * oops, miscommitted a debugging all_parse.t | ||
audreyt | g'nite :) | 07:51 | |
audreyt reboots to freebsd | |||
07:54
onsen__ joined
|
|||
TreyHarris | ?eval (1, 2) === <1 2> | 07:54 | |
07:54
evalbot_12784 is now known as evalbot_12788
|
|||
evalbot_12788 | Bool::False | 07:54 | |
TreyHarris | 11466 test cases: 10790 ok, 676 failed, 1451 todo, 815 skipped and 79 unexpectedly succeeded | 07:57 | |
audreyt | TreyHarris: if you have some cycles, can you help unTODO the 79? | 08:02 | |
it involves looking at smoke.html, find yellow boxes, and go in to edit the test files to take the :todo away. | |||
TreyHarris | audreyt: was already underway :-) | 08:04 | |
audreyt | ooh :) | 08:05 | |
TreyHarris++ | |||
bbiab | 08:06 | ||
08:20
pdcawley joined
08:41
ruoso joined
08:51
kattana_ joined
08:52
ofer0 joined
|
|||
svnbot6 | r12789 | trey++ | Added test that <<$x $y>> interpolates correctly | 09:24 | |
09:25
b_jonas joined
09:44
ruz joined
09:53
onsen joined
09:59
onsen_ joined
10:06
buetow joined
10:25
marcus_ joined
10:32
lumi joined
|
|||
svnbot6 | r12790 | audreyt++ | * On FreeBSD, gmake must be used to build Judy, not make. | 10:32 | |
r12791 | trey++ | Un-todoing 77 tests that now pass. There are still | 10:54 | ||
r12791 | trey++ | a couple passing todos that are inside loops. | |||
TreyHarris | and with that, i'm too bed | 10:58 | |
s/oo/o/ | |||
audreyt | thanks and good night :) | 11:00 | |
svnbot6 | r12792 | audreyt++ | * Tighten up a few source nits that trips GHC 6.5-HEAD. | 11:03 | |
Juerd | I'm glad Perl minor versions don't need code changes in everything | 11:05 | |
audreyt | 6.4 to 6.6 is a major version, though | ||
comparable to, say, 5.6 to 5.8 | 11:06 | ||
Juerd | I call that minor :) | ||
major.minor.revision | |||
audreyt | er, 5.8 was not much better then... | ||
Juerd | Maybe my jargon is off | ||
audreyt | no, your jargon was standard | ||
I had to fix a large number of perl 5.6 programs for 5.8 | |||
though 5.10 looks like it'd be much less painful. | 11:07 | ||
Juerd | Hm | 11:08 | |
My upgrade was painless | |||
audreyt | ...your programs were largely in ASCII, dealing largely with ASCII data only, I bet. | 11:09 | |
Juerd | Indeed | ||
Well, iso-8859-1 | |||
But that's all the same as far as Perl cares | |||
audreyt | which is a bug, but yeah. | ||
Juerd | :) | 11:10 | |
It's an unpleasant feature the way I see it | |||
audreyt | lathos, jhi and friends optimized for making your life painless | ||
Juerd | Perl 6 has Str always be utf-8, right? | ||
audreyt | when they designed the 5.8 unicode model. | ||
which made my life rather painful :) | |||
Str is always unicode, and the preferred unicode encoding is utf8, yes. | |||
Juerd | Can I request that the default encoding be the bitwise negation of utf8, instead of utf8 itself? | 11:11 | |
That way, forgetting to encode your output at least is a bug you easily notice, instead of ignore for a few years and then get bitten by | |||
audreyt | much better is that mixing Buf and Str gives raise to fail"". | ||
same as per the perl5 encoding::warnings module | 11:12 | ||
which, imvvho, should've been the default anyway. | |||
Juerd | Outputting happens in bufs, I hope? With some conversion specified on the filehandle, or otherwise an exception? | ||
audreyt | exactly. | ||
IO entities deal in Buf, and only gives/takes Str when there are encoding information available to them. | 11:13 | ||
Juerd | That's great. | ||
Then I drop my request :) | |||
audreyt | pugs currently just pretends the utf8 encoding is impicitly irrevocably given everywhere, but that'll change once we have at least one other encoding available :) | 11:14 | |
woot :) | |||
Juerd | It was based on the Perl 5 notion of having a single string type | ||
But I forgot that we have bufs now. | |||
audreyt | *nod* | ||
well actually perl5 also has Buf and Str | |||
it's just they are autopromoted | |||
bothways | |||
using *asymmetrical* encodings | |||
Juerd | I saw that Pugs doesn't know ==>, but I think I used it before. Is this regression, or have I not used it before? | 11:15 | |
audreyt | (Buf->Str was using latin1, and Str->Buf was using utf8) | ||
you have not used it before. | |||
Juerd | Okay | ||
Your model of how Perl 5 has buf and str isn't entirely correct | |||
b_jonas | so it will be an error if you attempt to mix byte and char strings in any way? | 11:16 | |
Juerd | buf->str could actually be utf8->latin1, as a result of several things | ||
b_jonas: I really do hope so! | |||
audreyt | b_jonas: I'll see to it :) | ||
Juerd | b_jonas: Although - maybe bufs can have an encoding property | ||
my Buf $foo :encoding<iso-8859-1>; | |||
audreyt | Juerd: "buf" in perl5 is SV with SVUTF8 off | ||
and "str" in perl5 is SV with SVUTF8 on | 11:17 | ||
b_jonas | Juerd: I mostly think it's a good thing but I think it could have some problems as well | ||
Juerd | my Str $bar = "some text with only <256 characters" | ||
; | |||
$foo = $bar # autoconvert? | |||
b_jonas | like, when I just write $foo . " " . $bar in perl5, imagine that failing because " " is a byte string | 11:18 | |
audreyt | Juerd: that's a thought. | ||
audreyt ponders Buf::Encoded | |||
b_jonas: string literals are always unicode Str inperl6 | |||
as with perl5's "use utf8" in effect | 11:19 | ||
b_jonas | audreyt: then it's an error the other way | ||
audreyt | (which is a very weirdly named pragma.) | ||
b_jonas | when I just write $foo . " " . $bar and it fails because $foo and $bar are byte strings | ||
audreyt | right. you can't simply concat two byte buffers with a string without somehow let perl know how it should promote them | 11:20 | |
b_jonas | anyway, I think if you have a variant of Buf which knows its encoding and it's fully supported (meaning you can do any operation with it and it keeps its encoding and doesn't get converted to utf8) then there's no need for a Str | ||
only that's very difficult to implement | |||
having everything encoded as utf8 simplifies lots of things | 11:21 | ||
audreyt | the thing is though, unless the encoding is a unicode encoding | ||
(UTF8, UTF16, UTF32, GB18030) | |||
then it's partial and you can put into it something that cannot be encoded into it | |||
b_jonas | yes, in some exotic encoding you can't even do index the easy way | ||
audreyt | er, well, for me s/exotic/everyday/, but yeah | 11:22 | |
b_jonas | oh yes | ||
audreyt | I think it's far saner to simply allow Str operations on Str | ||
and have buffers with attached encodings be able to convert in/out with Str | 11:23 | ||
the way Juerd proposed | |||
but there's no Buf.chars method | |||
even when you know the encoding of it | |||
masak | I like the look of "s/exotic/everyday/", out of context. sounds like a great motto | 11:24 | |
b_jonas | wouldn't it be possible to have some simple type for ascii-only string literals in the code that promote to Str or Buf as needed? | ||
audreyt | instead you need to coerce to Str using $buf.Str.chars | ||
b_jonas: buffer literals? I think it's not too much ask for | 11:25 | ||
b_jonas | I'm not sure it's a good idea though | ||
audreyt | Buf("this is some buffer", :encoding<ascii>) | 11:26 | |
b_jonas | "buffer literals"? do you mean some kind of exmplcit mark that marks a qquoted string as a buffer? | ||
audreyt | q:buf<ascii>"big moose" | ||
b_jonas | like, I don't know, qb"foo" or use bytes; | ||
audreyt | q:buf<big5>"now it's five moose" | ||
and default to <ascii> | 11:27 | ||
is perhaps sane. | |||
b_jonas | only, I guess, you'd also need a pragma to make every literal like that because it would be a pain to write that before every string | 11:28 | |
audreyt | I guess qb"" isn't that bad | 11:29 | |
b_jonas | I like qb because I can think of "bytes" instead of "Buf" | ||
TreyHarris | make ; make smoke | ||
audreyt | yup | ||
TreyHarris | reset | 11:30 | |
b_jonas | but there already seems to make a :b flag for strings | ||
TreyHarris | tset | ||
b_jonas | string literals I mean | ||
audreyt | there is? | ||
oh, backslash. | |||
TreyHarris | clear ; tset; stty sane ; clear ; reset | ||
audreyt | TreyHarris: you are not typing to the tty you think you are typing in... | ||
TreyHarris | oh! | 11:31 | |
lol | |||
sorry | |||
audreyt | np :) | ||
TreyHarris | i couldn't figure out why nothing was happening. focus was not following window activation :-) | ||
audreyt | I think the existing qb can be renamed to qe | ||
q:escape qe | |||
and then leave room to q:bytes q:b | 11:32 | ||
b_jonas | then you also need a name for the opposite I think | ||
audreyt | or q:buf q:b | ||
b_jonas | character strings | ||
audreyt | er no | ||
strings are character strings | |||
unless otherwise noted | |||
via :b or otherwise | |||
Juerd | 13:16 < audreyt> Juerd: "buf" in perl5 is SV with SVUTF8 off | 11:33 | |
13:17 < audreyt> and "str" in perl5 is SV with SVUTF8 on | |||
Not really consistently. | |||
b_jonas | that's it, if I give a pragma to make all strings byte strings I might still want to make a character string literal | ||
11:33
onsen joined
|
|||
Juerd | It's possible to have the Str equivalent with the utf8 flag off, if there's no special character in it. | 11:33 | |
audreyt | b_jonas: then you say q:!b/.../ | ||
b_jonas | oh | ||
I see | 11:34 | ||
Juerd | The utf8 flag is therefor not a reliable thing to check. If it's on, you should certainly not output, but if it's off, it's not always needed to decode it -- it could actually be the *result* of decode() already. | ||
audreyt | $ perl -MDevel::Peek -MEncode -e 'Dump decode(ascii=>"x")' | 11:35 | |
SV = PV(0x8058610) at 0x8057148 REFCNT = 1 FLAGS = (TEMP,POK,pPOK,UTF8) | |||
PV = 0x805aec8 "x"\0 [UTF8 "x"] | |||
that seems to work. not sure what case you are talking about | |||
Juerd | audreyt: If bufs have encodings, you could say that a filehandle that knows its encoding simply has a buf of that encoding internally that is used as a gateway. (virtually) | ||
It may even be a simple way to implement it consistently in the beginning :P | 11:36 | ||
audreyt | Juerd: Str already is going to be a list of Buf | ||
tagged with encoding info | |||
but you can't get its encoding directly | 11:37 | ||
Juerd | audreyt: I was talking about a file with :utf8, properly utf8 encoded, with only latin1 chars in the first line. On readline, you get a non-utf8 bytestring, properly converted back into latin1. The 2nd line may be different yet. | ||
audreyt | I'm sorry, but latin1 chars in a utf8 encoded string | 11:38 | |
Juerd | No, latin1-compatible chars | ||
audreyt | doesn't look like latin1 chars in an ascii string | ||
Juerd | They are properly utf8 encoded. | ||
audreyt | oh. then you mean ascii chars. | ||
Juerd | No, latin1 | ||
audreyt | I'm thoroughly confused. example? | ||
Juerd | i.e. 2 bytes in the input, 1 byte in Perl's result. | ||
Perl tries to be smart and use less memory, by decoding it into an octet string instead of utf8 | 11:39 | ||
This is no problem if you properly encode on output, though | |||
Many people think that decode() always returns an utf8 string with flag on, and they get bitten by this. They think encoding isn't needed. | |||
b_jonas | I'm quite confused about perl5's character strings as well, and there are some points I still don't understand | ||
Juerd | But it is. | ||
b_jonas | especially with regexen | 11:40 | |
audreyt | Juerd: wait, you mean my file is | ||
C2 AA | |||
Juerd | "use utf8" also fixes it, but as a side-effect, not as a documented rule. | ||
audreyt | and then you open it up as :utf8 | ||
and then readline in perl5 returns something that's SVUTF8 off? | |||
Juerd | Yes, unless you "use utf8" | ||
b_jonas | but I think I know enough to consistently use either byte strings or byte strings with locales or character strings | ||
Juerd | I have to go; if you want, I'll send you an example tgz later today | 11:41 | |
audreyt | er no. | ||
$ perl -MDevel::Peek -e 'open FH, "<:utf8", "z"; my $line = <FH>; Dum | |||
SV = PV(0x8058064) at 0x8057b50 REFCNT = 1 FLAGS = (PADBUSY,PADMY,POK,pPOK,UTF8) PV = 0x8059490 "\302\252"\0 [UTF8 "\x{aa}"] | |||
$ hexdump -C z | |||
00000000 c2 aa | |||
it's still with utf8 on. | |||
(and I didn't have implicit "use utf8".) | |||
perl 5.8.8, i386-freebsd-64int. | 11:42 | ||
sure, send me the .tgz | |||
because it's designed to not break in this case :) | 11:43 | ||
in particular, | 11:44 | ||
13:39 < Juerd> Perl tries to be smart and use less memory, by decoding it into an octet string instead of utf8 | |||
I havn't seen this behaviour before. it's most common when people forgot to say "<:utf8". | |||
in which case it's reading in Buf, not Str, as is the default. | |||
11:47
plisk joined
|
|||
b_jonas | I wonder what you think about this alternative syntax for comments: a # makes a comment until end of line if it's preceded by whitespace or newline, while a # _preceded_ by one or more brackets makes a long comment. | 11:48 | |
I think it would be better then the current proposal of S02 because people usually put whitespace before comments anyway unless they're at bol, | 11:49 | ||
audreyt | {# .... #} | ||
b_jonas | but not always after a # sign | ||
audreyt | you mean like this? | ||
b_jonas | audreyt: possibly | ||
my point is that I don't like #{ as a bracketing comment | 11:50 | ||
because I want to comment out lines of code with a # with no space aftert | |||
audreyt | but we already said that you can do that at bol | ||
b_jonas | yes, but I don't always do it at bol | ||
audreyt | but if bol includes spaces after bol | 11:51 | |
b_jonas | oh | ||
audreyt | would that make it work? | ||
b_jonas | I'm not sure | ||
then how would I use the current bracketing comment syntax to make a multi-line comment? | 11:52 | ||
do I have to add something before the #{ ? | |||
but I admit that the {# syntax looks sort of ugly | |||
audreyt | yup | ||
say #{ | 11:53 | ||
...embcomment... | |||
}# $x; | |||
b_jonas | yes, I see that but what if I want a long comment without a statement | ||
like, before the code | |||
#{ | |||
audreyt | then you say | ||
b_jonas | ... lots of docs stuff | ||
} | |||
audreyt | =begin comment | 11:54 | |
... | |||
=end | |||
b_jonas | ah yes, pod syntax. tricky | ||
audreyt | as is currently practiced | ||
b_jonas | I still don't think I like the current rules for block comment. | 11:55 | |
audreyt | the haskell 98 committee observed that comments are the most contentioustopic, followed by layout, syntax, grammar, and finally semantics. | 11:56 | |
11:57
elmex joined
|
|||
b_jonas | there's yet another alternative of course but that's just as ugly: | 11:57 | |
making # always a line comment and making a special macro similar to q that creates a block comment | 11:58 | ||
audreyt | obviously, q#< .... > | ||
b_jonas | heh | ||
that's a wierd name | |||
the drawback of that is that it doesn't give a short syntax for short in-line comments | 11:59 | ||
which is an important thing | |||
audreyt | which was the original motivation. | ||
b_jonas | yes | ||
so let's just forget that alternative | |||
audreyt | (for multiline comments, S02 strongly suggests pod) | ||
b_jonas | and I guess you don't want to make /* a comment marker either | 12:00 | |
audreyt | "you can use a macro for that" </standard-chant> | 12:01 | |
b_jonas | surely | ||
and I can redefine what # does with a macro as well | 12:02 | ||
audreyt | right. | ||
svnbot6 | r12793 | audreyt++ | * Probe for threaded GHC should make sure that it runs instead | 12:09 | |
r12793 | audreyt++ | of just compiles. | |||
12:12
drbean joined
|
|||
svnbot6 | r12794 | audreyt++ | * user-defined postfix now works again. | 12:15 | |
r12794 | audreyt++ | * also cleans up some unused imports and cases. | |||
r12795 | audreyt++ | * take away another debug print from File::Find | 12:21 | ||
12:24
onsen_ joined
|
|||
svnbot6 | r12796 | audreyt++ | * hq9+: "subset of Str" | 12:24 | |
12:28
bpphillips joined
12:41
theorbtwo joined
12:48
foo\ joined
12:55
jferrero joined
|
|||
wolverian | audreyt, hey, feather's /usr/bin/pugs is pointing to nullspace. is that intentional? | 12:56 | |
audreyt | no. investigating | 13:02 | |
13:12
mago joined
13:18
iblechbot joined
|
|||
audreyt | back now | 13:22 | |
13:23
xdg joined,
evalbot_12796 joined
|
|||
audreyt | ?eval (1,2,3) ōæ½xBB+ōæ½xAB (4,5,6) | 13:30 | |
evalbot_12796 | (5, 7, 9) | ||
13:48
bpphillips joined
13:49
vel joined
13:51
Qiang joined
|
|||
svnbot6 | r12797 | audreyt++ | * (minor) Test.pm: rewrite "unless" to ??!! to save a opcode. | 13:51 | |
r12798 | audreyt++ | * repair wizard.pl: | 14:04 | ||
r12798 | audreyt++ | .foo | |||
r12798 | audreyt++ | must be written (in methods) as | |||
r12798 | audreyt++ | self.foo | |||
r12798 | audreyt++ | if foo(){...} | |||
r12798 | audreyt++ | must be written as | |||
r12798 | audreyt++ | if foo() {...} | |||
r12799 | audreyt++ | * more fix for rx:P5{} into rx:P5//. | 14:07 | ||
r12800 | audreyt++ | * Put IArray into the IO monad, not the STM monad; | |||
r12800 | audreyt++ | a STM-friendly array will need an explicitly-defined | |||
r12800 | audreyt++ | data structure, most likely. | |||
14:11
mako132 joined
|
|||
Juerd | audreyt: shadow must be readable by www-data because of mail/irc authentication | 14:18 | |
I will restore that, now that people can no longer use PHP | 14:19 | ||
audreyt | Juerd: gotcha. | ||
Juerd | And will separate apache by running two different servers concerns soon. | ||
audreyt | 'k | ||
Juerd | s/concerns// | ||
(huh) | |||
14:21
onsen joined
14:22
weinig joined
|
|||
audreyt | cmarcelo: I just finished the final review of your SoC. congrats. :) | 14:31 | |
Juerd | What was the project? | 14:32 | |
audreyt | Judy bindings | 14:34 | |
Juerd | I see | ||
audreyt | the thing that made Pugs really fast :) | ||
?eval my @x[999999] = 1; @x.push(1); @x[-1] | 14:35 | ||
14:35
evalbot_12796 is now known as evalbot_12800
|
|||
evalbot_12800 | \1 | 14:35 | |
audreyt | ?eval my @x[99999999] = 1; @x.elems | ||
evalbot_12800 | 100000000 | ||
audreyt | try that in perl5 :) | ||
clkao giggles | 14:36 | ||
is there perl5 bindings yet? | |||
audreyt | yes | ||
Tie::Judy | |||
but it's missing JudyHs, but that's fine | |||
oh, it's missing judy arrays as well. | 14:37 | ||
so just StrMap. | |||
b_jonas | audreyt: I tried, it takes 0m0.526s | ||
audreyt | b_jonas: wow. | ||
b_jonas | it's fast because it doesn't have to create scalars for the intermediate elements | ||
audreyt | $ perl -e 'my @x; $x[99999999] = 1' | ||
Out of memory during "large" request for 536875008 bytes, total sbrk() is 98304 | |||
yup. i.e. it's sparse | 14:38 | ||
14:38
Limbic_Region joined
|
|||
b_jonas | ah, if I my @x it, it takes 0m1.436s | 14:38 | |
audreyt | Limbic_Region: welcome back | ||
Limbic_Region | thanks - Juerd probably thinks I was stalking him | 14:39 | |
in reality, I just needed my #perl6 fix | |||
b_jonas | audreyt: is it ulimited down so that it can't eat the whole memory? | 14:40 | |
audreyt | not here | ||
so maybe a freebsd thing | |||
14:41
penk joined
|
|||
Limbic_Region | audreyt - I couldn't tell from the recent checkins - is debug no longer needed for Win32 on File::Find? | 14:41 | |
audreyt | Limbic_Region: in fact... I'm on freebsd now, and cannot test | 14:43 | |
b_jonas | this is on linux, and perl allocates 400M of memory with mmap (because that's how glibc malloc handles large chunks) | ||
svnbot6 | r12801 | audreyt++ | * some t/ unbreaking using new syntax. | ||
r12801 | audreyt++ | (note that "&f = {...}" was erroneously allowed; now must always use :=) | |||
r12802 | audreyt++ | * all_parse.t: use pass() and flunk() for clearer meaning | |||
audreyt | can you see if r12802 renders the bug away? | ||
b_jonas: ah. it's plain old libc here, so the behaviour will differ | |||
(no, r12802 is not the fix itself) | |||
b_jonas | yes, that's normal. freebsd doesn't have gnu libc | 14:44 | |
I still think it should be able to allocate 400M of memory and address space though | 14:45 | ||
I mean freebsd | |||
Limbic_Region tried to use pass() and flunk() but couldn't get it to work quite right | 14:46 | ||
quite possible though that non-related problems were masking the issue | |||
I am currently building 12799 | |||
svnbot6 | r12803 | audreyt++ | * more test unbreaking | ||
TimToady | I'm building r12800 while packing... | 14:47 | |
Limbic_Region | will svn up and build again upon completion - check .debug as well as list the examples that are still failing (locally) | ||
audreyt - did you expect your change to hq9+ (plus) to result in the example parsing or just a syntax error to fix but still not passing? | 14:50 | ||
14:52
DaGo joined
|
|||
audreyt | still not passing | 14:57 | |
Limbic_Region | k | 14:59 | |
if this machine had another 1/2 gig of memory I think it would not struggle so hard with the builds | |||
Jean's new laptop flies through | |||
b_jonas | (you need so much memory for hq9+?) | 15:05 | |
Limbic_Region | b_jonas - no, building pugs | 15:09 | |
I can get through it in one pass (thanks audreyt) but it is s-l-o-w | |||
15:10
penk left
|
|||
audreyt | it's certainly memory bound | 15:11 | |
15:11
marmic joined
|
|||
svnbot6 | r12804 | audreyt++ | * Repair scan metaops: ([\+] 1, 2, 3) is now (1,3,6) again. | 15:11 | |
15:11
eden_c joined
15:14
hexmode joined,
eden_c left
15:15
bernhard joined,
kanru joined
15:28
onsen_ joined
15:29
elmex joined
|
|||
Limbic_Region waits patiently as the second compile nears completion | 15:32 | ||
integral | anyone have any ideas on what would make the pugs link fail with undefined symbol errors for lots of _Judy* things? | ||
PerlJam | The judy libs weren't compiled? :) | 15:33 | |
integral | well both judy and HsJudy are definately compiled :) | ||
But I have no idea how the cabal magic to get it to link works :-/ | |||
PerlJam | Are you *sure* they're compiled? I had a problem once where compilation failed but and empty output file was produced anyway, thus fooling the make system. (not in pugs,but some other project) | 15:34 | |
integral | I've poked them about a bit and I can't see any error messages from them | ||
At the top of the pugs part of the build I see it finding the judy stuff with "configure: Dependency HsJudy-any: using HsJudy-0.1" | 15:35 | ||
Limbic_Region | anytime I have Judy problems I look at third-party and if blindly removing files and directories there doesn't help, I make realclean | ||
integral | Is there some way to see the actual link command used? | ||
ah, realclean is more clean than distclean? | |||
Limbic_Region | realclean is definately more than clean | 15:37 | |
never use make install so never use distclean | |||
integral | what's make install got to do with distclean? | ||
Limbic_Region | isn't make dist in preparation for make install | 15:38 | |
15:38
Eimi joined
|
|||
Limbic_Region is think p5 here when you are preparing to upload to CPAN for others to make install that is | 15:39 | ||
integral | I always though the idea of make distclean was to get back to the state after untarring the distribution tarball | ||
Limbic_Region | *shrug* - the Makefile is right there - should be easy enough to see what it does | ||
Limbic_Region should have said he avoids anything he doesn't use/touch | |||
b_jonas | if you want to know what a make target does, you can also 'make -n target' not only read the makefile | 15:43 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "audreyt++ debug still necessary for File::Find - here are the examples that are still failing on my machine" (23 lines, 702B) at sial.org/pbot/19320 | 15:46 | |
Limbic_Region wanders off to lunch | |||
15:49
weinig is now known as weinig|bbl
|
|||
audreyt | hm, -CPIR appears bitrotten | 15:54 | |
audreyt ponders whether it's worth fixing | |||
oh well. sleep first. see you tomorrow... | 15:55 | ||
16:06
onsen joined
|
|||
b_jonas | see you audreyt | 16:06 | |
Limbic_Region | sleep well audreyt | 16:10 | |
TimToady | whoa! 487. Now I can go get on the airplane happy. | 16:17 | |
offline for a day or two... | |||
& | |||
Limbic_Region | are alternate delimiters for p5 regexen supposed to work? m:P5{foo} vs m:P5/foo/ | 16:19 | |
b_jonas | Limbic_Region: I think you may need a space before the bracket in that case | 16:20 | |
Limbic_Region kisses b_jonas | 16:21 | ||
b_jonas | I knew it by accident only, I've just read the relevant part of the synopsis | ||
16:22
Psyche^ joined
|
|||
svnbot6 | r12805 | Limbic_Region++ | Added space before alternate brace delimiter in regex b_jonas++ | 16:22 | |
Limbic_Region | b_jonas did you happen to come across the proper way to undef a variable? | 16:26 | |
?eval my $foo = 'hello'; undef $foo | 16:27 | ||
16:27
evalbot_12800 is now known as evalbot_12805
|
|||
evalbot_12805 | Error: unexpected "$" expecting comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input | 16:27 | |
Limbic_Region | ?eval my $foo = 'hello'; $foo = undef; | 16:28 | |
evalbot_12805 | \undef | ||
Limbic_Region wonders if they both shouldn't be considered correct | |||
16:28
fglock joined
|
|||
svnbot6 | r12806 | Limbic_Region++ | hangmanbot.pl changed undef $game to $game = undef though I think both should work? | 16:31 | |
Limbic_Region | hrrm - apparently undefine $game works where as undef does not | 16:32 | |
Limbic_Region reverts his fix for the alternative | |||
Teratogen | I think that Perl 6 should be designed so that it could be certified for use in medical devices, nuclear power stations, avionics, etc., even though it may be too slow for these applications | 16:33 | |
juat my own personal apocalypse | |||
16:34
Psyche^ is now known as Patterner
|
|||
svnbot6 | r12807 | Limbic_Region++ | hangmanbot.pl s/undef/undefine/g in undef $game | 16:34 | |
b_jonas | Teratogen: don't be riddiculous. you'd need at least a completely different garbage collector, balanced trees instead of hashes, and an OS to run it under for that | 16:37 | |
and probably lots of other things too I haven't even heared of | 16:38 | ||
16:40
xerox joined
|
|||
svnbot6 | r12808 | Limbic_Region++ | Insert space before @ in print@[... | 16:40 | |
Teratogen | just a thought =) | 16:41 | |
parrot could be the OS | |||
svnbot6 | r12809 | Limbic_Region++ | Insert space before $ in print$x; | ||
Teratogen | or virtual machine, if you will | 16:42 | |
b_jonas | parrot could be the virtual machine but you still need an OS. we're not in the 80s when computers had no OS. | 16:43 | |
svnbot6 | r12810 | Limbic_Region++ | Insert space before @ in @l[int((@l-1)/2)..int(@l/2)] | ||
16:44
amnesiac joined
|
|||
b_jonas | You have complicated hardware in today's computers. | 16:44 | |
Teratogen | heh, entire oil drilling platforms have been implemented using TCL | 16:46 | |
err, automated | 16:47 | ||
[particle] | well, just because it's done doesn't mean the language was designed to support it :) | 16:51 | |
svnbot6 | r12811 | Limbic_Region++ | Added spaces to get compiler to pass - revisiting my be warranted as some may have been parse bugs | ||
Teratogen | true | 16:53 | |
Limbic_Region | YAY audreyt - in case you backlog, only 7 failing examples now. 2 of which are really p5 code and 2 are because of unimplemented features (I think) | 16:54 | |
16:58
justatheory joined
|
|||
Teratogen | hmm, if a=>b creates a "Pair object" can't we now have builtin complex math? | 17:04 | |
well anyway it would be nice to have builtin complex math =) | 17:08 | ||
Limbic_Region | Teratogen - you planning on using Random Hermatian Matrices to solve the Riemann Hypothesis? | 17:10 | |
Teratogen | oh there is a builtin Complex type | 17:11 | |
interesting. | |||
[particle] | sure would be nice to have the url in the S29 actually be a hotlink to the pugs doc | ||
17:11
Daveman joined
|
|||
Teratogen is grazing through the design synopses | 17:12 | ||
b_jonas | I hope complex numbers will actually use the complex number functions from libc which are optimized | 17:15 | |
and won't just reimplement them in perl6 or parrot or C. | |||
Teratogen | Perl 5 has a tradition of reimplementing functions like printf, etc. | 17:18 | |
b_jonas | but that's different | ||
obra | Perl6 has a tradition of being portable to platforms with insanely broken printf ;) | ||
b_jonas | a cpu or c library can have explicit support for complex numbers and may even calculate complex trig functions more precisely and faster then anyone else | 17:19 | |
it could still have slow replacement functions in case the c library doesn't have those functions | |||
Teratogen | I wonder if the old VAX instruction set had assembly language ops for complex numbers | 17:20 | |
it was the ultimate CISC cpu design | |||
I don't see anything in the synopses about how a Complex data would be formatted if you printed it | 17:21 | ||
but then I am a Perl 6 noob | |||
b_jonas | I just can't help noticing how complex numbers are supported only by a pure-perl module in perl5 and a pure-ruby module in ruby | 17:22 | |
however as python has builtin complex numbers surely perl6 must have them too | 17:23 | ||
ingy | seen gaal | ||
b_jonas | Teratogen: I guess it has to be something like (realpart,imagpart) | 17:24 | |
that's the only format that doesn't take sides between mathematician and physician conventions (i versus j) | |||
ajs | b_jonas: I think theh implementation is more of an issue for Parrot and the other back-ends. Perl 6 will provide what support they do (for example, in v6.pm, it will probably use the P5 complex numbers module(s)) | ||
b_jonas | quite possible. then I hope parrot will use the efficent functions from libc | 17:26 | |
ajs | As for string output formatting, I imagine that it will have a knob somewhere. | ||
Teratogen | (realpart,imagpart) seems reasonable | ||
b_jonas imagines 'use complex "i";' | |||
:) | |||
Teratogen | or maybe it will just be [real,imag] | 17:27 | |
ajs | Actually, i will likely be exported by Math::Basic alone with the rest of the happy gang of math constants. | ||
er "along with" | |||
Teratogen | i would become [0,1] | ||
b_jonas | c++ uses (real,imag) I think | ||
ajs | And the more common usage would be "use Math::Basic :constants" | 17:28 | |
Teratogen | and you could have a special formatting thingie in printf that prints [a,b] as a+bi | 17:29 | |
if you prefer to output complex numbers in that notation | |||
b_jonas | the problem with that format is that it's more difficult to read back | ||
you may need some delimiter around it | |||
17:32
orbit_ joined,
orbit_ is now known as orbit
|
|||
ajs | Python, it seems, has no format string for complex. That's odd. docs.python.org/lib/typesseq-strings.html | 17:39 | |
I'm not sure what character to steal for complex... anyone have thoughts? | 17:40 | ||
C, c, are taken. as are x and X. p is taken by P5, and should be an error in p6 | 17:41 | ||
17:41
Aankhen`` joined
|
|||
svnbot6 | r12812 | markstos++ | add not that "contend" does not work in pugs 6.2.12 (r12811) | 17:41 | |
[particle] | ajs: how about m/M ? | 17:42 | |
ajs | checking 3 sources to see if it's used by anyone... | ||
[particle] | i think that's good in perl/python | 17:43 | |
ajs | m it is | ||
Was checking glibc, perl5 and python | |||
[particle] | it'll be great to have native complex sprintf formatting | 17:44 | |
ajs | So, what is m vs M? Signed vs. unsigned? Does it make sense to talk about unsigned complex? | ||
[particle] | no | ||
ajs | so just m, I would think | ||
[particle] | maybe it's just the case of e? | 17:45 | |
ajs | eh? | ||
[particle] | for exponential format | ||
of complex floats | |||
naw, you'd need a different letter for that | |||
ajs | Hrm... | 17:46 | |
[particle] | like mM are same, nN are exp format | ||
ajs | this is starting to sound like a modifier on e,f,g | ||
not a stand-alone | |||
so %me or %mE | |||
Does that make sense? | |||
and I guess %md too, if you want to truncate to integer parts | 17:47 | ||
[particle] | yep, you beat me to the last bit | ||
ajs | Ok, adding it to Functions.pod now | ||
[particle] | how about real-only or imaginary-only ? | ||
ajs | I think for that you just do something like sprintf "%f", $i.real; | 17:48 | |
[particle] | yeah, that probably doesn't belong in sprintf. | ||
17:55
orbit left
|
|||
ajs | Is %md enough, or do we need somethig like %m[d,f] (which would increase the complexity of format strings substantially) | 17:55 | |
Hrmm.... well, I'll say it's %m<directive> for now, and we can change it later | 17:56 | ||
I don't want to make too much policy in the documentatio | |||
n | |||
17:56
araujo joined
|
|||
[particle] | well, how will %md expand? | 17:56 | |
will a comma be forced? | 17:57 | ||
araujo | hello! | ||
ajs | I'm not specifying that just yet... I'll wait and see what the realities of implementation are | ||
[particle] | ok, then simple++ | ||
ajs | indeed | ||
[particle] | howdy araujo | 17:58 | |
ajs | Thanks for the idea on m. That was a good call. | 17:59 | |
araujo | hi [particle] :-) | ||
svnbot6 | r12813 | ajs++ | Nicked modifiers documentation from P5 and added complex number handling | ||
[particle] | anytime, ajs_home | ||
err... | |||
ajs | er? | ||
[particle] | ETOOMANYAJS | 18:00 | |
ajs | heh | ||
I'm me. It's OK | |||
I find myself saying that in the shower.... kind of unsettling, now that I think about it ;) | |||
fglock | araujo: you are in Venezuela, right? any chance you show up in the next hackathon? www.perl.org.br/twiki/bin/view/YAPC/YAPCSA2006 | 18:01 | |
lambdabot | Title: YAPCSA2006 < YAPC < TWiki | ||
araujo | hello fglock | 18:03 | |
fglock, right , let me check it | |||
18:04
PolettiX joined
|
|||
audreyt | Limbic_Region: the more I think your suggestion re PCR, the more it makes sense. | 18:04 | |
Teratogen | wow did I actually participate in a modification of Perl 6? | ||
I feel honored =) | 18:05 | ||
Limbic_Region | audreyt - well, I would like to be able to help more with the implementation | ||
audreyt | Limbic_Region: to mysleepy mind, I think this scenario makes sense | ||
Limbic_Region | did you see that we are down to 7 bad examples and 4 of which are explainable? | ||
audreyt | - Enable Pugs.Embed.Perl5 for VanillaPerl (should already work and/or is trivial) | ||
Limbic_Region: yes :) | |||
- Backport the PEP5 embedding flags to ActivePerl (involves tricking $Config{cl} mostly) | 18:06 | ||
Limbic_Region | which reminds me - I don't think $! is being set properly | ||
audreyt | - Enable Perl5 embedding on _all_ builds | ||
Limbic_Region | the reason all_parse.t just parses - and not runs, is because $! is 1 regardless of the program working correctly or not | ||
audreyt | - Drop PGE as the p6regex bridge (maybe enable via a pragma) by default; load perl5:PCR when a rx// is encountered | ||
Limbic_Region | and which is why I check the output of -c for syntax OK instead of checking $! | 18:07 | |
audreyt | - Calling convention into perl5:Module is handled via Moose, Data::Bind, etc, as per standard v6.pm callconv | ||
(that gives us closure and callbacks inside rules, and callbacks bothways) | |||
18:07
justatheory joined
18:08
thepler joined
|
|||
Limbic_Region | Enable Perl5 embedding on _all_ builds - by default right? It is just a shortcut for not requiring Parrot to be embedded or in the path right? | 18:08 | |
oh wait, nevermind - you are already seeing much further than I was | |||
audreyt | and then things can gradually merge | ||
as v6-Compiler pieces can be used even when pugs is the main runloop | |||
Limbic_Region | well, glad I could be a catalyst for your telescope | ||
araujo | fglock, nice , it might be possible :-) | 18:09 | |
Limbic_Region backs away very slowly | |||
fglock | audreyt: PCR could be ported to perl6 :) | ||
audreyt | well, that will make perl5 hacking a prereq ability for pugs hackers :) | ||
Limbic_Region has that ability | |||
araujo wished he had been notified about this before | |||
audreyt | fglock: yeah, v6-Grammar/ perhaps? | 18:10 | |
Limbic_Region | audreyt - so do you want me to remind you about $! not working correctly when you are awake? | ||
fglock | araujo: cool! Please let me know if you would like to submit a talk - there may be some $$ help for speakers | ||
audreyt | Limbic_Region: can you give one short example? | ||
Limbic_Region | system('pugs someexample'); | 18:11 | |
regardless if someexample runs correctly or not, $! is 1 | |||
same for qx and `` | 18:12 | ||
audreyt | fglock: I wonder if it's possible to port PCR to perl6 and still have it run with reasonable speed when used as apel5 module | ||
i.e. shared codebase | |||
Limbic_Region | of course, this was last verified the day I checked in all_parse.t so things may have been fixed | ||
Limbic_Region re-verifies | |||
araujo | fglock, sounds interesting, let me see what i can prepare | ||
audreyt | Limbic_Region: pugs> system("pugs moose"); say $! | 18:13 | |
pugs: moose: openFile: does not exist (No such file or directory) | |||
fglock | audreyt: I think so, it depends on an optimized emitter only, because rules are cached anyway | ||
audreyt | 1 | ||
Limbic_Region: it appears $! is set | |||
fglock | s/rules/rule compilation/ | ||
audreyt | fglock: an optimised Emitter::Perl6->Perl5, right? | ||
fglock | yes | 18:14 | |
Limbic_Region | audreyt - not that it isn't set, that it is always set | ||
Limbic_Region is confirming now | |||
18:14
justatheory joined
|
|||
fglock | it can be reused - actually, I think most of the perl6 version is already written | 18:14 | |
audreyt | fglock: what about the Yapp part? | 18:15 | |
fglock | it even had some tests, but may need an upgrade to latest Match object | ||
audreyt | PCR uses YAPP, which is not yet ported or made available | ||
in p6land | |||
fglock | PCR doesn't need YAPP - it's only used by v6.pm | ||
PCR just provides a wrapper | 18:16 | ||
audreyt | er. PCR uses PGPrec | ||
Limbic_Region | audreyt - it is behaving correctly, so I will add an all_execute.t which will verify all the same parsing examples execute (though they still may produce incorrect output) | ||
audreyt | and PGPRec uses PYapp | ||
Limbic_Region: there are interactive examples, though. | |||
Limbic_Region | audreyt - ahh, ok | ||
I remember what my issue was now | |||
when doing system(pugs -c example); # $! is not set regardless of compile/failure or is always set - can't remember which | 18:17 | ||
fglock | the rule compiler is written in pure rules - the Precedence parser is only used by v6 Expression parser | ||
the rule compiler should use Prec, but it doesn't ... | |||
audreyt | oh ok | 18:18 | |
Limbic_Region | but even that is working correctly now | ||
audreyt | that makes it much simpler | ||
Limbic_Region | so don't mind me | ||
audreyt | so Text::Balanced, and P5Regex | ||
is the only deps? | |||
Limbic_Region shuts up so fglock and audreyt can continue their plans of world domination (where's kudra with the money?) | 18:19 | ||
fglock | audreyt: svn.openfoundry.org/pugs/v6/v6.pm/l...6P6Rule.pm | ||
oh, money - yes | 18:20 | ||
audreyt: I started replacing Text::Balanced with rules, I don't remember if it was finished | 18:21 | ||
P5Regex is needed for char classes and such, but it can be replaced easily | 18:22 | ||
audreyt | and pugs has P5Re natively viaPCRE anyway | ||
so we can push as much as we'd like into p5re land if needed | |||
fglock | sure, so we can just write a few :P5 | ||
so what do we need, an emitter for Rule-to-Perl6 to bootstrap? | 18:23 | ||
audreyt | it appears so | 18:24 | |
alternatively, Rule-to-PCRE-with-callback | |||
fglock | in order to compile the previous link | ||
audreyt | which may actually be much faster | ||
but R->P6 is more "Correct" | |||
and as you said, the P6 part can cheat as much as it'd like with m:P5 | |||
PerlJam | you know ... whenever TimToady is here and I pay attention to #perl6, it's often like everyone is speaking another language. Right now, it's like everyone is speaking english but saying crazy things ;-) | 18:25 | |
audreyt | I think I like that :) | ||
fglock | Rule-to-PCRE would be useful to v6.pm too | ||
audreyt | you know that PCRE has nativesupport for named captures? | ||
as well as arbitrary callbacks that letyou alter the match state (\C) | |||
which can be used to implement nested capture groups | 18:26 | ||
PerlJam | fglock: What's the state of the art now? Are you just parsing or doing codegen or AST munging too? (sorry I haven't kept up) | ||
18:26
Odin- joined
|
|||
PerlJam is wondering if Rule-to-PCRE lets us bootstrap anywhere we can find PCRE (php, python, java, etc) | 18:27 | ||
audreyt | PerlJam: that is essentially my current fav plan, yes :) | ||
PerlJam: re state of the art: Test.pm passes with a all-perl chain :) and nearly 1k subtests pass out of the 10k in t/ | 18:28 | ||
PerlJam | and people said perl6 couldn't be implemented in perl5 ;) | ||
audreyt | which is why I'm gravitating from PGE/Parrot toward PCR/v6... | 18:29 | |
PerlJam | audreyt: okay, it sounds good in theory, but what does it buy us in practice? | ||
audreyt | PerlJam: in practice: mostly just speed, stability and good unicode support | 18:30 | |
Limbic_Region | for one, the need not to have parrot just for pge | ||
[particle] | pugs must be missing some <ident> tests, because the v6 rule is broken (too relaxed) | ||
Limbic_Region | which is all I was suggesting in the first place | ||
PerlJam | Limbic_Region: but you have to have *something* that groks PCRE anyway. I guess that's an easier target to aim at though :-) | ||
audreyt | well, perl5 groks PCRE | 18:31 | |
or rather, it's compatible with it | |||
or maybe it's the other way around. | |||
[particle] | i thnk you mean to say "...for some definition of compatible" | ||
fglock | PerlJam: what audreyt said :) - sorry, I was talking with someone here | ||
audreyt | the same definition as the C in PCRE :) | ||
[particle] | :) | 18:32 | |
PerlJam | so ... would there be a benefit in using one of the other PCRE host languages? Could we accrete some hackers from the clouds surrounding those other languages? | ||
fglock | Perljam: there is also some work done in Perl6-in-Perl6 | ||
audreyt | [particle]: which <ident> should not match? | 18:33 | |
PerlJam: if, at some point in time, saying -lp6re -lpcre gives you p6re syntax for an application | 18:34 | ||
PerlJam: then yeah, I think there are hackers from other lands I know of that will be greatly interested :) | 18:35 | ||
PerlJam | ah, good point that. We need a libp6re at some point. | ||
audreyt | but not aiming that far at this point... I just want to leverageas much of fglock's brain as possible | ||
(libp6re would require the callback handlers be rewritten in C instead of Hs/P6/P5) | |||
fglock | :) | ||
audreyt | (which, although kinda trivial, is also very tiresome.) | 18:36 | |
PerlJam | Hmm. No TPF funding for fglock? | ||
[particle] | audreyt: 123abc is an example that should not match | ||
fglock | emitting C from PCR would not be too difficult | ||
18:36
cj left
|
|||
audreyt | PerlJam: no SoC funding either :/ | 18:37 | |
[particle]: commit a fix into perl5/Pugs-Compiler-Rule/lib/Pugs/Grammar/Rule/Rule.pm ? | |||
PerlJam | fglock: have you submitted a grant application to TPF? | ||
PerlJam thinks TPF is an easier target than SoC | 18:38 | ||
[particle] | let me make sure i can run the tests first... | ||
fglock | PerlJam: I submitted in the previous quarter | ||
[particle] | hrmm, do i need working pugs to build v6? | ||
or, p6p6 i guess i'm testing here | 18:39 | ||
PerlJam | fglock: are you planning on continuing to submit until you get awarded a grant or you've already done the work? | ||
TreyHarris | anyone know the quickest way to get the current value of svn BASE and HEAD? svn info has to contact the repository for both... | ||
PerlJam wonders if we could lobby TPF somehow :) | |||
audreyt | [particle]: no | ||
[particle] | trey, isn't there a Revision.pm somewhere? | ||
...or other config file that might have that info | 18:40 | ||
audreyt | TreyHarris: util/version_h.pl | ||
and yes, src/Pugs/pugs_version.h | |||
fglock | PerlJam: actually I was a bit disappointed with TPF, the answer was like "There was a bit of debate about it but most of it boiled down to thecost [...] There was also concern about the immediate benefit to the Perl community." | 18:42 | |
but it may be my fault, perhaps I didn't explain it clearly enough | 18:43 | ||
PerlJam | fglock: well, it sounds like we could help the TPF understand the community benefit if nothing else. | ||
How much did you ask for? | |||
fglock | 10k, which is likely above their upper limit ... | 18:44 | |
PerlJam | ouch. I don't think they're giving out much more than $5k at a time. | ||
fglock | so I can't blame them | ||
[particle] | ja, <$5k is what i heard from the horse's mouth | ||
PerlJam | [particle]: which horse? | 18:45 | |
Ovid? | |||
[particle] | bill odom | ||
PerlJam | oh, | ||
s/,/./ | |||
audreyt | I'd be happy to match TPF's $5k for fglock, but I probably can't afford $10 alone myself :) | ||
obra | 5k is the max for someone who doesn't have years of a track record in the community. | ||
audreyt | s/$10/$10k/ | ||
TreyHarris | [particle], audreyt: thanks, but i'm trying to convert my svn change explorer to Perl 6, and I noticed that its default revesion range (BASE:HEAD) always returns at least one revision if the repository's up to date, so I was looking to intercept that somehow... version_h.pl shows me how to get the value of BASE. I guess I still have to run a svn cmd to get HEAD, I just don't know which one of the many choices is most efficient | 18:46 | |
PerlJam | obra: which means ... only Damian, Larray, and very few others are going to get more than $5k | ||
[particle] | who's spearheading the p5-on-p6 effort :) | ||
PerlJam | [particle]: fglock! :) | 18:47 | |
obra | PerlJam: actually a few others as well ;) (Nick is the one who most recently comes to mind) | ||
PerlJam | obra: yeah, anyone who's been a perl pumpking counts | ||
[particle] | pumpking emeritus | ||
Limbic_Region | concerning funding | 18:48 | |
audreyt | [particle]: btw, <ident> fixed. | ||
Limbic_Region | I am not real happy with the way TPF allocates resources | ||
[particle] | audreyt: C<svn up> just finished :) | ||
PerlJam | I don't have any money to give, but I'll be happy to help anyone here obtain funding from elsewhere if I can | ||
Limbic_Region | if someone wanted to set up a fund where donations could be designated to individuals (audreyt, fglock, gaal, etc) | 18:49 | |
I would be happy to donate $x / $y interval | |||
and if $z people also contributed, there would be more $ to go around | |||
svnbot6 | r12814 | audreyt++ | * Pugs::Compiler::Rule: <ident> now rejects beginning-with-digit tokens, as prompted by particle++. | 18:50 | |
PerlJam | Limbic_Region: I'd hate to bifurcate the donation efforts. Better might be to fix TPF (also harder, I know) | ||
Limbic_Region contributed regularly to the PerlMonks fund until he found out there is no public record of what the money was spent on, how much money was in reserve, or any plans on using the money in the future | |||
PerlJam - I haven't mentioned it before because I felt the same way | |||
but if I don't give two shits about the tax free status - I should be able to say where and how my money is spent | 18:51 | ||
I still contribute to TPF, but in much smaller amounts and not regularly | |||
PerlJam | Limbic_Region: there ar other perl luminaries that don't contribute to TPF because they think it's slightly borked. (mjd comes to mind) | 18:52 | |
18:52
b_jonas joined
|
|||
fglock | I guess TPF doesn't want to split resources, by funding both Parrot and Pugs | 18:52 | |
audreyt | the parrot funding is actually a designated funding... | 18:53 | |
Limbic_Region | well, some of it is anyway | ||
the 75K is | |||
but my point is this | 18:54 | ||
PerlJam | I bet if someone setup a paypal account designated for pugs funding and laid out the plan for who was to get the money and what they would accomplish, I bet people would contribute :) | ||
Limbic_Region | nevermind, I will get hot for no reason | ||
I wouldn't even need to see what they would accomplish | |||
total contribution with a list of names and a box of what percentage goes to whom | |||
pugs was started in feb of 05 - I think it is obvious who contributes and what level that contribution is worth | 18:55 | ||
TreyHarris | i was under the impression--just by osmosis--that the eventual "plan", such as it was, was that an eventual perl 6 release would include components of parrot and pugs, and not just pugs' tests... was i mistaken? | ||
Limbic_Region | did any of you read that solicitation for TPF feedback not too long ago? | ||
PerlJam | I read it but it's since faded from memory | 18:56 | |
Limbic_Region | well, one of the replies I found very in tune with my sentiments | ||
PerlJam | TreyHarris: that's a good vague idea of the plan, sure :) | ||
TreyHarris: The problem with "the plan" is that it too is a moving target as we learn new things. | 18:57 | ||
Limbic_Region | news.perlfoundation.org/2006/08/tpf...ent-109232 | ||
PerlJam | Limbic_Region: yep, that's about the size of it. | 18:58 | |
What's weird is that I know there are many people who have these gripes about TPF, but TPF doesn't seem to acknowledge or respond to them | 18:59 | ||
Limbic_Region | so to re-iterate, if anyone sets up something where I can designate who my money goes to, I would be happy to contribute $x / $y interval | ||
18:59
prefiks joined
|
|||
Limbic_Region | I don't care what they spend it on, after watching this project for a year and a half - I trust the money will be put to good use | 18:59 | |
TreyHarris | Limbic_Region: are you Garrett? | 19:00 | |
Limbic_Region | no | ||
perlbot Limbic_Region | |||
hrmm - I thought perlbot had an entry for me - must be purl | 19:01 | ||
TreyHarris | i tried that :-) | ||
oh. I just read that comment on the page you sent about TPF and was going to respond if you were Garrett | |||
fglock | re TPF PR, I try to learn some lessons from it, as I'm now president of brazilian perl society | ||
Limbic_Region | here's what purl has to say about me - somebody said Limbic_Region was a crazed homocidal maniac seeking someone to endure the ramblings of a mad man who happens to hack on Pugs/Parrot/Perl6 | ||
PerlJam | Limbic_Region: you're an insane monk? :) | 19:02 | |
Limbic_Region | or inane | 19:03 | |
TreyHarris | i'll respond anyway FYI: I'm on a couple of nonprofit boards, and while total openness is a good thing in theory, the requirements of fiduciary responsibility sometimes force a board to default to silence, even in cases where openness is desired even by the board. it can be very frustrating. | 19:04 | |
Limbic_Region | TreyHarris - I don't have strong issues with TPF | ||
though I might if I looked closely as others apparently have | 19:05 | ||
I am just saying it doesn't work for what I would consider donating money for | 19:06 | ||
PerlJam | TreyHarris: can you give an example that forces silence? | 19:07 | |
Limbic_Region | PerlJam - asking must be one of the examples | 19:11 | |
Limbic_Region ducks | |||
PerlJam | heh | ||
19:12
wilx joined
|
|||
[particle] | how do i build & test p6p6? C<nmake build_perl5 && nmake test>? | 19:16 | |
prove6? | |||
fglock | [particle]: do you mean v6/v6? | 19:17 | |
[particle] | sorry, yes | ||
it's been a while since i've done this | |||
fglock | it is work in progress - but you can compile the files with plain perl5, if you have v6.pm installed | 19:18 | |
but you'll get some errors | |||
[particle] | compiling grammar for miniperl6 gives me substr and uninit warnings | ||
audreyt | win32 embedding works. | 19:22 | |
svnbot6 | r12815 | ajs++ | Fixed incorrect mapping of q and L to types and also added examples -- also tried to clean up usage of C terminology to be more VM-friendly. Not sure if I helped or not | ||
fglock | [particle] v6/v6-Compiler is a perl6-level compiler; v6/v6.pm is an api-compatible perl6 version of v6.pm | ||
both are very experimental | |||
[particle] | fglock: my goal is to get the parrot/perl6 and v6 parser grammars in sync | 19:23 | |
Limbic_Region | audreyt - you aren't asleep yet? | 19:24 | |
[particle] | i need to be able to test v6 in order to do that | ||
fglock | [particle]: you need perl5/Pugs-Compiler-Perl6 - that's the working compiler | ||
svn.openfoundry.org/pugs/perl5/Pugs...s/Grammar/ | 19:26 | ||
lambdabot | Title: Revision 12815: /perl5/Pugs-Compiler-Perl6/lib/Pugs/Grammar | ||
[particle] | ...and i build that from pugs with C<nmake build_perl5>, right? | ||
fglock | [particle]: you can install v6.pm from CPAN, in order to get all dependencies, and then just update it by installing the svn version | 19:27 | |
[particle] | ok | 19:29 | |
fglock | [particle]: you can interrupt the v6.pm tests after 20 or so passes, and then force install it | 19:30 | |
19:32
xerox joined
|
|||
fglock | [particle]: syncing the grammars is complicated because PCR and PGE have different subsets of the rule language implemented so far | 19:34 | |
[particle]: specifically, PCR uses perl6(ish) callbacks for doing tree operations, instead of TGE | 19:37 | ||
[particle] | how many levels of transformation are there? | ||
perl 6 -> parse -> emitted code? | 19:38 | ||
parrot is currently perl 6 -> parse -> PAST -> POST -> PIR | |||
fglock | there are only a few transformations, for example to make a recursive rule into a list of matches | 19:39 | |
so it's mostly perl6 -> parse and preprocess -> process-again and emit | |||
the emitter does some transformations too (perl5 specific) | 19:40 | ||
ingy | fglock! [particle]! | ||
audreyt! | |||
fglock | ingy! | ||
ingy | can you guys tell me the easiest way to parse python using Haskell? | 19:41 | |
fglock | ingy: mm - somebody asked me to write a python-to-perl5 compiler | 19:42 | |
ingy | did you? | ||
gaal | ingy: use Parsec to do the parsing, use HsSyck to emit the AST for testing | 19:43 | |
fglock | but I'd use perl5 instead, by replacing v6.pm grammar | ||
ingy: no, but I'm still thinking about it | 19:44 | ||
ingy | so is there a good way to turn the Python grammar into Parsec code? | ||
gaal | hmm, scw is making a Perl 6 Rules -> Parsec convertor you should look at | ||
ingy | gaal: where? | ||
gaal | so if you have the Python grammar in Rules, maybe :) | ||
ingy | :) | 19:45 | |
gaal | ingy: misc/pX/scw | ||
ingy | ok | ||
19:45
mdiep joined
|
|||
gaal | I don't know what its status is. | 19:45 | |
[particle] | howdy ingy! | ||
gaal | but ingy, Parsec itself isn't that hard | ||
audreyt | ingy: #haskell will be useful for this :) | ||
ingy | I ned to port pyyaml to perl and I'm thinking... how boring of me | ||
audreyt: I might be too noob | 19:46 | ||
for #haskell. but ok | |||
fglock | there is a Parsec converter is in perl5/Pugs::Compiler::Rule | ||
audreyt | fglock: are you on vanillaperl? | ||
fglock | audreyt: I'm on ubuntu, but I can switch to it | 19:47 | |
svnbot6 | r12816 | audreyt++ | * First attempt at win32 perl5 embedding -- works on vanillaperl here. | ||
gaal | whoo! | ||
ingy | :D | ||
audreyt++ # indeed | 19:48 | ||
fglock | audreyt: I'll try to recompile - but it'll take some time | ||
Limbic_Region is on ActiveState | 19:49 | ||
19:49
araujo joined,
weinig|bbl is now known as weinig
|
|||
audreyt | Limbic_Region: trying AS now | 19:50 | |
Limbic_Region | just ran perl Makefile.PL | 19:51 | |
should I be concerned that the message at the end says p5 embedding is disabled? | |||
audreyt | you should. | ||
that menas AS is explicitly disallowed | |||
Limbic_Region | ok, now what? | 19:52 | |
audreyt | now wait for my next commit. | ||
Limbic_Region gives up trying to tell her she should go to sleep | 19:53 | ||
unless of course this is a non-$work day | |||
audreyt | it actually is. | 19:54 | |
[particle] thinks audreyt can take care of herself (and can code in her sleep anyway) | |||
wolverian | audreyt, yay, thanks for fixing feather's pugs :) | ||
Limbic_Region | wait, before you do anything | ||
is this p5 embedding on by default | |||
or just, if you enable p5 embedding - it should work | 19:55 | ||
I ask because I didn't explicitly set PUGS_EMBED | |||
Limbic_Region sets in anyway to see what happens | |||
araujo | hello all | ||
Limbic_Region | salutations | 19:56 | |
fglock | audreyt: is there a windows binary build for ghc 6.5, or are you using 6.4? | ||
19:56
larsen joined
|
|||
Limbic_Region | fglock - yes | 19:56 | |
but don't use the latest snapshot - use the one from the 19th | |||
link in a sec | |||
[particle] | i wonder, if audrey can code in her sleep, why does she ever wake up? | ||
Limbic_Region | fglock - www.haskell.org/ghc/dist/current/di...w32.tar.gz | 19:57 | |
fglock | Limbic_Region: thanks | 19:58 | |
svnbot6 | r12817 | ajs++ | Created "Scalar" API document and moved methods out of the main Functions document into there. | ||
r12816 | audreyt++ | * First attempt at win32 perl5 embedding -- works on vanillaperl here. | |||
Limbic_Region | shouldn't that be s/First/Second/ | 19:59 | |
araujo | oh no, the haskell book section on READTHEM is missing the best book! | 20:01 | |
Limbic_Region | ok - what EXACTLY do I have to do to try p5 embedding in AS | ||
IOW, do I have to set PUGS_EMBED or not and do I have to build clean or not | |||
cognominal | araujo: what is this book? | 20:02 | |
araujo should start using his commit bit with this fix :-) | |||
cognominal: Introduction to Functional Programming | 20:03 | ||
audreyt | Limbic_Region: rm dist/build/pugs/embed/perl5.* | 20:04 | |
Limbic_Region: set PUGS_EMBED=perl5 | |||
Limbic_Region | attempting now | 20:05 | |
audreyt | and don't run MAkefile.PL. | ||
Limbic_Region | oops | 20:06 | |
Limbic_Region doesn't know how to undo a run Makefile.PL | 20:07 | ||
audreyt | don't need to | ||
Limbic_Region | k | 20:08 | |
audreyt | ...committing | 20:09 | |
Limbic_Region | ok - will nopaste current error then in case it is relavent | 20:10 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "current build failure on Win32 trying to embed perl 5" (16 lines, 895B) at sial.org/pbot/19328 | 20:11 | |
audreyt | test with | 20:15 | |
svnbot6 | r12818 | audreyt++ | * extremely klugy way to get ActivePerl +p5embed to compile. | ||
audreyt | pugs -Mperl5:CGI -e "say CGI.new" | ||
I'll look at method dispatch, dynaloader etc later | 20:16 | ||
but that's secondary | |||
also, unklugifying r12818 would be appreciated | |||
Limbic_Region | did you see my current build failure? | ||
audreyt | yes. try r12818 | ||
actually, don't; try r12819 :) | 20:17 | ||
svnbot6 | r12819 | audreyt++ | *oops. | ||
r12818 | audreyt++ | * extremely klugy way to get ActivePerl +p5embed to compile. | |||
audreyt | you should see, at end of compilation: | 20:21 | |
gcc: unrecognized option `-nologo' | |||
gcc: unrecognized option `-GF' | |||
gcc: unrecognized option `-Zi' | |||
Limbic_Region | trying 12818 | ||
audreyt | those are expected (help welcome to filter them out); the resulting pugs.exe should still work | ||
12818 will not work. | |||
12819 probably will | |||
Limbic_Region | oh, I misparsed actually, don't; try r12819 :) | 20:22 | |
audreyt | :) | ||
sorry, kinda late here. | |||
(bbiab) | |||
Limbic_Region | currently dying at line 294 in Makefile.PL " $Config{lddlflags} =~ s/-libpath:"?(.*?)"? //g or die;" | 20:27 | |
but I have to go so perhaps later in your day or tomorrow night | |||
20:33
lichtkind joined
|
|||
lichtkind | hej folks hi PerlJam | 20:33 | |
PerlJam i hope i did not raise ecpectations too much | 20:34 | ||
svnbot6 | r12820 | fglock++ | * v6 - added Pugs::Runtime::Capture.pm | 20:40 | |
kane-xs | seen audreyt | 20:41 | |
audreyt | kane-xs: pong. going to sleep in a bit | 20:42 | |
if anyone on activeperl cares to try out p5embed, please report the result here :) | 20:43 | ||
svnbot6 | r12821 | audreyt++ | * fix again according to L~R's feedback | ||
audreyt | the steps are: | ||
kane-xs | audreyt: check privmsg on irc.perl.org | ||
audreyt | rm dist/build/Pugs/Embed/Perl5* | ||
set PUGS_EMBED=perl5 | |||
perl Makefile.PL | |||
nmake | |||
kane-xs | audreyt: p4 server and p4web up and running | ||
and that change to your account you requested has been done.. output in privmsg on irc.perl.org | |||
audreyt | kane-xs: got it. thanks! | 20:44 | |
audreyt goes sleeping | |||
kane-xs | nn audreyt | 20:45 | |
20:52
xinming joined
|
|||
araujo been reading the pugs code | 20:53 | ||
very clear indeed :-) | |||
araujo has noticed some 'redundant' do | |||
SamB | you mean like do do do return ()? | 20:59 | |
araujo | Well, no really redundants, probably no needed. Like, do x >> y >> .... do z >> y | 21:01 | |
SamB | oh | ||
well, mine were redundant too! though syntactically invalid... | |||
21:01
xinming_ joined
|
|||
araujo | haha :-) | 21:01 | |
xerox | ?type \it -> let please = id in please do do do please do please do do do it | ||
lambdabot | parse error on input `do' | 21:02 | |
SamB | at least, I assume so... | ||
xerox giggles | |||
SamB | > do do do return () | ||
lambdabot | add an instance declaration for (Show (m ())) | ||
araujo | @type do do putStr >> return () | ||
SamB | oh wait, nope! | ||
lambdabot | String -> () | ||
SamB | huh | ||
araujo | :-) | ||
SamB | it seems like do is sometimes allowed places and sometimes it is... | ||
er. | |||
sometimes not. | |||
21:03
Limbic_Region joined
|
|||
Limbic_Region | seen audreyt | 21:04 | |
.seen audreyt | |||
21:14
glasser joined
|
|||
b_jonas | Limbic_Region: try a "!" but she last talked on this channel at 22:44 "audreyt goes sleeping" | 21:16 | |
Limbic_Region | thanks | ||
got home and things are looking much better for p5 embedded using AS perl | |||
running final step now | |||
b_jonas - how far back does your scrollback go? | 21:18 | ||
svnbot6 | r12822 | audreyt++ | * more tweaks to make vanilla and activeperl happy | ||
Limbic_Region | I can't seem to get to the irc logs | ||
21:19
fglock left
|
|||
b_jonas | 20:52 | 21:19 | |
Limbic_Region | I have pugs built with p5 embedded but need to test it - audreyt pasted a very short 1 liner | ||
something along the lines of pugs -M<module> -e "thingy" | |||
b_jonas | pugs -Mperl5:CGI -e "say CGI.new" | 21:20 | |
I think that's it | |||
Limbic_Region | yep | ||
will test | |||
after sleeping audreyt's latest update that is | |||
21:21
jferrero joined
|
|||
Limbic_Region | having a gig of memory with dual processors is soooo much better than 1/2 gig and a single processor | 21:22 | |
thanks b_jonas | 21:24 | ||
21:24
ruz joined
21:30
rashakil joined
|
|||
Limbic_Region | audreyt - in case you are sleeping with your eyes open or you backlog - embedded p5 works on AS perl | 21:37 | |
as of latest build - pugs -Mperl5:CGI -e "say CGI.new" returns | |||
<obj:scalar:Perl5> | 21:38 | ||
Limbic_Region does a happy dance | 21:40 | ||
Limbic_Region does a smoke | 21:46 | ||
avar | a smoke? | ||
Limbic_Region | nmake smoke | 21:48 | |
you are familiar with the smoke reports right? | |||
ajs | cpan v6: Failed 48/100 test scripts, 52.00% okay. 263/638 subtests failed, 58.78% okay. | 22:04 | |
ouch | |||
araujo | brb | 22:07 | |
22:08
araujo joined
22:12
weinig is now known as weinig|bbl
23:00
glasser` joined
23:04
markstos joined
|
|||
markstos | Is it correct that a private method would be declared as: method !my_private_meth { | 23:17 | |
S12 only mentions private methods briefly. | |||
23:25
lollan joined
|
|||
TreyHarris | markstos: i would think it would be my method... | 23:25 | |
markstos | In that case, pugs hasn't caught with with the spec, as my own play tests showed, that 'my method' doesn't hide the method from outside the class. Objects can still call it. | 23:26 | |
TreyHarris | pugs oo is very much out of date. run a smoke on the oo/ tests to see what i mean | 23:28 | |
pasteling | "TreyHarris" at 207.171.180.101 pasted "simple given/when: why doesn't it compile?" (8 lines, 245B) at sial.org/pbot/19329 | 23:32 | |
TreyHarris | anyone got any clue as to the above pasteling? | 23:33 | |
markstos | It passes pugs -c with r12822 | 23:34 | |
TreyHarris | ohhh | ||
thanks | |||
markstos | But if I had to guess, it looks like something I ran into. It might work to compare $x.ref to 'Num' instead of Num, even though your code looks more spec-compliant. | ||
TreyHarris | i was using an older rev because i was making current | 23:35 | |
markstos | It actually works with the current rev. Neat! I'll have to refactor some of my code to use this style now. | 23:37 | |
23:37
christo joined
|
|||
TreyHarris | yes... fixing the test suite after the last smoke to remove now-functioning todos last night gave me a great deal of insight into what's now working that didn't used to :-) | 23:38 | |
markstos | Ah. |