|
Trac maintenance Wed Aug 24 17:00 UTC | Parrot 3.7.0 "Wanda" | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 23 August 2011. |
|||
|
00:20
ttbot joined
00:21
logie joined
|
|||
| Coke yawns. | 00:21 | ||
|
00:24
whiteknight joined
|
|||
| whiteknight | ubuntu-- | 00:26 | |
| Actually, I don't know if the bug is in gnome, or unity, or somewhere else entirely. But a locked up computer is annoying | 00:28 | ||
| cotto | not what you hope will happen | 00:44 | |
| kid51 | cotto: What does the fact that that file was just added to master have to do with the fact that it's failing on two OSes? | 00:47 | |
| cotto | kid51, It wasn't failing before because it wasn't there. (also, it didn't get enough attention in its branch and neither tadzik nor I remembered to test on non-linux platforms before it got merged) | 00:49 | |
|
00:51
plobsing_ joined
|
|||
| kid51 | Well, the last comment about this PMC in TT #2034 was that "the current implementation in tewk/select has room for improvement." -- cotto | 00:51 | |
| With an evaluation like that, why would that branch get heavily tested? | 00:52 | ||
| cotto | Yes. It's being merged and marked as experimental (which needs to be done) so that Rakudo can play with it and decide what a good interface looks like. | ||
| kid51 | Well, that can you please TODO the failing tests. | ||
| ? | |||
| (or, better still, fix them)? | |||
| cotto delegates | |||
| whiteknight procrastinates | 00:54 | ||
| kid51 | Otherwise, this seems to confirm what I said in my YAPC talk, namely, "Parrot is a virtual machine aimed at all dynamic programming languages -- provided they run on the Linux operating system." ;-) | ||
| cotto | msg tadzik Could you make sure that Select gets marked as experimental. Since there's already a ticket, an entry in api.yaml is all that's needed. | ||
| aloha | OK. I'll deliver the message. | ||
| cotto | We only care about platforms with sane implementations of select(). ;) | 00:55 | |
| I'm not sure why darwin would splode, but my gut tells me it'll be a simple fix. | |||
| whiteknight | kid51: Parrot is a realistic project. Our level of support for a platform is proportional to the number of hackers we have using it | 00:57 | |
| I don't, and don't pretend to support software I don't use and don't test | 00:58 | ||
| kid51 | cotto: Didn't it break a Win32 build this afternoon as well? | ||
| cotto | msg tadzik If Select doesn't get fixed on window soon-ish, can you mark the test as TODO for that platform? | ||
| aloha | OK. I'll deliver the message. | ||
| cotto | kid51, win32 remains broken from when it was merged | 00:59 | |
| kid51 | Coke: I see what you mean in trac.parrot.org/parrot/ticket/2185#comment:8 | 01:05 | |
| cotto | I added a way to address those issues. | 01:07 | |
| cotto goes afk | |||
| kid51 | cotto++. | ||
| I suspect what happened was: (1) Someone requested creation of a 'make' target that would guarantee a release was good; (2) I whipped something together and tried it out on Linux and Darwin; (3) no one subsequently attempted to do a release on Win32 until Coke did this month. | 01:08 | ||
| dukeleto | tcurtis: gsoc evaluation? | 01:10 | |
| Coke | oh, I didn't even start on win32. I tried to do it on /darwin/, and that faild. | ||
| NotFound++ #2184 | 01:11 | ||
| dukeleto | msg soh_cah_toa please do your gsoc eval | ||
| aloha | OK. I'll deliver the message. | ||
| dukeleto | msg tcurtis please do your gsoc eval | 01:12 | |
| aloha | OK. I'll deliver the message. | ||
| dukeleto | Coke: want to do your gsoc eval? I am getting spammed about you not having it done yet :) | ||
| Coke: www.google-melange.com/gsoc/eval/me...it08/12001 | 01:13 | ||
| msg allison please fill out the final gsoc eval: www.google-melange.com/gsoc/eval/me...1900/12001 | 01:14 | ||
| aloha | OK. I'll deliver the message. | ||
| dukeleto | msg darbelo please fill out the gsoc eval www.google-melange.com/gsoc/eval/me...rtis/15001 | ||
| aloha | OK. I'll deliver the message. | ||
| tcurtis | dukeleto: will do. | 01:18 | |
| dukeleto | tcurtis: thanks | ||
| tcurtis | (meaning am about to start doing it now) | ||
|
01:29
woosley joined
|
|||
| dalek | rrot/tt_2185: a38ef37 | jkeenan++ | tools/release/releasecheck.pl: Use Archive::Tar rather than Unix 'tar', for better portability. cotto++; coke++. |
01:30 | |
| rrot/tt_2185: 5009472 | jkeenan++ | tools/release/releasecheck.pl: Look up version of 'make' to use in Parrot::Config. |
01:44 | ||
| kid51 | Ramereth of OSU OSL reports that Trac maintenance was performed today. Hence, reverting topic. | 02:07 | |
| moderator | Parrot 3.7.0 "Wanda" | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC | 02:07 | |
| Coke | dukeleto: I have 1.5 more days! | 02:08 | |
| tcurtis submitted his final evaluation. | 02:09 | ||
|
02:14
darbelo_ joined
02:15
eternaleye__ joined
|
|||
| kid51 | Latest code in tt_2185 branch enables successful 'make release_check' on Linux and Darwin. | 02:40 | |
|
04:05
rfw joined
04:12
jsut joined
|
|||
| benabik is pleased that he didn't have to be reminded to do his evaluation. | 04:20 | ||
|
04:22
fperrad joined
05:00
schmooster joined
05:05
preflex_ joined
05:12
SHODAN joined
05:44
Drossel joined
06:19
darbelo left
07:00
whiteknight joined,
not_gerd joined
07:28
dod joined
07:31
mj41 joined
|
|||
| dalek | nxed: 1adfc7c | NotFound++ | winxedst1.winxed: constant propagation in builtins cast to int and cast to string |
08:23 | |
|
08:25
lucian joined
|
|||
| tadzik | msg cotto_work is there an example of test switched off for Win32? | 08:47 | |
| aloha | OK. I'll deliver the message. | ||
|
08:49
rfw joined
|
|||
| dalek | nxed: e4ff133 | NotFound++ | winxedst1.winxed: don't box values in array and hash expressions |
09:28 | |
|
09:34
woosley left
10:52
particle joined
11:13
not_gerd joined
|
|||
| not_gerd | hello, #parrot | 11:13 | |
| src/dynpmc/README.pod needs fixing - there's no file called dynpmc.in anywhere in my Parrot checkout... | 11:21 | ||
|
11:41
cosimo joined
|
|||
| dalek | kudo/nom: d31eef8 | moritz++ | src/Perl6/Metamodel/BOOTSTRAP.pm: add a few missing stashes in BOOTSTRAP This should fix the first compilation problem of List::Utils. There are still a lot missing, but I get rather strange compilation errors when I trie to add them all at once, so a few at a time instead |
11:47 | |
| nxed: 5144143 | NotFound++ | winxedst1.winxed: set size in array expr initialization instead of pushing values |
11:50 | ||
|
12:05
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:07 | |
| tadzik | good morning whiteknight | ||
| whiteknight | hello tadzik | 12:08 | |
| tadzik | cotto: seems that Select is already marked as experimental in api.yaml | ||
| whiteknight | msg soh_cah_toa can you please, pretty please with cherries on top, fill out your final GSoC evaluation | 12:14 | |
| aloha | OK. I'll deliver the message. | ||
| whiteknight | ping Coke | ||
| atrodo | =~ | 12:16 | |
| whiteknight | good morning atrodo | ||
| dalek | kudo/nom: 88d8014 | tadzik++ | src/Perl6/Grammar.pm: Warn about a bare '=begin' directive |
12:27 | |
|
12:29
bluescreen joined
12:42
bluescreen joined
12:47
ligne joined
|
|||
| dalek | nxed: b999b42 | NotFound++ | winxedst1.winxed: minor cleanups and nano-optimizations |
12:55 | |
| cotto | tadzik, perfect | 12:58 | |
| tadzik, did you figure out how to skip a test on win32? | 12:59 | ||
| tadzik | cotto: wasn't thinking about that much, tbh | 13:00 | |
| cotto | tadzik, skip 'busted on win32' => 2 if $^O eq 'MSWin32' || $^O eq 'msys'; | 13:01 | |
| tadzik | cotto: that's pir | ||
| what's $^O in pir? | |||
| cotto | config['osname'] | 13:02 | |
| tadzik | ok, I see some if $S0 == 'MSWin32' goto tt661_todo in t/ | ||
| cotto | what that test does would work too | 13:03 | |
| tadzik | cotto: gist.github.com/1170608 how does that look? | 13:07 | |
| wait, it doesn't work for me either | 13:09 | ||
| cotto | tadzik, if you don't have access to a windows box, you can just mess with the code to force a test to fail. | 13:11 | |
| tadzik | cotto: how would that help? | 13:16 | |
| cotto | tadzik, it'd show you that the TODO code is doing what you expect | 13:18 | |
| I'm not suggesting you push such code. | |||
| tadzik | hmm | 13:19 | |
| I just added osname = 'MSWin32 to my test | 13:20 | ||
| not_gerd | does the select code even compile on windows? | ||
| I had to revert merging master into my msys branch because it broke the build | |||
| tadzik | eww | 13:21 | |
| cotto | not_gerd, nope | ||
| tadzik | so todoing tests wouldn't help much | ||
| cotto | tadzik, you should probably #ifdef that code away so the code builds on windows | ||
| tadzik | can anyone give me a windows shell so I can fiddle with it? | 13:22 | |
| cotto | tadzik, they'll still need to be todo'd. Presumably we'll get into a state where the Select PMC builds but doesn't do anything useful on windows. | ||
|
13:22
PacoLinux_ joined
|
|||
| not_gerd | btw (alreade mentioned this when I joined): src/dynpmc/README.pod needs fixing - there's no file called dynpmc.in anywhere in my Parrot checkout... | 13:23 | |
|
13:23
particle joined
|
|||
| not_gerd | (tried to disable the select dynpmc, but found no easy way to do it...) | 13:23 | |
| tadzik | I have a feeling that todo() acts as skip() in Parrot | 13:24 | |
| okay, I got it to a state when it doesn't run the tests on windows, pushing. Feel free to make it better | 13:25 | ||
| dalek | rrot: ea7b2b6 | tadzik++ | t/dynpmc/select.t: Skip select tests on Win32 and msys |
13:26 | |
| cotto | not_gerd, fixing now | 13:27 | |
| not_gerd++ | 13:29 | ||
| dalek | rrot: 2b8c29e | cotto++ | src/dynpmc/README.pod: update dynpmc readme now that we're using makefile fragments |
13:35 | |
| ttbot | Parrot ea7b2b65 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/45490 | 13:39 | |
| whiteknight | tadzik: in Test::More for Parrot, todo() acts like ok(), but doesn't fail if it's wrong | 13:41 | |
| not_gerd: dynpmc.in is probably src/dynpmc/Rules.in, or something like that | 13:51 | ||
| ttbot | Parrot 2b8c29ef MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/45507 | 13:52 | |
| not_gerd | whiteknight: cotto++ already fixed the README - but disabling a dynpmc is more involved than just removing a single line, as the old README seemed to imply | 14:00 | |
| I'm happy to just revert the commits and wait for someone else to fix the windows build ;) | 14:01 | ||
|
14:12
dmalcolm joined
|
|||
| whiteknight | okay | 14:15 | |
|
14:53
frodwith left
15:14
gigigi joined
|
|||
| dalek | rrot/whiteknight/kill_threads: 9f2107b | cotto++ | / (6 files): delete more files, update headers and makefile template build is now less extravagantly broken |
15:33 | |
| whiteknight | cotto: Ha! I did almost that same thing on the train this morning, and haven't pushed it | ||
| great minds hate threading alike | 15:34 | ||
| cotto | whiteknight, that's the easy part though. | 15:37 | |
| and fun | |||
| whiteknight | I'm planning to deal with this in fits and spurts, since it isn't high priority | 15:39 | |
|
15:40
japhb joined
15:47
davidfetter joined
15:49
davidfetter joined
|
|||
| dukeleto | ~~ | 16:08 | |
| davidfetter | hai dukeleto | ||
| dukeleto | davidfetter: wazzup, stranger | ||
| benabik | o/ | ||
| davidfetter | $son was born saturday | 16:09 | |
| he and mom are healthy, sleeping atm. | |||
| davidfetter is grateful to have a lot of flexibility around working from home | |||
| dukeleto | davidfetter: congrats! | 16:13 | |
| moritz | davidfetter: congratulations! | 16:14 | |
| davidfetter | thanks :) | 16:17 | |
| moritz | davidfetter: is that your first child? | ||
| davidfetter | moritz, yep. bris is saturday :) | 16:18 | |
| tadzik | davidfetter: wow, congrats :) | ||
| davidfetter | he may not be as thrilled about this ;) | ||
| dukeleto | davidfetter: mazel tov | ||
| davidfetter | toda :) | ||
| moritz | exciting times ahead :-) | 16:19 | |
| (and probably behind too :-) | |||
|
16:31
contingencyplan joined
|
|||
| cotto | davidfetter, congrats! | 16:31 | |
| davidfetter | cotto, thanks :) | 16:41 | |
| moritz, yeah, we kinda got blind-sided friday morning. i was about to head out the door when my wife said 5 words that changed my day completely | 16:42 | ||
| "I think my water broke." | |||
| moritz | "get into the car, I'll drive you to the hospital"? | ||
| davidfetter | well, she phoned them 1st to let them know we were coming, and we both packed stuff | 16:43 | |
| davidfetter grateful not to be the freak-out type | 16:44 | ||
| whiteknight | my wife waited until I drove 45 minutes to work before calling to tell me to turn around | 16:51 | |
| congratulations on the new kid | 16:56 | ||
|
16:58
ambs joined
|
|||
| benabik | Been talking on #perl6⦠die_s and die_p both set the exception as resumable. die_ii doesn't though. Is that on purpose? | 17:01 | |
| not_gerd | any ideas why t/profiling/profiling.t would fail completely (see gist.github.com/1171152 ) | 17:03 | |
| ? | |||
| whiteknight | benabik: I'm sure there's no reason. I suspect die_i can be changed to become resumable | 17:06 | |
| benabik | whiteknight: Yay. Now I get to figure out how to change an opcode. | 17:10 | |
| cotto | not_gerd, I'm heading out the door, but I wrote that test. I'll take a look later today. | 17:12 | |
| tadzik | seen alester | 17:15 | |
| aloha | alester was last seen in #perl6 3 days 2 hours ago joining the channel. | ||
| whiteknight | benabik: it's not as hard as it sounds | ||
|
17:16
Eclesia joined
|
|||
| Eclesia | hi | 17:16 | |
| whiteknight | hello Eclesia | ||
| benabik | whiteknight: probably not. Is it possible to have a static function inside an op file? The three die opcodes now share 90% of their code. | ||
| whiteknight | benabik: just put in whatever logic you want there, we can refactor them out later | 17:17 | |
| we would probably put in a new function in src/exception.c to hold shared logic for that | |||
| tadzik | github++ | 17:18 | |
| pull request for ack was like... 3 mouse clicks? | 17:19 | ||
| and 4 characters to type | |||
| (in an edited file) | |||
| benabik | whiteknight: Edit op, `make bootstrap-ops`, test, commit? | 17:20 | |
| whiteknight | yessir | 17:22 | |
| tadzik: What kind of message can you possible type with only four characters? | |||
| "pull", "doit", or "lol?" | |||
| tadzik | whiteknight: okay, I didn't count the commit message :) | 17:23 | |
| whiteknight | :) | ||
| even "plzkthx" is more than 4 characters, and that's like the minimum possible polite message | 17:24 | ||
| tadzik | but github.com/petdance/ack/pull/183 was literally "Fork and edit this file", " pm6", "request file changes" | ||
| whiteknight | :) | ||
| tadzik | pullpl0x | 17:25 | |
| cotto_work | ~~ | 17:31 | |
| whiteknight | cotto_work: I don't think we ever talked about your magical new ideas yesterday | 17:34 | |
| cotto_work | whiteknight: they still need thinking on. | 17:35 | |
|
17:44
Kulag joined
|
|||
| bubaflub | Eclesia: got some time to debug Parrot-GMP? | 17:48 | |
| Eclesia | bubaflub: sure, just ask me what you want to try | 17:49 | |
| bubaflub | can you tell me what `parrot_config cc_shared` outputs? | ||
| Eclesia | bubaflub: -fPIC | 17:50 | |
| bubaflub | Eclesia: perfect. i'm putting a new commit to Parrot-GMP and lemme know if it fixes building for ya | ||
| dalek | rrot-gmp: d84acae | bubaflub++ | setup.winxed: attempted fix for building, Eclesia++ |
||
| Eclesia | bubaflub: nearly good, one test fail | 17:52 | |
| bubaflub | Eclesia: doh. which one? | ||
| Eclesia | bubaflub: t/integer/powm.t | ||
| bubaflub | Eclesia: could you run `winxed t/integer/powm.t` to see which test fails? | 17:53 | |
| nopaste | "Eclesia" at 192.168.1.3 pasted "t/integer/powm.t" (16 lines) at nopaste.snit.ch/74516 | 17:54 | |
| Eclesia | bubaflub: here | ||
| bubaflub | hmmm, ok. Eclesia, what version of GMP do you have? | 17:57 | |
| Eclesia checking | |||
| bubaflub: 4.3.2 | 17:58 | ||
| bubaflub | Eclesia: ok, that shouldn't be a problem. | ||
| benabik | Huh. My quick test of select on OS X got every fd back. This includes the read-only as ready for write and the write-only as ready for read. And both for error. | 17:59 | |
| bubaflub | Eclesia: figured it out - mpz_powm_sec was added in 5.0 | 18:02 | |
| cotto_work | benabik: how exciting. I guess that means you can write to a read-only handle on OS X. | ||
| bubaflub | Eclesia: fixing this would require something a bit more invasive - i'll have to think about how to handle this | 18:05 | |
| benabik | cotto_work: They both come back for read and write on Linux too. :-P | ||
| (But not error, which is what's goofing up select.t on OS X. | |||
| Eclesia | bubaflub: if I may have a suggestion : ship your project with your own gmp version | ||
| bubaflub | Eclesia: i've created a github issue to track this: github.com/bubaflub/parrot-gmp/issues/23 | 18:08 | |
| cotto_work | benabik: fascinating. select must be broken on Linux and OSX. | 18:09 | |
| ;) | |||
| benabik | C Question: How do you get the error from a file descriptor (int, not FILE *)? | 18:16 | |
| bubaflub | Eclesia: i'd say that should work for you now - just don't try to use mpz_powm_sec :-) | 18:17 | |
| Eclesia | bubaflub++ | 18:18 | |
| PerlJam | benabik: errno | 18:21 | |
| benabik: or ... maybe I don't understand what you're asking. | |||
| benabik: usually those routines that use fds will use -1 to indicate an error and that error can be found in errno. | 18:22 | ||
| benabik | PerlJam: To be more precise, select() tells me that there's an error on a fd, how do I found how what it is? Just try reading? | ||
| PerlJam | oh | 18:23 | |
| Eclesia | bubaflub: in your examples could you add another winxed sample, showing integer and decimal types of different bit size ? | 18:24 | |
|
18:26
PacoLinux_ joined
|
|||
| PerlJam | benabik: It's been a long while since I've used select from C, so I'd troll the select(2) man page for starters and see where it leads you. | 18:26 | |
| benabik | Results of me testing select(): gist.github.com/1171339 | ||
| PerlJam | maybe read Stevens | 18:27 | |
|
18:44
particle1 joined
|
|||
| NotFound | benabik: The files are open? | 18:46 | |
| benabik | NotFound: Yes. | 18:47 | |
| If anyone wants to run my test on *BSD, that might be useful⦠gist.github.com/1171339 | 18:54 | ||
| i'm guessing we'll just have to todo that test in select.t | |||
| Hm. Resuming from die doesn't seem very useful. It seems to resume at the die opcode. | 18:58 | ||
| Nevermind. something else was odd. | 19:03 | ||
| exit 0 doesn't seem to actually exit. strange | 19:05 | ||
| Oh. it throws a resumable exit exception. | 19:07 | ||
| Nevermine. | 19:08 | ||
| dalek | kudo/alpha: fd0a184 | (Martin Berends)++ | / (3 files): [alpha] update README with Subversion->Github moves, tweak test_summary.pl |
19:10 | |
|
19:10
logie joined
|
|||
| dalek | rrot: 431c51a | benabik++ | src/ops/core (2 files): Make all versions of die opcode resumable die_s and die_p both were resumable, but die_i_i wasn't. Finding no particular reason that should be the case, I made them consistent. The three opcodes now share a lot of code. Perhaps a common function should be factored out? |
19:16 | |
| benabik | Hm. forgot to mention in commit that mls++ noticed that on #perl6 | ||
| cotto_work | benabik++ | 19:17 | |
| NotFound | I'd like better to have all non resumable. This is not Drago Ball, "die" must mea something ;) | 19:20 | |
| benabik | NotFound: exit is resumable. | ||
| pmichaud | NotFound: you don't believe in life after death? ;-) | 19:21 | |
| (I vote that "die" remain resumable, fwiw. Parrot shouldn't be enforcing otherwise.) | |||
| NotFound | pmichaud: maybe, but not in resuming the previous life ;) | ||
| benabik | NotFound: CPR? Heart stopping used to mean dead. | ||
| whiteknight | it won't if there is an exit exception handler setup | 19:22 | |
| oh, wow, wrong part of the conversation | |||
| benabik | And `die .EXCEPT_doomed, 0` will _exit instead of throwing an exception. | ||
| NotFound | pmichaud: Being resumable enforces me to worry about what code can be placed after die. | 19:23 | |
| whiteknight | benabik: exits are exceptions, they can be caught and dealt with | ||
| benabik | whiteknight: Yeah, I didn't expect that. Realized it fairly soon though. | ||
| whiteknight | the big problem here is that "die" is neither "throw" | ||
| nor "exit | |||
| keyboard-- | 19:24 | ||
| tadzik | I always have this problem with ' | ||
| I keep presing Enter instead | |||
| cotto_work | I just take "enter" off my keyboards. I never use it. | ||
| tadzik | ^O? | ||
| NotFound | You can caught what you want, no problem with that, is your business. But is my business if my code gets unexpectedly resumed. | 19:25 | |
| benabik | I do find it somewhat odd that EXCEPT_doomed only _exits on the die_i_i version. | ||
| whiteknight | I think we need to seriously look at all these opcodes and start thinning the herd | 19:26 | |
| benabik | Oh, that' the only version that can set it. Nevermind. | ||
| cotto_work | </troll> | ||
|
19:26
Hunger joined
|
|||
| whiteknight | If I had my way, we would have two of these opcodes: throw_p and exit_i | 19:26 | |
| everything else is just unnecessary sugar that papers over the kind of flexibility users want, but don't want to deal with | 19:27 | ||
| benabik | Yeah, die is somewhat misnamed. It's more throw_with_message | 19:28 | |
| ttbot | Parrot 431c51af MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/45562 | ||
|
19:28
PacoLinux_ joined
|
|||
| NotFound | We don't need exit I don't think any program can have speed issues with exit, os have that much of them that code size matters. | 19:28 | |
| whiteknight | it's a convenience added because it's perl-like, but it doesn't really help us | 19:29 | |
| it's trivial for NQP to provide a die builtin that wraps around throw_p | |||
| same with winxed | |||
| NotFound | What I'd like to have is non-resumable throw. | 19:30 | |
| whiteknight | Exceptions have an attribute that says whether it's resumable or not, right? | 19:31 | |
| benabik | whiteknight: Which is set by the throw op. | ||
|
19:31
mj41 joined
|
|||
| benabik | I wonder what throw exception, NULL does. | 19:31 | |
| whiteknight | hmm.. Magic is less than optimal | 19:32 | |
| throw_p should take an exception and throw it as-is, without modifications. | |||
| benabik | It is somewhat required⦠resuming requires creating the continuation at the same time as the throw. | ||
| whiteknight | the user should be able to set up a resume continuation manually if it's needed | ||
| benabik | how? | 19:33 | |
| NotFound | set_label, for example | ||
| whiteknight | $P0 = new 'Exception' $P1 = new 'Continuation' $P0["resume"] = $P1 set_label $P1 after_throw throw $P1 after_throw: | 19:34 | |
|
19:34
contingencyplan joined
|
|||
| whiteknight | that's what the current opcodes are doing, basically | 19:34 | |
| for that matter, we should be able to resume to any point we want to, not just to the place after the throw | 19:35 | ||
| we could resume to a finally{} block, for instance | |||
| benabik | You can, with throw_p_p | ||
| whiteknight | benabik: but that misses the point. You don't add a bunch of unwanted magic to an op, then add a bunch more ops to work around people not wanting magic | ||
| give users the tools to do what they want, and don't force them to work around your own mistakes | |||
| if parrot has to provide more ops, because the ops it already provides don't do what people need, fix the ones you already have | 19:36 | ||
| pmichaud | I always think of it in reverse. | ||
| whiteknight | pmichaud: how? | ||
| pmichaud | You add an op that does no magic, then add versions of the op that do magic if there's a lot of use/demand for them. | ||
| whiteknight | okay, that's fine too, but the starting point is an op with no magic | 19:37 | |
| benabik | I think throw_cc (which is basically what throw does now) is useful enough to be an op. | ||
| whiteknight | right now we have many ops, all with magic, and still users aren't happy with the selection | ||
| pmichaud | perhaps... but claiming that the no-magic version is automatically a "workaround" kinda stretches things a bit. | ||
| whiteknight | the no-magic version is what we should ahve, everything else should go | 19:38 | |
| pmichaud | if we start with a no-magic version and add a magic one, or start with a magic version and add a no-magic one, the outcome is the same. | ||
| whiteknight | or, at least be carefully reconsidered | ||
| pmichaud | I think I've hardly ever used the no-magic version. Removing the magic one would be a pain for me. | ||
| NotFound | throw ex, null works? Never tought of that. | ||
| benabik | NotFound: It might? | 19:40 | |
| NotFound: And if it doesn't, we should probably fix it so it doesn. | |||
| *does | |||
| whiteknight | I count die_s, die_p, die_i_i, throw_p, throw_p_p, and exit_i. There are not many semantic differences between them, especially if die is resumable. | ||
| die_i_i seems only really useful as a replacement for exit_i, because almost all other exceptions are going to want a message or more data than just an integer | 19:41 | ||
| NotFound | Anyway, i think is a waste to set a register to null as the only way to say "I don't want to be resumed" | ||
| whiteknight | die_s could easily be renamed throw_s for clarity | ||
| if die_i_i is being used for control flow, or things where diagnostics aren't wanted, it shouldn't be called "die" | 19:42 | ||
| benabik | Most of the die ops are actually throw. | 19:43 | |
| pmichaud decides to leave the deck-chair-rearranging-party for a while. | |||
| benabik | Only exception is `die .EXCEPT_doomed, $I0`, which calls _exit⦠Which is odd. | ||
| NotFound | .EXCEPT_doomed usage should be under security arena control. | 19:44 | |
| whiteknight | not EXCEPT_exit? | ||
| benabik | whiteknight: No, EXECEPT_exit just throws an exit exception, just like exit_i | ||
| whiteknight | so EXCEPT_exit is less certain about exiting than EXCEPT_doomed? | 19:45 | |
| benabik | Yes. | ||
| whiteknight | bleh | ||
| NotFound | exit_i and die_s are not needed at all. They are just a convenience to write PIR by hand, something that we don't want no more. | ||
| benabik | But, AFAICT, only if EXECPT_doomed is passed to die_i_i, not throw. | ||
| whiteknight | NotFound++ | 19:46 | |
| I agree 100% | |||
| pmichaud | I disagree 100%. | ||
| benabik | We could move the convenience ops to a dynop. | ||
| pmichaud | right now I can write pir::die('message') and it works. You're telling me that instead I'll have to write pir::throw(pir::new('Exception'), pir::new('Continuation')) and a bunch of other stuff just to throw a simple exception. | 19:47 | |
| not to mention that "pir::new('Continuation')" is itself problematic unless we also start tossing labels into NQP. | |||
| granted, me may end up having to do this anyway for other reasons... but it's not the case that only PIR writers use the single-argument die/throw. | 19:48 | ||
| I'm outta here. | |||
|
19:48
pmichaud left
|
|||
| whiteknight | I don't think we would need the new Continuation bit by default. I like the idea of the throwcc op that benabik presented | 19:48 | |
| it is a common case | |||
| NotFound | I think the basic variants of throw should be: with and without automatic continuation. | 19:49 | |
| And if you want a continuation different of the automatic one, set it in the exception before throwing, | 19:50 | ||
| whiteknight | I don't like the idea of die_s. throwing strings got perl5 into a lot of trouble, and us pretending to do that only obscures things | ||
| tadzik | +1 | 19:51 | |
| NotFound | If you want a die_s equivalent, you just need to create a exception and set the message, anyway. | ||
| whiteknight | not that it really matters, of course. It would take us months to deprecate and remove any of these | 19:54 | |
| I wish we could go back in time and stop some of these lousy decisions from being made in the first place | 19:55 | ||
| NotFound | Not a big priority, but I'd like to have the non autoresumable throw variant. | ||
| whiteknight | NotFound: I guess for now you are stuck with throw_p_p | 19:56 | |
| NotFound | whiteknight: too much waste | 19:58 | |
| whiteknight | too much waste? Exceptions are uncommon in flow control | 19:59 | |
| or they should be | |||
| in winxed they certainly are | |||
| NotFound | whiteknight: waste of opcodes and registers | ||
| whiteknight | NotFound: It's a solution now, until we come up with a better idea | 20:00 | |
| NotFound | I'll better use: throw ex | die .EXCEPT_doomed, 1 | 20:01 | |
| whiteknight | that's the same number of opcodes | ||
| NotFound | But I don't need to allocate a register. | ||
| whiteknight | ok | ||
| then yes, that might be the best. | |||
| for now | 20:02 | ||
| NotFound | Unfortunately, the best right now is: don't care, let's obscure bugs appears when someone mistakenly resume. | ||
| whiteknight | let's deprecate die_i_i, and add in a new throw_noresume_p | 20:07 | |
|
20:08
ambs joined
|
|||
| whiteknight | benabik: the die opcodes were all unresumable until you changed them? | 20:09 | |
| benabik | whiteknight: die_s and die_p were resumable. die_i_i wasn't. | ||
| NotFound | I need to think about a way to specify a resumable throw in winxed, then... I'll do if someone provides me a realistic use case ;) | ||
| whiteknight | that seems extremely strange to me. What does the word "die" mean, if it's not something more final than "throw"? | 20:10 | |
| I mean, what differentiates a die from a throw? Anything? Nothing? | |||
|
20:10
perlite_ joined
|
|||
| benabik | Nothing. | 20:10 | |
| whiteknight | that bugs me | 20:11 | |
| NotFound | Shortness, and maybe familiarity for perl users. | ||
| At the times of hand-written pasm, shortness may have be very valuable ;) | 20:12 | ||
| whiteknight | maybe, but it seems a hell of a lot like a solution to the wrong problem | ||
| I would be much less unhappy with a throw_s and a throw_i_i opcode than I am with the same exact things named "die" | 20:13 | ||
| NotFound | Probably was just a case a "we'll fix the design later" | ||
| whiteknight | bleh | ||
|
20:13
awwaiid joined
|
|||
| Tene | whiteknight: +1 | 20:13 | |
| NotFound | I did that in winxed: throw "message"; | 20:14 | |
| whiteknight | it would be one thing if die actually died, like an exception that had higher-than-normal severity and no resume. That would be fine too | ||
| but if it's just throw and it doesnt lead to the death of the process, it's mis-named | |||
|
20:17
PerlPilot joined
20:19
PerlPilot joined
20:21
PerlJam joined
20:22
bluescreen joined
20:29
preflex joined
|
|||
| tcurtis | ~~ | 21:15 | |
| cotto_work | seen kid51 | 21:40 | |
| aloha | kid51 was last seen in #parrot 18 hours 59 mins ago saying "Latest code in tt_2185 branch enables successful 'make release_check' on Linux and Darwin.". | ||
| dalek | rrot/tt_2185: 403bd32 | cotto++ | config/gen/makefiles/root.in: use $(MAKE) for relcheck |
21:44 | |
| rrot/tt_2185: 97618e1 | cotto++ | tools/release/releasecheck.pl: portably tell nmake to be quiet |
22:00 | ||
|
22:09
rfw joined
22:34
kid51 joined
22:40
jsut_ joined,
Khisanth joined
|
|||
| cotto_work | kid51: ping | 22:41 | |
| kid51 | cotto_work: pong. Yes I see the commits to tt_2185; testing now. | 22:46 | |
| Good results on Linux; testing on Darwin. | 22:47 | ||
| cotto_work | kid51: what do I need to do to set up and administer a list on lists.parrot.org? | 22:48 | |
| dukeleto | interesting: software.intel.com/en-us/articles/m...rformance/ | 22:50 | |
| msg Coke I am getting more spam about your gsoc final eval not being done | |||
| aloha | OK. I'll deliver the message. | ||
| kid51 | YOu probably need to contact OSU OSL. whiteknight and I administer the existing lists (and smash for parrot-members), but I don't think we have privs for starting a new list. | 22:51 | |
| What are you thinking of? | |||
| cotto_work | kid51: starting some automated HLL testing and reporting | ||
| kid51 | You want a mailing list for that? As opposed to some sort of web site/service? | 22:52 | |
| cotto_work | I care very little how the data are presented, as long as it's easy to notice for people who care. | ||
| kid51 | Well, because these lists attract a certain amount of spam, they require a certain commitment to admin them. | 22:54 | |
| benabik | spam-- | ||
| kid51 | I doubt that would be a productive use of your time. | ||
| cotto_work | My priority is to get something working quickly. Alternatives are welcome. | ||
| kid51 | It occupies 2-3 minutes of my time every day ... which may not seem much, but if on average you only have 60 min available for Parrot per day, it's significant | 22:55 | |
| cotto_work | How much spam/day do our lists get? | ||
| kid51 | I think the best functioning of all our reporting systems is ttbot or tinderbox or whatever it's called. | ||
| Also, please note how, e.g., cpan-testers has moved away from the mailing list model. | 22:56 | ||
| cotto_work | To be honest, I'm explicitly unconcerned about long-term maintainability issues. If the infrastructure proves useful, we'll make it better as needed. | 22:57 | |
| If taptinder can be made to work, that's great. | 23:01 | ||
| kid51 | Well, color me skeptical re using a lists.parrot.org list for that purpose. But feel free to write up something on parrot-dev so others can comment. Also it would be a good idea to run your ideas by the sysadmins at OSUOSL. | ||
| cotto_work | Consider yourself skeptically colored. ;) | ||
| benabik | What's the hex value for skeptical? | 23:06 | |
| It's not in the standard list of CSS colors. | |||
| ;-) | |||
|
23:16
Coke joined
23:38
Kulag joined
23:53
gigigi joined
|
|||
| dalek | rrot/tt_2185: 0ce783f | jkeenan++ | tools/release/releasecheck.pl: In testing release, provide Configure.pl with same command-line options as used initially. Remove re-release test. |
23:55 | |