|
Parrot 0.6.2 "Reverse Sublimation" Released | parrotcode.org/ | 18/672 new/open tix | logged in irclog.perlgeek.de/parrot/today Set by moderator on 3 June 2008. |
|||
| japhb | Can a makefile have a dynamic dependency? 'foo.bar: <script that determines foo.bar's real dependencies>'? | 00:03 | |
| cotto_work | why isn't languages/perl6/README called README.pod? | 00:08 | |
| japhb | <snappy comeback> | ||
|
00:09
AndyA joined
|
|||
| japhb | Seriously, I don't see why it wouldn't be that way, aside from making sure any links to it are fixed. | 00:09 | |
| dalek | r28054 | Whiteknight++ | gsoc_pdd09: | ||
| : [gsoc_pdd09] adding a fourth GC pointer to an initialization routine. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28054 | |||
| cotto_work | I'll put it on my todo list for after I get my commit bit | 00:12 | |
|
00:13
japhb joined
|
|||
| japhb | damn fat fingers | 00:14 | |
| OK, does this sound reasonable for the "configure happy place": | 00:16 | ||
| 1. User puts configure overrides in 'configure.prefs' | |||
| 2. Configure converts configure.prefs and autodetected values into 'build.prefs' and 'Makefile' | 00:17 | ||
| 3. At the bottom of the Makefile dependency tree are steps that generate everything Configure.pl currently generates now, using 'build.prefs' as input | 00:18 | ||
| 4. In the Makefile, build.prefs and Makefile depend on configure.prefs and Configure.pl; if they are out of date, they are regenerated and $MAKE is restarted | 00:19 | ||
| ? | |||
| This means that when a user starts from a virgin Parrot tree, they have to optionally edit 'configure.prefs', then do 'perl Configure.pl; make'. After that, they only ever have to do 'make', even if they edit 'configure.prefs' | 00:23 | ||
| I wave my hands really hard, and everything Just Works. | |||
| IRC_Warnock | 00:27 | ||
| chromatic once wrote a screenplay with the same ex post facto grant application technique. | 00:28 | ||
| japhb | chromatic: nice! Was it worth it? | ||
| chromatic | With the inevitable winces that a decade of experience gives, yes. | 00:29 | |
|
00:33
purl joined
|
|||
| cotto_work | purl | 00:33 | |
| purl | cotto_work? | ||
|
00:34
bacek joined
|
|||
| japhb | Anyone know why purl has been disappearing for longish stretches a lot lately? | 00:34 | |
| chromatic | It's 12 years old. | ||
| japhb | tweenager | ||
| "I mean it! I'm really running away this time! You'll never see me again, and THEN you'll be sorry!" ... "Write when you get work, kid." | 00:35 | ||
| bacek | morning :) | 00:37 | |
| tetragon | Anyone know off-hand if there are any tickets open about t/pmc/exception.t failures? I haven't found any on RT yet | 00:48 | |
|
00:49
kid51 joined
01:00
Zaba_ joined
|
|||
| pmichaud | Limbic_Region: (unable to build due to PGE) -- particle had a similar issue on his Win32 build -- we never could track it down precisely. But starting from a fresh checkout seems to have fixed the problem (where 'make realclean' didn't). | 01:17 | |
| At any rate, it doesn't appear to be a problem with PGE itself. | |||
| dalek | r28055 | jkeenan++ | trunk: | 01:18 | |
| : Remove references to SVK, as we no longer officially support it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28055 | |||
| pmichaud | hanging in an infinite loop is a similar issue -- it's due to some changes within parrot, but not PGE itself. Make sure you have the latest version of trunk and a freshly built Parrot. | ||
| nopaste | "tetragon" at 69.196.141.26 pasted "Recently started exception test failures" (234 lines) at nopaste.snit.ch/13155 | 01:22 | |
|
01:27
TiMBuS joined
|
|||
| bacek | pmichaud: ho! You don't sleep yet! | 01:27 | |
| What is your decision about nopaste.snit.ch/13149 (without changing subs) | 01:28 | ||
| nopaste.snit.ch/13151 is changing "multi(_,List) to :multi(Sub) in List.pir | 01:30 | ||
|
01:39
Zaba joined
|
|||
| chromatic | tetragon, can you do an svn bisect and see when those tests started to fail? | 01:58 | |
| It looks like Parrot's exiting with an exit code of zero. | |||
| kid51_at_dinner | purl nopaste | 02:03 | |
|
02:03
Zaba joined
|
|||
| purl | nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or paste.husk.org/ or poundperl.pastebin.com/ or paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl | 02:03 | |
| nopaste | "kid51" at 71.247.51.42 pasted "New failure in t/examples/tutorial.t (Linux)" (69 lines) at nopaste.snit.ch/13156 | 02:05 | |
| tetragon | I have the same tutorial.t failure as kid51 | 02:06 | |
| nopaste | "kid51" at 71.247.51.42 pasted "failure in t/op/exceptions.t on Darwin (OS X 10.4/ppc) at r28053 -- but not on Linux at same revision" (95 lines) at nopaste.snit.ch/13157 | 02:07 | |
|
02:07
Zaba_ joined
|
|||
| bacek | kid51: works on MacOSX/intel. | 02:09 | |
| kid51 | My last previous test run on Linux was at r27982 on 20080531. All tests passed. | ||
| bacek | interesting... | ||
| tetragon | I'm OS X 10.5/ppc | ||
| kid51 | Another of these ppc vs i386 problems, eh? | ||
| tetragon | Looks it | 02:10 | |
| kid51 | My last previous test run on 10.4/ppc was at r27808 on 20080525. | 02:11 | |
| tetragon | I'm rebuilding my r28017 tree as a starting point | ||
| kid51 | The Linux failure: probably between r27973 and r28020 (based on -- believe it or not -- our smoke site). | 02:15 | |
| tetragon | tutorial.t passes on r28017, but the exceptions fail | 02:24 | |
|
02:25
Zaba joined
|
|||
| kid51 | On linux, at r28011, I got only TODO errors in t/examples/tutorial.t. So I didn't get the failure I pasted. | 02:29 | |
| on linux, t/examples/tutorial.t also appeared good at r28013. | 02:36 | ||
| chromatic | Everything's good for me at r28052, x86 32 bit GNU/Linux. | 02:44 | |
| tetragon | r27997 is bad, I'm currently building r27982 | 02:45 | |
| dalek | r28056 | japhb++ | trunk: | ||
| : Move DEVELOPING release info to NEWS | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28056 | |||
| japhb | Point of procedure: when I commit an approved patch for an RT ticket, do I mark it resolved, or someone else? | 02:48 | |
| Whiteknight | i think you do it | ||
| at least, that's how i've been playing the game | |||
| chromatic | Ahh tutorial's failing for me now too. | ||
| Whiteknight | what does tutorial.t test? | ||
| chromatic | I wonder if I accidentally checked in a formatting change. | ||
| kid51 | But you may want to wait 24 hours before marking it resolved, i.e., give it a chance to go thru smokes. | ||
| chromatic | 'examples/tutorial/01_temp_var.pir | ||
| japhb | kid51: OK, fair enough | 02:49 | |
| Whiteknight | ok | ||
| chromatic | I usually mark it when I do it, so I don't forget, but if you want to wait that's fine too. | ||
| japhb | chromatic: Mark it resolved, or mark it in some other way? | 02:50 | |
| chromatic | Anyone replying to the ticket will re-open it, and we can merge new tickets into old ones, so RT's flexible to support either preference. | ||
| Yes, I meant mark it resolved. | |||
| kid51 | On Linux at r28026 t/examples/tutorial.t is okay. My earlier hypothesis was wrong (it was based on smokes from freebsd). | ||
|
02:50
Zaba_ joined
|
|||
| chromatic | kid51's a lot better at remembering to keep his tickets up to date than I am, so I've optimized my process for lazy. | 02:50 | |
| kid51 | kid51 was given search strings by Coke for that! | 02:51 | |
| japhb | chromatic: I might have to follow your lead, not so much to optimize for lazy as for 'constantly interrupted'. | ||
| chromatic | Hah, Coke used to have to follow me around to close tickets! | 02:52 | |
| He's just happy enough I close them now. | |||
| Whiteknight | I only have three open tickets right now, so it doesnt take me a lot of effort to check them | 02:53 | |
| although one of them is outside my area of expertise, and I can't really do anything about it :( | 02:54 | ||
| chromatic_fajitas | We can give you more.... | ||
|
02:55
Zaba joined
|
|||
| kid51 | Trying to 'make' on Darwin: /usr/bin/g++ -o pbc_merge is taking forever! | 02:56 | |
| tetragon | After this realclean, I'll be doing r27990 | ||
| r27982 is good | |||
| Whiteknight | mmm...now i'm hungary for chromatic fajitas | ||
| kid51 | I'm actually trying 27900. | ||
| tetragon prefers achromatic fajitas | 02:57 | ||
| kid51 | Okay, at long last: Darwin at r27900, t/op/exception.t was okay (except for TODO test) | 03:05 | |
| tetragon | Why r27900? | 03:07 | |
| kid51 | On Linux, by r 28046, t/examples/tutorial.t had begun to experience the non-TODOed failure reported earlier. So that should narrow it on Linux to between 28026 and 28046. | ||
| tetragon: I went back to my last successful make test on Darwin/ppc. That was at 27808. So I went up to the next (! rev % 100). | 03:08 | ||
| tetragon | r27982 succeeded | 03:09 | |
| kid51 | So that suggests that the Darwin problem is between 27900 and 27982. | ||
| tetragon | I'm doing r27990 now | ||
| And 27990 is good | 03:11 | ||
| I'll do r27993 next | |||
| kid51 | Why are you going higher than 27982, which you said succeeded? Shouldn't you be going lower? | 03:12 | |
| tetragon | Oh, right | ||
| I'm going higher because the even higher rev of r27997 fails | 03:13 | ||
| Hrm, between r27990 and r27993 src/exceptions.c was changed | |||
|
03:15
Zaba_ joined
|
|||
| kid51 | Alright, I'll try a lower one. Then I must go to bed. | 03:15 | |
|
03:18
skv_ joined
|
|||
| kid51 | My iBook is so slow that between 'make's I've had time to work on one of my CPAN distributions -- and get the test coverage to 100%! | 03:24 | |
| Linux: failure of t/examples/tutorial.t occurred between 28026 and 28042. | 03:25 | ||
| tetragon | In a couple more builds, I'll know when t/pmc/exception.t and t/op/exception.t started failing | 03:27 | |
| kid51 | Linux: failure of t/examples/tutorial.t occurred between 28026 and 28031. | 03:33 | |
|
03:33
skv_ joined
|
|||
| kid51 | Correction: Linux: failure was between 28031 and 28042. | 03:34 | |
| Darwin: t/op/exception.t was okay at r27926 (except for previously mentioned TODO tests) | 03:41 | ||
| tetragon | OS X/ppc, exception.t: Failure started at either r27992 or r27993 | 03:42 | |
| kid51 | Linux: failure was between 28033 and 28042. | 03:43 | |
| kid51 must sleep | |||
| purl | $kid51->sleep(8 * 3600); | ||
| chromatic_fajitas | Ahh, r28039. Bernhard updated the tutorial to use say instead of print. | 03:50 | |
| RT #55196 | 03:51 | ||
| dalek | r28057 | chromatic++ | trunk: | 03:54 | |
| : [t] Fixed tutorial test for printing float with say opcode temporarily broken | |||
| : in r28039 (see RT #55196, where print_n and say_n use differing precisions). | |||
| : This is a workaround pending resolution of that ticket. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28057 | |||
| tetragon finishes her gelato right when r27992 finished | |||
| chromatic: The (non-TODO) failures of t/op/exceptions.t and t/pmc/exception.t started with r27992 | 03:55 | ||
| chromatic | Thanks, tetragon. | 04:03 | |
| The exit status parts of that commit are the suspicious ones then. | |||
| I wonder if it's undefined in certain conditions. | 04:04 | ||
| Looks like it. Hmm. | 04:05 | ||
| nopaste | "chromatic" at 63.105.17.30 pasted "tetragon: resolve exception test failures [PATCH]" (13 lines) at nopaste.snit.ch/13158 | 04:06 | |
| chromatic | I think getting rid of uninitialized values would fix it, but confirmation would be lovely. | 04:08 | |
| tetragon | Looks good on r27992, still waiting on r28053 to finish building | 04:09 | |
| Good on r28053 | 04:10 | ||
| chromatic | Excellent, thanks. | ||
|
04:11
Zaba joined
|
|||
| chromatic | Did you file a ticket for this that we need to close? | 04:12 | |
| tetragon | Not at this point | ||
| Too busy watching the builds and keeping enough disk free | 04:13 | ||
| chromatic | That's fine, no need now. | ||
| Thanks for reporting and bisecting. | |||
| dalek | r28058 | chromatic++ | trunk: | ||
| : [src] Initialized some variables accidentally rendered uninitialized in r27992 | |||
| : (reported by Seneca Cunningham). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28058 | |||
|
04:35
tetragon joined
04:58
Zaba_ joined
05:11
Zaba joined
05:29
grim_fandango joined
05:32
barney joined
|
|||
| cotto_home | barney, ping | 05:33 | |
| maybe I need to be louder | 05:36 | ||
| PING | |||
|
05:40
sheriff_p joined
|
|||
| sheriff_p | Are there any fully-supported real-world languages running on Parrot yet? | 05:41 | |
| barney | hi cotto, was busy reading mail | 05:43 | |
| cotto_home | what'd be the best starting place to integrate my phparray code with the rest of plumhead? | 05:44 | |
| (which, of course, I can't release yet) | |||
| Tene | sheriff_p: not yet. parrot itself still has a few pieces that need to be completed. | 05:47 | |
| barney | I could make a dummy PHPArray, and you keep a diverging working copy. This is to avoid MANIFEST problems. | ||
| sheriff_p | hrm | ||
| Tene | sheriff_p: what languages are you most interested in? | ||
| barney | cotto: Need to head out for $DAYJOB | 05:48 | |
| cotto_home | barney, I'm thinking more from a coding perspective than "how do I avoid pain when I eventually get my commit bit" | ||
| ok | |||
| ttyl | |||
| Tene | sheriff_p: why are you asking? | 05:51 | |
| barney | cotto: put PMC code into src/pmc, adapt config/makefiles/root.in and create many tests should be fine | 05:52 | |
| sheriff_p | Tene: I have a suspicion that people will start getting excited when it becomes easy to swap libraries between languages | ||
| cotto_home | that's definitely what I'm most looking forward to about Parrot | 05:53 | |
| sheriff_p | hrm | ||
| Tene | sheriff_p: there are still some namespace issues that need to be worked out before languages can start doing things like that. | ||
| sheriff_p | That's a shame | ||
| Tene | nothing significant, it's just that nobody has gotten around to it yet. | 05:54 | |
| sheriff_p | I wonder how hard it would be to convert Perl bytecode in to working JS | 05:56 | |
|
05:57
Theory joined
06:11
Zaba joined
|
|||
| bacek going to make few people sick :) | 06:17 | ||
| (just read yesterday's #ps log) | 06:18 | ||
| moritz | bacek: ;) | ||
| Tene | what about it? | ||
| moritz | Tene: irclog.perlgeek.de/parrotsketch/200...3#i_327710 | 06:19 | |
|
06:22
ank joined
06:23
uniejo joined
06:27
Zaba joined
|
|||
| bacek | any idea which version of pugs known to build on mac/intel? | 06:33 | |
| moritz | bacek: the last version I managed to build at all was r19915 on ghc 6.6.1 | 06:34 | |
| bacek | moritz: thanks. I'll try to build it... | ||
| doesn't work with 6.8.2... | 06:36 | ||
| moritz | bacek: yes, 6.8.* has a different packaging system, less packages are imported by default | ||
| bacek | heh... Pugs is not dead. It just smells like dead... | 06:37 | |
|
06:42
Zaba_ joined
|
|||
| bacek | Module `Data.ByteString.Char8' does not export `copyCStringLen' | 06:46 | |
| this is from HsSyck.. | |||
| moritz | bacek: warning or error? | ||
| bacek | errro | ||
| error | |||
| Tene | canonical.org/~kragen/strlen-utf8.html | 07:04 | |
| ank | Tene: very interesting | 07:06 | |
| Tene | porg.es/blog/counting-characters-in...-is-faster | 07:08 | |
| shorten | Tene's url is at xrl.us/bmhdz | ||
|
07:10
iblechbot joined
|
|||
| moritz | Tene: nice reading | 07:11 | |
|
07:18
Zaba joined
07:22
Zaba_ joined
07:26
Zaba joined
07:42
Zaba joined
07:47
Zaba_ joined
07:54
Zaba joined
08:03
allison joined
08:28
tetragon joined
|
|||
| dalek | allison@perl.org | Bylaws: | 09:01 | |
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 09:03 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 09:04 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 09:08 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 09:32 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 09:36 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 09:47 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
|
09:59
ruoso joined
|
|||
| dalek | allison@perl.org | Bylaws: | 10:06 | |
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 10:10 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 10:38 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | Bylaws: | 10:40 | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| allison@perl.org | A foundation for Parrot: | 10:44 | ||
| link: www.perlfoundation.org/parrot/index...for_parrot | |||
| shorten | dalek's url is at xrl.us/bkxq5 | ||
| dalek | allison@perl.org | Membership Committee Charter: | 11:27 | |
| link: www.perlfoundation.org/parrot/index...ee_charter | |||
| shorten | dalek's url is at xrl.us/bmhjt | ||
| dalek | allison@perl.org | Bylaws: | 11:32 | |
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
|
11:32
silug joined
11:34
braceta joined
11:40
ank joined
|
|||
| dalek | allison@perl.org | Conflict of Interest Policy: | 11:44 | |
| link: www.perlfoundation.org/parrot/index...est_policy | |||
| shorten | dalek's url is at xrl.us/bmhj7 | ||
|
11:48
bacek joined
|
|||
| bacek | hi again. | 11:48 | |
| purl | oh, you're back! | ||
| bacek | purl, you still there! | ||
| purl | bacek: sorry... | ||
| dalek | allison@perl.org | Conflict of Interest Policy: | 11:51 | |
| link: www.perlfoundation.org/parrot/index...est_policy | |||
| shorten | dalek's url is at xrl.us/bmhj7 | ||
| dalek | allison@perl.org | Conflict of Interest Policy: | 11:54 | |
| link: www.perlfoundation.org/parrot/index...est_policy | |||
| shorten | dalek's url is at xrl.us/bmhj7 | ||
| dalek | allison@perl.org | Conflict of Interest Policy: | 11:56 | |
| link: www.perlfoundation.org/parrot/index...est_policy | |||
| shorten | dalek's url is at xrl.us/bmhj7 | ||
| dalek | allison@perl.org | Bylaws: | 11:57 | |
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| bacek | summon pmichaud | 12:00 | |
| #perl6? | 12:02 | ||
| purl | #perl6 is at irc.freenode.net. | ||
| dalek | allison@perl.org | Bylaws: | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
|
12:07
Theory joined,
bacek joined
|
|||
| dalek | allison@perl.org | Bylaws: | 12:09 | |
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| bacek | pmichaud, nopaste.snit.ch/13152 makes S29-list/grep.t passing | 12:14 | |
|
12:23
kid51 joined
12:26
pjcj joined
|
|||
| kid51 | Hurray! We're back to all tests passing 'make test' on Darwin and Linux. chromatic and tetragon must have been able to complete the binary search last night. | 12:27 | |
|
13:05
Themeruta joined
13:06
gryphon joined
13:25
jhorwitz joined
13:29
Whiteknight joined
|
|||
| particle | sheriff_p, Tene: parrot's lua implementation is "real world" and "complete" | 13:31 | |
| ...for reasonable definitions of those words | 13:32 | ||
|
13:32
iblechbot joined
13:33
kj joined
|
|||
| particle | bacek: could you send your patches as tickets rather than nopasting always? higher visibility of your work is more likely to lead to a commit bit sooner | 13:33 | |
| bacek: you can copy parrot-porters@ so the list gets the mail immediately, even if it takes rt a while to catch up | 13:34 | ||
| moritz | is parrot-porters the same as perl6-internals? | 13:35 | |
|
13:36
Zaba joined
|
|||
| dalek | r28059 | Whiteknight++ | gsoc_pdd09: | 13:37 | |
| : [gsoc_pdd09] updating to trunk r28058 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28059 | |||
| particle | moritz: yes | 13:38 | |
| it's the new name, although it seems impossible to get rid of the old name | |||
| ..."new" being about two years old | |||
| bacek | pmichaud, ok. | 13:39 | |
| kj | hello everybody | ||
| purl | Hello Dr. Nick! | ||
| kj | for the interested readers: I converted the pct tutorial to POD; it's in lang/squaak/doc. The solutions will come later, prob. next week or so. | 13:40 | |
| particle | kj++ | 13:43 | |
| kj | particle: I guess you don't need it anymore, but any feedback is welcome :-) | 13:44 | |
| particle | well, since i haven't read it yet, i may have some nice feedback when i do :) | 13:45 | |
| kj | yep, that's what I was hoping for ;-) General tips on writing or how to make things clear would help in my future documentation efforts | 13:46 | |
| which I envision :-P | 13:47 | ||
| particle | log? | 13:58 | |
| purl | o/` it rolls downstairs, alone or in pairs, rolls over your neighbour's dog, it fits on your back, it's good for a snack, it's log, log log! o/` | ||
| particle | it's log, it's log, it's big, it's heavy, it's wood | ||
| Whiteknight | it's log, it's log, it's better then bad, it's good! | ||
| particle | :) | 13:59 | |
| moritz | it's log, it's log, it's only in four characters different than "beer" | ||
| Whiteknight | i grew up on ren & stimpy | 14:00 | |
| ...which explains some of my more glaring personality deficiencies | 14:01 | ||
| particle <3 ren&stimpy | |||
| jonathan | Yesterday kalashnikovs, today logs. I really must pick my times to glance at #parrot... | 14:06 | |
| jonathan will do Rakudo day tomorrow. | |||
| jhorwitz | Whiteknight: you EEEEEEEEEDIOT! :) | 14:07 | |
| Infinoid | Don't touch it, you fool! It's the history eraser button! | 14:08 | |
| Whiteknight | haha! classic references! | 14:11 | |
|
14:11
ruoso joined
|
|||
| pmichaud | bacek: (nopaste 13152) -- we really don't need to make separate calls to 'list'() | 14:14 | |
| moritz | jonathan: are there any tests that I could prepare for your rakudo day tomorrow? | 14:15 | |
| jonathan | moritz: I was going to write some tests myself, for: (more) | 14:16 | |
| * subset foo of bar where { baz } | |||
| * grammar { ... }, with rule/regex/token inside | |||
| bacek | pmichaud, I'm little bit paranoid with new tools/languages... | 14:17 | |
| jonathan | * Matching against a grammar / rule / regex / token with ~~ | ||
| PowderedToastMan | hey kids! | ||
| jonathan | If you're interested in working on any of those, then I'll probably dig straight into working on roles with attributes. :-) | ||
| But I think we have no tests for those things yet. | 14:18 | ||
| Also, some junctional stuff. | |||
| moritz | jonathan: I'll take a look at those, and probably /msg you when I get some of it done | 14:19 | |
| pmichaud | jonathan: note that the ~~ Grammar invocation is likely going to change | ||
| moritz | I'd expect $variable ~~ MyGrammar to do a type check | 14:20 | |
| just like with classes | |||
| pmichaud | yes, that's what TimToady was speculating a couple of days ago | ||
| particle | ayep | ||
| with a method call to run it | |||
| pmichaud | to match against a grammar may become $x ~~ MyGrammar.new() | ||
|
14:20
acmoore joined
|
|||
| moritz | will $x ~~ MyGrammar.TOP still work? | 14:21 | |
| pmichaud | I can't say for sure on that one yet. | 14:22 | |
| particle | will $x ~~ MyGrammar.TOP check that $x isa regex/rule/token? | ||
| pmichaud | for that one would use $x ~~ Regex | 14:23 | |
| particle | how do i get the type of MyGrammar.TOP? | ||
| pmichaud | &MyGrammar::TOP.WHAT ? | ||
| particle | ok | ||
| are parens (for invoke) implied in perl 6? | 14:24 | ||
| pmichaud | not for &var | ||
| particle | foo.bar same as foo.bar() | ||
| pmichaud | if bar is a method, yes. | ||
| particle | and TOP is a method on MyGrammar | ||
| regex/rule/token == method | |||
| so, that seems to suggest $x ~~ MyGrammar.TOP will execute TOP | 14:25 | ||
| pmichaud | ...and smartmatch $x against whatever MyGrammar.TOP returns | ||
| jonathan | pmichaud: Sure, but best to have *something* tested so we can make sure the functionality still works, even if the details will change. | ||
| particle | yes | ||
| moritz | so how would you smartmatch against MyGrammar.TOP? $x ~~ &MyGrammar.TOP ? | ||
| pmichaud | jonathan: sure. But the big point about $x ~~ Grammar changing is that we no longer need the .ACCEPTS special stuff. | 14:26 | |
| jonathan | Yes, that will be much cleaner, for sure. | ||
| $x ~~ MyGrammar.TOP - will be Regex case in smartmatch | 14:27 | ||
| Regex is method-like, maybe even a subclass of Method. | |||
| moritz | 'subset' seems to lack quite some testing | 14:28 | |
| pmichaud | MyGrammar.TOP _should_ invoke TOP | ||
| jonathan | Hmm. | ||
| True. | |||
| $x ~~ MyGrammar::TOP would do the Regex match. | |||
| MyGrammar.TOP - as particle said. | 14:29 | ||
| pmichaud | no. | ||
| jonathan | Oh? | ||
| pmichaud | MyGrammar.TOP _should_ invoke TOP. | ||
| jonathan | Yes, invokes TOP | ||
| But without any arguments? | |||
| It's just a method call? | |||
| pmichaud | $x ~~ MyGrammar.TOP would then do a smartmatch between $x and whatever MyGrammar.TOP returns | ||
| same as if I did $x ~~ $y.bar | 14:30 | ||
| $x ~~ $y.bar does not mean $y.bar($x) | |||
| jonathan | Right, I thought that's what particle had meant. | ||
| pmichaud | MyGrammar::TOP would be something different. In fact, it probably doesn't exist. | ||
| jonathan | TOP doesn't exist in the MyGrammar namespace? | 14:31 | |
| pmichaud | if it does, it's a namespace. | ||
| The TOP method would be MyGrammar::&TOP | |||
| jonathan | Ah. | ||
| OK, got it. | |||
| jonathan trundles back to $DAYJOB | 14:32 | ||
| pmichaud | TimToady says that TOP invocation in STD5 is currently: MyGrammar.new($x).TOP() | ||
| moritz | we really need eval_lives_ok and eval_dies_ok | 14:41 | |
| pmichaud | for? | ||
| moritz | for testing all kinds of stuff, for example subsets | 14:42 | |
| pmichaud | (not disagreeing, just curious) | ||
| moritz | subset Even of Int where { $_ % 2 == 0 }; | ||
| pmichaud | why does that require eval? | ||
| moritz | lives_ok { my Even $x = 3 }, "desc", | ||
| won't work | |||
| because a compiler is allowed to such checks at compile time | |||
| where possible | |||
| purl | NOT! | ||
| moritz | pmichaud: I found some instances where undeclared variables where used in a try { ... } block, and rakudo bailed at those (rightfully) | 14:43 | |
| pmichaud | eval_lives_ok and eval_dies_ok -- I agree. | 14:44 | |
| moritz | and there are quite many test like eval 'string'; ok !$!, "compiled"; that could also use these | 14:45 | |
| pmichaud | are these latter tests actually testing eval? | ||
| if we're just testing that something parses/compiles, we should use #?impl skip for that | |||
| or one of the other fudge directives | 14:46 | ||
| bacek | eval_dies_ok can be used for testing parsing failures. | 14:47 | |
| pmichaud | yes, it can be used for that (more) | ||
| (nm more) | |||
| moritz | bacek: and for failures that can either happen at runtime or compile time | 14:48 | |
| pmichaud | anyway, I agree that we should keep eval_lives_ok and eval_dies_ok | ||
| bacek | moritz, +1 | ||
| moritz | bacek: if you have free tuits, would you like to implement these in Test.pm? | ||
| pmichaud | aren't they already there? | ||
| or is it just lives_ok and dies_ok ? | |||
| moritz | no 'eval' at all in Test.pm | ||
| pmichaud | okay, add them. :-) | 14:49 | |
| bacek | pmichaud, no. But they can be easily implemented | ||
| pmichaud | bacek: do you want me to fix nopaste 13152 and apply it? | 14:50 | |
| actually, I'll clean up exports first. | 14:51 | ||
| nopaste | "bacek" at 202.7.166.166 pasted "scetch of eval_dies/lives_ok in Test.pm" (29 lines) at nopaste.snit.ch/13162 | ||
| pmichaud | probably need try { ... } around those evals | 14:52 | |
| bacek | pmichaud, Already done. I just fixing other... hmm... glitches in List.pir | ||
| moritz | do failed evals throw exceptions? don't think so, actually | ||
| bacek | $ ../../parrot perl6.pbc | 14:53 | |
| > use Test; | |||
| > eval_dies_ok('die!'); | |||
| Segmentation fault | |||
| purl | (Core dumped) | ||
| bacek | Yeek... | ||
| pmichaud | eval might not throw an exception -- I suppose if the code doesn't eval then it would return one. | 14:54 | |
| in which case we probably need to update rakudo's eval() | |||
| however | |||
| moritz | inside there could be an exception | 14:55 | |
| bacek | pmichaud, (about List.pir) do you want it in RT? | ||
| pmichaud | S04 says "The Perl 6 equivalent to Perl 5's eval {...} is try {...}." which might lead one to believe that eval doesn't trap exceptions anymore. | ||
| (but it could also be that S04 is simply referring to P5's block form of eval.) | 14:56 | ||
| moritz | eval { ...} *is* the block form of eval | ||
| pmichaud | S04 says there is no eval { ... } in p6 | 14:57 | |
| S04" The Perl 6 equivalent to Perl 5's eval {...} is try {...}. (Perl 6's eval function only evaluates strings, not blocks.) | |||
| moritz | that's what I meant ;) | ||
| pmichaud | bacek: just a sec, thinking | 14:58 | |
| bacek: either nopaste or RT is fine for this. I'll probably go ahead and apply it now, and then do my export refactoring a bit later | |||
| nopaste | "bacek" at 202.7.166.166 pasted "List.pir cleanup for pmichaud" (101 lines) at nopaste.snit.ch/13163 | 15:00 | |
| pmichaud | for sort, shouldn't 'list' be :slurpy ? | 15:01 | |
| bacek | pmichaud, I also have 'reduce' refactored. | ||
| pmichaud | same for map | ||
| bacek | pmichaud, why? | ||
| pmichaud | otherwise we can't do sort 1,2,3,4,5 | 15:02 | |
| bacek | <pmichaud> bacek: (nopaste 13152) -- we really don't need to make separate calls to 'list'() | ||
| pmichaud | right | ||
| we do '!flatten' on the slurpy arg instead | |||
| .param pmc array :slurpy | |||
| array.'!flatten'() | |||
| .return array.'whatever'() | 15:03 | ||
| (unless the 'whatever' method already does flattening, in which case we don't need the extra '!flatten' step. | |||
| bacek | ok. Just a sec. | 15:05 | |
| hmm... What the difference with my original version? 'list' is actually 'alias' for '!flatten'... | 15:07 | ||
| pmichaud | not really | ||
| 'list' always constructs a List() | |||
| sorry, you're right, that's not what it does | 15:08 | ||
| however, it does create an *extra* list. | |||
| particle | bbi15m & | ||
| pmichaud | using '!flatten' directly avoids the extra list creation. | 15:09 | |
| bacek throws Knuth's book to pmichaud - PREMATURE OPTIMIZATION! | 15:10 | ||
| pmichaud | I'm willing to accept the argument that this would be a prematu..... right | ||
| :-) | |||
| okay, I'll apply it. | |||
| well, I'll apply 13152 | |||
| bacek | :) | ||
| BTW... Always flattening is bad idea... We really need lazy lists... | 15:12 | ||
| pmichaud | ...except that sort() does flatten. | ||
| bacek | except sort() | ||
| pmichaud | and map. | ||
| and grep. | |||
| and anything that has *@array as an argument. | 15:13 | ||
| bacek | (grep { $_ % 3 }, 1..Inf)[20] | ||
| flattening is not actually required. | |||
| pmichaud | oka, flatten is the wrong name then. | 15:14 | |
| I don't mean flatten in the sense of "eager", I mean it in the sense of "remove dimensions" | |||
| bacek | pmichaud, o! '!flatten' is little bit misleading... | 15:15 | |
| pmichaud | it's okay, as you say, it'll go away with lazy lists. | ||
| moritz | jonathan: I added two test files for subsets in S02-polymorphic_types/. They seem to pass once we implement eval_lives_ok | ||
| pmichaud | or at least it'll become less eager | ||
| bacek | moritz, eval trowing exception in rakudo. | 15:17 | |
| pmichaud, indeed | 15:18 | ||
| jonathan | moritz: Nice. | ||
| moritz | jonathan: they are very basic, but atm I don't really know what else I can test... a job for Auzon when he gets to it ;) | 15:19 | |
| nopaste | "bacek" at 202.7.166.166 pasted "woring version of eval_dies/lives_ok in Test.pm" (31 lines) at nopaste.snit.ch/13164 | ||
| bacek | use Test; plan 1; eval_dies_ok('die'); | 15:20 | |
| it works :) | |||
| pmichaud | I'd be interested to know if eval throws exceptions on parsefails, though. | 15:21 | |
| jonathan | moritz: Basic tests beat no tests. :-) | 15:22 | |
| bacek | pmichaud, it throws | ||
| pmichaud | bacek: no, I mean in the spec, not in rakudo. | 15:23 | |
| i.e, "should eval throw an exception on parsefail?" | |||
| bacek | pmichaud, hmm... | 15:24 | |
| pmichaud, my vote for 'shouldnt' | |||
| moritz too | |||
| pmichaud | so, one would have to explicitly check $! after eval? | ||
| jonathan | Why shouldn't it? If you've got a parse fail in what you tried to eval, you'd like to know about it? | ||
| moritz | pmichaud: or 'use fatal 'eval'' | 15:25 | |
| pmichaud | moritz: that's reasonable. | ||
| jonathan | I'd go with it following what use fatal does. | ||
| pmichaud | anyway, is eval() documented in S29? | ||
| moritz | the whole philosophy is not to die unless fatal is in scope | ||
| rather 'fail' instead | |||
| which does the right thing | 15:26 | ||
| pmichaud | works for me. | 15:27 | |
| so we need to fix rakudo's 'eval' | |||
| bacek | pmichaud, yes. | ||
| moritz, S02-polymorphic passed with this Test.pm :) | |||
| moritz | bacek++ | 15:28 | |
| pmichaud | either fix eval or file a ticket for it, please. | ||
| bacek | pmichaud, src/builtins/control.pir. | 15:37 | |
| I think we should fix rakudo, not parrot in this case. | 15:38 | ||
| pmichaud | bacek: I don't understand. | ||
| bacek is little bit dumb... | |||
| pmichaud, sorry. I just misread | |||
| ...you proposal to fix. | 15:39 | ||
| Just a sec. I'll fix eval. | |||
| pmichaud | we probably ought to have a 'fail' function, too :-) | ||
| bacek | pmichaud, it's too many failures without this function... Why we need it? :) | 15:43 | |
| moritz | bacek: because it's specced? ;-) | 15:44 | |
| NotFound | You can implement it just by calling other function that fails X-) | 15:49 | |
| bacek still try to understand how set value in '$!'... | 15:54 | ||
| jonathan | bacek: I fear that is looking down the callstack, since $! is a context variable. | 15:56 | |
|
15:59
Zaba_ joined
|
|||
| bacek | jonathan, and how it should look like? | 16:00 | |
| look like time to summon chromatic | 16:08 | ||
| jonathan | bacek: You can get at it through the interpinfo opcode, I believe. | 16:09 | |
|
16:34
ambs joined
|
|||
| bacek | bacek@icebolt:~/src/parrot/languages/perl6$ cat e.pl | 16:42 | |
| eval('die'); print defined $!; eval('1==1'); say defined $!; | |||
| bacek@icebolt:~/src/parrot/languages/perl6$ ../../parrot perl6.pbc e.pl | |||
| 10 | |||
| Bingo! | |||
| nopaste | "bacek" at 202.7.166.166 pasted "Fixed eval() for pmichaud/jonathan to review" (26 lines) at nopaste.snit.ch/13165 | 16:44 | |
| "bacek" at 202.7.166.166 pasted "Fixed eval() for pmichaud/jonathan to review (again... full version)" (35 lines) at nopaste.snit.ch/13166 | 16:45 | ||
| particle | bacek: include documentation about setting $! and i think it's good to apply | 16:46 | |
| cognominal | jonathan, junctions have a .perl method but no .get_string. | ||
| bacek | particle, # We fetch callers lexpad and set '$!' in it. | 16:50 | |
| is it enough? | |||
| particle | i mean pod doc | ||
| bacek | particle, but pod doc is already there... | 16:51 | |
| particle | Returns whatever C<$code> returns, or undef on error. Sets caller's C<$!> on error. | ||
| something like that | |||
| bacek | particle, ok. | ||
| particle | i can apply and add that, if you think it's accurate enough | ||
| jonathan | cognominal: I don't know what get_string on a junction should do. Not the same as .perl, that I'm pretty sure of. | 16:52 | |
| Stringifying each element and returning a junction of the strings would seem sane. | |||
| particle | also, i'm moving the .local away from the .param and closer to where they're used | ||
| cognominal | I did not thought that far :) | ||
| nopaste | "bacek" at 202.7.166.166 pasted "new version of eval()" (45 lines) at nopaste.snit.ch/13167 | 16:53 | |
| jonathan | cognominal: Actually, what I just said won't work. | ||
| bacek | particle, I just copied your text :) | 16:54 | |
| jonathan | Because you have to return a STRING* and not a PMC*. | ||
| but prefix:~ on a junction should return a junction of strings, I'm pretty sure about that. | |||
| moritz | I think it should be the same as .perl, but call .str on the asssembled objects, not .perl | ||
| (just intuitive guessing here) | |||
| jonathan | .perl of a junction returns a string rather than a junction; stringifying a junction I don't think changes it's junction-ness. Since serializing and stringification are different. | 16:55 | |
| moritz | but shouldn't ~$foo return a string, regardless of $foo is? | ||
| particle | bacek: applied, testing now | 16:56 | |
| bacek | particle, ok, thanks. | ||
| must sleep | |||
| purl | $bacek->sleep(8 * 3600); | ||
| bacek | it's 3 AM here. Good night everyone. | ||
| thanks purl | 16:57 | ||
| moritz | sleep well bacek ;) | ||
| bacek | moritz, I will. Last 4 hours before waking kids... | ||
| japhb | moritz: (~$foo returns string always) No, because ($a + $b) doesn't always return a number, if $a or $b are junctions. | ||
| cognominal | I guess as moritz about ~ on junctions | ||
| japhb | applying basic opts to junctions produces junctions of applied ops | 16:58 | |
| moritz | japhb: you've got a point there. But how do I *really* produce a string then? | ||
| cognominal | .perl does it | 16:59 | |
| NotFound | japhb: please take a look at #49966 | ||
| moritz | cognominal: but that doesn't do what I want ;) | ||
| japhb | NotFound: looking | ||
| OK, give me a minutes to make realclean and compile a fresh parrot, and I will test again here. | 17:01 | ||
| jonathan | moritz: $junc.values will get you the values in a junction as a list, which may stringify how you want. | 17:02 | |
| japhb | moritz: What do you really want, if .perl's string output isn't it? | ||
| jonathan | say $junc will, eventually, autho-thread. | ||
| *auto-thread | |||
| That is, call say for each value in the junction | |||
| moritz | japhb: .perl calls .perl on all assembled objects in the list. Which is arbitrary, as long as it reproduces these objects. I'd expect prefix:~ to return something that assembles the stringification of all these objcts | 17:04 | |
| dalek | r28060 | particle++ | trunk: | ||
| : [rakudo] eval: propagate $! to caller (bacek++) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28060 | |||
| japhb | Anyone know if in PIR, the :opt_flag .param must immediately follow the matching :optional .param? Can there be intervening other .params? In particular, can you group all of the :optional's together, followed by all of the :opt_flags in the same order? | ||
| moritz | japhb: but I think I actually want ~$junc.values, jonathan++ | ||
| japhb | moritz: fair enough | ||
| particle | japhb: i believe they must be :optional :optflag :optional :optflag order | 17:05 | |
| japhb | particle: ok, thanks | ||
| jonathan | moritz: Or perhaps (~$junc).values, if you wanted an array of strings...depends what you're after. :-) | ||
| NotFound | japhb: given all current bugs in passing arguments, trying that can be a nightmare. | ||
| pmichaud | prefix:~ on a junction should return a junction | ||
| in this respect it's no different than doing prefix:- on a junction | |||
| japhb | NotFound: yeah, I thought about testing it to get the answer from the horse's mouth, then realized I would be getting the answer from the donkey's mouth instead. | 17:06 | |
| pmichaud | -(2|3) " (-2 | -3)" | ||
| ~(2|3) ==> "2" | "3" | |||
| however, prefix:~ should never actually "see" a Junction -- the dispatcher should autothread the calls to prefix:~ | 17:07 | ||
| NotFound | japhb: I think it can be a Monte Carlo answer, mostly, | 17:08 | |
| (and I don't talk about Alonso-Hamilton things) X-) | 17:09 | ||
| japhb goes to look up Alonso-Hamilton, can't find anything but Mercedes-Benz racing references | 17:10 | ||
| NotFound | That's it. | 17:11 | |
| particle | they race in monte carlo | ||
| cognominal | non sequiturs manage to always converge in Perl | 17:12 | |
| with the appropriate metric | 17:13 | ||
| NotFound | for_each a,b -> distance(a,b)=0 ? | 17:14 | |
| japhb | NotFound: wow, if I'd been more awake ... I still probably wouldn't have figured out that joke. ;-) | 17:32 | |
| NotFound: #49966 looks fixed, so I marked it resolved, thanks for pointing that out. | 17:36 | ||
| cognominal | japhb: what do you want as include files? I am opengl and glut illiterate | 17:57 | |
| dalek | r28061 | pmichaud++ | trunk: | 17:58 | |
| : [rakudo]: | |||
| : * Refactor handling of exported methods into !EXPORT sub. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28061 | |||
| r28062 | kjs++ | trunk: | 17:59 | ||
| : [tutorial] add solutions to episode 3. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28062 | |||
| nopaste | "cognominal" at 82.67.232.89 pasted "glxinfo for japhb" (69 lines) at nopaste.snit.ch/13168 | ||
| particle | pmichaud: will you be layering 'is export' on '!EXPORT'? | 18:00 | |
|
18:00
cjfields joined
|
|||
| japhb | cognominal: The full contents of any directory containing a header file named 'gl.h', 'glu.h', or 'glut.h' | 18:00 | |
| cognominal | ok | ||
| particle | pmichaud: also, if you have some pointers as to what Exporter needs or should act, let me know (test cases give you bonus points) | 18:01 | |
| cognominal | japhb, I thought the problem was that I added a opengl port but removing it did not change anything | ||
| japhb | I believe the problem is an extra header file with macros formatted in a weird way I'm not handling. | 18:02 | |
| japhb examines cognominal's glxinfo ... | 18:03 | ||
| OpenGL 1.2? Seriously, Intel!? Sheesh. | |||
| cognominal | this seems to comme with X11 | ||
| japhb | No wonder NVIDIA is constantly giving Intel a hard time about being graphics-incompetent. | ||
| cognominal | that may not be what you sarch | ||
| this is not the native window system on a mac | 18:04 | ||
| japhb | Is there a cglinfo? | ||
| (Or aglinfo, for that matter?) | |||
| nopaste | "cognominal" at 82.67.232.89 pasted "for japhb" (12 lines) at nopaste.snit.ch/13169 | 18:05 | |
| japhb | cognominal: yes, perfect. The full contents of all of those directories, plus the glut.h-containing ones you posted the first time. | ||
| tar that whole puppy up. :-) | 18:06 | ||
| cognominal | ok | ||
| japhb | thank you! | ||
| cognominal | you are welcome | ||
| dalek | r28063 | pmichaud++ | trunk: | 18:08 | |
| : [rakudo]: | |||
| pmichaud | particle: (is export) haven't decided yet. | ||
| dalek | : * Add more improvements to List (bacek++) | ||
| : * Two additional subtests in t/spec/S29-list/grep.t now pass. | |||
| : * Patch courtesy Vasily Chekalkin <bacek@bacek.com> | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28063 | |||
| pmichaud | I was simply tired of writing stub code to put methods into the global namespace, so figured an export of some sort would work well. | 18:09 | |
|
18:10
sjansen joined
|
|||
| pmichaud | I see !EXPORT as an interim measure until we decide how we want to handle it in general. | 18:10 | |
| particle | if we decorate methods with 'is export', can we use '!EXPORT' for trait_auxiliary:is ? | 18:11 | |
| pmichaud | not yet. eventually we'll do something like taht. | 18:12 | |
| particle | what stops us? can't get the name of the method? | ||
| pmichaud | only that I'm not sure this is the design I want. | ||
| dalek | r28064 | kjs++ | trunk: | ||
| : [tutorial] add solutions to ep.4 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28064 | |||
| particle | hrmm | ||
| it is the proper perl 6 syntax, though, isn't it? | 18:13 | ||
| pmichaud | if someone wants to implement 'is export' using !EXPORT that's okay, keeping in mind that I may change my mind | ||
| I'm only saying that !EXPORT itself might be wrong. | |||
| particle | ok, sure | ||
| i just want to be able to specify on the routine that it should be exported, rather than hardcoding it in :onload | 18:14 | ||
| pmichaud | where 'routine' means "Perl 6 routine"? | ||
| particle | yes. | ||
| pmichaud | or are you advocating an :export flag on Parrot subs? | ||
| particle | no | ||
| method foo is export (...) { ... } | 18:15 | ||
| pmichaud | right. but the code to do that is going to end up in an :load :init sub | ||
| japhb | grrr ... what's the correct PIR to do a COW assign of string registers? '$S0 = $S1' doesn't seem to do it, unless I have a bug elsewhere | 18:16 | |
| pmichaud | japhb: $S0 = clone $S1 | ||
| japhb | pmichaud: thanks. | ||
| That's really COW, not a copy? | |||
| pmichaud | so I'm told. | 18:17 | |
| japhb | ok | ||
|
18:18
Ivatar joined
|
|||
| japhb | pmichaud: I believe you said a couple days ago what the 'friendliest' way to obtain an iterator from an aggregate was ... was it the 'iter' op? | 18:20 | |
| pmichaud | yes. | ||
| japhb | pmichaud: cool, thanks | ||
| particle | vtable++ | ||
| jhorwitz | there's an iter op? learn something new every day.... | ||
| japhb | It's listed in the docs as experimental, so I wasn't sure. | 18:21 | |
| pmichaud | it's in experimental ops, but apparently is likely to stay. | ||
| particle | it calls the get_iter vtable function | ||
| jhorwitz | makes life easier. that's all i care about. :) | 18:22 | |
| particle hands jhorwitz a beer | |||
| japhb | Well, that didn't work -- "get_iter() not implemented in class 'ResizeableStringArray" | ||
| jhorwitz needs a write_slides_for_talk opcode | |||
| jhorwitz chugs particle's beer | |||
| pmichaud | japhb: file a ticket, and use new 'Iterator' :-) | 18:23 | |
| japhb | pmichaud: I will file a ticket, but I was trying to get rid of "new 'Iterator'" ... ah well, just have to revert a couple "improvements" | 18:24 | |
| pmichaud | japhb: right -- apparently we're not quite ready for "iter everywhere" yet. | ||
| unfortunately I tended to use 'iter' as the symbol for my Iterator PMCs, so that's a lot of code to change | 18:25 | ||
| (because I was also unaware of the iter opcode) | |||
|
18:27
barney joined
|
|||
| japhb | ticket submitted | 18:28 | |
| jhorwitz does the same thing with iter | |||
| japhb was in the habit of naming an iterator for 'foo' as 'foo_iter', so 'foo_iter = iter foo' looked nice | 18:29 | ||
| particle uses it_foo | 18:30 | ||
| pmichaud | it_foo might be okay. | ||
| japhb | That begins to border on hungarian notation, which gives me the heebie-jeebies | 18:31 | |
|
18:40
Zaba joined
|
|||
| dalek | r28065 | japhb++ | trunk: | 18:42 | |
| : [OpenGL] Friendlier function export API | |||
| : * Make the namespace parameter to _export_all_functions_to optional | |||
| : * Accordingly, change name to _export_all_functions | |||
| : * Rename glutcb* to glut* on export, so importing module sees standard names | |||
| : * Fix POD and example to match | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28065 | |||
|
18:51
AndyA joined
19:03
ccube joined
|
|||
| ccube | I was going to use parrotbug to report a "make test" failure on Parrot_Test and found that parrotbug is non-functional | 19:04 | |
|
19:04
Ademan joined
|
|||
| ccube | It doesn't even respond to a ./parrotbug -h | 19:05 | |
| Looking at the code for it, it tries to do stuff in the "init" sub that shouldn't come until later | |||
| the "main" part of parrotbug: init(); help(); # bug init() seems not to return | 19:06 | ||
| I think this is a case where you guys are clearly not eating your own dogfood. | 19:07 | ||
| I will note that docs/submissons.pod points you to using this non-functional tool | 19:08 | ||
| NotFound | Off with his head! | 19:09 | |
| pmichaud | ccube: current bug report is rt.perl.org/rt3/Ticket/Display.html?id=41601 | ||
| cognominal | jonathan, in fpw2008, I think you spoke about a java extension that was cool, was that groovy? | ||
| jonathan | Yes, but I only said I'd been told it was cool, I haven't tried it yet. :-) | ||
| ccube | pmichaud: SO update docs/submission.pod why don't you? | ||
| pmichaud: and FIX or REMOVE parrotbug | |||
| pmichaud | ccube: I don't know how to fix parrotbug. | 19:10 | |
| cognominal | that's the story of the man that has seen the man that has seen the man that has seen the bear... | ||
| pmichaud | ccube: it's not my call whether or not to remove it. | ||
| ccube | pmichaud: hmm - then whose is it? | ||
| pmichaud | I suspect the people responding in RT#41601 | 19:11 | |
| you're welcome to add your report to RT#41601. That might get it moving again. | |||
| ccube | What impression does it make on people investigating parrot, if even the bug reporting tool is not functional? | 19:12 | |
| pmichaud | you're also welcome to contribute a patch. :-) | 19:13 | |
| particle | ccube: not a good one, but we don't get many complaints | ||
| maybe nobody likes parrot, or bothers to complain when parrotbug doesn't work, or they use email instead of the program | |||
| ccube | But then they have to know where to email to - it seems simple enought to update docs/submissions.pod | 19:14 | |
| NotFound | I, for example, juts notice his existence some days ago, but never tried. | ||
|
19:15
braceta joined
|
|||
| ccube | pmichaud: Could I, say, contirbute a patch that dumps parrotbug and update docs/submissions.pod to direct people to RT or email? | 19:16 | |
| pmichaud | ccube: yes. But again, it's not my call. | 19:17 | |
| particle | ccube: if you contribute that patch, it will be considered | 19:18 | |
| PerlJam | ccube: it's best to just submit a doc patch IMHO | 19:19 | |
| (especially since parrotbug does work for some cross section of people) | 19:20 | ||
| ccube | OK in the meantime - how do I report 6 not oks on my "make test" | ||
| of 6.2 | |||
| i mean 0.6.2 | |||
| NotFound | ccube: you can submit a bug report about parrotbug using parrotbug ;) | 19:21 | |
| ccube | I was waiting for that | ||
| jonathan | purl, parrotbug | 19:22 | |
| purl | i think parrotbug is mailto:parrotbug@parrotcode.org or svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug" | ||
| jonathan | ccube: You can email the output to that email address, which will create an RT ticket. | ||
| ccube | what should go in the subject line, what minimum information should be in the body (all stuff that I imagine a working parrotbug would take care of) | 19:23 | |
| jonathan | Subject: Test failures in 0.6.2 on <your platform> | ||
| ccube | ok, thanks | 19:24 | |
| moritz | ccube: operating system, architecture, compiler + version, parrot version, output of failed tests | ||
| jonathan | Body: The details of the test failures, and the contents of the myconfig file (in the directory where you built Parrot) | ||
| NotFound | Trailing space in List.pir | 19:25 | |
| ccube | pmichaud: As a parting comment, I worry about that "not my call", it reminds me of my time in a big corporation where you could never get things changed, because you could never find anybody that thought they had the authority to make changes | 19:28 | |
| pmichaud | ccube: I understand, really. But there are people who can make the call on this one -- I'm just not him or her. Certainly any of DietCoke, particle, or allison could likely make the call. | 19:29 | |
| japhb | OK, cognominal receives the award for most insane set of OpenGL headers: "77 directories, 223 files" | 19:30 | |
| PerlJam | pmichaud: you could do it and then be reviled when you do it wrong :) | ||
| japhb | "We only second guess the decisions that turned out to be wrong." | ||
| pmichaud | PerlJam: if I had little else to do at the moment, I might consider it. Right now I'm way behind on applying patches as it is. | ||
| PerlJam cracks the whip over pmichaud's head ... "Get back to patching!" | 19:31 | ||
| ;-) | |||
| pm: have there been that many contributions to rakudo/PGE/PCT? | |||
| barney | Anybody cares about tools/util/pirtidy.pl ? RT#39132 suggest to kill it. | 19:32 | |
| pmichaud | PerlJam: rakudo, yes. | ||
| cognominal | japbh: no surprise, I got an award from TPJ for being demented | ||
| japhb | ccube: In any large project, there are always people who have more authority in various pieces of it. Even in the Linux kernel, though Linus may be titular authority on everything, I'm pretty sure there are entire subsystems where he defers entirely to someone else. But even regular patch people don't have authority over the stuff that he *does* monitor on a daily basis. | ||
| pmichaud | PerlJam: and some of them require some refactoring before I can reasonably apply it. | 19:33 | |
| dalek | r28066 | chromatic++ | trunk: | ||
| : [PMC] Cleaned up a compiler warning found in optimized build. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28066 | |||
| pmichaud | PerlJam: and there are some patches which could be applied or submitted if only I have a few more core items cleaned up. | ||
| japhb | cognominal: link? | ||
| dalek | r28067 | chromatic++ | trunk: | ||
| : [PMC] Cleaned up a compiler warning found in optimized build. | |||
| cognominal | www.foo.be/docs/tpj/issues/vol3_3/t...-0015.html | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=28067 | ||
| r28068 | chromatic++ | trunk: | |||
| : [PMC] Cleaned up a compiler warning found in optimized build. | |||
| PerlJam | whenever I get a chance to look at rakudo again it's going to be a different beast I think. | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=28068 | ||
| pmichaud | PerlJam: a lot has changed yes, but underneath a lot of it is still the same. | 19:35 | |
|
19:37
IllvilJa joined
|
|||
| Whiteknight | that's because "underneath of it" == "Parrot" | 19:47 | |
| dalek | r28069 | chromatic++ | trunk: | 19:48 | |
| : [IO] Cleaned up a few more compiler warnings from optimized build. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28069 | |||
| pmichaud | actually, it's more that I re-did the underlying class structures. P6object, for example, and list context. | 19:49 | |
| moritz | there are two patches from bacek++ pending, one for eval, one for eval_(lives|dies)_ok in Test.pm | 19:59 | |
| nopaste.snit.ch/13164 and nopaste.snit.ch/13167 | |||
| the Test.pm one looks find, I don't understand the eval() one (lack of PIR knowledge) | 20:00 | ||
| dalek | allison@perl.org | Bylaws: | ||
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| pmichaud | moritz: got a commit bit yet? | 20:01 | |
| moritz | pmichaud: no | 20:02 | |
| paco | in linux/x86 t/spec/S29-conversions/ord_and_chr seems to hang, I am alone ? | ||
| pmichaud | :-( | ||
| moritz | paco: no | ||
| paco | moritz: ok | ||
| moritz | paco: that's why tools/update_passing_test_data.pl unlinks that test | ||
| pmichaud | file a ticket if one doesn't exist. | ||
| dalek | allison@perl.org | Bylaws: | 20:03 | |
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| moritz | ok, will do | 20:05 | |
| dalek | allison@perl.org | Bylaws: | 20:09 | |
| link: www.perlfoundation.org/parrot/index.cgi?bylaws | |||
| moritz | actually bacek's patch for eval_dies_ok doesn't work correctly | 20:12 | |
| > use Test; eval_dies_ok('asdfkljsdf') | |||
| not ok 1 - | |||
| > asdfsdf | |||
| Could not find non-existent sub asdfsdf | |||
| it seems that the outer try { ... } resets the $! from eval | 20:13 | ||
| dalek | r28070 | japhb++ | trunk: | 20:16 | |
| : [OpenGL] Tweak POD, remove dead code | |||
| : * Point to triangle.pir in OpenGL.pir docs | |||
| : * Remove useless .include in triangle.pir | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28070 | |||
| particle | moritz: is that a problem in try, or in eval? | 20:17 | |
| moritz | particle: I don't know if it's problem in try { } or in bacek's patch | 20:18 | |
| particle: the current behaviour is try { eval 'asdlkfj' }# $! is undef here | |||
| should $! from eval be propagated to the outer scope? or should it reset $! to undef (as it currently does)? | 20:19 | ||
| pmichaud | we should get rid of the try { ... } that is around eval. | ||
| but eval needs some work to do that, I think. | |||
| moritz | does an eval catch execeptions? | 20:20 | |
| it probably should | |||
| so maybe the patch is just overly paranoid | |||
| yes, works without the outer try as well | 20:21 | ||
| dalek | r28071 | bernhard++ | trunk: | 20:28 | |
| : #39132: [DEPRECATED] pirtidy | |||
| : Remove pirtidy-pl and Parrot::PIR::Formatter | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28071 | |||
| Whiteknight | t/tools/smartlinks is spitting out a lot of "Use of uninitialized value ..." errors. | 20:31 | |
| The test passes, but it still spits out errors | |||
|
20:32
Zaba joined
|
|||
| Whiteknight | well shoot, it looks like the error is in Text::Balanced, not in the test itself | 20:32 | |
| and languages/perl6/src/classes/List.pir is failing t/codingstd/trailing_space too, but I can fix that | 20:33 | ||
| barney | Whiteknight: I once looked into that, but got confused | 20:34 | |
| Whiteknight | which one? | ||
| purl | THAT ONE! | ||
| Whiteknight | thanks purl | ||
| barney | Text::Balanced | ||
| purl | Text::Balanced is cool | ||
| Whiteknight | i didn't see any trailing whitespace in List.pir, i'm going to update and run the test again | 20:36 | |
| Infinoid | Whiteknight: line 950 | 20:37 | |
| dalek | r28072 | bernhard++ | trunk: | 20:38 | |
| : #39132: [DEPRECATED] pirtidy | |||
| : Remove the test for Parrot::PIR::Formatter as well | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28072 | |||
| Whiteknight | I checked line 950, didn't see any trailing whitespace there | ||
| Infinoid | its a blank line with 4 spaces that should be removed. | ||
|
20:38
ruoso joined
|
|||
| Whiteknight | oh shoot, i was looking in my branch, not in trunk | 20:39 | |
| Infinoid | hate it when that happens :) | ||
| Whiteknight | fixed | 20:40 | |
| dalek | r28073 | Whiteknight++ | trunk: | 20:41 | |
| : [rakudo] Removing trailing whitespace for t/codingstd/trailing_space warnings | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28073 | |||
| Whiteknight | urg, now we're failing t/perl/Parrot_PIR_Formatter (probably because of r28072 just now) | 20:43 | |
| Whiteknight updates, AGAIN | |||
| barney | Whiteknight: should be fixed, by removing the test | 20:45 | |
| Whiteknight | right, i updated (which removed the test) and I'm testing again | 20:48 | |
| thanks | |||
| moritz | ok, patch finally sent to rakudobug (eval_(lives|dies)_ok) | 21:00 | |
|
21:05
Zaba_ joined
|
|||
| moritz | msg jonathan t/spec/S02-polymorphic_types/subset-range.t has one failing (fudged) test that should actually work | 21:07 | |
| no msg/tell bot around? | |||
| cotto_work | you killed him | 21:08 | |
| moritz | nasty /me | ||
| cotto_work | which is funny because something similar killed him yesterday | ||
| moritz | I think irc bots are intrinsically nasty ;) | 21:09 | |
| my perl 6 evalbot sometimes segfaults, and I have no idea why | |||
| everything that's potentially evil is only executed in forked childs | |||
| and all communication is through temp files | 21:10 | ||
| cotto_work | it's a recent development with purl | ||
| moritz | dunno how that could lead to segfaults at all | ||
| NotFound | At least it can be a reproducible bug. | 21:12 | |
| cotto_work | who's purl's handler? | 21:17 | |
| Infinoid | purl, owner? | 21:19 | |
| oh, duh. | |||
| Masque I think | |||
| moritz | lol | ||
|
21:23
Zaba joined
21:26
purl joined
|
|||
| particle | moritz: i don't see the patch, just the mail | 21:27 | |
| moritz | particle: dammit, I forgot.. | ||
| particle | infinoid, owner? | ||
| particle sends out more resumes | 21:28 | ||
| moritz | particle: now sent with patch | ||
| particle | moritz++ | 21:29 | |
| Infinoid | particle: Use of uninitialized value in print at -e line 1. | ||
| particle: owner is . | |||
| moritz | actually mostly bacek++ | ||
| Whiteknight | ++ for everybody! | 21:30 | |
| particle, resumes? you in the job market too? | |||
| particle | i am, i cried | ||
| Whiteknight | i've been in the job market for years | 21:31 | |
| particle | me too, that's a consultant's life :) | ||
| Whiteknight | it's not a bad place to be, if you like being a poor unemployed graduate student | ||
| particle | hrmm... having tests that actually test Test.pm in t/02-test-pm would be nice | 21:33 | |
|
21:34
slightlyoff joined
21:36
donaldh joined
|
|||
| particle | moritz: | 21:40 | |
| t\\spec\\S02-polymorphic_types\\subset-range.t (Wstat: 0 Tests: 6 Failed: 1) | |||
| Failed test: 4 | |||
| Files=58, Tests=1107, 412 wallclock secs ( 0.39 usr + 0.31 sys = 0.70 CPU) | |||
| moritz | particle: oops, forgot to commit a fudge :( | 21:41 | |
| particle: try again please | |||
| I'm not really concentrated any more, should go to bed | |||
| particle | ok, i'l try again | 21:42 | |
| it'll take 10m to run or so, then will commit | |||
| pmichaud | okay, I have a Parrot oddity | 21:44 | |
| and it's pretty annoying | |||
| nopaste | "pmichaud" at 76.183.97.54 pasted "very odd behavior in Parrot" (18 lines) at nopaste.snit.ch/13171 | ||
| "pmichaud" at 76.183.97.54 pasted "very odd behavior in Parrot, with PIR source" (36 lines) at nopaste.snit.ch/13172 | 21:46 | ||
| pmichaud | for some reason the line $P0 = values.'sort'(by) is jumping directly to infix:cmp | 21:48 | |
| bacek | morning | 21:50 | |
| Test.pm should be without 'try' around eval | 21:51 | ||
|
21:52
Zaba joined
|
|||
| particle | pmichaud: can you do a tailcall there instead? | 21:55 | |
| i'm not sure if pir has sugar for .return values.'sort'(by) | |||
| pmichaud | tailcall gives me a segfault. | ||
| particle | i wonder if it will change anything | ||
| well, it changes something then :) | |||
| pmichaud | which is what started me on this path in the first place :-( | ||
| getting rid of the tailcall at least got me here. But let me check something else first. | 21:56 | ||
| I think I can get a PIR program that exhibits the difficulty | 21:58 | ||
| doh! | |||
| found it. | 21:59 | ||
| <latella> "Never mind." </latella> | |||
| oh, wait, that's not it. | |||
| okay, let me put together a short PIR program | 22:00 | ||
| nopaste | "bacek" at 202.7.166.166 pasted "better List.sort for pmichaud" (28 lines) at nopaste.snit.ch/13173 | 22:01 | |
| dalek | r28074 | particle++ | trunk: | ||
| : add eval_dies_ok and eval_lives_ok (bacek++ moritz++) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28074 | |||
| r28075 | particle++ | trunk: | 22:02 | ||
| : [rakudo] more tests passing due to eval_dies_ok and eval_lives_ok (moritz++ bacek++) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28075 | |||
| bacek | particle, eval_lives_ok is incorrect. It always passed due try{} | 22:03 | |
| particle | ...this is why t/02-test-pm/ needs more tests... | 22:04 | |
| moritz | bacek: did you check the version that particle commited right now? | 22:05 | |
| bacek: I think I fixed it | |||
| but maybe I broke it in other ways | |||
| particle | who woke moritz? | ||
| bacek | moritz, yes, I checked diff | ||
| moritz | oh, maybe it was just eval_dies_ok that I fixed | 22:06 | |
| bacek | particle, I'll write more tests in 02-test-pm. Later today... | ||
| moritz | stupid me | ||
| perhaps we should first fix/fuge the existing 02-test-pm tests | |||
| pmichaud | ".sub 'sort' :multi(_)" might not work if 'sort' has no arguments. | ||
| jonathan | pmichaud: If you didn't see earlier - will do Rakudo hacking tomorrow. | 22:08 | |
| pmichaud | let me run a spectest_regression, commit what I have, and we can play more | ||
| jonathan++ | |||
| jonathan | Is there anything you specifically want me to do or not do? | ||
| I've not been watching the chanel much today, and am too tired to read the whole backscroll to know exactly what you're working on right now... | |||
| pmichaud | not off the top of my head. | ||
| right now I'm refactoring List a bit more and cleaning up exports | 22:09 | ||
| donaldh | japhb: apologies for not yet replying with status of OpenGL on Cygwin testing. | ||
| pmichaud | I still need to work on parameters a bit but don't know when I'll get to it. | ||
| jonathan | OK. | ||
| What are you planning for parameters? | |||
| pmichaud | just a refactor, mostly. I think too much of the work is being done too high in the parse tree. | ||
| jonathan | I think my patch wasn't too far off correct, aside from forcing Mutable into place... | ||
| What's remaining todo on Mutable before we can really switch to that? | 22:10 | ||
| pmichaud | getting find_method to work properly | ||
| or figuring out how we can say "apply X to the mutable instead of what it contains" | |||
| jonathan | So that it lets you call methods on the container as well as forwarding them? | 22:11 | |
| pmichaud | i.e., getting infix:= to work, or alternatively, figuring out how we can get vtable assign to dtrt for other types. | ||
| jonathan | Why can't we just use assign directly for all types? | ||
| And customize it a little? | |||
| pmichaud | I'm not sure how to overload assign for, say, Integer without totally messing things up. | 22:12 | |
| jonathan | e.g. Scalar calls .item on what assign is passed | ||
| Assign for Integer? | |||
| pmichaud | @a[0] = 3; @a[0] = 4; | ||
| jonathan | Oh. | ||
| Hmm | |||
| Yes, that's...not nice. | |||
| I guess for now we can have each array element being a scalar. | 22:13 | ||
| pmichaud | no, I think that's fundamentally wrong. | ||
| jonathan | But it's a whole lotta PMCs. | ||
| pmichaud | I'd rather not go that way. | ||
| jonathan | Yeah. | ||
| This boils down to, "I can haz keyed assign", right? | |||
| pmichaud | not necessarily | 22:14 | |
| I'm thinking there might be other situations where this comes up | |||
| jonathan | OK. | ||
| pmichaud | I can't come up with any off the top of my head, but... | ||
| jonathan | I guess, when doing an array index assignment we want to get the element, then do a copy op? | 22:15 | |
| pmichaud | that's what is happening now, yes. | ||
| jonathan | It'd be nice to have something cleaner. | ||
| pmichaud | agreed. that's "I can haz keyed assign", I think. | ||
| moritz | you can temp() items of an array (like perl 5's local()) | ||
| jonathan | So we can stick the type-check in more neatly, for example. | ||
| moritz | can that be done without "a scalar for each item"? | 22:16 | |
| pmichaud | I think so, yes. | ||
| jonathan | Yeah, I think so too. | ||
| pmichaud | arrays can attach properties to values as they're placed into the array | ||
| moritz | or is temp() done via temporary assignment anyway? | 22:17 | |
| pmichaud | we aren't doing temp() yet, so I hadn't really worried about that. | ||
| It won't bother me if some of the elements of an array end up being Scalars, but I certainly don't want that for every element | |||
| jonathan | Yeah, it's a lot of overhead. | 22:18 | |
| pmichaud | the answer may be to have infix:= check for a Scalar target and dtrt | ||
| jonathan | assign vs copy? | 22:19 | |
| pmichaud | yes. | ||
| jonathan | Makes sense. | ||
| pmichaud | you could try that if you want :-) | ||
| seems easier for now than trying to fix vtable. | |||
| but somewhere in all of this we will have to decide how to do VAR($x) | 22:20 | ||
| bacek | see everyone in couple of hours | ||
| pmichaud | maybe a MutableVAR PMC :-) | ||
| jonathan | MutableVAR PMC is almost exactly what I was thinking. | 22:21 | |
| I may do that tomorrow. | |||
| pmichaud | it is also completely acceptable to try to do it through a special method on Mutable. | ||
| purl | okay, pmichaud. | ||
| jonathan | On infix:= dispatching properly, I think we need to not just blindly forward find_method, but first check if the container has any matching methods. | ||
| perl, it | 22:22 | ||
| purl, it | |||
| purl | or completely acceptable to try to do it through a special method on Mutable. | ||
| jonathan | purl, forget it | ||
| purl | jonathan: I forgot it | ||
| jonathan | *sigh* | ||
| pmichaud | I don't think we want Scalar's methods interacting with the values methods, though | ||
| that's what VAR() is for. | |||
| jonathan | OK | 22:23 | |
| So tasks are: | |||
| * MutableVAR, to make VAR work | |||
| * Get assign to do what infix:= does now for each of the types, so we don't need infix:= | |||
| pmichaud | (Get assign to do...) I don't think that's likely, at least not for the Parrot existing types. | 22:24 | |
| jonathan | Scalar assignment just calls .item on the value, I thought? | ||
| pmichaud | or not until we have a way of invoking superclass vtable methods from within a PIR subclass. | ||
| jonathan | So Perl6Scalar's assign would call .item on the value, then call SUPER | 22:25 | |
| pmichaud | do you mean the assign vtable op? I'm not concerned about Perl6Scalar for that -- it's the other types that concern me. | ||
| jonathan | Are you thinking the keyed case here? | 22:27 | |
| pmichaud | or anywhere that we end up with a value that could otherwise be assigned to | ||
| but for short term I think just get infix:= to recognize Scalar vs. other and perform assign or copy | 22:28 | ||
| jonathan | $a = ..., @a = ..., %a = ... - all seem relatively easy to handle with assign; that is, assignment directly to the container | ||
| The other case is to some other value | |||
| For that, can we not do .sub 'assign' :method :vtable in Object? | 22:29 | ||
| And it does a copy? | |||
| pmichaud | yes, but | ||
| let's suppose that somehow we end up with a Parrot String, Integer, or Float somewhere | |||
| (as opposed to a Perl6 Str, Int, or Num) | |||
| the assign vtable will not dtrt for those values. | 22:30 | ||
| jonathan | Ah. This, will not dispatch to our assign. :-( | ||
| pmichaud | exactly. | ||
| jonathan | Damm. And we need .HLL to get rid of those. | ||
| pmichaud | and even when we have .HLL, I'm not entirely certain we'll be able to 100% get rid of those for a while. | ||
| jonathan | Yeah. | ||
| pmichaud | I'm not sure if :slurpy and :slurpy :named map to HLL types | ||
| (yet) | |||
| jonathan | OK, but they could be made to. | 22:31 | |
| pmichaud | yes, but I'm thinking we're better off leaving that to a longer-term issue | ||
| short term, infix:= seems to be flexible enough to do what we want. | |||
| at least until we get some of the other particulars in place. | |||
| jonathan | OK, but does that mean we need to get infix:= being called on Scalar rather than on a value itself somehow? | 22:32 | |
| pmichaud | I'm thinking we let Object's infix:= figure it out. | ||
| jonathan | Ah, because we already fixed isa in Mutable. | ||
| pmichaud | rather than trying to get Parrot's MMD to do it. | ||
| right. | |||
| jonathan | OK, that sounds sane. | ||
| pmichaud | not a permanent solution, but clean enough that we can proceed for a while until we start down the road of .HLL mapping | 22:33 | |
| jonathan | OK, sounds good. | ||
| pmichaud | it's easy enough to switch infix:= to assign later :-) | ||
| jonathan | True. :-) | ||
| pmichaud | and yes, I would like as many things as possible to be using assign | ||
| jonathan | OK, so I'll look at that and VAR tomorrow. | ||
| pmichaud | so perhaps what we do is overload assign for Perl6Object, but continue to use infix:= also | 22:34 | |
| and infix:= does 'copy' only for the non Perl6* types | |||
| but I think taking the simpler step first is easier | |||
| personally, I'm becoming more interested in how roles get handled | 22:35 | ||
|
22:35
slightlyoff left
|
|||
| jonathan | Hang on....infix:= is a method call, so I guess we are sticking those methods into the namespace of other classes? | 22:35 | |
| pmichaud | yes. | ||
| jonathan | OK. | ||
| pmichaud | a hack, I know. | ||
| jonathan | So will we emit an assign anywhere, or just have support ready for when we can use it? | ||
| pmichaud | short term I think we continue to stick with emitting infix:= | 22:36 | |
|
22:36
IllvilJa joined
|
|||
| jonathan | OK. | 22:36 | |
| pmichaud | long term goal is to use assign, but in meantime we'll build support for it as we can | ||
| oh! I know something else worth working on :-) | |||
| lazy lists. :-) | 22:37 | ||
| jonathan | Alright. So I'll work on that a bit tomorrow morning, as well as VAR. And then I was also planning roles. | ||
| Aha. :-) | |||
| Damm, I need like, a Rakudo *week*. | |||
| pmichaud | although I'm still messing with the list code. | ||
| jonathan | I'll let you finish your messing first, then. | ||
| pmichaud | yes, that's probably wise. | ||
| jonathan | I can always look at lazy lists in next week's Rakudo day. | ||
| Whiteknight | if i had the money, i would fund a week | ||
| pmichaud | how much would a week be, at vienna.pm rates? $750? ;-) | 22:38 | |
| jonathan | Whiteknight: Due to other commitments, I couldn't actually give a straight week this month anyway. | ||
| July Rakudo gets me two days a week, thanks to Viena.pm++ and DeepText++. | |||
| pmichaud | I'm already declaring Jun-Aug 2008 to be "Rakudo Summer" for me :-) | ||
|
22:38
gryphon joined
|
|||
| pmichaud | anyway, lazy lists for next week's rakudo day would be good. | 22:39 | |
| PerlJam | Does that mean we get "Perl6 Fall"? :) | ||
| Whiteknight | pmichaud, are you a teacher or professor? | ||
| they're the only people I know who get a summer off | |||
| pmichaud | heh | ||
| jonathan | OK, sounds like a plan. | 22:40 | |
| pmichaud | I think I'm going into my fifth year of being "off" | ||
| I took an unpaid sabbatical starting September 2003. Never really went back. :-P | |||
| (I did teach two online courses this past fall and spring, though.) | |||
| Whiteknight | i was hoping that you were a professor, i would apply to be your graduate student | 22:41 | |
|
22:41
kid51 joined
|
|||
| pmichaud | *were* is the operative term, though. | 22:41 | |
| I don't have any real plans to return to being a professor. "been there, done that." | |||
|
22:41
clunker9__ joined
|
|||
| jonathan | www.jnthn.net/articles.shtml # uploaded by talks from Stockholm uni, NPW and FPW | 22:43 | |
| s/by/my/ | |||
| Will do use.perl.org and rakudo.org post about them now too. | 22:44 | ||
| pmichaud | please do. I'll read them a bit later :-) | ||
| jonathan | Hmm...my talks list is starting to get quite long. :-) | 22:45 | |
|
22:45
Zaba_ joined
22:47
teknomunk joined
|
|||
| japhb | jonathan: several of the talks have the same title, at different venues. Can we assume that the topmost entry is the newest/most complete? | 22:48 | |
| jonathan | japhb: Yes, pretty much. | ||
| japhb | jonathan: great, thanks | ||
| jonathan | I will note that in my use.perl.org post | 22:49 | |
| The differences are very subtle. | |||
| pmichaud | I need to create a page of my talks also. | ||
|
22:49
mire joined
22:51
tetragon joined
|
|||
| pmichaud | should ns.'add_sub'($P0) work when $P0 is a MultiSub ? | 22:53 | |
| (and ns is a namespace PMC) | |||
| I'm going to vote yes. I'm even going to commit my vote. :-) | 22:55 | ||
| jonathan | pmichaud: I think so, yes. | ||
| Commit as in, patch to make it do so? ;-) | |||
| pmichaud | yes. | ||
| jonathan | pmichaud++ | ||
| pmichaud | forgiveness instead of permission, and all that. :-) | ||
| jonathan | I'm sure enough that it should work, that I'm happy to share any guilt. :-) | ||
| pmichaud | of course, it really needs to be made smarter than what I'm going to write now, so that multiple calls to 'add_sub' merge the multisubs together. | 22:56 | |
| but I'm just going to do the simple case for now. | |||
| or, | |||
| hmmm | |||
| maybe I'll do the long one. | |||
| jonathan | And make sure you're doing an isa check rather than base_type ;-=) | 22:57 | |
| So when I subclass MultiSub in July, it keeps on working. :-) | |||
| pmichaud | of course! | ||
| pmichaud evilly considers doing base_type anyway, just to see if jonathan catches it. :-) | |||
| jonathan | :-P | ||
| PerlJam | jonathan: I just looked through your slides. The ones from the FPW on using parrot/perl6 in teaching are interesting. | ||
| jonathan | PerlJam: Yeah, I wasn't really sure what to say in that talk, but I hope I made sense. :-) | 22:58 | |
| I'm more used to giving technical talks. | |||
|
23:07
IllvilJa joined
|
|||
| jonathan | Stuff posted to various journals. | 23:21 | |
|
23:22
Zaba joined
|
|||
| Whiteknight | longest-token matching is, i take it, hard to implement? | 23:28 | |
| PerlJam | Hard to get right in that it depends on what you're matching against | 23:29 | |
| Whiteknight | okay, i dont know a lot about regex engine implementation, so i dont know | ||
| jonathan | It's hard. :-) | 23:31 | |
| dalek | r28076 | Whiteknight++ | trunk: | 23:32 | |
| : [docs/book] a few fixes to chapter 6 in readability. no major updates needed | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28076 | |||
| Whiteknight | okay, that explains why it hasn't been done yet | ||
| cotto_work | jonathan++ #manatees do not explode | 23:33 | |
| PerlJam | Whiteknight: imagine that you've got the regex f | food | f.* under LTM semantics you don't know which of those 3 alternatives "wins" until you've seen the string you're matching agains. | 23:36 | |
| dalek | r28077 | pmichaud++ | trunk: | ||
| : [core]: | |||
| : * Allow 'add_sub' for namespace PMCs to work for MultiSub PMCs. | |||
| : See also RT#55308 for some other improvements to make. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28077 | |||
| r28078 | pmichaud++ | trunk: | 23:42 | ||
| : [rakudo]: | |||
| : * More List class refactoring. This commit temporarily breaks | |||
| : S29-list/sort.t due to an odd Parrot bug, which I'm looking at | |||
| : now. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28078 | |||
| Whiteknight | what would people say are the main principals behind Parrot's design? | 23:44 | |
| docs/book lists three: "speed, abstraction, and stability" | 23:46 | ||
| I'm wondering if those are really current/accurate descriptions of the design principals | 23:47 | ||
| Infinoid | wings, beak, and feet | 23:50 | |
| PerlJam | Whiteknight: s/speed/correctness/ and it reads closer to how I think of it. | 23:52 | |
| Infinoid | those are nice words, and parrot certainly follows them, if not necessarily in that order | ||
| I'm sure portability is in there somewhere, too. | |||
| and DRY | 23:53 | ||
| Whiteknight | and dwimmyness | ||
| ...which isn't really a word | 23:54 | ||
|
23:54
bacek_ joined
|
|||
| japhb | Is there a more coloquial way to do an early exit from a void PIR sub than '.return ()' ? | 23:54 | |
| Whiteknight | not that i know of | 23:55 | |
| '.return' | |||
| japhb | Whiteknight: doesn't work. Parsefail | 23:56 | |
| Whiteknight | see? that's what you get for listening to me | ||
| japhb | :-) | 23:57 | |
| Just as long as you collect that garbage ... ;-) | |||
|
23:58
ank joined
|
|||