|
#parrot Parrot 0.6.4 "St. Vincent Amazon" Released | parrotcode.org/ | 15 new, 648 open, 80 stalled tix | logged in irclog.perlgeek.de/parrot/today Set by moderator on 24 July 2008. |
|||
|
00:10
AndyA joined
00:12
kid51 joined
00:37
Ademan joined
|
|||
| cotto_work | petergibbs++ #explaining some of the sprintf.t magic | 00:44 | |
| :q | |||
| good thing nobody's paying attention | |||
|
00:48
dngor joined
00:54
Andy joined
01:10
particle1 joined
|
|||
| dalek | r29741 | jkeenan++ | parallel: | 01:16 | |
| : Simplify condition for printing verbose output by eliminating '&& == 2'. This makes this config step like all others with verbose output functionality. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29741 | |||
| r29742 | jkeenan++ | parallel: | |||
| : Provide basic tests. Move list of required template files into _init(), then | |||
| : test for their presence. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29742 | |||
| r29743 | jkeenan++ | parallel: | 01:25 | ||
| : Pull hard-coded strings holding names of source files into _init(), then | |||
| : modify tests appropriately. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29743 | |||
|
01:26
TiMBuS joined
|
|||
| dalek | r29744 | jkeenan++ | parallel: | 01:27 | |
| : Minor typographic touch-up. | 01:28 | ||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29744 | |||
| r29745 | jkeenan++ | parallel: | 01:33 | ||
| : Pull hard-coded strings holding names of source files into _init(), then modify tests appropriately. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29745 | |||
|
01:36
Andy joined
|
|||
| dalek | r29746 | jkeenan++ | parallel: | 01:39 | |
| : Typographic cleanup to bring line lengths into conformance with coding standards. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29746 | |||
| r29747 | jkeenan++ | parallel: | 01:44 | ||
| : Do change intended earlier: if defined ---> if in 5 locations. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29747 | |||
|
01:50
bacek joined
01:57
Khisanth joined
02:00
teknomunk joined
02:03
rdice joined
|
|||
| dalek | r29748 | coke++ | trunk: | 02:10 | |
| : [tcl] Todo more spec tests. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29748 | |||
| r29749 | cotto++ | trunk: | 03:39 | ||
| : [ops] add a test that would have segfaulted before r29735 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29749 | |||
|
03:54
Ademan joined
04:31
particle joined
05:22
Andy joined
05:47
Psyche^ joined
07:22
ewilhelm joined
|
|||
| dalek | r29750 | petergibbs++ | trunk: | 07:23 | |
| : Re-wrote sprintf2.t to simplify adding more tests. | |||
| : Added more tests including %*.*f | |||
| : Fixed spf_render to make %*.*f test pass. | |||
| : Changed sprintf.t to skip test 300 which now fails differently. | 07:24 | ||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29750 | |||
|
07:39
Ademan joined
07:40
Andy joined
08:15
AndyA joined
08:59
NordQ joined
09:15
Patterner joined
09:27
Whiteknight joined
09:30
iblechbot joined
09:48
masak joined
|
|||
| masak | is there an Emacs mode for PIR? | 10:16 | |
|
10:40
apeiron joined
10:47
rurban joined
|
|||
| rurban | Can I ask about about make install? | 10:48 | |
|
10:55
NordQ joined
|
|||
| masak | rurban: you can ask about anything. | 10:56 | |
| rurban | sure. but do I get an answer? | 10:58 | |
| Ok. I added now to almost all languages Makefile the following targets: installable, test-installable and install | 10:59 | ||
| install copies installable_$LANG@exe to bin_dir/parrot-$LANG@exe@, pod2man $(LANG).pir > $(DESTDIR)$(MANDIR)/man1/parrot-$(LANG).1, | 11:00 | ||
| define DOCS and cp $(DOCS) $(DESTDIR)$(DOC_DIR)/languages/$(LANG) | |||
| masak | was that the question? | 11:02 | |
| rurban | If this okay or if there was something else planned for make install? | ||
| jonathan | hi all | ||
| rurban | Hi | ||
| purl | hola, rurban. | ||
| masak | jonathan: hi | ||
| jonathan finally woke up....after a LOT of (it seems needed) sleep. | |||
| masak | rurban: I'm sure jonathan can answer your question | 11:03 | |
| rurban | jonathan: q about make install for the languages | ||
| I added now to almost all languages Makefiles the following targets: installable, test-installable and install | |||
| install copies installable_$LANG@exe to bin_dir/parrot-$LANG@exe@, pod2man $(LANG).pir > $(DESTDIR)$(MANDIR)/man1/parrot-$(LANG).1, | |||
| define DOCS and cp $(DOCS) $(DESTDIR)$(DOC_DIR)/languages/$(LANG) | |||
| If this okay or if there was something else planned for make install? | 11:04 | ||
| Or should we distribute just the $LANG.pbc into some dir? | |||
| pbc_to_exe --install is handy to generate self-hosting binaries | |||
| jonathan | As far as I know, there weren't any solid plans for make install yet. | 11:05 | |
| It's been advised as something to just not do for quite a while now, because it was broken. | |||
| rurban | Ok, So I'll just create a TODO ticket and write my plans there. Thing is, I want to package parrot and the languages for cygwin | 11:06 | |
| jonathan | Yes | ||
| To me, what you just suggested seems sane. | |||
| masak | rurban++ | ||
| rurban | Without self-hosting installables I cannot do that, op needs the build_dir to run the langs. | ||
| Ok, so I'll continue | |||
| jonathan | From what I understand, none of this works at all now, so if you're making it do something useful that's an improvement. :-) Even if folks see need to tweak the exact paths later. | 11:07 | |
| rurban | What I thought about is to generate the config/root.in framework automatically from some simplier definitions | 11:08 | |
| I just need pir deps, the resuklting pbc's, the pmc's, the DOCS and the source for pod2man | |||
| jonathan | That sounds like itmay make it more maintainable. | 11:10 | |
| *it may | |||
| rurban | just like automake. users shoudl be able to override test, test-installable and some pmc and pbc targets | 11:11 | |
| well, language authors. | |||
| purl | language authors are in LANGUAGES.STATUS.pod, mostly | ||
| rurban | The problem is: what about langs not in our tree? kea-cl e.g. basic is also out. | 11:14 | |
| jonathan | I'm not so sure what we can do about those. | 11:16 | |
| I guess, they'll come with their own configure/make and so on. | 11:17 | ||
| I think eventually, all language projects will move to their own repository. But I think that's a medium-term rather than a short-term thing - Parrot just ain't stable enough to make that a sensible option yet. | |||
| jonathan decides to spend the first part of his Rakudo day reviewing patches and tickets in the queue and apply/fixing stuff. | 11:18 | ||
|
11:19
ruoso joined,
pmurias joined
|
|||
| rurban | [perl #57296] [TODO] make install -C languages | 11:36 | |
| dalek | r29751 | jonathan++ | trunk: | 11:38 | |
| : [rakudo] Make sleep return the value it was given, which for now fakes the number of seconds slept. More importantly, it avoids a Null PMC Access exception. We can improve this once sub-second time support is in place through the time() call. Patch from Carl Mļæ½sak <cmasak at gmail.com> (masak++). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29751 | |||
| masak | heh, dalek encodes into latin-1, and rakudo_svn on #perl6 encodes into misformed utf-8... | 11:47 | |
| it's not easy coming from a country using strange accents on some of its letters | 11:48 | ||
| :) | |||
| jonathan | masak: I've appreciated this fact much more since moving to such a country. | ||
| masak | jonathan: .sk, right? | 11:49 | |
| jonathan | Here an accent makes the difference between "woman" and "men". :-) | ||
| masak: Yes | |||
| masak | jonathan: yes, we have similar differences :) | 11:50 | |
| jonathan | Hmm...do we not have any tests anywhere for multi... | 12:01 | |
| masak | there's a few pf them in the Pugs test suite | 12:04 | |
| jonathan | I'll look at getting some together for Rakudo. | 12:05 | |
| I planned to spend some time writing tests before implementing the Perl 6 MMD algorithm, so I could make sure I had the whole thing clear in my head. | |||
| For now, just wanted to add something since "multi foo" now parses (with upcoming patch). | 12:06 | ||
| masak | sounds good. | ||
| dalek | r29752 | jonathan++ | trunk: | 12:09 | |
| : [rakudo] Make multi f() {} parse and work the same as multi sub f() {}. Resolves RT#57122. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29752 | |||
|
12:11
paco joined
12:39
kid51 joined
|
|||
| dalek | r29753 | jonathan++ | trunk: | 12:40 | |
| : [core] When trying to write to a closed file handle, we should throw an exception, not have an assertion failure. That way HLLs or programs can catch it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29753 | |||
|
12:41
rurban_ joined
13:07
Limbic_Region joined
|
|||
| dalek | r29754 | jonathan++ | trunk: | 13:43 | |
| : [rakudo] Give a reasonable error message when trying to inherit from a non-existent class (we need something better eventually, but this beats odd exceptions and assertion failures). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29754 | |||
| r29755 | jonathan++ | trunk: | 14:16 | ||
| : [pct] Fix the Null PMC exceptions that could occur in the return_pir control handler. This resolves at least one Rakudo ticket, and should help anyone using NQP who was also seeing this bug. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29755 | |||
| jonathan | Whoever put the blue box in RT that gives a link to the editable version of a ticket deserves a beer. | 14:18 | |
|
14:22
bacek joined
|
|||
| bacek | g'night everyone | 14:22 | |
|
14:25
davidfetter joined
|
|||
| jonathan wonders when the post-OSCON hackathon starts | 14:39 | ||
|
14:41
Andy joined
|
|||
| TimToady | it starts in about an hour and 20 | 14:42 | |
| jonathan | Aha, OK. | ||
| jonathan moved an extra timezone east after moving from the UK, and is even further from whatever the timezone is in Oregon. | 14:43 | ||
| dalek | r29756 | jonathan++ | trunk: | 14:48 | |
| : [rakudo] Make multi sub foo { } work (the case where you have a multi, but no signature, which means it's a parameterless variant). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29756 | |||
| masak | jonathan++ # rt activity | 14:56 | |
| jonathan | masak: Would rather try and not let the queue grow too huge. :-) | 14:57 | |
| masak | jonathan: that's partly my fault, I guess :) | 14:58 | |
| jonathan | Well, your fault in a good way. | ||
| It means Rakudo is better as a result. | |||
| masak | that's my goal. | 14:59 | |
| jonathan | :-) | ||
| Ah. Class variables. | |||
| masak | I'm most interested to hear what you think of #57118 -- but I guess you'll get to that eventually | ||
| jonathan | I saw it is a bug in some vaguely scary parsing code and thought it better to let pmichaud pick which patch he thought was the Right One. | 15:02 | |
| Nice work coming up in two patches that will do it, though! | 15:03 | ||
| masak | :) | ||
| I couldn't sleep last night, and figured "what the heck" | |||
|
15:12
timbunce joined
15:13
_timbunce joined
|
|||
| davidfetter sees double | 15:14 | ||
| Tene | Anyone have anything parrot-related they'd like me to work on? | 15:20 | |
|
15:25
ruoso joined
15:31
clunker3 joined
15:34
bacek joined
15:40
teknomunk joined
15:51
Andy joined
16:03
timbunce joined
|
|||
| dalek | r29757 | fperrad++ | trunk: | 16:09 | |
| : [Lua] first test for OpenGL | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29757 | |||
|
16:12
davidfetter joined
16:16
iblechbot joined
16:17
kid51 joined
16:27
jhorwitz joined
16:31
Senaka joined
|
|||
| Senaka | seen infinoid | 16:31 | |
| purl | infinoid was last seen on #parrot 1 days, 13 hours, 3 minutes and 50 seconds ago, saying: s1n: www.parrotvm.org/svn/pugs [Jul 25 03:28:09 2008] | ||
|
16:32
Senaka left
16:35
chromatic joined
|
|||
| dalek | r29758 | pmichaud++ | trunk: | 16:45 | |
| : [rakudo]: spectest-progress.csv update, 110 files, 1885 passing tests | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29758 | |||
| jonathan waves a pmichaud | 16:47 | ||
| *at | |||
| pmichaud | hello | ||
| jonathan | how's things? | ||
| pmichaud | good. finally have a working network connection again :-) | ||
| jonathan | Phew! | ||
| How was OSCON? | |||
| pmichaud | excellent, as always | 16:48 | |
| jonathan | Nice | ||
| Hopefully I make it there again some year. | 16:49 | ||
| I've spent the week on anti-biotics and back and forth to the doctor, so you've certainly done better this week. | |||
| dalek | r29759 | chromatic++ | trunk: | ||
| : [Lua] Fixed SVN metadata on new file. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29759 | |||
| jonathan would choose OSCON over beer-denying anti-biotics any day. | 16:50 | ||
| nopaste | "pmichaud" at 64.122.41.37 pasted "why doesn't this work?" (8 lines) at nopaste.snit.ch/13668 | ||
| jonathan | pmichaud: There is a time opcode? | 16:51 | |
| jonathan wonders what it returns... | |||
| nopaste | "pmichaud" at 64.122.41.37 pasted "why doesn't this work? results" (5 lines) at nopaste.snit.ch/13669 | ||
| jonathan | Puts the current system time (represented as a number of seconds, with | 16:52 | |
| microseconds) in $1. | |||
| Heh. That would work just nicely. | |||
| pmichaud | ...except it gives me an odd result (see nopaste 13669) | ||
| jonathan | oh? | ||
| pmichaud | sleep(4) doesn't actually sleep for 4 seconds. | ||
| jonathan | Wow. | 16:53 | |
| pmichaud | it sleeps for something less than 4 seconds | ||
| jonathan | I'm curious what this dones, on Win32. | ||
| pmichaud | I'll go ahead and commit. | ||
| jonathan | OK, sure. | ||
| Just smoking a change to add class attributes.... | |||
| masak | pmichaud++ # woot, real sleep! | ||
| jonathan | If it passes, I'll apply it, and close another masak++ ticket. :-) | 16:55 | |
| dalek | r29760 | pmichaud++ | trunk: | ||
| : [rakudo]: Update sleep() to return actual time slept. Sorta. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29760 | |||
| r29761 | jkeenan++ | parallel: | |||
| : [configure] Refactor gen::platform::runstep() into smaller chunks. Add tests | |||
| : of internal subs where possible. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29761 | |||
| masak | "masak ticket". I like the sound of that. | ||
| jonathan | However | ||
| $ perl6 -e 'class A { has $.x; method foo { say $.x } }; my A $a .= new; $a.foo' | |||
| Object | |||
| I'm pretty sure that printing Object is bogus. | |||
| masak | yes, why does it do that? | 16:56 | |
| jonathan | Probably because I did something bone-headed inside the 'new' method. | ||
| I'll look at it in just a moment... | |||
| masak | jonathan++ | 16:57 | |
| dalek | r29762 | jonathan++ | trunk: | 17:02 | |
| : [rakudo] First cut at getting class attributes (declared my $.x) to work. Does a little refactoring so we can do this without code duplication. Also has a workaround for :outer not being allowed to point at :init :load blocks; we can pull that out once pdd25cx is merged and PCT updated. Todo is make the accessor sensitive to the presence or lack or 'is rw' and make sure type constraints get applied. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29762 | |||
|
17:03
Andy joined
|
|||
| jonathan | pmichaud: On Win32, it appears we haven't got sub-second sleep implemented. | 17:03 | |
| So I just get 4 and 1 respectively. | |||
| Erm, subsecond *time*, I meant. | |||
| dalek | r29763 | jkeenan++ | parallel: | 17:20 | |
| : Eliminate trailing white space in several locations. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29763 | |||
|
17:29
timbunce joined
17:36
gryphon__ joined
|
|||
| nopaste | "chromatic" at 64.122.41.37 pasted "Calling PMC METHODs from VTABLE entries" (47 lines) at nopaste.snit.ch/13670 | 17:39 | |
| chromatic | I can't make this work. I have stupid fingers today. | ||
| dalek | r29764 | jonathan++ | trunk: | 17:41 | |
| : [rakudo] If you don't specify a type constraint that is a proto-object, we shouldn't default an attribute to containing Object proto-object. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29764 | |||
| jonathan | chromatic: Should it not be METHOD void set_key(PMC *key) { | ||
| chromatic | Most of the other methods aren't, but maybe. I'll try that. | 17:43 | |
| pmichaud | METHODs don't specify return types | ||
| jonathan | Is it not actually calling the method? | ||
| chromatic | Yes. | 17:44 | |
| Apply it and prove t/pmc/enumerate.t | |||
| dalek | r29765 | pmichaud++ | trunk: | 17:45 | |
| : [rakudo]: Throw an appropriate exception for unescaped $'s in strings. | |||
| : * Resolves RT #57118 (masak++) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29765 | |||
| jonathan | chromatic: You getting "t\\pmc\\enumerate....too few arguments passed (0) - 2 params expected" | 17:47 | |
| chromatic | Yes. | 17:48 | |
| masak | pmichaud: I like "Can't use $ as non-variable in interpolated string". | 17:51 | |
| pmichaud++ | |||
| pmichaud | thanks. I think TimToady will likely change it, though. ;-) | ||
| masak | maybe one could also write something about that \\$ was probably what was intended | ||
| pmichaud | so, perhaps "Can't used unescaped $ as non-variable in interpolated string"? | 17:53 | |
| *use | 17:54 | ||
| masak | already better :) | ||
| provided that the programmer knows that 'escape' == '\\' | |||
| (in this case) | |||
| jonathan | chromatic: I think that it is expecting a call to have been set up using the Parrot Calling Conventions. | ||
| Maybe try using PCCINVOKE | |||
| chromatic | I've done that too. Let me get the error message. | 17:56 | |
| Hm. | 17:57 | ||
| jonathan | Yeah, I'm trying it here and it fails to compile. | ||
| chromatic | Okay, now that worked. | ||
| Like I said, stupid fingers. | |||
| jonathan | But basically, the problem boils down to | ||
| run_meth_from_c calls runops_args, which calls inoke before calling pass_args_fromc, which normally is fine. | 17:58 | ||
| Because invoke just returns an offset into the bytecode | |||
| But here you're calling an NCI | |||
| So it tries to get the args, before they have been set up to get. | 17:59 | ||
| chromatic | Ah, makes sense. | ||
| jonathan | It's maybe something worth fixing. | 18:00 | |
| chromatic | I filed a bug a year and a half ago related to that. | ||
| It's the "You can't invoke NCI calls from the external API." | |||
| jonathan | Ah. | ||
| So certainly worth fixing. | |||
| chromatic | If I remember correctly, you said we needed some bytecode changes first. | 18:01 | |
| Though I may be thinking of the arity method. | |||
| jonathan | I can't think right now why this particular fix would want bytecode changes. | 18:03 | |
| chromatic | Me neither, but it's been a while. | 18:04 | |
| dalek | r29766 | chromatic++ | trunk: | 18:06 | |
| : [PMC] Added the set_key() method on the Iterator PMC to encapsulate the | |||
| : key-setting operation. (No more poking into its struct val, which I hope to | |||
| : remove.) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29766 | |||
| chromatic | japhb, ping -- RT #57006 looks appliable. | 18:09 | |
| dalek | r29767 | chromatic++ | trunk: | 18:14 | |
| : [config] Add the cygwin importlib to please -lparrot in packaged version (Reini | |||
| : Urban, RT #56562). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29767 | |||
| masak | is there color coding in vim or Emacs for PIR? | 18:17 | |
|
18:18
teknomunk_ joined
|
|||
| chromatic | Look in editor/ | 18:20 | |
| masak | chromatic: ah, thanks | ||
| could submethods, theoretically, be implemented in rakudo as of today? | 18:24 | ||
| what's the semantics of `my $var` inside a class? (where '$var' is a non-twigil variable) | 18:26 | ||
| rakudo: class A { my $a = "hi"; method foo() { say $a } }; A.new.foo() | |||
| polyglotbot | OUTPUT[ā¤] | ||
| masak | rakudo: class A { my $.a = "hi"; method foo() { say $.a } }; A.new.foo() | ||
| polyglotbot | OUTPUT[hiā¤] | ||
| Tene | Looks liek polyglotbot is properly updating every 10 minutes, btw. | 18:27 | |
| masak | Tene++ (polyglotbot++) | 18:28 | |
|
18:29
jhorwitz joined
|
|||
| jhorwitz hacks at PDX for an hour | 18:30 | ||
| jonathan | masak: Not sure; I think just something with no accessor | 18:31 | |
| masak | jonathan: so it's a bug? | ||
| jonathan | Assigning initial values to attributes, class or otherwise, isn't yet implemented. | ||
| masak | oki | ||
| jonathan | To do that neatly I think we need to refactor variable_declarator to be more STD.pm-ish | ||
| masak | this is a bit problematic, too: | 18:32 | |
| rakudo: class A {}; say A.new | |||
| polyglotbot | OUTPUT[get_string() not implemented in class 'A'ā¤current instr.: 'print' pc 12252 (src/gen_builtins.pir:7798)ā¤called from Sub 'say' pc 12274 (src/gen_builtins.pir:7808)ā¤called from Sub '_block11' pc 36 (EVAL_13:16)ā¤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 | ||
| ..(src/PCT/HLLCompiler.pir:481)ā¤called from Sub 'parrot;PCT::HLLCompiler;evalfil... | |||
| masak | it's related to that other bug, where constructor calls cannot be last in a program | ||
| what's get_string(), and why doesn't A have one? :) | |||
| pmichaud | how should A stringify? | 18:33 | |
| jonathan | pmichaud: I don't know. | 18:34 | |
| pmichaud | er, how should an instance of A stringify? | ||
| jonathan | I'd love to fix it, but I just don't know how an instance of a class should stringify. | ||
| chromatic | Stringerifically. | ||
| jonathan | And I don't want to guess. | ||
| pmichaud | pugs says <obj:A> | ||
| masak | that's better than failing. | ||
| pmichaud | however, an instance of Object stringifies to the null string, so perhaps a subclass of Object should do the same. | 18:35 | |
| masak | hm, gotta go make dinner. I'll be back tomorrow with more bugs :) good luck tonight! | ||
| jonathan | masak: Cool, thanks for all of the tickets you filed, giving me something to work on! :-) | 18:36 | |
| masak | jonathan: thanks for fixing them! | ||
| dalek | r29768 | chromatic++ | trunk: | ||
| : [PMC] Made every PMC which stores a Key in an Iterator use the latter's set_key | |||
| : method. Encapsulation++. | |||
| jonathan | pmichaud: That would be logic, easy to implement now, and clear up the current issue. | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=29768 | ||
| masak | makes rakudo ever more pleasant to play around with | ||
| pmichaud | jonathan: feel free to do it that way for now. | ||
| jonathan | OK, just cooking some food right now, and will do it after dinner. | 18:37 | |
| chromatic | Or someone else could do it instead, and you could bring food here. | ||
| jonathan | Might be cold, by the time I arrive... | 18:39 | |
| pmichaud: Was there ever some decisive answer on the way but True and .true worked? | 18:41 | ||
| jonathan afk for a moment - dinner | 18:46 | ||
| pmichaud | no decisive answer yet -- it's one of the questions I'm hoping to ask TimToady | 18:58 | |
|
19:02
slightlyoff joined
|
|||
| jonathan | pmichaud: OK, great. | 19:02 | |
| chromatic | jonathan, we need to fix some vtable stuff before the stringification works the right way. | 19:03 | |
| jonathan | chromatic: Oh? | 19:09 | |
| Specifically? | |||
|
19:09
coumbes joined
|
|||
| chromatic | It's not clear whether adding get_string in P6Object should or shouldn't override the method of the same name in Int, for example -- at least, it's not clear to PIR. | 19:13 | |
| jonathan | Ouch, yes. | 19:14 | |
| 'cus we "fake" the inheritance from P6Object. | 19:16 | ||
|
19:17
Andy joined
|
|||
| pmichaud | the solution will likely be to keep P6Object from registering vtable methods, or otherwise controlling it somehow. | 19:20 | |
| japhb | chromatic: pong. Odd, I never received that response from rurban. Looking ... | 19:21 | |
| jonathan | pmichaud: I pondered that, and it seems a tad messy, but I can't think of anything better. | ||
| pmichaud | is there a way to introspect a sub/method to determine if it's a vtable sub/method? | 19:22 | |
| jonathan | Looking | ||
| chromatic | src/pmc/namespace.pmc:189 pokes around | 19:23 | |
| I remember adding that. | |||
| jonathan | In sub.pmc, we could easily add it to inspect | 19:24 | |
| dalek | r29769 | pmichaud++ | trunk: | 19:25 | |
| : [rakudo]: Switch sleep to be a listop instead of named unary (masak++) | |||
| : * Partially solves RT #57924; but uses a hard-coded constant value | |||
| : to represent "forever" until Parrot provides a way to do it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29769 | |||
| japhb | chromatic: Go ahead and apply rurban's latest 57006. I've visually reviewed it, but I've got craziness going on around here, and can't apply/test/commit myself | 19:27 | |
| jonathan | chromatic: Hmm...it seems that v-table overrides go into a separate hash in the class. | 19:28 | |
| chromatic | That's right. | ||
| jonathan | but the code in P6Object.pir calls $P0.'methods'() | 19:29 | |
| Which gets just the methods hash. | |||
| pmichaud | sure, which is what we want. | 19:30 | |
| but presently there's not a way to create a vtable method that is not also a method | |||
| so every vtable method also ends up in the methods hash | |||
| jonathan | Heh. I was expecting it to be in one or the other... | 19:31 | |
| But OK. | |||
| So it seems easiest way to know which it is, is to add a "is_vtable_method" to the possible inspect strings for a Sub PMC. | 19:32 | ||
| pmichaud | we just discussed here (with allison) how we'll control where the various subs get located | 19:33 | |
| short answer: .sub "foo" :method("method_name") :vtable("vtable_name") :ns("namespace_name") | 19:34 | ||
| where omitting the parens causes the sub name to be used | |||
| and applying any of the :method/:vtable/:ns flags suppresses the automatic entry of the sub name into the namespace | |||
| jonathan | Ah, OK. | ||
| That sounds like it'll work. | 19:35 | ||
| pmichaud | so, .sub "foo" :method creates a method not entered in the namespace | 19:36 | |
| .sub "foo" :method :ns creates a method that *is* entered in the namespace | |||
| jonathan | .sub "foo" :vtable ? | 19:37 | |
| dalek | r29770 | chromatic++ | trunk: | 19:39 | |
| : [config] Improved OpenGL detection for Cygwin (Reini Urban, RT #57006). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29770 | |||
| pmichaud | well, one would not normally do that with "foo" | 19:40 | |
| but .sub "get_boolean" :vtable works | |||
| creates a get_boolean vtable entry but does not create a get_boolean sub or method | |||
| jonathan | OK, makes sense. | 19:42 | |
|
19:55
apple-gunkies joined
19:58
Ademan joined
20:12
teknomunk__ joined
20:24
AndyA joined
20:26
teknomunk_ joined
20:42
rurban_ joined
|
|||
| dalek | r29771 | jonathan++ | trunk: | 20:45 | |
| : [rakudo] Fix for when you have multiple multis without signatures (but different names) in a program; before, all but the first one got mis-generated. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29771 | |||
| r29772 | fperrad++ | trunk: | 20:47 | ||
| : [Lua] triangle.lua, an OpenGL demo | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29772 | |||
|
20:54
Ademan joined
|
|||
| dalek | r29773 | jonathan++ | trunk: | 20:54 | |
| : [rakudo] Add some tests for stuff I fixed/implemented today to spectest_regression. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29773 | |||
|
20:56
Schwern joined
|
|||
| Schwern | Hey kids, where's the hackathon? | 20:56 | |
| chromatic | Urban Grind, east side | ||
| Schwern | Is Adam Kennedy there? | 20:57 | |
| chromatic | Allison, Patrick, Larry, Jerry, Eric, and me | ||
| no Adam | |||
| Schwern | Ok, thanks. I'll be there within 3 soons. | ||
| chromatic | If a soon is an hour, then it'll have closed. | 20:59 | |
| ewilhelm thought adam said he would, but no word | 21:01 | ||
| dalek | r29774 | fperrad++ | trunk: | ||
| : [Lua] OpenGL, small fix | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29774 | |||
| jonathan | pmichaud: ping | 21:10 | |
| pmichaud | pong | ||
| jonathan | For given blocks (and others that set the topic) | ||
| At the end of "when" we need to have something to fall to the end of that block | |||
| I'm thinking that is some kind of .control thing on a block that sets the invocant? | 21:11 | ||
| pmichaud | .leave | ||
| jonathan | OK, but what does it call that one? | ||
| s/one/on/ | |||
| given $foo { when ... { }; when ... { }; } # simple case, topic set by outer block | 21:12 | ||
| pmichaud | I haven't worked the details on that yet. | ||
| jonathan | given $foo { if $blal { when ... { ... }; when ... { ... }; } | ||
| OK | |||
| pmichaud | it may be that we give an implicit label to the block | ||
| jonathan | I was wondering if it was a control exception. | ||
| pmichaud | yes, it's a control exception. | ||
| jonathan | Like, one that is thrown at the end of a when block, and is caught at the end of a block that sets $_. | 21:13 | |
| pmichaud | in some sense it works about the same as 'last' | 21:14 | |
|
21:14
kid51 joined
|
|||
| pmichaud | so I may just implement it that way | 21:14 | |
| jonathan | Hmm. Apart from the block you want to leave with "last" maybe wasn't the one that set the topic. | ||
| pmichaud | oh? | ||
| example? | 21:15 | ||
| and keep in mind that given $foo -> $x { ... } is valid | |||
| jonathan | given $foo { for @list -> $a { when $a { say "yay" } } } | ||
| pmichaud | in that example, when applies to the 'for', not the 'given' | ||
| jonathan | OK. But the for isn't setting the topic? Or is it? | 21:16 | |
| As in, do both $_ and $a get the current iteration variable? | |||
|
21:16
Andy joined
|
|||
| pmichaud | ...."setting the topic" is a bit of a red herring here. | 21:17 | |
| oh, perhaps not. hmm. | |||
| Andy | pmichaud: I forgot to mention | ||
| I really do enjoy your recap talks | |||
| pmichaud | thanks! | ||
| Andy | even if I ostensibly know everything you're saying | ||
| (which I don't) | |||
| jonathan | pmichaud: when always smartmatches against $_, thus my confusion other what the "when" actually applies to here. | 21:18 | |
| (where here = in the last example I wrote) | |||
| pmichaud | okay, re-reading the spec | ||
| jonathan | "The given block is just one way to set the current topic, but a switch statement can be any block that sets $_, including a for loop (assuming one of its loop variables is bound to $_) or the body of a method (if you have declared the invocant as $_)." | 21:21 | |
| And "If the smart match succeeds, when's associated block is executed, and the innermost surrounding block that has $_ as one of its formal parameters (either explicit or implicit) is automatically broken out of." | 21:22 | ||
| chromatic | This next commit message will be the awesome. | 21:24 | |
| dalek | r29775 | chromatic++ | trunk: | 21:25 | |
| : [IMCC] Made :vtable sub attribute imply the existence of a "self" PMC, which | |||
| : refers to the invoking PMC. Many occurrences of :method on vtable subs can go | |||
| : away now. See RT #47674 (and thanks to Andrew Whitworth for most of this | |||
| : patch). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29775 | |||
| jonathan | Is the awesome! chromatic++ | 21:26 | |
| chromatic | Figured you'd like that almost as much as I do. | ||
| pmichaud | jonathan: (asking TimToady) | 21:28 | |
| jonathan | pmichaud: OK. (answers from TimToady)++ | ||
| pmichaud | -> $a { ... } doesn't set $_ as a parameter | 21:30 | |
| so yes, when $a { ... } would break out of the outer block | |||
| jonathan | OK | ||
| So we maybe need some control exception specially for that? | 21:31 | ||
|
21:31
Auzon joined
|
|||
| pmichaud | which means that we want to put a control exception on blocks that have $_ as a formal param | 21:31 | |
| jonathan | OK | ||
| This gets a little fun, I guess, because in the case of a sub or method that takes $_ as one of its parameters, it is that block. But that also needs to have the return_pir control. | 21:32 | ||
| pmichaud | which means we'll want to update control exceptions in PCT, which is what I've been planning to do but haven't had tuits for yet | ||
| jonathan | OK. | ||
| pmichaud | the return_pir control can handle more than just return exceptions | ||
| PCT's default is to handle only return exceptions, but a HLL can provide its own return_pir PAST | |||
| and I'm somewhat waiting for pdd25cx merge before deciding exactly how to do that | |||
| jonathan | OK, at the moment, or is that waiting control exceptions work? | 21:33 | |
| Aha, OK, makes sense. | |||
| It just occurred to me that getting given/when etc working would be kinda nice to do. :-) | |||
| I've spent the day mostly fixing little bits here and there. | |||
| Schwern | Urban Grind is closing soon? What's the plan then? | 21:35 | |
| jonathan | Amongst other things, fixing the return_pir code sometimes giving null PMC exceptions. Was happy to track that one down. | ||
| chromatic | Schwern, you have 2.5 hours. | 21:37 | |
| Schwern | Excellent. | ||
| dalek | r29776 | jkeenan++ | parallel: | 21:44 | |
| : [configure] Refactor one hard-coded file name from inside runstep() to | |||
| : _init(). Test appropriately. Delete commented-out code. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29776 | |||
| jonathan | OK, I'm too tired to do anything much else today... Report: use.perl.org/~JonathanWorthington/journal/37019 | 22:02 | |
| pmichaud | jonathan++ | ||
|
22:03
Limbic_Region joined
|
|||
| jonathan | pmichaud: Are you about next week at all, or is it your week travelling about? | 22:07 | |
| pmichaud | mon and tues I'll be online | ||
| jonathan | (Just for co-ordinating Rakudo day...) | ||
| pmichaud | wednesday is travel | ||
| thu and fri I don't know yet. | |||
| I'll have some online time, but I don't know the hours yet | |||
| jonathan | OK, I need to deal with some other stuff on Monday for sure. | 22:08 | |
| Tuesday should be do-able. | |||
| pmichaud | okay, let's plan that. That probably works best for me, as I'll have some catching up to do on Mon | ||
| jonathan | OK. There's a couple of big-ish things I'd like to attack. | ||
| One of them is getting variable declarator inline with STD.pm | 22:09 | ||
| So the initial assignment is parsed as part of that. | |||
| pmichaud | I think that's going to require a PGE fix, though. | ||
| jonathan | I did fear that might be the case. :-( | ||
| pmichaud | but I might be able to come up with a workaround. Let's plan that for Tues, at any rate | ||
| jonathan | But has $.x = 42; is, I fear, going to be messy without that. | 22:10 | |
| pmichaud | oh yes, it will. | ||
| jonathan | We don't want any more $?OMG_GLOBAL. :-) | ||
| pmichaud | although we might be able to cheat it at least to the level that assignment is currently cheating | ||
| chromatic | I wanted to catch Esther Dyson at Burgerville this week so I could take a picture and label it "ICANN Has Cheeseburger" | ||
| jonathan | :-D | 22:11 | |
| The other thing is the type registry. | |||
| chromatic | Where would she have to eat for me to get THAT picture? | ||
| pmichaud | type registry might be a bit easier | ||
| jonathan | McDonalds? | 22:12 | |
| purl | McDonalds is, like, paying $8/hr for the position of Janitor | ||
| jonathan | pmichaud: Yeah. But getting it right with namespaces, leical classes, blah. | ||
| Not that we have lexical classes yet. :-) | |||
| (Though in theory now anoymous ones work, that should be easy...) | 22:14 | ||
| dalek | r29777 | coke++ | trunk: | ||
| : [cleanup] remove duplicate coda, probably copied in from when this was a standalone file. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29777 | |||
| jonathan | I also worked out a way to implement state variables, with stashing the current value in a hash attached to the current sub as a property, which should be fairly easy to implement. | ||
| That too is almost certainly something to do after re-working variable_declarator, however. | 22:15 | ||
| pmichaud | yes. and we still need to get lexicals/closures working | 22:16 | |
| jonathan | Also, I'm really not happy with the whole scope declarator/scoped/variable declarator code. | ||
| And yes, I know, I'm responsible for the mess. | |||
| pmichaud | :-D | ||
| yes, it can be cleaned up. | |||
| I think I should spend some time (before Tuesday) building/updating the roadmap | |||
| and identifying which features we need to have in place before others | |||
| jonathan | Part of it is, before we hit parsing the variable we already have parsed the scope. | 22:17 | |
| But there's no convenient way I can see, other than more $?FOO, to be passing that along to things deeper in the parse tree. | |||
| pmichaud | does it need to be passed along? | ||
| jonathan | Well, the problem I'm finding now is that in scope_declarator, there's a "is it a variable we're scoping, is it a routine we're scoping", etc. With lexical packages it'll just gets worse. | 22:18 | |
| So we end up with the logic for handling variables scattered all the way up the action methods. | 22:19 | ||
| And variable_declarator can't really look up the parse tree, or not so far as I'm aware. | |||
| pmichaud | no, we can't look up the parse tree yet | ||
| but I'm not sure what about variables needs to be "handled" just yet | 22:20 | ||
| jonathan | OK. Take a look through the code, and it should give you an idea of what I mean, anyway. | ||
| pmichaud | sure. I've looked in the past and agree it needs some refactoring | 22:21 | |
| jonathan | Sure. I agree - I'm just not sure what the best way is. | ||
|
22:36
donaldh joined
22:41
cotto_home joined
|
|||
| jonathan sleeps | 22:45 | ||
|
22:48
chromatic joined
|
|||
| dalek | r29778 | jkeenan++ | parallel: | 23:03 | |
| : [configure] Refactor code from inside runstep() to _handle_define_option() to | |||
| : increase testability of previously uncovered branch. Add appropriate tests. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29778 | |||
|
23:28
Schwern joined
|
|||
| Schwern | iwantmyopenid.org/bounty The OpenID bounty thing | 23:28 | |
| chromatic | s/un/o/ | 23:33 | |
| cotto_home | 404: booty not found | 23:38 | |
| dalek | r29779 | chromatic++ | trunk: | ||
| : [PMC] Converted Pair PMC to use PDD 17 attribute storage. As part of this, it | |||
| : now only holds PMC keys. If we need STRING keys, we need a new implementation. | |||
| : (Replace conditional with polymorphism.) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29779 | |||