»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
00:04
kborer_ left,
kborer_ joined
00:05
kborer_ is now known as kborer
00:06
kborer left,
justatheory left
00:07
justatheory joined
00:08
justatheory_ left,
kborer joined
00:14
beggars left
|
|||
jnthn -> sleep | 00:15 | ||
00:20
Chillance left
00:44
rewt joined
00:51
justatheory left,
justatheory joined,
meppl left
|
|||
pugs_svn | r27397 | lwall++ | [STD,CORE,Cursor,etc] | 00:58 | |
r27397 | lwall++ | move to an OO model of STASHes and NAMEs | |||
r27397 | lwall++ | remove ->stash indirection | |||
r27397 | lwall++ | canonicalize_name now leaves :: on parent package names | |||
r27397 | lwall++ | recombine notion of symbol table object with stash (assuming object does Hash) | |||
r27397 | lwall++ | immutable type object no longer points to mutable symbol table | |||
r27397 | lwall++ | add debugging symbol for output on symbol tables | |||
r27397 | lwall++ | declarand now remembers pad to export into even if $*CURPAD changes | |||
r27397 | lwall++ | BEGIN/INIT/START/ENTER/FIRST are now statement prefixes (block or statement) | |||
r27397 | lwall++ | various small bugfixes and simplifications | |||
01:05
fridim_ joined
01:20
justatheory left
01:41
payload joined,
molaf_x joined
01:58
KyleHa joined,
molaf left
01:59
FurnaceBoy left
|
|||
KyleHa | Where would be a good place for a test for rt.perl.org/rt3/Public/Bug/Display.html?id=60408 ? | 02:22 | |
I've spent like a half hour trying to figure it out. I'm thinking somewhere in S06, perhaps in a new section devoted to perl5ish declarations. | 02:23 | ||
TimToady | S06-signature, I'd guess | 02:27 | |
since implicit @_ is really a (*@_) sig in disguise | 02:28 | ||
KyleHa | OK, thanks. | ||
That narrows it down a bit. | 02:29 | ||
Oh yeah, positional.t is nice and small. I'll bloat that up. | |||
TimToady | bloat away | 02:31 | |
02:36
sri_kraih left
|
|||
pugs_svn | r27398 | kyle++ | [t/spec] Test for RT #60408 | 02:40 | |
02:43
payload left
03:29
frew__ joined
|
|||
pugs_svn | r27399 | lwall++ | [S04] allow certain value-producing blocks as statement prefixes | 03:34 | |
03:40
drbean joined
|
|||
KyleHa | rakudo: for (1,2,3) -> $a,$b { say "$a, $b" } | 03:43 | |
p6eval | rakudo 6a4d66: OUTPUT«1, 2StopIterationin Main (/tmp/SxrH6mlYwx:2)» | ||
KyleHa | Is that what's supposed to happen? Run time error? | ||
04:00
KyleHa left
04:03
justatheory joined
|
|||
skids resigns for the evening also too youbetcha. | 04:04 | ||
04:06
rewt left
04:21
alester joined
04:25
skids left
04:30
xomas left
05:20
amoc joined
05:45
Pismire joined
05:56
alester left
05:58
azawawi joined
|
|||
azawawi | good morning | 05:58 | |
06:01
payload joined
06:05
azawawi left
06:09
joerg__ joined
06:12
PZt joined
06:15
ejs joined
06:23
Pismire left,
iblechbot joined
06:25
ejs1 joined
06:27
ejs left
06:28
cotto left
06:29
cotto joined
06:36
ejs2 joined
06:47
ejs1 left
06:48
joerg__ left
06:54
molaf_x left
06:56
ejs2 left
06:58
desertm4x joined
07:04
szabgab left
07:05
nbrown left
07:07
eMaX joined
07:08
meppl joined
07:10
finanalyst joined
07:19
szabgab joined
07:24
tann joined
07:31
azawawi joined
|
|||
azawawi | literal: ping | 07:31 | |
@tell literal i started today integrating grok with Perl 6 plugin. grok --index is really useful. The S29 pod parsing is not really my idea. It was masak's (use.perl.org/~masak/journal/38212). | 07:33 | ||
lambdabot | Consider it noted. | ||
azawawi | @tell literal it would be great if grok can output its STDOUT to a file directly. That way I will not get a black command line terminal popup when running in win32 non-console wperl.exe . | 07:37 | |
lambdabot | Consider it noted. | ||
mberends | phenny, tell DanielC gitorious.org/parrot-module-lib/main updated | 07:46 | |
phenny | mberends: I'll pass that on when DanielC is around. | ||
moritz_ | good morning | 07:51 | |
azawawi | moritz_: good morning to u 2 :) | 07:52 | |
pugs_svn | r27400 | moritz++ | [t] remove some nonsense from autoderef.t. The rest of the file is still questionable. | 08:01 | |
r27401 | moritz++ | [t] move nested_hashrefs.t to spec | 08:02 | ||
r27402 | moritz++ | [t] merge braces_in_rules.t into spec/S05-metasyntax/unknown.t | |||
moritz_ | ok, I'm offline again for a while, hope to be back on sunday evening or so | 08:05 | |
08:06
azawawi left
08:19
desertm4x left
|
|||
finanalyst | hi | 08:26 | |
can anyone tell me whether rakudo programs can be given options as well as arguments, eg -o=10 and if so how do i get the option | 08:27 | ||
dont think so, but just checking | |||
08:33
frew__ left
08:38
ejs0 joined
08:53
xinming_ joined
08:57
DemoFreak joined
08:58
tann left
08:59
xinming left
09:03
estrabd left
09:05
barney joined
09:07
eMaX left
09:11
dukeleto_ left
09:17
azawawi joined
|
|||
azawawi | hi | 09:20 | |
@tell literal the following grok code fails on a couple of synopsis-es, gist.github.com/140511 | 09:24 | ||
lambdabot | Consider it noted. | ||
09:30
ejs0 left
09:41
buubot left,
buubot joined
|
|||
jnthn | o/ | 10:09 | |
azawawi | jnthn: hi :) | 10:13 | |
10:14
Tim___ joined
10:19
Patterner left
|
|||
jnthn | hi azawawi | 10:21 | |
10:24
Tim___ left
10:26
joerg__ joined
10:28
joerg__ is now known as Pismire
10:35
azawawi left
10:45
masak joined
|
|||
masak | greetings gentlemen. | 10:45 | |
10:46
iblechbot left
|
|||
masak | re the behaviour of the minmax operator from a few days ago: isn't it desirable to define minmax in such a way that '@a [minmax] @b' yields '(@a [min] @b), (@a [max] @b)'? | 10:50 | |
10:51
sri_kraih joined,
Pismire left
10:56
icwiener joined
|
|||
masak | phenny: tell KyleHa re StopIteration: no, I don't think that is what's supposed to happen. I for one dislike that behaviour. here's one rakudobug ticket about it: rt.perl.org/rt3/Ticket/Display.html?id=66890 | 11:01 | |
phenny | masak: I'll pass that on when KyleHa is around. | ||
11:03
sparc left
11:04
sparc joined
11:07
scottp joined
11:09
amoc left
11:12
amoc joined
|
|||
masak reads and likes use.perl.org/~scrottie/journal/39067 | 11:20 | ||
scottp | Hey Masak - was just about to write to you on github | 11:23 | |
11:23
Tim___ joined
|
|||
scottp | Is there a way/plan/reason to get proto to access the perl6 modules in pugs/ext ? | 11:23 | |
masak | scottp: haven't thought about that before. no-one much works on the modules in ext/ in the Pugs repo. when some of the modules were revived, they were moved to the perl6-examples repo on github, IIUC. | 11:28 | |
but given that loading stuff from ext/ in the Pugs repo is actually what someone wants, I don't see any problems with adding that as a repository type to proto. | |||
that's actually quite timely, since I was planning to OO-ify that part of the proto source code anyway. | 11:29 | ||
scottp | The reason I noticed, is that on the wiki it suggest someone writes File::Spec - but it already exists in pugs. | ||
The question is, do we manage them independently - ie. copy what is useful, or keep what is there? | 11:30 | ||
masak | I don't have a stake in either modus operandi, but the trend lately has been towards the former. (meaning, I don't know of someone who maintains modules in the Pugs repo) | 11:34 | |
11:34
payload left,
payload1 joined
|
|||
masak | scottp: I'd be (pleasantly) surprised if you could find even one module in that ext/ dir that ran unchanged in Rakudo. | 11:38 | |
11:52
payload1 left
11:56
azawawi joined
|
|||
azawawi | hi | 11:56 | |
masak | o/ | 11:58 | |
12:08
azawawi left
|
|||
jnthn | oh noes...the airline I'm meant to be flying to YAPC::EU with maybe is going to has a fail... | 12:09 | |
mberends | jnthn: if u haz enuf time, i may come and give u a lift :) | 12:20 | |
scottp | masak: thanks that makes sense - I will port what I need then. | 12:22 | |
12:23
iblechbot joined
|
|||
jnthn | mberends: That's quite a detour! ;-) | 12:25 | |
mberends | the reward of going somewhere is also the journey ;) | 12:26 | |
jnthn | True. :-) | ||
OK, lunch, then I'll try and get this traits refactor wrapped up. | 12:27 | ||
12:37
Guest99280 left
12:38
M_o_C joined
|
|||
masak | nice! if jnthn starts hacking on Rakudo after lunch, I'll give some attention to porting Template and MarkupTemplate from Genshi to Hitomi. | 12:42 | |
12:44
amoc left
|
|||
jnthn has just finished nomming a tasty ham salad | 12:48 | ||
12:49
Pismire joined
|
|||
masak | my lunch doesn't have a succinct name like that, but it had a lot of very good ingredients. :) | 12:49 | |
mberends | jnthn: could you please comment on the sanity of the following plan to give modules Unicode names, :ver and :auth capability: gitorious.org/parrot-module-lib/mai...ine-66.pir | 12:51 | |
jnthn | mberends: Sure, moment. :-) | 12:52 | |
Just got one thing to sort out quickly before I dig into Rakudo. :-) | |||
12:59
Tim___ left
13:01
Whiteknight joined
13:02
skids joined
|
|||
jnthn | ok, back | 13:03 | |
.oO( even compiler writers have to do the laundry ) |
|||
skids | .oO(damn, and I had just managed to conveniently forget the laundry) |
13:05 | |
masak | time to do some serious coding! | 13:06 | |
jnthn | mberends: # Translate the :ver and :auth values passed (or absent) to regexes. | ||
Are regexes the best way? | |||
mberends: I worry a little about e.g. versions like 1.10.5 vs 1.2.3 | 13:07 | ||
mberends | some of the possibilities in S11 look very similar to regexes already | ||
jnthn | I guess the second should come before the first, right? So for version at least we'd want to do numeric processing? | ||
mberends | yes, that's a ranking matter | 13:08 | |
jnthn | OK | ||
It's not a serious concern, jut though worth mentioning. | |||
Overall it looks like you're probably hooking it in the right place. | |||
Of course, the details of the module database I guess are kind of interesting. | |||
Will there be separate per-user and system wide DBs, for example? | 13:09 | ||
I'd suspect there would need to be to support local module installation. | |||
mberends | that's what some people are suggesting, and maybe enlisting PERL6LIB at that level | ||
no problem extending the concept to multiple DBs | 13:10 | ||
masak | flexibility is worthwhile, but please keep it simple, with an eye to extending things in various directions later. | 13:11 | |
just seeing a proof-of-concept of the discussed ideas would help make everything much more concrete. | |||
jnthn | Sure, simple and working beats complex and not working. :-) | ||
masak | that, too. :) | ||
mberends | the initial implementation will be the smallest one that works minimally | 13:12 | |
masak | but even a working complex system will suffer from parts unexpectedly not being needed after all. | ||
mberends++ | |||
mberends | Keep It Simple, Stupid (KISS) | ||
masak | striving for perfection by removing cruft. | 13:14 | |
look at git -- people love it because it's built on a few basic concepts, and runs with them. | |||
scottp | Is perl6-examples a good place to port the cookbook examples from bugs to work with rakudo? | 13:15 | |
masak | s/bugs/Pugs/ ? :) | ||
if so, yes. | |||
scottp | yes pugs - ta | 13:16 | |
masak | scottp: pmichaud liberally gives out commit access to perl6-examples. | ||
scottp | Thanks, I have it already | ||
masak | excellent. | 13:17 | |
jnthn | ooh, no wonder I broke so many roles tests...I broke parsing of parametric roles. | 13:19 | |
jnthn is relieved it may be an easier fix for those than he had feared | |||
masak | ugh, many Genshi tests need porting... | 13:20 | |
I need a reward system if I'm to get through this. :) | 13:21 | ||
13:23
amoc joined
|
|||
masak pulls out the chocolate | 13:26 | ||
jnthn looks envious | |||
masak | not much left, though. I may need to go get some more soon. | ||
jnthn | postcircunfix # not my most cunning typo... | 13:28 | |
13:36
riffraff joined
13:42
Pismire left
|
|||
masak | rakudo: class A {}; constant B = A; my B $c = A.new; my A $d = B.new | 13:42 | |
p6eval | rakudo 6a4d66: ( no output ) | ||
masak | rakudo++ | ||
jnthn | rakudo: class A {}; constant B = A; my B $c = A.new; my A $d = "fail" | 13:43 | |
p6eval | rakudo 6a4d66: OUTPUT«Assignment type check failed; expected A, but got Strin Main (/tmp/MQomqxxweP:2)» | ||
jnthn | \o/ | ||
13:44
justatheory_ joined
|
|||
masak | rakudo: constant A = Str; my A $d = 'how about this?' | 13:44 | |
p6eval | rakudo 6a4d66: ( no output ) | ||
masak | yay. | ||
13:45
Minthe joined
|
|||
Minthe | Hello, but may I ask for a question about building pugs? | 13:47 | |
13:48
meppl left
|
|||
masak | Minthe: sure, go ahead. | 13:48 | |
(and next time, just ask) | |||
13:50
ruoso joined
13:51
mvuets joined
|
|||
Minthe | make does not seem to parse Makefile corrctly | 13:52 | |
buu | woah | ||
Notices | |||
ruoso | hmm... it seems that the Notre Dame de Paris has a role in STD now... | 13:53 | |
lambdabot | ruoso: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
masak | ruoso: how so? | 13:54 | |
ruoso | :) | ||
$QUASIMODO++ | |||
jnthn | :D | ||
masak | :) | ||
yeah, look at that. $QUASIMODO. | 13:55 | ||
jnthn | Wheee...finally fixed trait_mod:<does>. | ||
bwaha | |||
That's awesome. | |||
TimToady++ | |||
Minthe | #So how can I building? My pugs is still r24512, because I cannot build new revision | ||
ruoso | I'm not sure what it means, but it's certainly cool | 13:56 | |
masak | ruoso: it's unset in quasi quotes, it seems. | ||
ruoso | I think it's quasi quotes mode | 13:57 | |
masak | Minthe: for what it's worth, I get the same error here when I try to make manually. | ||
jnthn | Pugs is not really maintained these days. Folks tend to be using other Perl 6 implementations more. | ||
13:58
wknight8111 joined,
wknight8111 left
|
|||
ruoso happy that TimToady promoted the '::' post-sigil to STD | 13:58 | ||
13:58
wknight8111 joined
|
|||
masak | ruoso: something like that. STD.pm:41 describes it with "don't carp about quasi variables" | 13:58 | |
ruoso | no more globs :) | ||
13:58
Whiteknight left
|
|||
jnthn | Minthe: If you want to play with Perl 6 rather than play with Pugs specifically, you may be better trying another compiler instead. | 13:58 | |
(Rakudo is best mix of features and active development.) | 13:59 | ||
masak | Rakudo rocks. | 14:00 | |
14:00
justatheory left
|
|||
scottp | Why would this not work: class Foo { submethod DESTROY{ say 'bang'; }} my $foo = Foo.new; - I don't get the say as the object is destroyed. | 14:01 | |
mvuets | A lot of viagra has come today via pugs' trac tickets: dev.pugscode.org/timeline | ||
jnthn | Maybe that'll raise Pugs development again. | 14:02 | |
scottp | thaha | ||
mvuets | (= | 14:03 | |
jnthn | scottp: I believe DESTROY is unimplemented at the moment. | ||
scottp | jnthn: aha :-) thanks | ||
jnthn | scottp: Also, you can't rely on it being fired at any particular point in time, though it should get fired at some point before shutdown. | ||
(Once we implement it, that is.) | 14:04 | ||
14:04
amoc left
|
|||
mvuets | Good joke of TimToady++ about Quasimodo, btw (: | 14:04 | |
14:04
amoc joined
|
|||
jnthn | make spectest && make cuppa-tea | 14:04 | |
14:05
eMaX joined
|
|||
ruoso | jnthn, are you really going to wait for all the spectest before making the tea? :) | 14:06 | |
masak | mvuets: not sure if it's a joke. maybe there's an actual humpback bell ringer involved somewhere in STD.pm... :P | ||
jnthn | ruoso: fork that... | ||
:-) | |||
ruoso | :P | 14:07 | |
jnthn | ruoso: Actually I make fruit tea where you gotta leave the bag in for a few minutes to infuse anyway. So now the race is one. Do I get my spectest results first, or my tea? | ||
mvuets | masak, who knows... (: | ||
jnthn | s/one/on/ | ||
masak | spectests clock in on 24 minutes here nowadays. | 14:08 | |
jnthn | yeah | ||
long time. | |||
ruoso | heh... | 14:09 | |
masak | but shorter than a month ago. | ||
Rakudo is getting faster. | |||
jnthn | Aye. | 14:10 | |
ruoso | and mildew is getting slower ;) | ||
jnthn | Well, maybe a bit early to worry about performance just yet. | ||
imo | |||
Rakudo didn't worry about it for quite a while. :-) | |||
14:12
amoc left
14:13
amoc joined
|
|||
Minthe | OK, now I removed old cabal and began reinstallation... | 14:16 | |
s/cabal/all files of Pugs/ | |||
14:16
amoc left
|
|||
masak | Minthe: do you have any specific plans with Pugs? | 14:16 | |
14:18
last joined
|
|||
Minthe | No, but one day I failed to compile "perl6.c" (aka pbc-to-exe perl6.pbc). | 14:18 | |
14:18
nihiliad joined,
scottp left
|
|||
jnthn | Minthe: Ah. Was that recently? | 14:18 | |
Minthe | Pugs is stable binary perl6 | 14:19 | |
Ah... about one month ago I think | |||
jnthn | OK. I think in that timescale the pbc-to-exe has been improved. | ||
14:19
amoc joined
|
|||
jnthn | Certainly it works a load better under Win32. | 14:19 | |
Minthe | OK | 14:20 | |
pmichaud | Good morning, #perl6 | 14:40 | |
jnthn | morning, pmichaud | 14:41 | |
masak | y0, pmichaud | 14:43 | |
so, when I pass parameters, a => "b" is a named param_, whereas "a" => "b" is a positional Pair? | 14:44 | ||
pmichaud | yes. | 14:45 | |
masak | can I have a named param called '@foo'? | 14:46 | |
14:46
eMaX left
|
|||
pmichaud | sure: sub bar(:@foo) { ... } | 14:46 | |
rakudo: sub bar(:@foo) { say @foo.elems; }; bar(foo => [1,2,3]) | |||
p6eval | rakudo 6a4d66: OUTPUT«3» | 14:47 | |
masak | wouldn't that one be named 'foo'? right. | ||
I can't send it in as '@foo'. | |||
pmichaud | right. | ||
masak | (I'm designing the Hitomi API right now, that's why I'm asking.) | ||
pmichaud | oh, you meant a named argument called '@foo'? I think that named arguments are limited to valid identifiers | ||
masak | yes, I think so too. | ||
but it's really no problem, since I can check @_ for Pairs. :) | 14:48 | ||
pmichaud | that sounds like another Perl 6 quote: "I want to do Y, but it's really no problem, since I can do X... " :-) | 14:49 | |
masak | aye. and the old tradeoff between user convenience and programmer convenience is in there too. | 14:50 | |
M_o_C | I suppose it's the "but it's really no problem" part that distinguishes Perl 6 from most other languages? ;) | 14:52 | |
masak | you'd be surprised. :) | 14:53 | |
after one year of programming Perl 6 every day, I can attest that it's really no problem. | |||
well, um, when things work. :P | 14:54 | ||
M_o_C | hehe :D | ||
masak | but they do nowadays, surprisingly often. | 14:55 | |
gone are the days when I would try a new feature with trepidation, thinking "no-one has ever entered this program before. Rakudo _will_ break." | |||
jnthn tries to get a PAST tree that generates the trait application for vars that he wants | |||
masak | theses days it's more like "wow! I tried really hard to crash it, and it only went down 1 time out of 25" | 14:56 | |
jnthn | ...I know exactly how I want the PIR to look. :-/ | ||
ah shit | |||
pmichaud: ping | 14:57 | ||
pmichaud | pmichaud: pong | ||
jnthn | hi | ||
pmichaud | jnthn: pong | ||
jnthn | ol | ||
s/o/lo | |||
I'm wanting to generate PIR like this | |||
$P42 = <the code that inits a Perl 6 scalar> | |||
14:57
meppl joined
|
|||
jnthn | $P43 = get_hll_global 'Int' | 14:58 | |
'trait_mod:of'($P42, $P43) | |||
.lex '$x', $P42 | |||
That is, the trait mod call doesn't get taken as a result. | |||
If I push into the viviself though, it emits things like | |||
$P44 = 'trait_mod:of'($P42, $P43) | |||
.lex $x, $P44 | |||
Which is of course wrong. | 14:59 | ||
How can I do this cleanly? | |||
14:59
frew_ joined
|
|||
pmichaud | PAST::Op(:name('trait_mod:of'), PAST::Var( :scope('lexical'), :name('$x') ), PAST::Var( :scope('package'), :name('Int') ) ) | 14:59 | |
jnthn | I can't do that | 15:00 | |
Because the viviself gets emitted before the .lex '$x', $P44 | |||
(I've tried it already) | |||
pmichaud | I don't understand (more) | ||
aim for | |||
$P42 = <code for Perl 6 scalar> | 15:01 | ||
.lex '$x', $P42 | |||
$P43 = get_hll_global 'Int' | |||
'trait_mod:of'($P42, $P43) | |||
15:01
alester joined
|
|||
pmichaud | ....or are you needing the result of the past tree to be the PAST::Var node? | 15:01 | |
jnthn | I can get away with a PAST::Op I think. | ||
I have a feeling a PAST::Stmts is going to upset things... | 15:02 | ||
But can try it. | |||
pmichaud | I'm really asking if you're needing the result of the tree to be the PMC for $x | ||
jnthn | Oh, yes. | ||
That's why it's tricky. | |||
pmichaud | okay, just a sec | ||
jnthn | (We need it to be that so things like my Int $x = my Int $y = 42; | 15:03 | |
will work. | |||
pmichaud | you can't have trait_mod:of return its first param? | ||
(there are probably good reasons for not returning the first param, yes) | 15:04 | ||
jnthn | I could hack it to for now but it's not going to fly when a user writes their own and it's wrong. | 15:05 | |
pmichaud | okay, that's a good reason. | ||
jnthn | I'd rather get it right rather than postpone the problem. :-) | ||
pmichaud | let me check PAST a second | ||
jnthn | But yes, before I did have a wonderful hack when we were cheating less on traits that did exactly the "and return it" trick. :-) | ||
erm, cheating *more* I mean. | 15:06 | ||
pmichaud: I think I just found a "solution" | |||
(use a named register and spit it out at the end) | 15:07 | ||
pmichaud | yeah, that's always an option but it's a bit hackish | ||
15:10
hudnix_ joined
|
|||
masak | some of you might be interested in reading www.erlang-factory.com/upload/prese...gether.pdf -- it has nice points about package systems and community. | 15:13 | |
pmichaud | I don't have a non-hackish way to do it at the moment. | ||
jnthn | pmichaud: OK, I'll go with working and hackish for now. | ||
pmichaud | I can think of a couple of ways to add the ability to PCT, but need a few hours to think about it. | ||
jnthn | pmichaud: In theory this is only temporary code anyway. | ||
pmichaud: That is, after the lexpad changes we want to have in Parrot, traits really can be applied only once. | |||
pmichaud | oooh, yes. | 15:14 | |
jnthn | I think I'm getting there with this patch now. | ||
Some remaining issues to hunt down. | |||
15:15
DemoFreak left
15:17
amoc left,
synth left
15:18
amoc joined
|
|||
jnthn | guts.pir has gone on a bit of a diet too. :-) | 15:18 | |
15:20
riffraff left
|
|||
pmichaud | rakudo: take 5 | 15:22 | |
p6eval | rakudo 6a4d66: OUTPUT«take without gather» | ||
pmichaud | masak++ | 15:23 | |
masak | rakudo: take 5; say 'also note, still alive' | ||
p6eval | rakudo 6a4d66: OUTPUT«take without gatheralso note, still alive» | ||
pmichaud | rakudo: return 5; say 'also note, still alive?' | ||
p6eval | rakudo 6a4d66: OUTPUT«Can't return outside a routinein Main (/tmp/5KnjCqeR5y:2)» | ||
pmichaud | interesting. | 15:24 | |
masak | well, I changed that in the same commit. | ||
forgiveness, permission. | |||
I do believe the spec is silent on that point, however. | 15:26 | ||
"In the end, we want to infect your brain, not your hard drive" spj++ | 15:32 | ||
jnthn down to six test files with issues | 15:43 | ||
15:50
callatrava10 joined
|
|||
masak | rakudo: :a() | 15:51 | |
p6eval | rakudo 6a4d66: OUTPUT«Null PMC access in find_method()in Main (/tmp/9wQurbqQbc:2)» | ||
masak submits rakudobug | |||
hahaa, my smallest one ever! \o/ | |||
jnthn | rakudo: :a | ||
p6eval | rakudo 6a4d66: ( no output ) | ||
jnthn | rakudo: :a(1) | ||
p6eval | rakudo 6a4d66: ( no output ) | ||
jnthn | rakudo: :a( ) | ||
p6eval | rakudo 6a4d66: OUTPUT«Null PMC access in find_method()in Main (/tmp/iLy43vsr5a:2)» | ||
masak | rakudo: :a[] # also | ||
p6eval | rakudo 6a4d66: OUTPUT«Null PMC access in find_method()in Main (/tmp/3uFogRzcrW:2)» | 15:52 | |
jnthn | nice catch | ||
15:52
callatrava10 left
|
|||
masak | I can't really take credit, it happens when I try to use Rakudo for real-world stuff :P | 15:52 | |
TimToady | rakudo: :() | 15:53 | |
p6eval | rakudo 6a4d66: ( no output ) | ||
TimToady | rakudo: :$a | ||
p6eval | rakudo 6a4d66: OUTPUT«Symbol '$a' not predeclared in <anonymous>in Main (src/gen_setting.pm:3279)» | ||
TimToady | rakudo: :$_ | ||
p6eval | rakudo 6a4d66: ( no output ) | 15:54 | |
15:56
payload joined
|
|||
TimToady | std: use Test; ok | 16:04 | |
p6eval | std 27402: OUTPUT«ok 00:02 35m» | ||
16:07
last left
16:11
frew_ left
16:19
barney left
|
|||
jnthn | Gah. The trick for var trait application causes explosiveness on our variables. :-( | 16:26 | |
huh... :-| | 16:27 | ||
pmichaud | what is :a[] supposed to give? | ||
is it the same as 'a'=>[] ? | |||
(S02 says yes) | |||
and is :a() the same as 'a' => () ? | 16:28 | ||
masak | I say yes to both of these too. | ||
pmichaud | (or perhaps without quotes in each case) | ||
masak | yes, perhaps without quotes. | 16:29 | |
but that only matters in arg lists, right? | |||
pmichaud | afaik | ||
masak still is slightly confused by that magic differentiation in arg lists | |||
but I guess we have to have some way to distinguish pairs from nameds. | 16:30 | ||
pmichaud | ick, :a[] treats the [] as postcircumfix, but they act more like circumfix. | 16:34 | |
jnthn | gah | ||
TimToady | I don't know what you mean by "treats" | 16:35 | |
jnthn | t\spec\S12-attributes\mutators.rakudo is so not going to get away with the stuff it does | ||
pmichaud | parses | ||
jnthn | with this refactor. | ||
(uses traits and Proxy that we don't implement yet. | |||
16:35
KyleHa joined
|
|||
pmichaud | :a[] parses the [] as postcircumfix, but in terms of what they do, they act more like circumfix. | 16:35 | |
TimToady | yes, but why would this be a problem? | 16:36 | |
KyleHa | I wrote tests for ':a()' and ':a[]', but I'm not sure they're right. | ||
phenny | KyleHa: 11:01Z <masak> tell KyleHa re StopIteration: no, I don't think that is what's supposed to happen. I for one dislike that behaviour. here's one rakudobug ticket about it: rt.perl.org/rt3/Ticket/Display.html?id=66890 | ||
pmichaud | the .ast for [] and .[] look very different. | ||
KyleHa | Should those parse correctly? Should they execute? | 16:37 | |
pmichaud | well, perhaps not _very_ different, but different enough. | ||
same for () and .() | |||
KyleHa | I have them both as eval_lives_ok and lives_ok. | ||
16:38
payload left
|
|||
jnthn can't believe the text of one of his remaining test failures is: constant yak = 'shaving'; | 16:38 | ||
pmichaud | in summary, from $<postcircumfix>.ast I have to re-evaluate its contents so that it acts like a circumfix | 16:39 | |
TimToady | pmichaud: perhaps, after verifying that we have an opener of some sort, we just parse a term there to pick up circumfix: and quote: | ||
pmichaud | that would be much better | 16:40 | |
masak | does anyone have any experience with Perl6::Pod on CPAN? | ||
pmichaud | and yes, a similar issue applies with .{} and {} :-) | ||
TimToady | or we go as far as to reclassify <>-style quotes as circumfixes, and just call <circumfix>, maybe | 16:41 | |
pmichaud | either of those would work for me | ||
I was originally thinking we should just call <circumfix>, yes. | |||
KyleHa | Are we trying to figure out what ":a()" and ":a[]" should do? | ||
jnthn | rakudo: package ConstantTest { constant yak = 'shaving'; | ||
p6eval | rakudo 6a4d66: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near ""in Main (src/gen_setting.pm:3279)» | 16:42 | |
jnthn | damm | ||
pmichaud | (I don't think Rakudo handles the quoted forms) | ||
jnthn | rakudo: package ConstantTest { constant yak = 'shaving'; }; say ConstantTest::yak | ||
p6eval | rakudo 6a4d66: OUTPUT«Null PMC access in isa()in Main (/tmp/byb1TFpq8b:2)» | ||
jnthn | oh, so that test doesn't even pass on current Rakudo. | ||
pmichaud | KyleHa: we know what they should do semantically, we're trying to figure out how to get the compiler to dtrt | ||
jnthn | *sigh* | ||
masak | jnthn: nope. that's a reported bug. | ||
KyleHa | pmichaud: OK. Should they parse without dying? Should they execute without dying? | ||
jnthn | woulda been good to fudge it... | 16:43 | |
pmichaud | KyleHa: I think they should parse and execute without dying. Certainly :a[] should | ||
I'm pretty sure that :a() should be the same as a => () | |||
KyleHa | Thanks! | 16:44 | |
alester | seen mauke | ||
pmichaud | interesting question as to whether quotes should part of circumfix :-) | 16:47 | |
KyleHa | rakudo: a => () | ||
p6eval | rakudo 6a4d66: ( no output ) | ||
pmichaud | rakudo: say (a => ()).perl | ||
p6eval | rakudo 6a4d66: OUTPUT«"a" => undef» | 16:48 | |
16:48
justatheory_ left
|
|||
pmichaud | rakudo: say (a => []).perl | 16:48 | |
p6eval | rakudo 6a4d66: OUTPUT«"a" => []» | ||
pmichaud | rakudo: say (a => {}).perl | ||
p6eval | rakudo 6a4d66: OUTPUT«"a" => {}» | ||
pmichaud | rakudo: say ().PARROT | ||
p6eval | rakudo 6a4d66: OUTPUT«Nil» | ||
pmichaud | Maybe today I'll clean up as much of the Nil/capture stuff as I can without needing details of capture refactors | 16:49 | |
16:51
SmokeMachine left
|
|||
pugs_svn | r27403 | kyle++ | [t/spec] Test for RT #67218 with help from pmichaud++ | 16:51 | |
jnthn | pmichaud: I'm really close to being able to land this huge patch. | ||
TimToady | pmichaud: note that 'is foo[]' is also affected, since that :foo[] in disguise | 16:52 | |
*that's | |||
jnthn | ...and don't change any traits stuff or it WILL conflict. :-P | ||
And last time I had to resolve conflicts in git I mostly just ended up swearing for an hour at it. | 16:53 | ||
masak | then you might be going about it wrong. | ||
resolving conflicts in many other SCM systems makes me swear nowadays, because I've tried the goodness that is git. | 16:54 | ||
jnthn | If I get conflicts, I'll ask you for help. :-) | ||
masak | :) | 16:55 | |
TimToady | I feel conflicted | ||
skids | Git's problem is all terminology/documentation. Obviously it can do a lot of stuff, but it's not actually easy to ask "how do I do this" and get an answer. | ||
masak | jnthn: the one tip I can give right now is that if you've been working on a local (un-pushed) branch all this time, you might gain a lot from rebasing before merging. | 16:56 | |
skids: I've had a lot of good answers from #git. | |||
skids | Well, kudos to them, but it there should probably be routes to answers that don't involve actual people. | 16:57 | |
KyleHa | I also like routes to answers that involve MythBusters. | 16:58 | |
masak | :) | ||
skids not a fan since they hosed up the "washboard road" experiment badly. | 16:59 | ||
masak | skids: the docs/tutorials could definitely be better for git. | ||
pmichaud | I haven't looked at the traits refactor yet ("is foo[]") -- doing that now. | 17:00 | |
skids | The various quickstart/"dummies guides" are great, but only go so far, and people quickly start using things they don't cover. | ||
TimToady | with s/post// we do lose <a b c> as a type contraint, oh well :) | ||
jnthn | We ever had that as a type constraint? | ||
pmichaud: OK. What I'm going to commit follows STD more. | 17:01 | ||
TimToady | syntactically, any "value", and quotes are values, so you should be glad <> are going to be circumfixes now | ||
especially «» | |||
which are not very value-ish | |||
masak | ooh! | 17:02 | |
rakudo: :a«» | |||
17:02
SmokeMachine joined
|
|||
p6eval | rakudo 6a4d66: ( no output ) | 17:02 | |
masak | ah, that works. | ||
pmichaud | rakudo: say (:a«»).perl | ||
p6eval | rakudo 6a4d66: OUTPUT«"a" => []» | 17:03 | |
masak | hm, shouldn't that be "a" => ""? | ||
pmichaud | no. | ||
<> is a list. | |||
«» is also a list | |||
masak | oh, right. | ||
pmichaud | rakudo: say «».perl; | 17:04 | |
masak | so the simplest way to make a key an empty string is :a('')? | ||
p6eval | rakudo 6a4d66: OUTPUT«[]» | ||
pmichaud | masak: afaik, yes. | ||
shorter is a=>'' | |||
masak | ah, nice. | 17:05 | |
rakudo: my $foobar = 'foo bar'; say «$foobar».perl | 17:06 | ||
p6eval | rakudo 6a4d66: OUTPUT«"foo bar"» | ||
pmichaud | rakudo still fails on that | ||
17:06
icwiener_ joined
|
|||
masak looks into what it would take to fix that | 17:06 | ||
pmichaud | it's quite tricky, actually. | ||
masak | :/ | 17:07 | |
pmichaud | iirc, even STD.pm currently punts on it | ||
masak | does STD.pm have to concern itself with that feature? | ||
it only parses stuff... | |||
jnthn | std: say «$foobar».perl | ||
p6eval | std 27403: OUTPUT«Potential difficulties: Variable $foobar is not predeclared at /tmp/Di8bdtYIg8 line 1:------> say «$foobar».perlok 00:04 36m» | ||
pmichaud | masak: it needs to produce a reasonable parse tree, yes. | 17:08 | |
jnthn | It seems to know it's a variable. | ||
pmichaud | std: say «'$foobar'».perl | ||
p6eval | std 27403: OUTPUT«Potential difficulties: Variable $foobar is not predeclared at /tmp/Odb8a2mwX0 line 1:------> say «'$foobar'».perlok 00:04 36m» | ||
pmichaud | that's *not* a variable, though. | 17:09 | |
jnthn | oh | ||
yeah, I see the quotes now. | |||
masak | and I'm starting to see the tricky part now... :/ | 17:10 | |
pmichaud | then we have things like | ||
«hello $world"xyz abc" » | 17:11 | ||
masak | aye. | ||
pmichaud | and | 17:12 | |
«hello "$world"» | |||
masak | .oO( that could be read as a deeply cynical statement towards capitalism... ) |
17:13 | |
pmichaud | s/cynical/promotional/ :) | ||
skids | std: my sub f () { }; f(:a<d>:b<g>); | 17:14 | |
p6eval | std 27403: OUTPUT«ok 00:02 37m» | ||
skids | rakudo: my sub f () { }; f(:a<d>:b<g>); | ||
p6eval | rakudo 6a4d66: OUTPUT«Statement not terminated properly at line 2, near "(:a<d>:b<g"in Main (src/gen_setting.pm:3279)» | ||
17:16
omega_ joined,
omega left
|
|||
skids guessing that's a "wait for LTM" thing | 17:16 | ||
pmichaud | no, not so much. | ||
17:16
mvuets left
|
|||
pmichaud | it's more a question of "exactly what happens here...?" | 17:16 | |
jnthn | What does that mean? | ||
skids | Adverbs do not need spaces or commas in between. | ||
jnthn | std: my sub f () { }; f(:a<d> :b<g>); # this the same? | ||
p6eval | std 27403: OUTPUT«ok 00:02 37m» | 17:17 | |
pmichaud | those aren't adverbs. | ||
17:17
zulon joined
|
|||
pmichaud | they're colonpairs | 17:17 | |
zulon | hello! | ||
I've just one question about rakudo: are $0, $1, $2 etc from regexps implemented? | |||
jnthn | Believe so. | ||
pmichaud | yes, fsvo "implemented" | ||
zulon | I get "get_pmc_keyed() not implemented in class 'Perl6Str'" when trying to use them | ||
jnthn | rakudo: "aaa" ~~ /(a)/; say $0 | 17:18 | |
p6eval | rakudo 6a4d66: OUTPUT«a» | ||
zulon | hm | ||
subst( /[<-[\(\)\,]>]+/, "'$1'", :g ) | |||
here's the beast | |||
pmichaud | there's no $1 there | ||
masak | zulon: you need a P{ | ||
um, a {} | |||
pmichaud | also, it needs to be a closure if you want ... what masak said | 17:19 | |
zulon | ah, thanks | ||
masak | {"'$1'"} | ||
zulon: now think about it, and then explain to me why. :) | |||
zulon | I still get the error | ||
pmichaud | $0 | ||
not $1 | |||
masak | oh, right. | ||
zulon | corrected too | ||
masak | that, too. | ||
zulon | masak: to do some "laziness", right? | ||
pmichaud | oh, wait | ||
there's no capture there | |||
masak | zulon: yes, exactly. | ||
pmichaud | so there's nothing to substitute | ||
zulon | I've no better word to explain it :/ | 17:20 | |
Tene | zulon: you need ()s for $0 | ||
zulon | damn | ||
masak | zulon: 'closure' is the correct word, I believe. | ||
zulon | how could I forgot the () -_- | ||
well, that still doesn't work | |||
masak | still, it shouldn't break Rakudo. | ||
skids | OK so what am I missing: S02 "When used as named arguments in an argument list, you may put comma between" ... "However, this comma is allowed only when the first pair occurs where a term is expected" | 17:21 | |
zulon | I'm actually translating an old Perl 5 code | ||
masak | zulon: if you put () around the whole regex, you might as well omit them and do {"'$/'"} | ||
17:21
stDavid joined
|
|||
zulon | hm | 17:21 | |
ok | |||
pmichaud | rakudo: "hello,world".subst(/[<-[(),]>]+/, {"'$/'"}, :g).say | 17:22 | |
p6eval | rakudo 6a4d66: OUTPUT«'hello','world'» | ||
zulon | ah, this works this time | ||
pmichaud | rakudo: "hello,world".subst(/([<-[(),]>]+)/, {"'$0'"}, :g).say | ||
17:22
icwiener left
|
|||
p6eval | rakudo 6a4d66: OUTPUT«'hello','world'» | 17:22 | |
zulon | but doesn't give the expected result | ||
pmichaud | rakudo: "hello,world".subst(/(<-[(),]>+)/, {"'$0'"}, :g).say | 17:23 | |
p6eval | rakudo 6a4d66: OUTPUT«'hello','world'» | ||
17:23
stDavid left
|
|||
masak | rakudo: say "foo".subst(/o/, {"'$0'"}, :g) | 17:23 | |
p6eval | rakudo 6a4d66: OUTPUT«Use of uninitialized valueUse of uninitialized valuef''''» | ||
zulon | rakudo: "(foo,bar,(baz))".subst( /<-[(),]>+/, { "'$/'" }, :g ) | ||
p6eval | rakudo 6a4d66: ( no output ) | ||
zulon | huh | ||
pmichaud | (no .say) | 17:24 | |
zulon | rakudo: "(foo,bar,(baz))".subst( /<-[(),]>+/, { "'$/'" }, :g ).say | ||
p6eval | rakudo 6a4d66: OUTPUT«('foo','bar',('baz'))» | ||
zulon | damnit | ||
locally it doesn't work | |||
17:24
kborer left
|
|||
masak | zulon: old Rakudo? | 17:24 | |
zulon | I pulled the git this morning | ||
masak | zulon: running with -e? | ||
zulon | (morning in France, so I don't know which time it is in the US) | 17:25 | |
in a file | |||
masak | zulon: could you paste the file? | ||
zulon | paste.pocoo.org/show/126656/ | ||
masak | thank you. | ||
zulon | that's what I was doing :) | ||
pmichaud | skids: I'm not sure exactly what you're missing, if anything. | 17:26 | |
jnthn is down to what he hopes might be his final pre-commit test run | |||
masak | zulon: not sure what output you're expecting, but things seem to work here. no errors. | ||
zulon | hm | ||
masak | I can paste my output if you want. | ||
zulon | I'm expecting ('foo','bar',('baz')) | ||
I get ('(foo,bar,(baz))','(foo,bar,(baz))',('(foo,bar,(baz))')) | |||
pugs_svn | r27404 | kyle++ | [t] Further mutated t/syntax/hyper_latin1.t | ||
skids | pmichaud: by "there not adverbs" did you mean to say I should not expect the above to work? | 17:27 | |
masak | zulon: yes, me too. | ||
pmichaud | skids: no | ||
zulon | ok | ||
masak | zulon: what do you expect to get? | ||
zulon | I'm expecting ('foo','bar',('baz')) | ||
skids | Then I'm not missing anything :-) | ||
pmichaud | skids: just that we aren't entirely sure what lists of colonpairs produce | ||
zulon | I think this is because $/ gets the whole $_ | ||
instead of the mere match | 17:28 | ||
(the matching part, I mean) | |||
(sorry for bad English) | |||
masak | zulon: your English is fine. | ||
pmichaud | zulon: no, each substitution has $/ set only to the portion that matched | ||
masak | zulon: I'm starting to see what you mean. | ||
zulon | hm | 17:29 | |
masak | pmichaud: the output of zulon's program seems to counterindicate that. | ||
17:29
dukeleto joined
|
|||
pmichaud | agreed -- one moment. | 17:29 | |
masak | pmichaud: could it be some strange interaction between $_ and $/ ? | ||
rakudo: $_ = "(foo,bar,(baz))"; .=subst( /<-[(),]>+/, { "'$/'" }, :g ); .say | |||
p6eval | rakudo 6a4d66: OUTPUT«Use of uninitialized valueUse of uninitialized valueUse of uninitialized value('','',(''))» | 17:30 | |
masak | that can't be right. | ||
pmichaud | I suspect the .=subst | ||
masak | me too. | ||
masak submits rakudobug | |||
zulon | even with another var ($x eg) this still gives the same result | ||
pmichaud | looks like a .= bug | 17:31 | |
zulon | hm you're right, with $x = $x.subst this works fine | 17:32 | |
KyleHa | I hope someone else writes a test for that one. it scares me. | ||
masak | zulon: there's your workaround, then. :) | 17:33 | |
zulon | yes, thanks | ||
masak | KyleHa: I think it can be minimized somewhat. | ||
jnthn | There's some ticket about .= IIRC | ||
masak | now there are two. | 17:34 | |
pmichaud | rakudo my $x = 'abcdef'; my $y = x.subst(/<[be]>/, {"x$/x"}, :g); $y.say | ||
rakudo: my $x = 'abcdef'; my $y = x.subst(/<[be]>/, {"x$/x"}, :g); $y.say | |||
p6eval | rakudo 6a4d66: OUTPUT«Can't use $ as non-variable in interpolated string at line 2, near "$/x\"}, :g)"in Main (src/gen_setting.pm:3279)» | ||
pmichaud | rakudo: my $x = 'abcdef'; my $y = x.subst(/<[be]>/, {"($/)"}, :g); $y.say | ||
p6eval | rakudo 6a4d66: OUTPUT«Could not find non-existent sub x» | 17:35 | |
pmichaud | rakudo: my $x = 'abcdef'; my $y = $x.subst(/<[be]>/, {"($/)"}, :g); $y.say | ||
p6eval | rakudo 6a4d66: OUTPUT«a(b)cd(e)f» | ||
pmichaud | rakudo: my $x = 'abcdef'; my $y = $x.subst(/<[be]>/, {"($/)"}, :g); $x.=subst(/<[be]>/, {"($/)"}, :g); $y.say; $x.say; | ||
p6eval | rakudo 6a4d66: OUTPUT«a(b)cd(e)fa(e)cd(e)f» | ||
pmichaud | hmmm. | ||
weird. | 17:36 | ||
17:38
skids_ left
17:39
skids_ joined,
skids left,
KyleHa left,
zulon left,
skids joined
|
|||
pmichaud | skids: the tricky part to getting foo(:a<d>:b<g>) to work is getting it to recognize foo(1, :a<d>:b<g>) as being the same as foo(1, :a<d>, :b<g>) and not foo(1, (:a<d>, :b<g>)) | 17:44 | |
skids | Huh. | 17:45 | |
pmichaud | when parsing the argument list, :a<d>:b<g> comes back as a single term. | ||
Tene | colonpairs are always a list passed as :flat? | 17:47 | |
pmichaud | no. | ||
note that foo(1, (:a<d>:b<g>)) would be two positionals. | |||
skids | OK, so did you mean that interior () above just conceptually, or in the full "capture" meaning of ()? | ||
I mean in the first above not the second. | 17:48 | ||
pmichaud | it's just a matter of handling it internally in the compiler | ||
we have to have something in the ast that indicates that :a<d>:b<g> is different from (:a<d>:b<g>) | |||
(keeping in mind that Rakudo doesn't really grok the "capture" sense of parens, because we aren't entirely sure what that is yet.) | 17:49 | ||
skids Senses the dark "spec"tre of unresolved capture details hovering nearby. Shivers. | 17:51 | ||
pmichaud | regardless, in a PIR sense a colonpair would not be a list passed as :flat -- it would have to be passed as :named:flat | ||
because the colonpairs represent named arguments. | 17:52 | ||
17:55
masak left
|
|||
pmichaud | TimToady: a thought --- I'm wondering if our notion of "capture" is still a bit limited by thinking of it strictly in terms of a list and hash (more) | 17:57 | |
TimToady | I'm trying to think of the name of the type that is more general than Capture :) | ||
(1,@a,:b).elems == 3 | |||
pmichaud | TimToady: perhaps it really needs to be able to handle the case where there are multiple instances of same-named arguments (more) | ||
and also to be able to keep track of the ordering of positionals and named arguments | |||
(when interleaved) | 17:58 | ||
TimToady | yes, I've had various names for the syntactic list type | ||
in Perl 4 Camel it was called LIST | |||
but that's confusing | |||
I've been hashing over names with Gloria | |||
pmichaud | (heh, "hashing" -- good pun) | 17:59 | |
TimToady | linguistically, it's a Series, but that's a word that doesn't have a good plural | ||
and most other terms are badly overloaded. | |||
pmichaud | Maybe Seq would be better used here? | ||
instead of its current meaning? | |||
TimToady | yes, that's one of my options | ||
pmichaud | okay, you're already way ahead of me on this, so good. :-) | ||
TimToady | and basically a Seq mutates into a Capture when used as an arglist | ||
it's one of the 3 big design issues I've been working on :) | 18:00 | ||
pmichaud | do we need the separate Capture type, though? | ||
TimToady | well, when the compiler notices an arglist, it wants to pull out nameds at compile time | ||
pmichaud | sure, but can't it do that with a Seq? | ||
TimToady | so that type has some name, at least internally | ||
pmichaud | (or whatever we call it?) | ||
let's say Series for now, just to avoid confusion :-) | 18:01 | ||
TimToady | we could finesse it, yes, but then it wouldn't be a Seq anymore :) | ||
I'm not terribly excited about Series though | |||
pmichaud | okay | ||
TimToady | I've called them variously Group, OO, XX, SX... | ||
even though about renaming Object as O at one point, but decided that would be too confusing with 0 | 18:02 | ||
pmichaud | for whatever-it-is, can we say that internally it maintains the sequence of positional and named parts, but its positional and associative interfaces "logically collapse" it to look like an Array or Hash? | ||
TimToady | though O would be a great name for "undef" :) | ||
pmichaud | this might also help out with some of the things we saw in Match objects -- e.g. with .caps and .chunks | 18:04 | |
TimToady | yeah, except we've still rather overloaded the meaning of "list context" there | ||
does it, or does it not, include the nameds? | |||
pmichaud | I would think "not" | 18:05 | |
TimToady | that's coercion to capture | ||
coercion to flat list might do the other thing | |||
pmichaud | right. | ||
I see the difference now. | |||
TimToady | but it doesn't quite fly that way either | ||
but yes, fundamentally there's a raw syntactic list floating around that represents a sequence of objects | 18:06 | ||
and the meaning of that is more contextual even than captures | |||
and that's what parens create | |||
pmichaud | (speculation) ... and there are two forms of list context for that raw syntactic list | 18:07 | |
one that gets all of the elements | |||
and one that gets only the "positionals" | |||
one last thought for now, then I have to run for a bit | 18:08 | ||
18:08
daemon joined
|
|||
pmichaud | I wonder if a => 1 and 'a' => 1 should produce objects of different types. | 18:08 | |
i.e., the second one is a Pair, but the first is something that can promote to a Pair | |||
(in certain contexts) | |||
Perhaps the first is actually a ColonPair | 18:09 | ||
TimToady | at least the distinction is maintained until the Series is resolved | ||
into capture or not | |||
maybe they're Raw and Cooked :) | |||
sunny-side up or scrambled | 18:10 | ||
pmichaud | nude or clothed | ||
TimToady | maybe you'd better go on your errand :) | ||
pmichaud | plain or peanut :-) | ||
TimToady | argh, I actually thought of that one yesterday | 18:11 | |
pmichaud | okay, now I'm frightened. :-) | ||
so, better errand. | |||
thanks. | |||
18:17
Pismire joined
18:21
arnsholt left
18:43
jan_ joined
18:45
alester left
|
|||
skids | en.wikipedia.org/wiki/Loom <-- good place to look for names for "Series" | 18:48 | |
(if not "loom" itself, as the acronym potentials there...) | |||
TimToady | Obviously we should name tham Jacquards then :) | 18:54 | |
18:55
amoc left
|
|||
skids | What, not Arguiles? | 18:57 | |
18:58
joerg__ joined
|
|||
pugs_svn | r27405 | lwall++ | [STD] parse colonpairs using circumfix instead of postcircumfix | 19:05 | |
r27405 | lwall++ | [STD] include CHECK as statement prefix | |||
19:11
Pismire left
19:14
joerg__ is now known as Pismire,
tann joined
|
|||
mikehh | more tests passing (4/5 real fails) t/spec/S04-declarations/constant.rakudo exits after 7 out of 20 with Null PMC access in type() | 19:31 | |
19:33
wknight8111 left
19:37
justatheory joined
19:40
PacoLinux left
19:42
finanalyst left
19:43
justatheory_ joined,
justatheory left
19:44
PacoLinux joined,
justatheory_ left,
pmurias joined
|
|||
pmurias | ruoso, skids: hi | 19:44 | |
19:45
justatheory joined
19:49
nihiliad left
20:06
pmurias_ joined,
pmurias left
20:07
pmurias_ is now known as pmurias,
SmokeMachine left
20:12
M_o_C left
20:14
SmokeMachine joined
|
|||
pmurias | ruoso: what do you think of adding vtable entries to the RI for the most common methods | 20:18 | |
? | |||
20:22
FurnaceBoy joined
20:24
frew_ joined
|
|||
skids | pmurias: hi | 20:26 | |
pmurias | hi | 20:28 | |
pugs_svn | r27406 | pmurias++ | [re-smop] yeast should be refered to as yeast not as LOST | 20:32 | |
20:51
frew_ left,
justatheory left
21:02
justatheory joined,
mberends left
21:08
whoppix joined
21:10
peng__ joined
21:12
pmurias left,
peng__ is now known as doroboy
21:16
tann_ joined,
tann left,
Psyche^ joined,
Psyche^ is now known as Patterner
21:22
Jedai left,
tann_ left
21:23
doroboy left
21:33
kst left
21:43
justatheory_ joined,
kst joined
21:48
meppl left
|
|||
ruoso | @tell pmurias once you check it's a known RI you can do whatever you want... but then you could simply call a function instead... I don't think adding more things to the public RI interface would be a good idea | 21:59 | |
lambdabot | Consider it noted. | ||
ruoso | @tell pmurias of course you could have a special kind of RI that would delegate to an internal vtable... | 22:00 | |
lambdabot | Consider it noted. | ||
ruoso | @tell pmurias like... add a second RI-like field, where the main RI would delegate the known methods to the vtable of the auxiliary RI | 22:01 | |
lambdabot | Consider it noted. | ||
22:01
justatheory left
22:08
DemoFreak joined
22:09
dduncan joined
|
|||
dduncan | TimToady, fyi, I'm now going to make the P6 Synopsis edits re long name canonical order ... as soon as I've got SVN setup ... its been over a year since I had a Pugs repo connection | 22:13 | |
22:24
arnsholt joined
22:28
scottp joined
22:29
lichtkind joined
22:32
icwiener_ left
22:33
icwiener_ joined
22:40
scottp left
22:42
ruoso left
22:44
Pismire left
22:54
fridim_ left
22:55
KyleHa joined
22:56
icwiener_ left,
iblechbot left
22:57
icwiener joined
23:00
lichtkind left
23:10
payload joined
23:15
Limbic_Region joined
|
|||
pugs_svn | r27407 | pmichaud++ | [t/spec]: Test::Harness doesn't like '#' in the descriptions of todo'd items | 23:22 | |
r27408 | pmichaud++ | [t/spec]: Test::Harness doesn't like '#' in the descriptions of todo'd items | 23:23 | ||
r27409 | pmichaud++ | [t/spec]: Fix up some rakudo fudging. | 23:25 | ||
23:29
last joined
|
|||
KyleHa | There are LOTS of todo items with # in the description. | 23:32 | |
jjore is very late to the game but is writing a p6 program, finally. There are many "TODO: not implemented" in just his program. | 23:33 | ||
Limbic_Region | jjore - I stopped following p6 development closely around the time audrey had to take her leave of the pugs project | 23:34 | |
but | |||
pmichaud, jonathan and crew have gotten rakudo to the point | |||
where a lot of p6 can be implemented in p6 | |||
it is no longer called prelude (IIRC) but setting | 23:35 | ||
but if you want to implement the todo things then you might be able to without learning any PIR | |||
jjore | Yes, which is kind of why I thought I'd try doing a p6 version for my own edification of use.perl.org/~jjore/journal/39223 | ||
pmichaud | KyleHa: in the "todo" description or in the test description? | ||
there's a difference | |||
KyleHa | In the "todo" description. | ||
pmichaud | the "todo" description doesn't seem to be a problem. The test description does. | 23:36 | |
KyleHa | Oh. | ||
jjore | It's just the very sort of dirt-simple thing that's easy to do several times but get at a few of the commonest things. | ||
KyleHa | I guess I misread the commit. | ||
Limbic_Region | jjore - well, pmichaud is obviously paying attention to the channel - pester him and see what happens | ||
jjore | but fwiw, I've done more pir than p6. | ||
pmichaud | on my system, Test::Harness appears to not like things like "not ok 15 - failure in test (RT #15632) # TODO todo descriptoin | 23:37 | |
KyleHa | (And, incidentally, I'll stop doing that.) | ||
jjore | Nah, I figure if I need to flip a "todo" I can do that myself. | ||
Limbic_Region wanders off to upload 4th of July photos | |||
jjore is skipping the holiday. | |||
pmichaud | jjore/limbic: yes, I'm paying attention. :-) | ||
KyleHa: apparently Test::Harness looks for the first '#' and stops there. | 23:38 | ||
jjore | pmichaud: yep, if I had a question I thought I needed your brain for, I'd ask. For now, reading the S\d+ and spec tests are all I need. | 23:39 | |
pmichaud | jjore: sounds excellent. Feel free to ask here (lots of helpful people here) or perl6-users or perl6-compiler | ||
(the latter two being mailing lists) | |||
23:39
edenc left
|
|||
KyleHa | I think the tests in t/syntax/hyper_latin1.t ought to be in spec somewhere, but I can't tell where. | 23:39 | |
23:40
edenc joined
|
|||
pmichaud | KyleHa: I guess we could always change Test.pm so that it strips any #'s from the description, though. | 23:40 | |
KyleHa | pmichaud: That might be confusing for someone searching for a failing test in the test file. | ||
pmichaud | KyleHa: it might, yes. | ||
or maybe we get it to warn instead. | 23:41 | ||
in hyper_latin1.t, the test doesn't test what they think it tests, though. | 23:42 | ||
jjore | I am however, interested in why C<< regex git_repo { '/.git' }; '...' ~~ git_repo >> throws an arity error. S06 goes to effort to hint that regexps are really just functions while ~~ ought to notice I've passed a regexp. Instead, I'm told I passed 0 args while 2 were expected. | ||
pmichaud | my $latin1_encoded = "(<a b c>) \c187~\c171 (1,2,3)"; | ||
doesn't produce a latin1 string | |||
KyleHa | What's it make? | ||
pmichaud | jjore: you need ~~ &git_repo instead | ||
if you just say "git_repo", it acts like a subroutine call. | |||
and tries to call the git_repo sub (regex) | |||
and there aren't enough parameters | 23:43 | ||
er, aren't enough arguments | |||
jjore | Ah. | ||
pmichaud | i.e., '...' ~~ git_repo is equivalent to '...' ~~ git_repo() | ||
jjore | Yes, I gathered. | ||
pmichaud | KyleHa: strings in Perl 6 don't have "encoding" | 23:44 | |
jjore | Thanks for the explanation. | ||
pmichaud | KyleHa: so "\c187" and "«" are identical. | ||
rakudo: say "\c187" eq "»" | |||
p6eval | rakudo 6a4d66: OUTPUT«1» | ||
KyleHa | pmichaud: That's kind of the point. \c187 is the right character in latin1. | 23:45 | |
pmichaud | (oops, got my codepoints backwards -- "\c187" is the same as "»" | ||
\c187 is the right character in *unicode* | |||
because Perl 6 defaults to Unicode semantics | |||
KyleHa | Hmmm. | 23:46 | |
arnsholt | Any of you guys any good with FreeBSD ports? | ||
KyleHa | OK, yeah, the test needs fixing. | ||
23:47
LumberCartel joined
|
|||
TimToady | pmichaud: at the moment I'm thinking "Parcel", for paren cell, or some misspelling like Parsel, for paren selection, or parse list, or parse morsel, or some such | 23:47 | |
pmichaud | TimToady: I kinda like "parcel". | ||
TimToady | anyway, something that is an item that you don't know what's inside till you unwrap it | 23:48 | |
pmichaud | not only that, but it has appropriate packing materials :-) | ||
but oddly, what you end up getting from the parcel depends on which side you choose to unwrap :-P | 23:49 | ||
TimToady | for sure, if it's a bomb | ||
pmichaud | Maybe we should call it "catbox", since it has schroedinger's cat inside. :-P | ||
(i.e. we don't know what kind of cat we have until we collapse it) | 23:50 | ||
TimToady | I think people will think of a different kind of catbox | ||
the kind with litter in it | |||
LumberCartel | What about "bindle" instead of parcel? | ||
TimToady | that's what it is after it's bound :) | ||
LumberCartel laughs. | 23:51 | ||
23:52
KyleHa left
|
|||
jjore | When I read S06 on regexps, it sounded like named captures had been dropped as a feature. Is that right? | 23:55 | |
arnsholt | Named subrule matches are captured by name | 23:56 | |
jjore | and I can find that somewhere within the match object then, I guess. | 23:59 |