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