perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~290 days 'til Xmas Set by mncharity on 6 March 2009. |
|||
00:23
frooh joined
00:33
pmurias_ left
00:34
kate21de joined
01:02
shinobi-cl joined
|
|||
wayland76 | yary: Was there any indication as to what file that was in? | 01:02 | |
01:16
nbrown04 joined
01:19
awarefish joined
01:22
nbrown04 left
01:27
nbrown04 joined,
nbrown04 left
01:31
eternaleye joined
01:37
awarefish left
01:38
awarefish joined
01:44
DemoFreak left
01:46
ruoso left
02:18
arejay joined
02:19
ujwalic joined
02:23
awarefish left
03:13
Sepheebear joined
03:20
shinobi-cl left
03:24
WootKitKwok joined
03:25
WootKitKwok left
03:37
japhb joined
|
|||
japhb | Any Rakudo hackers about? | 03:47 | |
03:50
justatheory left
03:55
wayland joined
03:59
alester joined,
justatheory joined
04:10
wayland76 left
04:11
meppuru joined
04:12
meppl left,
meppuru is now known as meppl
04:17
nihiliad left
04:29
WootKit joined,
WootKit left
04:35
khisanth_ joined
04:44
wayland_ joined
04:45
wayland left
04:46
nihiliad joined
|
|||
alester | hey look we have a logo rakudo.org/ | 04:50 | |
wayland_ | Great :) | 04:51 | |
05:22
alester left
05:29
nihiliad left
05:35
wayland_ is now known as wayland76
05:46
justatheory left
05:51
kanru left
05:59
hercynium left
06:12
sri_kraih joined
06:20
szabgab joined
06:37
meppl left
06:38
meppl joined
|
|||
mberends | szabgab: morning, just read your twitter and termination of TPF grant. I share your opinion about the difference between wanting or having to work on projects. There is far less pressure without money. | 06:45 | |
szabgab | mberends, morning | 06:51 | |
mberends | I also look forward to Perl 6 Tricks and Treats | 06:56 | |
07:25
buu joined
07:32
wayland76 left
07:39
wayland76 joined,
Tene joined
07:52
Tene_ left
08:28
kate21de left
08:30
finanalyst joined
|
|||
mikehh | rakudo (41267fd) builds on parrot r37405 -make test/make spectest PASS - t/spec/S02-literals/sub-calls.rakudo - TODO passed: 16 | 08:35 | |
on Kubuntu Intrepid i386 | |||
going to switch to Kubuntu Intrepid AMD64 now | 08:36 | ||
08:47
M_o_C joined
08:55
kate21de joined
08:56
sri_kraih_ joined
08:57
protorom joined
|
|||
Matt-W | @tell masak I copied Makefile.PL from November into Form and modified it to support rakudo-in-parrot and parrot-in-rakudo. My remaining concern is that it won't work on Windows due to system()ing out to make a symlink, but I don't really care right now. In any case, Form should (when I've pushed) play nice with proto now, and it has a nice make test target too. | 08:59 | |
lambdabot | Consider it noted. | ||
09:00
protorom left
09:15
sri_kraih left
09:18
masak joined
|
|||
masak | good weekend morning, parrotcamels. | 09:18 | |
lambdabot | masak: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
mberends | good $same-to-you, masak | ||
masak | Matt-W: marvellous. there are a lot of platform specificalities in all our code right now. will be fixed over time, I hope. | 09:19 | |
mikehh | masak: and a jolly good morning to you | 09:23 | |
masak | jolly it is, indeed. | ||
I've decided to dedicate more or less the whole day to Perl 6 activities. | |||
mikehh | excellent | 09:24 | |
masak | possible activities include (1) adding November features, (2) reviewing mberends++' Pod suite, (3) u4x prototyping, and (4) Web.pm tnkering. | 09:26 | |
mberends | masak: I would like to build some 'cheat' like wiki-client-help system, with November as backend. Are there backups being taken for the content? | 09:27 | |
masak | mberends: generally, or on november-wiki.org ? | 09:28 | |
mberends | the latter. | ||
masak | no -- but we try to keep the content we like in the git repo. | ||
mberends | ok, I shall have to consider some own backups as well then. I have an LWP::Simple in the works or may just run("wget ..."); | 09:31 | |
masak | cool. | 09:32 | |
09:33
barney joined
|
|||
mberends | I also want to reserve the command 'rakudoc' for something appropriate to Perl 6 Pod. | 09:33 | |
masak | mberends: by the way, I've been poised to make use of your SVG and HTTP::Deamon solutions for quite some time now, but haven't really gotten around to sticking the pipes together. I guess the next natural step is to have Druid render something that looks like a board in SVG. | ||
mberends: nice pun. :) | |||
mberends | masak++: did you finish refactoring Druid to separate out the presentation layer? | 09:34 | |
masak | aye, over a month ago. | ||
mberends | cool. | ||
masak | I still need to blog about it, though. | ||
it was a truly wonderful refactoring. | 09:35 | ||
(if I may say so myself) | |||
mberends | heh | ||
masak | I made an SVG image to diagram the refactoring, but I haven't really gotten it to reflect the true wonderfulness of it yet. | ||
so I'm stalling a bit, letting ideas simmer. | 09:36 | ||
09:36
Verden1995_ joined
|
|||
masak | there's really no rush to it. | 09:36 | |
masak backlogs | |||
09:37
Verden1995_ left
|
|||
mberends | what software do you use to draw SVG images? Inkscape looks good. | 09:39 | |
masak | mberends: I use that to post-process the output from a Perl 5 script that trawl the source files before and after. | 09:40 | |
mberends | masak++: now to port that to Perl 6 :) | 09:41 | |
masak | not a priority, but yah, wouldn't be difficult. | ||
looking at the SVG, it seems that the last thing I tinkered with was autogenerating soft shadows under the boxes representing the source files. | 09:42 | ||
I needed shadows, because the image was simply too boring. I usually don't feel the need to add visual candy, but this was a case where I did. | 09:43 | ||
mberends | nice work. that seems similar to the 2.5D perspective on the Druid board. | 09:44 | |
masak | perhaps somewhat. | ||
@tell alester nice logo. in my browser, its background is white -- would it be possible to make it transparent? | 09:45 | ||
lambdabot | Consider it noted. | ||
mikehh | apart from testj make fulltest_all PASSes at r37405 in Kubuntu Intrepid i386 | 09:48 | |
sorry that should be in #parrot | |||
mberends | Rakudo spectest all successful on Debian stable amd64, parrot r37407 | 09:51 | |
09:56
buubot joined
10:06
kanru joined
10:26
abra joined
10:31
abra left
|
|||
masak | [particle]: when can we look forward to -n and -p in our daily Perl 6 lives? | 10:40 | |
Matt-W | Morning | 10:41 | |
masak | Matt-W: top of the morning, sir. nice work on the Makefile.PL. | 10:43 | |
Matt-W | :) | 10:45 | |
Well after we talked about it, it was pretty easy to do the actual code | |||
just weird writing Perl 5 | |||
Looks clunky :) | |||
masak | I know what you mean. :) | 10:49 | |
Matt-W | all those brackets! | 10:50 | |
masak | a simple Perl 6 REPL: gist.github.com/79046 | ||
Matt-W | very simple | 10:51 | |
masak | Rakudo++ | ||
Matt-W | perl 6 ++ | 10:52 | |
masak | it seems that void-context prompt doesn't read a line, though. | ||
is that a bug or a feature? | |||
Matt-W | hmm | ||
masak | if a feature, it seems not such a desirable one, by me. | 10:54 | |
I mean, print already does that, and has a more apt name for the purpose. | |||
Matt-W | I'm not sure what the point would be | ||
masak submits a preemtive rakudobug ticket | 10:55 | ||
rakudo: prompt("] "); say "this shouldn't be printed" | 10:56 | ||
p6eval | rakudo 41267f: OUTPUTĀ«] this shouldn't be printedā¤Ā» | ||
10:57
pmurias_ joined,
pmurias_ left
11:14
alex^ joined
11:26
ludan joined
|
|||
jnthn | morning all | 11:28 | |
erm, actually not any more it ain't... | |||
jnthn slept through that bit of the day | |||
masak | jnthn: good subjective morning to you, sir. | 11:29 | |
jnthn | masak: :-P | ||
masak was a bit tardy today as well | |||
9 o'clock! | 11:30 | ||
I don't think that has happened in weeks. good thing it happened on a weekend. | |||
jnthn | masak: Yeah, but I stayed up until 1am working on patches to make outer lexicals visible inside an eval. :-P | ||
(I got it working, but was too knackered to write the tests for the Parrot changes and smoke and commit it all. Will do it later today.) | |||
masak | "knackered" -- is that related to the Ballmer peak somehow? | 11:32 | |
masak is unfamiliar with this word in English | |||
jnthn | masak: slang-y synonym for exhausted | 11:33 | |
masak | ah. | ||
jnthn | Though it can also mean broken too. | ||
masak | oh, ok. | ||
jnthn | When applied to things other than people. | ||
anyway, my $x = 42; eval('say $x') working will be nice :-) | 11:34 | ||
masak | I think a lot about the meaning of words nowadays, since I'm often in a position where I have to give specific explanations of them to my language partner, with whom I have a slight but entirely hopeless crush. | ||
speaking of nothing, how do I get the current line number of $*IN in Perl 6? | 11:35 | ||
jnthn | hopeless crush - I have one of those too... *sigh* | ||
masak | i.e. the analogue to (checking) $. in Perl 5. | ||
jnthn: I'm really good at those, it seems. | |||
jnthn | I don't know but I guess it would be a method in $*IN | 11:36 | |
11:36
clkao left,
clkao joined
|
|||
masak | jnthn: not good enough! say what it's called and I'll try to code it in. | 11:36 | |
jnthn | I don't see it being a special $.-ish variable. | ||
masak | jnthn: me neither. | ||
jnthn | Soes S16 not make any suggestions? | ||
masak | I think I've read somewhere that it'll be a method. | ||
masak checks | |||
wow, it's really short these days. | 11:37 | ||
no, I don't see anything. | |||
what would be an acceptable name? .line ? | 11:38 | ||
jnthn wonders if .line is too short/ambiguous | |||
masak | :) | ||
jnthn | But it's the obvious one | ||
ujwalic | or record? | ||
jnthn | I slightly fear confusion with lines | ||
masak | ujwalic: record is technically correct but a bit obscure. | ||
jnthn | Aye. | ||
ujwalic | ya | ||
masak | jnthn: .line-num ? | ||
feels half-bad to abbr num, though. | |||
jnthn: .current-line ? | 11:39 | ||
ujwalic | line/record can be a unit | ||
jnthn | masak: Seeing those makes me like .line more... | ||
masak | ujwalic: aye, but it's unfortunate to introduce synonyms when one can possibly avoid it. | ||
jnthn: indeed. | |||
masak goes for .line for the time being | |||
jnthn | masak: Please document it in S16. | 11:40 | |
masak | ok. | ||
ujwalic | ok | ||
mberends is relieved about .line | |||
jnthn | At least then a mail goes to the list and people can bikeshed if they feel a need. ;-) | ||
masak | jnthn: what was it we talked about yesterday? something either of us should document in the specs? oh yes, literals as params. | ||
I'll do that one first. | |||
jnthn | masak: Also .candidates and the type Multi, but I can do that one. | 11:41 | |
masak | jnthn: oh, they will, they will. | ||
jnthn makes coffee and gets on with some of his tasks for the day | 11:42 | ||
masak | interestingly, S06 doesn't document the 'where' syntax in param lists; S12 does, under the heading 'Types and Subtypes'. | 11:46 | |
jnthn | Perhaps to avoid a forward dep, but then I fear S02 talks about subtypes anyway, so... | 11:47 | |
masak | speaking of nothing, this trips me up sometimes: | 11:48 | |
rakudo: my @a = "foo", "bar", "foo"; say @a.grep({ /foo/ }).perl | |||
p6eval | rakudo 41267f: OUTPUTĀ«["foo", "bar", "foo"]ā¤Ā» | ||
masak | I somehow expect grep to do smartmatching for me. | ||
I don't know whether that's a silly expectation. | |||
probably is. | |||
jnthn | Does @a ~~ /foo/ not do what you want? | 11:53 | |
masak | rakudo: my @a = "foo", "bar", "foo"; say ( @a ~~ /foo/ ).perl | 11:54 | |
p6eval | rakudo 41267f: OUTPUTĀ«Match.new(ā¤ # WARNING: this is not working perl codeā¤ # and for debugging purposes onlyā¤ text => "foo",ā¤ from => 0,ā¤ to => 3,ā¤)ā¤Ā» | ||
masak | moritz__++ | 11:55 | |
11:56
mikehh joined
|
|||
masak | oh! how do I refer to a parameter thus restricted? | 11:57 | |
say I have 'multi sub fib( 0|1 ) { return ... }' | |||
what should I write instead of the three dots? :) | |||
$^n ? | |||
masak cackles evilly at the thought | 11:58 | ||
szabgab | guys, just a quick question, was there any progress on the IO side, can I open socket from Rakudo already to write some LWP -ish stuff ? | ||
masak | szabgab: not that I know. | 11:59 | |
szabgab | :-( | ||
masak | szabgab: is there a blog post outlining what you want? | ||
szabgab | regarding LWP ? | ||
I want to try to write an rss aggregator | 12:00 | ||
masak | regarding opening sockets. | ||
szabgab | I can run wget for now | ||
oh and another important question, any database access ? | 12:01 | ||
jnthn | masak: You write $x where 0|1 :-P | ||
masak | jnthn: aw, don't spoil it :) | ||
jnthn | szabgab: There was some work on that already, I believe. | ||
masak | jnthn: seriously, is there any overwhelming reason not to use placeholder variables for this? | ||
jnthn | masak: You are now allowed to use placeholders and an explicit signature. | 12:02 | |
masak | ah. | ||
ok. | |||
szabgab | the only problem I think is that I am still too far in my learning curve of Perl 6 to actually do that kind of stuff | ||
and too many yaks to shave first | 12:03 | ||
I might be better off just making noise about Perl 6 and hoping that some more clever people will get interested and implement the stuff I need | 12:04 | ||
masak | szabgab: sounds like a plan. | 12:05 | |
jnthn | szabgab: perlbuzz.com/2008/12/database-acces...icely.html | 12:06 | |
szabgab | "who knows does, who doesn't know teaches it" | ||
jnthn, that was before last Xmas ... | 12:07 | ||
masak | oh, there's an input_record_count() in IO::Readable::Encoded in S32-setting-library/IO.pod | 12:08 | |
anyone mind if I just rename it to line() ? :) | |||
Matt-W finds the comments depressing | 12:09 | ||
On the other hand, a working database layer... very nice | 12:10 | ||
masak | I'm also pondering removing all underlines and replacing them by dashes in that file. :) | ||
masak hears no protests, gets on with it | 12:11 | ||
Matt-W | allowing dashes in identifiers is going to surprise a lot of people :) | ||
szabgab | oh I love when Firefox crashes | ||
masak | Matt-W: Perl 6 as a whole is going to surprise a lot of people. | ||
Matt-W | masak: yes, especially the people who think it will never exist | 12:12 | |
szabgab | Matt-W, that's about everyone | ||
Matt-W | I know :( | ||
I'm spreading the word though | |||
szabgab | so it will be a big surprise :-) | 12:13 | |
mberends | Re: use DBDI - where is that code available? I'd love to try it out. | 12:14 | |
ah, probably parrot/ext/SQLite3/DBDI | 12:16 | ||
masak | I keep telling people that as far as I'm concerned, Perl 6 Christmas is already here. | ||
ok, problem: there's an input-record-count() in the role IO::Readable::Encoded; that's the one I wanted to rename into lines(). but there's also an output-record-count() in IO::Writeable::Encoded. | 12:19 | ||
it feels assymmetrical to rename one but keep the other. | |||
OTOH, I can see one object doing both of the roles, and I don't want to introduce a collision. | |||
are people fine with input-lines() and output-lines(), respectively? | 12:20 | ||
mberends | can a stream be simultaneously input and output? if not, stick to lines(). | ||
masak | mberends: I don't know if it can. if it can't I'll definitely pick lines() for both. | 12:21 | |
12:21
xinming joined
|
|||
mberends | most inputstreams are not outputstreams | 12:21 | |
jnthn | masak: I think you can open :rw | 12:22 | |
masak | mberends: if it's at all possible, I'm very reluctant to call both of them lines() | ||
that's exactly what you shouldn't do if you plan to mix roles. | 12:23 | ||
rakudo: multi fib(0) { return 1 }; say fib(0) | |||
p6eval | rakudo 41267f: OUTPUTĀ«Malformed routine definition at line 1, near "fib(0) { r"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» | ||
jnthn | masak: Agree, I hadn't thorugh about output lines too. | 12:24 | |
input-line and output-line sounds sensible. | |||
masak | the disadvantage with input-lines() and output-lines() is that there are already methods in there called input-record-separator() and input-field-separator(), ditto output. | ||
jnthn | oh | 12:25 | |
masak | so it might be mixing metaphors a little. | ||
or terms, anyway. | |||
jnthn | then I guess you'd want input-record and output-record after all... :-| | ||
masak | unless I change the other methods to input-line-separator :P | ||
masak is no fan of "record" | |||
it's longer, and not many people know what it is. | 12:26 | ||
jnthn | Yeah... | 12:27 | |
masak takes that as a 'yes' | |||
Matt-W | awww | ||
jnthn | masak: I don't especially hold any authority in any sense over the IO stuff. :-P | ||
Matt-W tried to refactor Form into some nice submodules and broke it :( | 12:28 | ||
jnthn | Awww. | ||
Matt-W | it's my favourite error message | ||
jnthn | Matt-W: It's possible Rakudo broke it for you. ;-) | ||
Matt-W | Null PMC access in find_method() | ||
masak | jnthn: well, I'll take the responsibility for the change. also, forgiveness/permission. | ||
jnthn | masak: Oh, I'm not saying don't do it, just that I'm not really the best person to bounce IO stuff off. :-) | ||
masak | Matt-W: a new bug? submit it! | ||
Matt-W | I'm not sure what's actually going on | 12:29 | |
time for a test case... | |||
masak | jnthn: well, you're the one around right now who answers, so that'll do. :) | ||
Matt-W++ | |||
mikehh | rakudo (41267fd) builds on parrot r37409 - make test/make spectest PASS - t/spec/S02-literals/sub-calls.rakudo: TODO passed: 16 - Kubunti Intrepid AMD64 | ||
12:30
ludan left
|
|||
Matt-W | hmm | 12:31 | |
jnthn | mikehh: I spotted that but didn't have time yet to see if we fixed something or if it's a false pos... | ||
mikehh | I have been getting it on i386 and AMD64 since yesterday I think | 12:32 | |
Matt-W | hmm in attempting to recreate the bug, I seem to have found a different bug | 12:33 | |
jnthn | mikehh: I did some work on Rakudo yesterday, so maybe I can take blame for it. ;-) | 12:34 | |
pugs_svn | r25821 | masak++ | specced syntactic 'where' sugar in param lists | ||
mikehh | hey passing tests are good | ||
pugs_svn | r25822 | masak++ | replaced underscores with dashes in variable names in IO.pod | 12:35 | |
r25823 | masak++ | replaced 'record' with 'line' in IO.pod | |||
r25823 | masak++ | | |||
r25823 | masak++ | 'record' is fine and understandable in the Unix world, and used by | |||
r25823 | masak++ | tools such as awk -- but line is immediately understandable and shorter. | |||
masak goes to buy spare asbestos suit | |||
Matt-W | hmmm | ||
but it isn't necessarily a line | 12:36 | ||
masak | Matt-W: I know. | ||
Matt-W: and you can control that with input-line-separator | |||
Matt-W | but then you might end up with something called a line that isn't a line | ||
I suppose it's just saying 'we let you decide what a line is' | |||
masak | aye. | 12:37 | |
but your concern is a valid one. | |||
Matt-W | do we think dashes might become perl 6 style in names? | ||
masak | Matt-W: oh yes. yes, yes, yes. | ||
Matt-W is failing to reproduce this bug in a nice test case | |||
masak | Matt-W: what's the failing code? | ||
Matt-W | it's something to do with use | 12:38 | |
masak | oh yay. | ||
:/ | |||
Matt-W | or at least, something to do with stuff in other modules | ||
the backtrace is a bit mysterious | 12:39 | ||
called from Sub 'parrot;Form;Actions;Form;Field;TextField;_block62' pc 646 (EVAL_21:197) | |||
masak | at that point I usually do 'cd /tmp' and create a few modules that reproduce the error. | ||
Matt-W: that's not mysterious, that's business as usual. :) | |||
Matt-W | not really | ||
Form::Actions is a module, Form::Field is amodule used by Form::Actions | |||
why is it saying Form;Actions;Form;Field | 12:40 | ||
masak doesn't know | |||
good hunting. | |||
Matt-W | oooh | ||
I think I found it | |||
oh no, I cauesd a different problem | 12:41 | ||
hmm | |||
masak: remember the problem I had composing in a role, and you found that we have to write the fully qualified name of it? | 12:42 | ||
masak | Matt-W: I remember. | ||
Matt-W | well now that role, Field, is in Form::Field | ||
but it says Form::Field::Field doesn't exist | |||
masak | :) | ||
Matt-W | and saying Form::Field or Field give the null pmc in invoke thing | ||
masak | don't explain, write a one-liner to show it instead. | 12:43 | |
Matt-W | I shall, but explaining helps me figure out how to write the one-liner | ||
masak | ok, good. | ||
Matt-W | oh | 12:44 | |
it works in a one-liner | |||
hmmmm | |||
masak | so, use-related? | 12:45 | |
Matt-W | gues sso | ||
rakudo: module A::B { role B { }; class D does A::B::B { } } | |||
p6eval | rakudo 41267f: RESULTĀ«{ ... }Ā» | ||
Matt-W | see, no problem | ||
12:46
cognominal joined
|
|||
masak | no problem after putting the code in A/B.pm either, it seems. | 12:48 | |
Matt-W | no | ||
but | |||
I made an A/A.pm which uses A::B | |||
the test script uses A::A | |||
and it says | |||
The type A::B::B does not exist. at line 6, near "{\n}\n\n\n" | |||
jnthn | Matt-W: Does having the thingy you're using pre-compiled make a difference? | 12:49 | |
12:49
pmurias_ joined
12:50
pmurias_ left
|
|||
jnthn | Matt-W: Also, do you do the "use" after a module A::B; or inside a module A::B { } | 12:50 | |
If those two are true, I suspect I know what it is. | |||
Matt-W | don't know about precompilation, yes to the latter | ||
12:50
pmurias_ joined
|
|||
jnthn | Matt-W: Bet it ain't getting a fresh @?NS | 12:51 | |
Matt-W | precompiling both modules makes it work | ||
12:51
pmurias_ is now known as pmurias
|
|||
Matt-W | in fact, precompiling just A/A.pm works | 12:52 | |
masak submits rakudobug | 12:53 | ||
Matt-W isn't usre this is the problem that Form's got, but it's still a problem | |||
jnthn | Matt-W: OK, I got a good idea then of what that is. | 12:55 | |
Matt-W | jnthn++ | ||
jnthn | Well, jnthn-- for causing the stupid bug int he first place. ;-) | ||
Matt-W | yes, but jnthn++ for not throwing up his hands and saying 'well I don't know, you'll have to spend two weeks learning how rakudo works and fix it yourself' | 12:56 | |
jnthn | Matt-W: You could do that too...more people knowing Rakudo guts is a good thing. ;-) | ||
Matt-W | I have a week off work soon | 12:57 | |
I may spend some of it poking around and asking questions | |||
12:58
barney left
|
|||
masak should sit down with the Rakudo guts sometime | 13:07 | ||
Matt-W | Right, I should be off | 13:10 | |
Else I shall be late for my afternoon of recorder playing | |||
I may find some more bugs this evening :) | |||
& | 13:11 | ||
jnthn | masak: Well, pm will give a talk on it at NPW too. :-) | ||
masak | excellent. | ||
NPW will be awesome. | |||
jnthn | Only a month until we'll be making our way to Oslo. | ||
masak | aye. :) | 13:12 | |
jnthn | It's strange to think...the beer at my next Perl workshop will quite literally cost ten times as much as it did at my last one. | ||
Matt-W | If I start swimming now, do you think I can get there in time? | ||
jnthn | Matt-W: Depends, where would you be swimming from? | ||
masak | Matt-W: considering only swimming speed, yes, I think so. | 13:13 | |
Matt-W | whereever the closest part of the british coastline is | ||
jnthn | Then what masak said. | ||
Just mind the sharks and hypothermia. | 13:14 | ||
Matt-W | mmm maybe I'll steal a boat | ||
really & | |||
mberends | Google Maps doesn't give swimming directions, but walking under 5 days from Nottingham | 13:16 | |
masak finds the wildly out-of-date svn.perl.org/perl6/misc/trunk/builtins.pod | 13:17 | ||
13:17
Whiteknight joined
|
|||
masak | really, we should have explode-if-not-updated-for-two-years timeouts on such documents. | 13:17 | |
jnthn | mberends: Does that require ability to walk on water? | 13:20 | |
mberends | heehee | ||
masak | walking on water is so 1st century. | 13:21 | |
jnthn | 5 days of walking doesn't sound so bad, until you realize it means *literally* five full days of non-stop walking. | 13:25 | |
masak | bring cakes and water. | 13:26 | |
s/cakes/cookies/ | |||
13:27
ruoso joined
|
|||
jnthn | mmm...talking of which...I need lunch | 13:29 | |
ruoso | Hello! | 13:31 | |
masak | ruoso: hiya. | 13:34 | |
ruoso | masak, about the web.pm dispatcher thing... | ||
I think the multi is just going to call $action.*execute | 13:35 | ||
I mean | |||
it will simply provide a way to resolve which action should be invoked | |||
this is needed to still provide ways for you to compose roles into the actions | 13:36 | ||
i.e. Catalyst::Action::SOAP::DocumentLiteral | |||
masak | this is still all quite abstract to me. | ||
how small would a minimal example be, you think? | 13:37 | ||
details can be skipped, but runnability would be a definite plus. | |||
ruoso | basically | 13:38 | |
in the sketches I sent you | |||
you replace the regex part | |||
by the multi part | |||
where each multi variant returns the action object it represents | |||
then @parts.reduce: &actions; | |||
will reduce to the last action | |||
masak | ok. | 13:39 | |
still quite abstract, I'm afraid. | |||
ruoso | where you still have chained actions | ||
masak | but I'm happy to leave the exact implementation of the dispatcher to ihrd++. | ||
mberends: have you seen this? search.cpan.org/~dconway/Perl6-Perldoc-v0.0.5/ | 13:41 | ||
mberends | masak: yes, it's perl5 code. I intended to study it if I even ran out of ideas, but so far haven't had the need ;) | 13:43 | |
*ever | |||
masak | ok, good to know. :) | ||
skids needs to "be talked down" over contend blocks | 13:44 | ||
masak | mberends: if you would estimate the completeness of your module suite relative to S26... ? | ||
skids | I'm looking at them and thinking "this will never work" | ||
ruoso | skids, contend blocks are from a time where STM was assumed to be part of every implementation | ||
this is no longer true... it's considerably harder to think about contend without STM | 13:45 | ||
skids | Even so, STM would have to be on all the time in every thread for them to work as described. | ||
But that does short-circuit things a good deal for me, thanks. | |||
ruoso | skids, yes... STM would be on all the time... | 13:46 | |
skids | Just out of interest, where were the implicit barriers supposed to be located? | ||
(Because you have to commit sometime) | 13:47 | ||
ruoso | well, you would have "autocommit on" | ||
;) | 13:48 | ||
skids | On a per-object basis? Anyhow good thing to know. | ||
pmurias | ruoso: hi | ||
ruoso | hi pmurias | ||
I'm starting to sort out the big refactoring in SMOP | 13:49 | ||
to split out the modules | |||
pmurias, one of the important changes is that I'd like to remove the circular-dependency between lowlevel.sm0p and mold | 13:50 | ||
so my idea is to implement a very low-level state machine inside lowlevel.sm0p | |||
that behaves as an interpreter to be able to call DESTROYALL | |||
13:51
finanalyst left
|
|||
mberends | masak: the low hanging fruit of common Pod is complete, including Pod5 upconverter. Format codes about 50% in text, man, xhtml, pod5 and pod6 emitters. =table and =use not even started. | 13:52 | |
pmurias | ruoso: interpreter = continuation? | ||
masak | mberends: ok. thanks. | ||
lunch & | |||
13:52
DemoFreak joined
|
|||
ruoso | pmurias, yes... it might be good timing to fix that nomenclature | 13:53 | |
skids | As to the issue of "whether we even need coroutines"... | 13:54 | |
gather/take kill a lot of the need, but for code porting from stuff like Lua, we'll need a form where the return value of the yield function can be fed in from the calling routine every call. | 13:55 | ||
I was thinking maybe .=:something | |||
ruoso | masak, I'm not very confortable with changing $.input-line-separator, because when someone changes it is precisely because they need some semantic different then "line" | ||
skids | Assuming .= does syntactically refer to prefix:<=>, I'll have to refresh on that. | 13:56 | |
ruoso | pmurias, you think we could call it simply continution? | ||
what we currently call "interpreter implementation" | |||
or maybe that is the interpreter | 13:57 | ||
and what we call interpreter is something else | |||
I think not many runtimes create this barrier | |||
continuation interoperability | |||
pmurias | the biggest problem with calling it the contiunation is that people might assume it's reasumable | 13:58 | |
skids | "one-shot" continuation | ||
(seems to be a CS term I've seen used at least once.) | |||
ruoso | it might be resumable | 13:59 | |
if someone writes one that is | |||
pmurias | if someone adds a .clone method | ||
ruoso | yes | ||
so, in terms of the way we use it | |||
it is a continuation | |||
pmurias | we could call it a continuation than | 14:00 | |
ruoso | continuation class | ||
pmurias | class? | ||
ruoso | since it is just the implementation used by the actual continuation objects | ||
Mold is a continuation class | 14:01 | ||
you call new on it to get a new continuation | |||
pmurias | i see | ||
pugs_svn | r25824 | ruoso++ | [re-smop] created a new directory to host the refactored SMOP | 14:04 | |
pmurias | ruoso: re circular dependency between lowlevel.sm0p, we can either hand-write the m0ld block or i could add an option to m0ld to compile to C switches | 14:05 | |
s/,/and mold/ | |||
14:06
shinobi-cl joined,
shinobi-cl left
|
|||
ruoso | pmurias, the circular dependency is not about the compilation | 14:07 | |
but about the runtime | |||
I want to have lowlevel.sm0p into a separated module | |||
smop-gc | |||
and mold in its own module as well | |||
smop-mold | |||
so I need smop-gc to be independent of smop-mold | 14:08 | ||
because smop-mold already depends on smop-gc | |||
skids | hrm, could I interest anyone in the idea that :\(..) should be an "adverbial capture" ? | 14:11 | |
14:11
Sepheebear left
|
|||
pugs_svn | r25825 | pmurias++ | [re-smop] fix typo in README | 14:11 | |
TimToady | masak: how about .ins and .outs? | 14:13 | |
14:14
kanru left
|
|||
ruoso | skids, except by the fact that named arguments need identifiers... i.e. strings | 14:14 | |
skids | What about :{...}? | 14:15 | |
ruoso | same issue | ||
skids | But it already exists. | ||
ruoso | in which context? | ||
skids | It's an "adverbial block" in S02 | 14:16 | |
Goes into the slurpy block parameter when used on subs IIRC. | |||
pmurias | ruoso: would it be a good idea to seperate memory tracing out of lowlevel.sm0p? | 14:18 | |
ruoso | is it possible? | ||
14:19
Sepheebear joined
|
|||
ruoso | TimToady, what does "adverbial block" means? is it sent as a named argument? | 14:20 | |
pmurias | we could move the whole tracing guts into a different file and level #ifdef'ed hooks | ||
ruoso | ah sure | 14:21 | |
with the refactoring it makes even more sense | 14:22 | ||
because we have an entire module to hold the gc | |||
pmurias | or we could even use LD_PRELOAD if we are adventurous | 14:23 | |
ruoso | to enable or disable the trace? | ||
pmurias | to enable it | 14:24 | |
ruoso | it's a cool idea, for sure | 14:25 | |
skids | Hrm, I guess dotted form of iterate prefix is .<=> -- more characters, but actually for what it would be used for, quite coincidentally apt. | 14:26 | |
TimToady | missing a colon, I think | 14:30 | |
.:<=> | |||
pugs_svn | r25826 | pmurias++ | [re-smop] copied over smop_base.h | 14:31 | |
14:33
tuxdna joined
14:35
cai_ joined
|
|||
skids | RIght you are. | 14:35 | |
So if we were to say a coroutine is just an iterator, one would write something that returns an iterator, then invoke the return object $it.:<=> :<something here> to pass yield a return value. | 14:36 | ||
That just leaves, what signature are they passing into, for introspection, and whether the "out of iterations" exception would be OK for coro fiends. | |||
diakopter | howdy folks | 14:37 | |
pmurias | diakopter: hi | ||
ruoso: what exactly is interpreter capture - we don't have it in the "classic" smop but it's supposed to be in the refactored one | 14:40 | ||
TimToady | skids: assuming it's an unthrown exception, it's just an undef thing | ||
skids | Yeah I think that will likely be fine. | 14:41 | |
diakopter | I extended tycho's ListObject.cs to support lazy lists using an Enumerable<AnyObject> constructor or a Block<AnyTuple<AnyObject>> (whee) | 14:42 | |
skids | I don't think we want to even think about the "coroutine that pretends to be a function" syntax in Perl6, it is just plain ugly and the people that really want coroutines know it is a flawed presentation. | 14:43 | |
diakopter | wayland76: thanks for the OISC link the other day | 14:44 | |
skids | So I think for that section of S17 I'll just list the constructs that are doing coroutine stuff and punt over to S07 and other docs. | 14:45 | |
pmurias | skids: if you don't what the coroutines to pretend to be functions can't you use gather/take | ||
skids | Not for people that want return values on their yields (takes). | 14:46 | |
(For porting code from Lua for example) | |||
pmurias | you mean something like $foo = take 4? | 14:47 | |
skids | Plus they'll want them to be full class objects not statements. | ||
ruoso | pmurias, it's a capture that has the current interpreter as only positional param | ||
and so it can be constant | |||
to call methods such as loop | 14:48 | ||
skids | Yeah, which now returns the same thing both there and in caller, so likely we'd be keeping "yield" | ||
pmurias | ruoso: and we need it as we don't have a native capture at that point during bootstrap right? | 14:49 | |
skids | Oh, right I have to put some thought into the nested/composable/code-reuse aspect, but I'm sure that won't get very ugly. | 14:51 | |
pmurias | ruoso: we need native capture for bool | 14:52 | |
ruoso | pmurias, re boostrap: right | 14:53 | |
pmurias, we might want a constant bool-true-catpure and bool-false-capture for that purpose... | |||
14:53
kidd joined
|
|||
pmurias | and a for idconst? | 14:54 | |
14:54
kanru joined
|
|||
pmurias | s/a// | 14:54 | |
ruoso | maybe | 14:56 | |
but we usually don't call anything on idconst, do we? | 14:57 | ||
pmurias, we might also replace the MESSAGE member of them at a later stage | |||
15:00
Tene_ joined
|
|||
pmurias | ruoso: everything visible by Perl 6 needs FETCH/true and likely STORE | 15:02 | |
15:06
cai_ left
|
|||
ruoso | pmurias, right... we first define them without it, and replace the MESSAGE member of the RI later | 15:07 | |
in s0native, we make a very naive MESSAGE | |||
and in native we replace it | |||
what do you think? | 15:08 | ||
15:09
tuxdna left
|
|||
pmurias | i'm not very keen on having the RI mutable | 15:10 | |
ruoso: we could generate constant invocant only captures the same way we generate idconst's | 15:11 | ||
ruoso | but the problem is in the usage | ||
15:12
Tene left
|
|||
ruoso | it would not accept other types of captures... | 15:12 | |
but it won't be mutable | |||
it's just a bootstrap mechanism | |||
pmurias | if it's a simple "not implemented" stub i guess it won't do any harm | 15:16 | |
ruoso | it will only contain the features needed by gc and mold | 15:21 | |
then in "native" it replaces by the correct implementation | |||
15:29
nihiliad joined
15:30
Psyche^ joined
|
|||
masak | TimToady: perfect. I'll change it right away. | 15:41 | |
ujwalic | what is the diff between "named parameters" and "named arguments" ? | 15:42 | |
masak | ruoso: changing back to input-record-separator. | 15:43 | |
jnthn | Why - and not _ | ||
? | |||
masak | ujwalic: an argument is something you sent to a function. a parameter is something a function accepts. | ||
jnthn: because we expect dashes to be the standard in Perl 6, I think. | |||
jnthn | Oh. I thought we expected underscores to be... | 15:44 | |
jnthn cycles to the shed | |||
masak | maybe we do. I actually don't know. | ||
ujwalic | masak: are params part of sub prototype or signature | ||
jnthn | o jebat...the patch I just put into Parrot seems to trigger a GC bug. | ||
oooh...I think I know why | |||
masak | ujwalic: they make up the signature of a sub. | 15:45 | |
ujwalic | koool | ||
masak | I'm a bit uncertain whether the input record separator really is 'newline by default', as IO.pod says. wouldn't that vary with the platform? what's Perl 5's policy on this? | 15:46 | |
15:47
Patterner left,
Psyche^ is now known as Patterner
|
|||
TimToady | masak: I'm in the middle of a heavy IO edit | 15:47 | |
ujwalic | masak: in win32 and unix default id linefeed \n | 15:48 | |
is linefeed | |||
masak | TimToady: ok, withholding mine. | ||
TimToady | but on your Q, newline is not linefeed | 15:49 | |
in C it is *supposed* to mean the abstract line terminator | |||
ujwalic | ok | 15:50 | |
masak | mberends: Perl6::Perldoc has a large test suite, according to Damian. you might want to look into that. | 16:01 | |
16:01
justatheory joined
|
|||
mberends takes a look | 16:01 | ||
TimToady | you know, guys, "method Int foo (...)" is not legal syntax... :/ | 16:03 | |
masak | mberends: Damian even said in an email that it is explicitly amenable to Perl 6 implementations. | ||
ruoso | that's a bit surprising | 16:04 | |
masak | TimToady: why not? | ||
jnthn | std: method Int foo() { } | 16:05 | |
p6eval | std 25826: OUTPUTĀ«##### PARSE FAILED #####ā¤Malformed method definition at /tmp/H5Keco8LSf line 1:ā¤------> method Int foo() { }ā¤ expecting any of:ā¤ method_defā¤ traitā¤FAILED 00:02 34mā¤Ā» | ||
masak | o_O | ||
jnthn | rakudo: sub Int foo() { } | ||
p6eval | rakudo 41267f: OUTPUTĀ«Malformed routine definition at line 1, near "Int foo() "ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» | ||
jnthn | Woo. | ||
masak | TimToady: ah, I see why you say that, now. IO.pod is full of'em. | 16:06 | |
the one who wrote that must have been subject to some Java interference, I guess. | |||
ihrd | do I understand right, sub Int foo { ... } should def foo, which should return Int? | 16:13 | |
masak | ihrd: well, except for the fact that it's actually not legal Perl 6. | 16:14 | |
ihrd: seems to be a S32 documentation bug. | |||
ihrd | we have sub foo (--> Int) { ... } or something like this, no? | ||
masak | aye. | 16:15 | |
and sub foo () returns Int, IIRC. | |||
jnthn | I hope to make those two work in the not too distant future, btw. :-) | 16:16 | |
masak | nice. | 16:17 | |
mberends | masak: Damian's Perl6::Perldoc tests (in the CPAN source) are not large, there are 7 example pod docs but no Harness or 'make test' driver. | ||
masak | mberends: ok. so not as much as he seemed to imply in the email, then. | ||
mberends | the most valuable part for me has been S26 | 16:18 | |
16:19
alester joined
|
|||
mberends | btw, is $*PROG or $*PROGRAM_NAME (S28) implemented yet? | 16:20 | |
masak doesn't think so | |||
mberends | :-( | ||
masak | rakudo: say $*PROGRAM_NAME | 16:21 | |
p6eval | rakudo 41267f: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā» | ||
16:23
PeepOle joined
|
|||
PeepOle | Hi all. | 16:23 | |
16:23
alester left
16:26
ruoso left
|
|||
mberends | masak: rakudo/src/builtins/guts.pir:343 shifts @*ARGS[0] into $P0. I have no idea how to save that into $*PROGRAM_NAME, maybe someone else does... | 16:27 | |
masak | mberends: maybe look at other already-defined such variables? | ||
jnthn | set_hll_global '$*PROGRAM_NAME', $P0 | ||
16:27
arejay left
|
|||
masak | jnthn++ | 16:27 | |
jnthn | oh damm | 16:28 | |
mberends seconds that, jnthn++ | |||
jnthn | I just did spent a while, debugging...a broken test file. | ||
eval 'temp @*ARGS = <a b>; sub MAIN($a, $b) { $invoked = 0 };'; | 16:29 | ||
This goes and replaces the actual MAIN...which is why it doesn't run alter | |||
eh, it was a bad test anyway...$invoked = 1 woulda been correct | |||
But still... | |||
jnthn splits it into two test scritps. | |||
skids | did non-declarator rvalue signatures ever get "formally" approved? | 16:35 | |
(e.g. mlblog.osdir.com/lang.perl.perl6.co...011.shtml) | |||
pugs_svn | r25827 | jnthn++ | [t/spec] Break a test out into a separate file that in an eval clobbered the MAIN that was expected to be run as part of the test Also correct that test. | 16:36 | |
skids | my Str $a; :(Int $a where { .abs }) = $b; # throws if $b is not a nonzero int, otherwise coerces the value of $b into $a? | 16:37 | |
rakudo: my Str $a; :(Int $a where { .abs }) = 1; $a.say; | 16:38 | ||
p6eval | rakudo 41267f: OUTPUTĀ«too few arguments passed (0) - 1 params expectedā¤current instr.: '_block14' pc 40 (EVAL_17:28)ā¤Ā» | ||
16:39
ejs joined,
cookys joined
|
|||
skids | rakudo: my Str $a; :(Int $a) = 1; $a.say; | 16:39 | |
p6eval | rakudo 41267f: OUTPUTĀ«too few arguments passed (0) - 1 params expectedā¤current instr.: '_block14' pc 40 (EVAL_17:28)ā¤Ā» | ||
masak | strange error. | 16:46 | |
PeepOle | Hi all. I need some help with something written here www.perlfoundation.org/perl6/index....code_ideas | ||
Can anyone give me an idea what is involved in 'testing' Regexes and Grammars | |||
of perl6 | 16:47 | ||
masak | PeepOle: I don't have a ready answer for you, but I'd advise you to talk to moritz__++ about this. | 16:49 | |
he's very familiar with the Perl 6 test suite. | |||
in the meantime, you might check out what's already in t/spec. | 16:50 | ||
mberends | PeepOle, you probably want to add to the pugs/t/spec/S05-capture directory etc. | ||
PeepOle | masak: Is it ok to pm him? | ||
masak | PeepOle: I do think so, but if he were here right now, he'd have already replied. | ||
PeepOle | ok | 16:51 | |
jnthn | PeepOle: it'll be a lot about testing things defined in the S05 part of the Perl 6 specification. | ||
skids | PeeOle: for a quick view, perlcabal.org/syn/S05.html and unfold the links that say Show t/spec/S05 etc. | ||
mberends | jnthn, a patch for $*PROGRAM_NAME like you suggested works fine here. Should I still send the git diff to RT? | 16:52 | |
jnthn | mberends: prosim | ||
*please | |||
mberends++ | |||
mberends | izvolte | 16:53 | |
jnthn | yes yes yes my patch is SO going in now | ||
masak | :) | 16:55 | |
jnthn | masak: 'twas quite a bit of effort... | ||
dalek | kudo: e9aca5f | jnthn++ | (3 files): Make lexicals visible inside of eval. This depends on some recent Parrot changes, so bump up required version number. There are two parts to this: letting the parser know what lexicals are declared in the outer scope so it doesn't claim about them being undeclared, and then doing a .set_outer so the lexicals can be found at runtime. |
||
kudo: da2023f | jnthn++ | t/spectest.data: Add another test file to the spectest data (contains a test that got broken out) from another file, where it interfered with the other tests in the file). |
|||
jnthn | oops, excessive ) | 16:56 | |
pugs_svn | r25828 | jnthn++ | [t/spec] Unfudge a couple of tests related to eval seeing outer lexicals. | 17:05 | |
masak | jnthn: cool! jnthn++ | 17:09 | |
pugs_svn | r25829 | jnthn++ | [t/spec] Unfudge two more tests that didn't pass due to wanting to see lexicals outside of eval. | 17:11 | |
jnthn | Auto-unfudge may or may not find some more. | ||
17:13
alester joined
|
|||
jnthn | alester: Would it be possible in rakudo.org to have a "news" tab at the top, which gives latest stories? I don't see a way to get at something like that... | 17:14 | |
alester | sure | ||
lambdabot | alester: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
jnthn | alester: BTW, great job on the site otherwise. :-) | ||
Much improved. | |||
17:16
mikehh left
|
|||
jnthn | On the things that don't work in Rakudo list we have: | 17:16 | |
* some things that should be readonly aren't | 17:17 | ||
Does anyone know what any of these would be? A lot have been fixed in time... | |||
japhb | jnthn (since you're around at the moment): has there been in progress in Rakudo using Parrot libs yet? | ||
jnthn | japhb: A refactor I did yesterday should have resolved some issues with calling methods in Parrot libs. | ||
I guess that's some progress. :-) | 17:18 | ||
japhb | OK, but still no 'use OpenGL:from<parrot>;' ? | ||
jnthn | I don't believe so. | ||
japhb | darn. | ||
Thanks for the info | |||
skids | jnthn: pmichaud put that in there, it's been in since revision #2 on the old wiki. | 17:19 | |
japhb | When y'all do get that working, I suspect I will want to make some changes in how e.g. exports are being handled. That is, assuming namespace exporting works correctly in Parrot these days .... | 17:20 | |
17:20
alester left
|
|||
jnthn | japhb: Sure, it's a muchly wanted feature, but so are many other things... | 17:21 | |
frooh | rakudo: 'frewfrewfrew'.truncate | ||
p6eval | rakudo da2023: RESULTĀ«0Ā» | ||
frooh | rakudo: 'frewfrewfrew'.truncate(2) | ||
p6eval | rakudo da2023: OUTPUTĀ«too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;Any;truncate' pc 11908 (src/builtins/any-num.pir:169)ā¤Ā» | 17:22 | |
frooh | ... | ||
rakudo: 54.truncate | |||
masak | frooh: truncate is for numbers. | ||
p6eval | rakudo da2023: RESULTĀ«54Ā» | ||
frooh | rakudo: 54.truncate(1) | ||
p6eval | rakudo da2023: OUTPUTĀ«too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;Any;truncate' pc 11908 (src/builtins/any-num.pir:169)ā¤Ā» | ||
frooh | rakudo: 54.5.truncate(1) | ||
p6eval | rakudo da2023: OUTPUTĀ«too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;Any;truncate' pc 11908 (src/builtins/any-num.pir:169)ā¤Ā» | ||
frooh | rakudo: 54.5.truncate | ||
p6eval | rakudo da2023: RESULTĀ«54Ā» | ||
frooh | got it | ||
thanks masak | |||
masak | np. | 17:23 | |
17:23
kst` joined
|
|||
frooh | rakudo: -54.5.truncate | 17:24 | |
p6eval | rakudo da2023: RESULTĀ«-54Ā» | ||
frooh | rakudo: -54.5.round | ||
rakudo: 54.5.round | |||
p6eval | rakudo da2023: OUTPUTĀ«Method 'round' not found for invocant of class 'Num'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā» | ||
frooh | rakudo: -54.5.floor | ||
p6eval | rakudo da2023: OUTPUTĀ«Method 'floor' not found for invocant of class 'Num'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā» | ||
frooh | drat | ||
17:24
kst left
|
|||
jnthn | rakudo is floorless. ;-) | 17:25 | |
masak | no bottom. :) | ||
frooh | and probably ceilingless | ||
jnthn | We're still working on being flawless instead. | ||
frooh | 54.5.ceiling | ||
I'd prefer flawless | |||
rakudo: 54.5.ceiling | |||
p6eval | rakudo da2023: OUTPUTĀ«Method 'ceiling' not found for invocant of class 'Num'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā» | ||
masak | flawless... that'd put me out of work, you know. | 17:26 | |
frooh | "frew\n\n\n".chomp | ||
rakudo: "frew\n\n\n".chomp | |||
p6eval | rakudo da2023: RESULTĀ«"frew\n\n"Ā» | ||
frooh | I thought in perl6 it was supposed to chomp all the \n's | 17:27 | |
or did I get that backwards | |||
skids | frooh: that's 3 lines. It chomped the last. | ||
would you expect it to chomp "a\nb\n" to "ab"? | 17:28 | ||
ejs | jnthn: Yep, I'm from Odessa. | 17:29 | |
17:29
mikehh joined
|
|||
frooh | I mean all \n's in a row | 17:29 | |
at the end | |||
masak | frooh: why do you expect that? | 17:30 | |
frooh | I don't know; I was confused apparently :-) | ||
skids | rakudo: "windoze\r\n".chomp | 17:31 | |
p6eval | rakudo da2023: RESULTĀ«"windoze"Ā» | ||
skids | rakudo: "windoze\r\r\n".chomp | ||
p6eval | rakudo da2023: RESULTĀ«"windoze\r"Ā» | ||
jnthn | ejs: Cool. I liked it. :-) | ||
rakudo: "thing\n\n\n".trim | 17:32 | ||
p6eval | rakudo da2023: RESULTĀ«"thing"Ā» | ||
pugs_svn | r25830 | lwall++ | [IO] Massive overhaul, long overdue due to neglect of TimToady-- | ||
jnthn | w00t | ||
TimToady++ | 17:33 | ||
skids cheers! | |||
frooh | haha | ||
skids | TimToady++ indeed. | ||
ejs | jnthn: glad to hear ;-) | ||
TimToady | now to go kill termites :( | ||
17:33
ruoso joined
|
|||
masak | TimToady++ | 17:34 | |
frooh | karma TimToady | ||
skids | termites-- | ||
jnthn | ENOBEER | ||
jnthn -> shops | |||
frooh | anyone in here know off the top of their head how I can added classes to the setting/ | 17:39 | |
nm | 17:40 | ||
found it | |||
17:45
ludan joined
|
|||
ujwalic | any plan to split action.pm into multiple files | 17:49 | |
actions.pm | |||
17:51
nbrown joined
|
|||
jnthn | ujwalic: No immediate plans for that... | 18:00 | |
ujwalic | jnthn: Hi | ||
jnthn | hi | ||
ujwalic | ok :) | ||
jnthn | At most I think we'd move the subs out of there...but all of the action methods I think want to be in one file. | 18:01 | |
I can see the argument for it in terms of compilation time maybe improving but we don't expect parsing to be so slow forever. :-) | |||
18:01
ludan left
|
|||
ujwalic | ya | 18:02 | |
masak | let's say I have a bunch of very similar classes Foo::A, Foo::B, Foo::C which all derive from Foo and share a common interface of some sort. if I want to mock them, and create Foo::A::Mocked, Foo::B::Mocked, Foo::C::Mocked, is there a way to do so without writing a full declaration for each ::Mocked class? | 18:04 | |
I don't think roles help in this case, because of the need to actually override some methods. | |||
jnthn | masak: Mixins? | 18:05 | |
masak | jnthn: as in 'is also Mocked'? | ||
jnthn | oh, hmmm...misunderstood what you wanted...let me think... | 18:06 | |
You want share some of the overrides but do others differently? | 18:07 | ||
18:07
khisanth_ is now known as Khisanth
|
|||
jnthn | Then maybe a role would do it? | 18:08 | |
masak | jnthn: no, I want to do all Mocked classes exactly the same. | ||
jnthn | Ah, then why not a role? | ||
masak | the only difference is what they derive. | ||
jnthn: I thought roles couldn't override existing methods. | |||
jnthn | class Foo::A::Mocked is Foo::A does Mock { } | 18:09 | |
Where Mock is your role. | |||
masak | aye, I get that part. | ||
jnthn | But that will put the methods from the role into the subclass. | ||
Which menas they will override the ones from Foo::A. | |||
masak | oh! cool. | 18:10 | |
thanks. | |||
jnthn | Is that not what you want? | ||
ah, good :-) | |||
18:12
FurnaceBoy joined
18:16
ruoso left
|
|||
frooh | -5.5 should round to -6 right? | 18:17 | |
or should it be -5 because that's greater? | |||
18:17
fedora-angel joined
|
|||
s1n | frooh: depends on which side -5.5 approaches the .5 from | 18:20 | |
18:21
fedora-angel left
|
|||
frooh | well, all I have is -5.5 | 18:21 | |
masak | frooh: have you checked the spec? | ||
s1n | with an infinite number of 0's after the .5? | ||
frooh | I think that I have to assume that -5 is right, as the docs say that's what it should be | ||
masak: yeah | |||
masak | good, good. | ||
frooh | "The algorithm is C<floor($x + 0.5)>. | 18:22 | |
I just wanted to make sure that it made sense | |||
mberends | jnthn, if you want to try it out, my $*PROGRAM_NAME patch is in rt.perl.org/rt3/Public/Bug/Display.html?id=63872 | 18:24 | |
as a one liner, it looks suspiciously too easy. | 18:26 | ||
18:27
ruoso joined
|
|||
jnthn | mberends: It probably *is*. :-P | 18:29 | |
mberends | it's probably not readonly, for example | ||
jnthn | well, it's undef in the repl... | ||
Which is fine. | |||
masak | mberends: I'm finally reviewing. it's great fun, thanks for writing this! if you're still around when I finish (in an hour or so), I'll let you read it before I post. | 18:30 | |
jnthn | Does interesting things under -e - actually says "-e"... | ||
masak | that's not half-bad. :) | 18:31 | |
mberends | masak: great, any time this weekend is good | ||
masak | mberends: I'll ping you in an hour. | ||
mberends | ok | ||
jnthn | mberends: Not sure what it hsould do under -e but particle will be reviewing a bunch of that stuff anyway. | 18:33 | |
So won't worry about that case for now. | |||
18:34
ruoso left
|
|||
mberends | good, this variable will be immediately useful for proto and HTTP::Daemon | 18:35 | |
jnthn | mberends: Any chance you can submit a test? | ||
To the spectests? | |||
Just check that it ends with name-of-spectest.t should do it... | 18:36 | ||
mberends will have a go at that | 18:37 | ||
jnthn | mberends: comitted | 18:40 | |
dalek | kudo: 03f2d29 | jnthn++ | CREDITS: Add Ujval to the CREDITS. |
18:41 | |
kudo: 6d97951 | jnthn++ | src/builtins/guts.pir: Implement $*PROGRAM_NAME. Patch courtesy of Martin Berends (mberends++). |
|||
skids | ?nopaste | 18:44 | |
lambdabot | Haskell pastebin: hpaste.org/new | ||
dalek | kudo: 1dea765 | jnthn++ | CREDITS: Add mberends to CREDITS. |
18:45 | |
jnthn nomming dinner | |||
skids | ruoso: hpaste.org/fastcgi/hpaste.fcgi/view...2391#a2391 | 18:49 | |
Started to add a few examples to S07's generic iterators, then got confused by .unshift | 18:50 | ||
oops. since when does ruoso ever close his client :-) | |||
mberends | jnthn, pugs/t/spec/S02-magicals/progname.t already tests $*PROGRAM_NAME | 18:54 | |
jnthn | mberends: OK, were you able to unfudge it? | 19:03 | |
mberends trying make spectest now with S02-magicals/progname.t inserted in t/spectest.data | 19:04 | ||
jnthn | mberends: You can also perl6 t\spec\S02-magicals\progname.t | 19:06 | |
;-) | |||
ah | |||
The first test dies. | |||
Since we don't do PROCESS yet | |||
mberends | just seen the same error here :-( | 19:07 | |
jnthn | aye | ||
if you fudge the first test | |||
The second can run though | |||
:-) | |||
mberends | jnthn, could you please handle the fudging etc? I'm not ready to acquire fudge-fu today. | 19:09 | |
jnthn | Add above the first test: #?rakudo skip 'No PROCESS yet' | 19:11 | |
Then when you run make spectest it shoud run just the one | |||
mberends | thanks, I shall make it thus | 19:12 | |
19:12
ruoso joined
|
|||
jnthn | mberends: Great, thanks. | 19:13 | |
Every day, we get a little closer. :-) | |||
mberends | :) | 19:14 | |
masak | \o/ | 19:18 | |
frooh | rakudo: (-5).abs | 19:20 | |
p6eval | rakudo 1dea76: RESULTĀ«5Ā» | ||
19:22
ruoso left
|
|||
frooh | rakudo: (55).chr | 19:26 | |
p6eval | rakudo 1dea76: RESULTĀ«"7"Ā» | ||
frooh | rakudo: 1 == 1|0 | 19:27 | |
p6eval | rakudo 1dea76: RESULTĀ«any(Bool::True, Bool::False)Ā» | ||
frooh | rakudo: 1 == (1|0) | ||
p6eval | rakudo 1dea76: RESULTĀ«any(Bool::True, Bool::False)Ā» | ||
frooh | how is that supposed to work? | 19:28 | |
pugs_svn | r25831 | mberends++ | [Rakudo] skip test 1 of 2 -- no PROCESS yet | ||
frooh | rakudo: 1 == any(1,0) | ||
p6eval | rakudo 1dea76: RESULTĀ«any(Bool::True, Bool::False)Ā» | ||
frooh | rakudo: if 1 == (1|0) { say 'awesome' } | 19:29 | |
p6eval | rakudo 1dea76: OUTPUTĀ«awesomeā¤Ā» | ||
frooh | rakudo: if 1 == (1|1) { say 'awesome' } | ||
p6eval | rakudo 1dea76: OUTPUTĀ«awesomeā¤Ā» | ||
frooh | perfect | ||
rakudo: ' frew '.trim | 19:31 | ||
p6eval | rakudo 1dea76: RESULTĀ«"frew"Ā» | ||
frooh | rakudo: ' frew \n '.trim | ||
jnthn | Looks right to me. :-) | ||
p6eval | rakudo 1dea76: RESULTĀ«"frew \\n"Ā» | ||
frooh | rakudo: " frew \n ".trim | ||
p6eval | rakudo 1dea76: RESULTĀ«"frew"Ā» | ||
frooh | jnthn: yeah, I just didn't see the any at the front | ||
jnthn | mberends: Do you want me to add that file to spectest.data now? | ||
frooh | so I thought it was giving (True, False) vs any(True, Fase) | ||
jnthn | frooh: Ah, OK. | ||
mberends | running a new spectest, probably should wait until it passes | 19:32 | |
masak | jnthn: are private attributes inherited? | ||
jnthn | masak: Yes in the sense that they exist and the parent class can access them. | ||
masak didn't know that, or forgot | |||
frooh | is the '!EXPORT'('abs', 'from'=>$P0) line what turns methods into functions in pir files? | 19:34 | |
mberends | masak: do you have time to brainstorm a wiki-cheat-sheet concept? | 19:36 | |
jnthn | frooh: yes | 19:38 | |
frooh | ok, cool | 19:40 | |
19:40
ejs left
|
|||
frooh | also: do I need to do something to add a file to the setting? Or does the Makefile list of setting files get generated? | 19:41 | |
19:41
Tene joined
|
|||
meppl | good night | 19:42 | |
19:43
meppl left
|
|||
masak | mberends: right now, I'm having so much fun reviewing your code, so not really. :) | 19:44 | |
mberends | jnthn, that #?rakudo skip 'No PROCESS yet' resulted in: t/spec/S02-magicals/progname..............................FAILED test 2 Failed 1/2 tests, 50.00% okay (less 1 skipped test: 0 okay, 0.00%) | ||
19:44
amoc joined
|
|||
masak | mberends: perhaps in half an hour or so? | 19:44 | |
I'm almost done. | |||
mberends | keep going! | ||
frooh | mberends: is the # all the way at the beginning? Because it can't be indented | 19:45 | |
jnthn | mberends: That's odd. But if you run perl6 t/spec/S02-magicals/progname.rakudo does it work? | ||
pugs_svn | r25832 | leto++ | Unfudge passing test related to sub calling with long-dotted parens | 19:46 | |
mberends | perl6 t/spec/S02-magicals/progname.rakudo | ||
1..2 | |||
ok 1 - # SKIP No PROCESS yet | |||
not ok 2 - progname var accessible as context var | |||
# FUDGED! | |||
# Looks like you failed 1 tests of 2 | |||
frooh, the # is indeed at the beginning | 19:48 | ||
jnthn | mberends: OH! | ||
mberends: The test is a bit too strict | |||
Because we are fudging it. | |||
mberends | absolute path? | ||
jnthn | No | ||
Because it is .rakudo that we run that has been pre-processed, not .t | |||
mberends | lol | ||
jnthn | But to keep it implementation independent I suggest use a regex | ||
mberends | yesyes | 19:49 | |
mberends fixes the fix, or fudges the fudge | |||
jnthn | /t['/'|'\']spec['/'|'\']S02-magicals['/'|'\']progname '.' \w+$/ | ||
masak | o_O | 19:51 | |
frooh | rakudo: fail | 19:52 | |
p6eval | rakudo 1dea76: OUTPUTĀ«No exception handler and no messageā¤current instr.: 'return' pc 15475 (src/builtins/control.pir:39)ā¤Ā» | ||
frooh | rakudo: fail "foobar" | ||
p6eval | rakudo 1dea76: OUTPUTĀ«No exception handler and no messageā¤current instr.: 'return' pc 15475 (src/builtins/control.pir:39)ā¤Ā» | ||
frooh | rakudo: fail("foobar") | ||
p6eval | rakudo 1dea76: OUTPUTĀ«No exception handler and no messageā¤current instr.: 'return' pc 15475 (src/builtins/control.pir:39)ā¤Ā» | ||
19:53
Tene_ left
|
|||
jnthn | rakudo: sub lolz { epic fail "omg" }; lolz | 19:56 | |
p6eval | rakudo 1dea76: RESULTĀ«undefĀ» | ||
frooh | haha | ||
sub foo { fail "bar" }; foo | |||
rakudo: sub foo { fail "bar" }; foo | |||
p6eval | rakudo 1dea76: RESULTĀ«undefĀ» | ||
frooh | rakudo: sub foo { fail }; foo | ||
p6eval | rakudo 1dea76: RESULTĀ«undefĀ» | ||
frooh | generally fails should have messages right? | 19:57 | |
rakudo: (1 == 1|0, 1 == any(1,0), 1 == any(1|0)) | 19:59 | ||
p6eval | rakudo 1dea76: RESULTĀ«[any(Bool::True, Bool::False), any(Bool::True, Bool::False), any(any(Bool::True, Bool::False))]Ā» | ||
frooh | rakudo: say 'frew' if 1 == any(1|0) | 20:00 | |
p6eval | rakudo 1dea76: OUTPUTĀ«frewā¤Ā» | ||
frooh | that's weird. | ||
jnthn | That's right | ||
frooh | I know | ||
just any(any(1,0)) is a weird thing to do | 20:01 | ||
skids | rakudo: (any(1,0) == all(1|0,1|2), any(1,0) == all(1|0, 0|1)) | 20:16 | |
p6eval | rakudo 1dea76: RESULTĀ«[all(any(any(Bool::True, Bool::False), any(Bool::False, Bool::True)), any(any(Bool::True, Bool::False), any(Bool::False))), all(any(any(Bool::True, Bool::False), any(Bool::False, Bool::True)), any(any(Bool::False, Bool::True), any(Bool::True, Bool::False)))]Ā» | ||
frooh | that urts to read | ||
skids | rakudo: say "OHNOES" if (any(1,0) == all(1|0,1|2)) | 20:17 | |
p6eval | rakudo 1dea76: OUTPUTĀ«OHNOESā¤Ā» | ||
skids | hrm. | 20:18 | |
rakudo: say "OHNOES" if (1 == all(1,0)) | 20:19 | ||
p6eval | rakudo 1dea76: RESULTĀ«all(Bool::True, Bool::False)Ā» | ||
pugs_svn | r25833 | mberends++ | [Rakudo] progname.t test 2 now uses regex to accomodate filename fudging | ||
skids | rakudo: say "OHNOES" if (any(1|0) == all(1|0,1|2)) | 20:20 | |
p6eval | rakudo 1dea76: OUTPUTĀ«OHNOESā¤Ā» | ||
skids | rakudo: say "OHNOES" if (any(1,0) == all(1|0,3|2)) | ||
p6eval | rakudo 1dea76: RESULTĀ«all(any(any(Bool::True, Bool::False), any(Bool::False, Bool::True)), any(any(Bool::False), any(Bool::False)))Ā» | ||
skids | cobwebs clear. | ||
mberends | jnthn, the regex need a few more escapes, then it worked. committed. | 20:21 | |
jnthn | mberends: Great. :) | 20:24 | |
mberends: And test passes? | 20:25 | ||
masak | jnthn: I might have crashed mberends. I just sent him a nopaste url to my review of his Pos suite. :) | ||
s/Pos/Pod/ | 20:26 | ||
mberends | no, i'm not dead! | ||
masak | oh, good. | ||
*phew* | |||
mberends | just in your other window :) | ||
frooh | has anyone here ever used git-send-email? | 20:27 | |
mberends | jnthn, 'mask spectest' just skipped progname test 1 and passed test 2, as intended | ||
jnthn | mberends: oh awesome | 20:29 | |
mberends | go ahead and update spectest.data, it should all work now | 20:33 | |
masak | use.perl.org/~masak/journal/38643 | 20:49 | |
jnthn | mberends: done | 20:52 | |
mberends | jnthn: :) masak: :) | ||
dalek | kudo: 5b1ff9c | jnthn++ | t/spectest.data: Add S02-magicals/progname.t to spectest.data. |
20:53 | |
masak | mberends: :) | ||
jnthn | mberends: :) | ||
How symmetric is our channel. | |||
masak | aye, it's frightening. | 20:54 | |
mberends | (: | :) | ||
masak | we would pass a SAX parser without a problem. | ||
20:58
ruoso joined
|
|||
mberends | masak: Literate Programming seemed to rub some programmers up the wrong way. In the classroom I find 'Maintainable' easier to promote. | 20:59 | |
masak | that might be. | ||
I also heard people being less-than-happy with LP. | |||
mberends | even in #perl6 | ||
masak | as has been discussed earlier here on #perl6, I... yes. | ||
I don't think LP is universally applicable, but I think it has aspects worth considering in every project. | 21:00 | ||
frooh | sorry to ask such a silly question, but can anyone here tell me how to generate a patch for RT? git format-patch adds a lot of email based metadata that I don't think jnthn or pmichaud will want to see | ||
masak | and I don't think anyone would be willing to argue against my central thesis: that code should have a sense of purpose about it. | 21:01 | |
mberends | absolutely | ||
masak | frooh: hm, ISTR there's a sending-patches wiki page somewhere. | ||
frooh | Cis it the one I wrote? | ||
because that needs to be updated with this new information.... | 21:02 | ||
masak | ah, you wrote it? :) I see. | ||
then I'm not sure I can help you. | |||
frooh | the "Frew's Recommended Workflow" one; and the other one (deceptively named "Steps to create a patch") doesn't actually say how to make a patch itself | 21:03 | |
it says to use git format-patch, but I am starting to think that's not good if you aren't using get send-email | |||
mberends | can we figure out the process of applying a patch, and then work backwards? | ||
frooh | well, theoretically someone could use get-am for that | 21:04 | |
but then you'd have to set up git-am | |||
mberends | I used 'git diff' about an hour ago, pasted the text into a mail to [email@hidden.address] | 21:05 | |
frooh | that makes sense | 21:06 | |
I'll do that :-) | |||
ok, well, git send-email is *supposed* to take git formatted patches and mail them for you | 21:07 | ||
but it gives me errors in ubuntu | 21:08 | ||
so I'll have to investigate that | |||
mberends | do it manually. the mail can/should also have as much supplementary information as possible. | ||
frooh | I did | ||
mberends | :) | ||
frooh | but the git send-email can prompt you for a body and everything | ||
but again, if I can't use it, it's useless | 21:09 | ||
masak | I might have said this before, but as a bloggin platform, use.perl.org leaves a whole lot to be desired. | ||
frooh | masak: Ovid said it recently in a post | ||
mberends | 'git send-email' may need configuration somehow. | ||
frooh | mberends: yeah, I configured it with stuff, but it gave me an error message | 21:10 | |
jnthn | planning note: since I was away for the first half of the month, I have a Rakudo day to catch up on. ;-) I plan to do one Tue or Wed, then another one next Saturday (week today). | ||
frooh | does everyone else get logged out all of the time from use.perl.org? | ||
jnthn | Feature requests and tickets that matter to anyone in something they're working on welcome. | ||
frooh: I've not had that problem happen to me... | |||
frooh: But I use auto-login (or remember me, etc) | 21:11 | ||
frooh | I do too | ||
jnthn | ah | ||
Browser? | |||
frooh | FF 3 | ||
masak | frooh: url to Ovid's post? I looked, but didn't find anything. | ||
21:11
FurnaceBoy left
|
|||
frooh | lemme find it | 21:11 | |
masak | frooh: I don't get logged out all the time, but then again, I visit it quite often. | 21:12 | |
frooh | but I'll get logged ut like, minutes after making a comment or something | ||
masak | huh. doesn't happen here. | 21:13 | |
jnthn | frooh: Ah, FF3 here too. :-S | ||
frooh | I can't find his post either... | 21:14 | |
but he was complaining about not being able to post images | |||
masak | yes, that's only half of it. | ||
use.perl.org actually _encourages_ crap-assy HTML. | 21:15 | ||
frooh | hahaha | ||
how? | |||
no css, only tables? | |||
jnthn | Thing is, use.perl.org is the most central place we have to broadcast stuff to the community. | ||
masak | frooh: I get the feeling that you're only allowed to use a handful of element types. | ||
frooh: and it strips all the interesting attributes from these. | 21:16 | ||
jnthn: yes, I have a plan to improve it. | |||
jnthn | BUT DOES IT SUPPORT <BLINK>? | ||
masak | @slap jnthn | ||
lambdabot slaps jnthn | |||
frooh is said that his company home page has a <marquee> tag | |||
sad* | 21:17 | ||
masak | frooh: oh, the early 90's horror. :) | ||
frooh | you don't even know | ||
masak | I probably don't. | ||
frooh | this is why CEO + Developers is a bad idea | ||
things like that happen | |||
and we can't even change it | |||
I'd give you a link, but who wants to see another bad webpage? | 21:18 | ||
jnthn | Well, we could all send emails. "We want to buy your products, but our procurement policy bans us from using companies who use the <marquee> tag on their site." | 21:19 | |
masak | mberends: I saw you did s/qx/fake_qx/ in your latest commit to perl6-examples. found another sub qx in Configure.pm, but it isn't used. should I remove it? | ||
mberends | yes, calling qx() has been poisoned in Rakudo, so it's dead code. | 21:20 | |
frooh | jnthn: I'll mention that to co-workers and see what they think :-) | ||
masak | ah. removed. | ||
mberends: I like the Makefile output. :) | 21:22 | ||
mberends is pleased to have the services of a cage cleaner :) | |||
masak | ook ook! | 21:23 | |
mberends: your Makefile output would have to be special-cased when generating progress dots in proto, but that's not really a problem. | |||
mberends | it's a little cheeky for Configure to segue right into make, but laziness is... | 21:24 | |
how can you make progress dots right now? | |||
masak | mberends: well, by scanning the Makefile beforehand and observing the order of compilation. | ||
then you just scan for clues among the commands that are output. | 21:25 | ||
the same thing can be made with your Makefile output, actually. | |||
mberends | that sounds powerful, because makefiles are not linear. | ||
masak | right. | ||
files might be skipped due to not needing recompilation. | |||
mberends | doesn't it also need non-blocking input? | 21:26 | |
masak | mberends: yes. | ||
jnthn | .oO( And this is how we ended up with a Perl 6 implementation of make... ) |
||
masak | mberends: which is why that part of proto will also be in Perl 5 for the time being. | ||
amoc | hello - ! i have a question, how do you insert " " spaces between array with say() function? | ||
masak | amoc: .fmt | 21:27 | |
jnthn | @array.join(' ').say | ||
lambdabot | Unknown command, try @list | ||
jnthn | oh, or maybe neater with what masak said :-) | ||
masak | rakudo: say [1,2,3].fmt('%s') | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«1 2 3ā¤Ā» | ||
jnthn | nice | ||
masak | I know! | ||
I implemented that. :) | |||
amoc | wow cool :) | ||
jnthn | masak++ | ||
masak | (it wasn't really that hard) | ||
jnthn | rakudo: say [1,2,3].fmt(',') | 21:28 | |
p6eval | rakudo 5b1ff9: OUTPUTĀ«, , ,ā¤Ā» | ||
masak | .oO( . . . ) |
||
jnthn | ...how do you use fmt anyway? :-) | ||
masak | haha | ||
jnthn: RTFM! | |||
(I wrote that too) | 21:29 | ||
jnthn | meh, this community sucks, I'm leaving ;-P | ||
masak | *lol* | ||
skids | Can we make .say pass adverbs through to .Str, I mean specification-wise is that OK? | ||
amoc | perl6 is a lot diffrent with 5, | ||
masak | jnthn: basically, it works like sprintf for scalars, but it goes does one level for arrays, pairs and hashes. | ||
s/does/down/ | 21:30 | ||
jnthn | masak: And the insertion of spaces is just a side-effect? | ||
masak | aye. | ||
jnthn | masak: aha, OK | ||
masak | but customizable with a second arg. | ||
jnthn | So the %s means "just do it as a string" | ||
masak | aye. | ||
jnthn | OK, makes sense. | ||
And, cool! | |||
mberends | rakudo: my @a=1,2,3;say "{@a}"; # another way | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«1 2 3ā¤Ā» | 21:31 | |
masak | at one time, I was opting for that being a default as well, so that one could write just .fmt() | ||
actually, I still thing that's a good idea. | |||
s/g/k/ | |||
amoc | { } in say "{@a}" works like "@{[]}" in perl 5 ? | 21:32 | |
masak | amoc: not exactly. | ||
amoc: it's a general construct for temporarily going back to un-quoted. | |||
rakudo: say "OH {say "FOO!"} HAI" | |||
p6eval | rakudo 5b1ff9: OUTPUTĀ«FOO!ā¤OH 1 HAIā¤Ā» | ||
masak | (the 1 comes from the return value from say) | 21:33 | |
amoc | aha, i got it :) | ||
masak | I knew you would. :) | ||
amoc | thank you masak++ | 21:34 | |
masak | np. | ||
amoc: over here at #perl6, you will find people who are very willing to answer questions and help with getting started with Perl 6. | 21:35 | ||
skids | rakudo: sub f ($f, *@slurp) { @slurp[0].say; @_[0].say }; f("OH","HAI"); | 21:36 | |
p6eval | rakudo 5b1ff9: OUTPUTĀ«invalid arg type in named portion of argsā¤current instr.: 'f' pc 84 (EVAL_17:50)ā¤Ā» | ||
jnthn | ...huh... | 21:37 | |
what named portion :-| | |||
rakudo: sub f ($f, *@slurp) { }; f("OH","HAI"); | |||
amoc | masak: ee.. i see ! ( i'm not so good at english T_T ) | 21:38 | |
p6eval | rakudo 5b1ff9: RESULTĀ«[]Ā» | ||
masak | amoc: that's ok too. | ||
jnthn | rakudo: sub f ($f, *@slurp) { @slurp[0].say; }; f("OH","HAI"); | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«HAIā¤Ā» | ||
jnthn | rakudo: sub f ($f, *@slurp) { @_[0].say; }; f("OH","HAI"); | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«invalid arg type in named portion of argsā¤current instr.: 'f' pc 84 (EVAL_17:50)ā¤Ā» | ||
jnthn | @_[0].say | ||
lambdabot | Unknown command, try @list | ||
jnthn | rakudo: @_[0].say | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā» | ||
pmichaud | hello #perl6 | ||
jnthn | rakudo: sub x { @_[0].say }; x() | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā» | ||
jnthn | pmichaud: OH HAI | 21:39 | |
masak | amoc: where are you from? Asia? | ||
jnthn | pmichaud: How was flight / is trip? | ||
pmichaud | trip is okay, except kids are acting up. | ||
skids | Wow did I find a bug? I was just trying to figure if @_ still worked even with a named slurpy, and how. | ||
jnthn | rakudo: sub x(*@x) { @_[0].say }; x() | ||
masak | \o/ oh hai pmichaud! | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«invalid arg type in named portion of argsā¤current instr.: 'x' pc 70 (EVAL_17:46)ā¤Ā» | ||
amoc | masak: yes, from South Korea :) | ||
masak | amoc: cool! | ||
I hear that's a very nice country. | |||
jnthn | masak: quick! rakudobug! | 21:40 | |
masak submits, quickly! | |||
jnthn | pmichaud: Kids will be kids... | ||
pmichaud: main news is... | |||
pmichaud | yes, but they're being particularly egregious this trip for some reason. At any rate, we're taking a "family timeout" in the hotel for a while. | ||
masak | amoc: and you have the best writing system in the world. | 21:41 | |
jnthn | rakudo: my $x = 42; eval('say $x') # note single quotes | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«42ā¤Ā» | ||
pmichaud | jnthn: yes, I saw the commit. | ||
nice work. | |||
amoc | masak: where are you from ? | ||
jnthn | Main work was beating Parrot into submission. | ||
masak | amoc: Sweden. | ||
amoc | masak: oh, you knows very well! | ||
masak | amoc: aye, I collect knowledge. :) | ||
I started very early. | 21:42 | ||
jnthn | amoc: A lot of people who are into Perl are also interested in natural langauges too. :-) | ||
pmichaud | I continue to be concerned about the cost of the 'inspect' opcode at some point, but I'm not too worried abouti t at the moment :-) | ||
s1n | pmichaud: i had to spend this week hacking on pen and paper :) | ||
masak | jnthn: and planned ones. | ||
jnthn | pmichaud: Well, not sure we need to optimize eval massively just yet... ;-) | ||
pmichaud | jnthn: agreed, which is why I'm not too worried about it yet. But someday someone will do eval() in a loop and then it'll matter :-) | 21:43 | |
jnthn | Aye. | ||
pmichaud | of coruse the cost of looking up the lexicals (and cloning the inspect structure) is still probably less than the cost of the parse. | ||
jnthn | Well, we can cache the lexical list as a property on the block if we gotta. | ||
Right. The cost of compiling the code is massively more than finding the lexicals for now. | 21:44 | ||
pmichaud | anyway, as I said, nice work. That's a good thing to have out of the way. | ||
Matt-W | but the compilation will be faster one day too | ||
jnthn | Yeah, I'm glad to have it done. | ||
pmichaud | I suspect that the parrot change might also make it easier to fix the interactive loop too. | ||
jnthn | Yes | ||
amoc | masak: wow, where i want to travel is Sweden. i heard eco-friendly(?) system is so good in Sweden from tv. | ||
jnthn | I plan to leave that to someone who hates the interactive loop enough to want to work on it. ;-) | 21:45 | |
21:45
ruoso left
|
|||
masak | amoc: we are very eco-friendly. | 21:45 | |
Matt-W liked Sweden when he went | |||
21:45
alex^ left
|
|||
masak | amoc: we even have ecological burials! | 21:45 | |
jnthn | Sweden is a nice country. I'm happy to have Swedish clients. | ||
And thus excuses to go there. | |||
masak | I could say the same. | ||
amoc | wow cool - | 21:46 | |
jnthn | pmichaud: I'm planning a Rakudo day early-ish next week and then a week today (two to catch up with not being around at the start of the month). | ||
pmichaud: Anything you want me to focus on? | |||
I'm slightly in a features mood at the moment as much as a fixes one... :-) | 21:47 | ||
masak | Rakudo release day is Thursday, right? | 21:48 | |
pmichaud | yes, Rakudo will be late thursday. | ||
masak | which city? | ||
pmichaud | might be very early thursday -- depends on what is happening around our trip. | ||
Oslo. | |||
masak | ah, nice. | ||
jnthn | Yay! | ||
We should try and go out of Europe for the third perhaps. | 21:49 | ||
pmichaud | sure. I'm calling the March release Oslo to bring attention to NPW. | ||
jnthn | Yes | ||
I like that. | |||
pmichaud | so far April and later releases aren't tagged yet. | ||
jnthn | Cool! | ||
Bring on the battle of the PMs! | |||
pmichaud: Think we could auction one of them at a YAPC, BTW? | 21:50 | ||
pmichaud | sure, I'd be happy to do that. | ||
frooh | I love the corporate costs for YAPC | ||
awesome | |||
jnthn | pmichaud: I was pondering doing state vars... | ||
pmichaud | that should be easy to do. | 21:51 | |
I think that'd be a good feature to add. | |||
jnthn | How had you planned to store the values between invocations/ | ||
pmichaud | I was planning to map it to a package/global somewhere. | ||
something not otherwise reachable | |||
jnthn | ah | ||
I had been pondering a property on the block. | 21:52 | ||
As in, Parrot-level property | |||
pmichaud | the hard part about property on block is the blocks are sometimes cloned | ||
trying to keep track of all of those might be challenging | |||
jnthn | I fear that the approach you suggest might hurt us too. | 21:53 | |
TimToady | rakudo: say ~(1,2,3) | ||
pmichaud | so, I was going to do something like (for "state $x") | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«1 2 3ā¤Ā» | ||
jnthn | Like, blocks that get gc'd... | ||
TimToady | just put the thing in string context | ||
pmichaud | $P0 = get_hll_global "uniquenamefor$x" | ||
lex '$x', $P0 | |||
jnthn | sub foo() { my $x = -> { state $y = 1; say $y++ }; $x() $x() }; foo(); foo(); | 21:54 | |
Output here is 1 2 1 2 or 1 2 3 4? | |||
pmichaud | I think 1 2 3 4 | 21:55 | |
jnthn | ah, OK | ||
pmichaud | but I could be wrong about that. | ||
21:55
bacek joined
|
|||
jnthn | What about | 21:55 | |
(above example mayvbe didn't get at the essence of my point) | |||
bacek | good morning | ||
jnthn | sub mc($start) { return { my $x = $start; $x++ } } | 21:56 | |
my $x = mc(1); say $x(); say $x(); my $y = mc(1); $y(); $y(); | |||
(my point is interaction between state and closures) | |||
pmichaud | Did yo umean for the 'my' to be 'state' ? | 21:57 | |
jnthn | oh, damm | ||
sub mc($start) { return { state $x = $start; $x++ } } | |||
Like that. | |||
21:58
ruoso joined
|
|||
jnthn | Again, output 1 2 1 2 or 1 2 3 4 | 21:58 | |
I guess there's, wwp5.10d ;-) | |||
pmichaud | S03 says: state $foo # persistent lexical (cloned with closures) | ||
not sure what that means exactly. | 21:59 | ||
jnthn | cloned would suggest distinct per closure? | ||
pmichaud | I'm guessing that's closer to your interpretation. | ||
jnthn | In that case, do the cases where we clone the block not map to when we take a closure? In which case, the property on the block might just Do The Right Thing. | ||
22:00
abra joined
|
|||
jnthn | (As in, get lost in the clone, meaning the state var gets re-init'd) | 22:00 | |
pmichaud | yes, in that case it might be more correct. | ||
oooh, looks like S16 got an overhaul. TimToady++ | 22:03 | ||
jnthn | Yes | 22:04 | |
I'll feel less wary on spending tuits on IO impl now... | |||
masak | jnthn: then do .ins() ! | 22:05 | |
puh-lease! :) | |||
masak didn't even know he wanted .ins so much | 22:06 | ||
jnthn | masak: I'll have to go look up what it is. :-) | 22:07 | |
masak | jnthn: it's the $. analogue. | ||
jnthn | aha | 22:08 | |
Will read the updated S16 as a whole in the next couple of days. | |||
masak | mberends: if I remove the parse_file('/dev/null') calls from the tests, they all throw a Null PMC access. care to tell me what's going on there? | 22:10 | |
masak tries to figure it out himself in the meantime | |||
mberends cannot immediately remember | 22:11 | ||
masak | IDSTR such a rakudobug ticket. ;) | ||
jnthn | masak: Is that .parse_file called on a grammar? | 22:12 | |
masak | jnthn: no, on a class. | ||
jnthn | ah, ok | ||
masak | er, on an instance of a class. | ||
jnthn | yes | ||
it's not the built-in grammar method, ok | |||
masak | no. | ||
mberends | masak, ISTR that the tests only required "warming up" because they were *not* parsing a file, they were parsing the $pod string. The parse_file() dynamically initializes the Pod::Parser object, so that workaround parses "no file". | 22:16 | |
masak | mberends: that makes sense. | 22:17 | |
mberends | yes, I had trouble mapping the new() idiom to Perl 6. | ||
masak | mberends: still, you have a Null PMC access there which deserves tracking down. | ||
I'll try to find whence it stems. | 22:18 | ||
mberends | there may be some invisible bitrot there | ||
me should also review his own code ;) | 22:20 | ||
22:22
Grrrr joined
|
|||
masak | mberends: I think you'll want to refactor that piece of Pod::Parser to expose methods for parsing strings, not just files. | 22:24 | |
it would facilitate the testing for you, too. | |||
mberends | the recent / ... {*} / will probably also refactor parse_line() and parse_directive() nicely, I think | ||
masak | recent? :P | 22:25 | |
pmichaud | off again -- bbl | 22:27 | |
22:29
awarefish joined
|
|||
mberends | masak: the initial architecture mimicked the Perl 5 design. Now, with a running test suite, it is more feasible to expand the language envelope. Initially this project almost stalled because of bugs and insufficient testing. | 22:30 | |
masak | mberends++ | ||
mberends | testing++ | ||
masak | anyway, I'm halfway through my patches. will try to localize this Null PMC access for a few more minutes, and then I'll defer that and continue patching. | 22:31 | |
mberends | your patches are going to catalyse me into more development, in any case :) | 22:32 | |
masak | sounds good. :) | 22:33 | |
wow, I haven't even posted my first review, and the reviewing is working already! | 22:34 | ||
mberends | :) | ||
22:34
abra left,
abra joined
22:39
abra left
|
|||
masak | rakudo: enum A <>; my A $a; say $a ne "" | 22:46 | |
p6eval | rakudo 5b1ff9: OUTPUTĀ«Null PMC access in get_string()ā¤current instr.: 'infix:ne' pc 15212 (src/builtins/cmp.pir:103)ā¤Ā» | ||
masak | there it is. | ||
masak submits rakudobug | |||
mberends | frooh: the want images lament was in the Wednesday March 04, 2009 of use.perl.org/~Ovid/journal/ | 22:47 | |
jnthn | rakudo: enum A <>; say A | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«Null PMC access in get_string()ā¤current instr.: 'print' pc 19050 (src/builtins/io.pir:26)ā¤Ā» | ||
jnthn golfs masak | |||
masak | oh. | ||
jnthn++ | |||
frooh | mberends: I knew he said it | 22:54 | |
22:54
diracdelta joined
|
|||
bacek | rakudo: enum A <a b>; say A::a == A::a | 22:59 | |
p6eval | rakudo 5b1ff9: OUTPUTĀ«1ā¤Ā» | ||
bacek | rakudo: enum A <a b>; say A::a cmp A::a | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«0ā¤Ā» | ||
bacek | rakudo: enum A <a b>; say a < * | 23:02 | |
p6eval | rakudo 5b1ff9: OUTPUTĀ«too few arguments passed (0) - 1 params expectedā¤current instr.: 'undef' pc 390 (EVAL_20:118)ā¤Ā» | ||
bacek looking for masak :) | |||
masak | hello. | ||
23:02
nihiliad left
|
|||
bacek | masak: bug-bug! :) | 23:02 | |
masak squints a bit | |||
bacek | rakudo: say 1 < * | 23:03 | |
p6eval | rakudo 5b1ff9: OUTPUTĀ«Use of uninitialized valueā¤0ā¤Ā» | ||
bacek | rakudo: enum A <a b>; say a < * | ||
masak | ok. | ||
masak submits | |||
p6eval | rakudo 5b1ff9: OUTPUTĀ«too few arguments passed (0) - 1 params expectedā¤current instr.: 'undef' pc 390 (EVAL_20:118)ā¤Ā» | ||
jnthn creates a meta-ticket "enums damm suck" | |||
bacek | jnthn: you can reopen my ticket with subject "Enum implementation in Rakudo isn't perfect" :) | 23:04 | |
jnthn | bacek: I fixed that particular imperfection. :-P | ||
A decent bit of Rakudo guts changed since enums were first done, which doesn't help. | 23:05 | ||
bacek | rakudo: eval 'enum A<a b>'; say A::b | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«too few arguments passed (0) - 1 params expectedā¤current instr.: '_block61' pc 401 (EVAL_22:125)ā¤Ā» | ||
bacek | jnthn: but you can reuse subject :) | ||
jnthn | bacek: That one that you just did ain't ever going to work. | ||
bacek | jnthn: why? | ||
jnthn | Because without the eval we know A::b is a typename. With it, when we parse the A::b we don't consider it a type name. | 23:06 | |
And thus it's a sub call. | 23:07 | ||
bacek | rakudo: eval 'enum A<a b>'; eval 'say A::b' | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«1ā¤Ā» | ||
jnthn | Exactly. | ||
The first eval installs the type in the namespace, so when we parse A::b in the second one, we know its a type name. | |||
bacek wonders why Eval's values can't subs | |||
jnthn | Enum's values? | 23:08 | |
They can act as subs, they they require an argument. Which is what Rakudo is telling you. :-) | |||
bacek | rakudo: class Enum { sub a { 0 }; sub b { 1 } }; say Enum::b | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«1ā¤Ā» | ||
bacek | rakudo: eval 'class Enum { sub a { 0 }; sub b { 1 } }'; say Enum::b | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«1ā¤Ā» | ||
bacek | heh :) | ||
rakudo: eval 'class Enum { sub a { 0 }; sub b { 1 } }'; say Enum::b; say ~(Enum::a..Enum::b) | 23:09 | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«1ā¤0 1ā¤Ā» | ||
bacek | rakudo: eval A<a>; say a; eval 'sub a { "O HI" }'; say a | 23:11 | |
p6eval | rakudo 5b1ff9: OUTPUTĀ«Could not find non-existent sub Aā¤current instr.: '_block14' pc 53 (EVAL_16:38)ā¤Ā» | ||
bacek | rakudo: eval A <a>; say a; eval 'sub a { "O HI" }'; say a | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«Could not find non-existent sub Aā¤current instr.: '_block14' pc 60 (EVAL_16:40)ā¤Ā» | ||
bacek | rakudo: enum A <a>; say a; eval 'sub a { "O HI" }'; say a | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«0ā¤aā¤Ā» | ||
bacek | what??? | ||
jnthn | bwaha | 23:12 | |
I know *why* but it's wrong. :-) | |||
masak | indeed. | ||
jnthn | (Should not let you define that sub...) | ||
masak submits rakudobug | |||
jnthn | masak: I think we already have at least one relating to sub/type name conflict...add this example to that if you can find it easily. | ||
masak | I'm a bit busy cleaning mberends' cage right now. | 23:13 | |
bacek | rakudo: enum A <a>; sub a { "HI" }; say a | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«0ā¤Ā» | ||
masak | is it ok if I cheat and merge the tickets later? | ||
jnthn | masak: Sure | ||
23:13
Chillance joined
|
|||
jnthn | masak: Rather too many tickets than too few. | 23:13 | |
masak | that's, like, my motto. | 23:14 | |
bacek | rakudo: package Foo { enum A <a>; }; say a; | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«Could not find non-existent sub aā¤current instr.: '_block18' pc 53 (EVAL_23:38)ā¤Ā» | ||
bacek | rakudo: package Foo { enum A <a>; }; say Foo::A::a; | ||
p6eval | rakudo 5b1ff9: OUTPUTĀ«Null PMC access in invoke()ā¤current instr.: '_block18' pc 60 (EVAL_24:39)ā¤Ā» | ||
bacek | yak... | 23:15 | |
masak | new bug? | ||
bacek | masak: not sure. | ||
masak | let me know when you're sure. :) | ||
bacek | but... Use your motto :) | ||
masak uses his motto | |||
mberends | masak: does a new page on november-wiki.org *have* to be created by editing an existing page? | 23:16 | |
jnthn needs to motivate himself to re-write Rakudo's enum implementation | |||
bacek | jnthn: I can help. | 23:17 | |
masak | mberends: so the question is "is there a new-page function?", yes? | ||
bacek casts "Motivation Ray" to jnthn | |||
masak gets his sideburns singed by the ray | |||
bacek: ouch! | 23:18 | ||
bacek | masak: now you overmotivated! :) | 23:19 | |
masak | at least my sideburns are. | ||
bacek | masak: how your "STD parsing with Rakudo" going? | 23:20 | |
mberends | masak: something like that. november-wiki.org/edit/new_page failed. my proposed pages might look silly in the main page. | ||
masak | bacek: it's a secret, but very well, thank you. | ||
mberends: that should work. | 23:21 | ||
bacek | masak: when we will have 3-stage rakudo compilation? :) | ||
masak | bacek: 3-stage? :) | ||
mberends tries again and succeeds. the first page name had a '-' in it. propose a novemberbug. | 23:22 | ||
bacek | masak: compile perl6-with-src/parser; compile perl6-with-STD using previous one; compile per6l-with-Setting | ||
masak | mberends: indeed. we should have an RT for November. | 23:23 | |
jnthn took far too many photos on his vacation... | 23:24 | ||
masak | mberends: while I remember it, what did we decide about hotel room? | 23:25 | |
mikehh | rakudo (5b1ff9c) builds on parrot r37417 - make test/make spectest PASS - Kubuntu i386 | 23:27 | |
mberends | Your notion of splitting the bill is fine. It's tax-deductible for me, so anything goes. The cost of beer is a bigger concern. | ||
masak | indeed. | ||
23:28
kate21de1 joined
|
|||
jnthn | Tax deductable beer...if only... | 23:29 | |
masak | mberends: hey! your XHTML parser _does_ do some escaping. :) I discovered this when trying to add a failing test for escaping. | 23:31 | |
mberends | masak: does check in Wedneday evening and out Sunday morning suit? | ||
masak | sounds reasonable, yes. | 23:32 | |
mberends | there are some .subst() calls for escaping. The order is crucial, afair. | ||
23:33
Chillance left
|
|||
masak | it is, yes. | 23:33 | |
replace & first. :) | |||
mberends | that's the one! | ||
23:33
Chillance joined
|
|||
masak | ok, then I'll have to praise you instead of criticising you there. dang. :) | 23:34 | |
I kinda liked that criticism. | |||
mberends | there's plenty more nits there... | ||
(even lists, with commas, except finally,) | 23:35 | ||
mberends misses the bots that usually interject in these sorts of interchanges | 23:36 | ||
masak | ok, I'm done. pushing, sending pull request, posting to blog. | 23:40 | |
mberends: uhm, problem. if I send a pull-request to eric256's repo, does the request reach you, or only eric256? | 23:41 | ||
mberends: anyway, you can see my 10 commits in the Network view. | 23:42 | ||
mberends doesn't know and looks | |||
23:44
kate21de left
|
|||
mberends | hrmphh, the Debian flash plugin doesn't display github network graphs. must go to Ubuntu on the eee. | 23:47 | |
mberends sees 9 commits from masak++ | 23:49 | ||
masak | oh, meybe there were 9, not 10. | ||
nope, I have 10 here. :) | 23:50 | ||
mberends | no, it says Network(9) and there are 10 commits | ||
masak | ah. | 23:52 | |
use.perl.org/~masak/journal/38644 | |||
mberends | a plain 'git pull' ignores your commits. what extra options do I need? | 23:53 | |
masak | mberends: you need to add my repo as a remote source. | 23:56 | |
and then you can pull from it. | |||
'git pull masak master' | |||
masak yawns | 23:59 | ||
mberends | fetching worked, but a local change to makefile.in is blocks the merge |