|
»ö« | 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 | |