Camelia, the Perl 6 bug

IRC log for #parrot, 2012-02-08

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:18 benabik_ joined #parrot
00:44 dukeleto whiteknight: part of the problem is testing that feature requires a file system boundary
00:44 whiteknight among other problems
01:03 sorear I do not support making rename transparently attempt to paper over EXDEV.  (Not that you necessarily care what I think.)
01:14 Tene_ Use a higher-level library if you want transparent cross-device copies, IMO
01:18 dukeleto Tene_: people will be trying to write higher-level libraries with Parrot, which doesn't support this out of the box
01:19 dukeleto Tene_: which means lots of wheel-reinventing in HLLs/libs because we don't provide this
01:19 sorear imo, you're REMOVING functionality.
01:19 Tene_ My initial inclination is "don't take away rename()", but I honestly can't think of a situation where I'd prefer to distinguish between these cases.
01:19 sorear right now Parrot has a fail-safe atomic rename
01:19 dukeleto sorear: that won't go away
01:19 Tene_ Maybe it's a failure of creativity on my part, though.
01:20 dukeleto sorear: we could make the current rename default and create a new function that attempts to do renames across FS boundaries
01:20 dukeleto people who deal with NFS a lot will have the strongest opinions about this
01:21 dukeleto just as a data point, git does not go across FS boundaries unless you set an env var
01:21 sorear dukeleto: cool.  are you planning to implement this at the PIR or C level?
01:21 Tene_ As long as a cross-device move is being added in addition to rename, I can't see any problems.
01:22 sorear as a data point, Perl 5 has a rename() builtin which emulates the rename() system call, and File::Copy::move which emulates the mv utility
01:41 woosley joined #parrot
01:49 whiteknight The OS PMC .rename() method should do what it says: wrap the rename() function
01:49 whiteknight we can add a .move() or .mv() method to do more magical crap
01:51 whiteknight I personally prefer ".move", but there seems to be a pattern in that PMC of following the obscure naming conventions of the posix API and stdlibc
01:53 whiteknight we have a relatively powerful and full-featured string handling subsystem and good ICU bindings, and we still have methods named .cwd(), .rm() and .chroot()
01:54 whiteknight If we keep all the bytes we save in a jar, eventually we might be able to save up enough for something good, like half of a small bitmap image
02:01 jsut_ joined #parrot
02:19 cotto ~~
02:20 cotto whiteknight++
02:20 whiteknight hello cotto
02:23 cotto howdy whiteknight
02:28 whiteknight what's the fallback supposed to be if rename fails? bytewise copy then delete the original?
02:29 sorear yes
02:29 sorear recursive if directory
02:30 sorear whiteknight: ICU bindings?  are you suggesting replacing .rm with .⌦ or something? :D
02:30 whiteknight That's something that we don't need a new C-level method for. Rosella already does all those operations in pure parrot
02:30 Tene_ it would also be unfortunate if that silently changed or dropped permissions, ACLs, etc.
02:31 whiteknight sorear: I'm simply saying, we can do better than "rm"
02:33 Tene_ Seems a bit inaccurate to call posix conventions "obscure", to me.
02:33 whiteknight obscure might not be the right word. "unnecessarily terse" is better
02:34 whiteknight And considering Parrot aims to provide a much higher level of abstraction than libc does, it doesn't make a lot of sense (to me) to follow all the same exact APIs and same naming conventions
02:35 Tene_ Yeah, that seems better to me.
02:36 sorear "rm" isn't the POSIX name or the C name
02:36 sorear those are "unlink" and "remove" respectively
02:36 sorear "rm" is the shell name... which is quite silly for Parrot to be using
02:36 whiteknight oh, thats the shell name
02:36 whiteknight right, even worse
02:36 sorear a low-level wrapper around unlink should probably be called unlink
02:36 whiteknight or ".delete_the_damn_file"
02:37 sorear that's a bit much to type IMO :p
02:37 whiteknight on win32, it isn't a wrapper around unlink
02:38 whiteknight so calling it "unlink" is already not accurate
02:39 sorear opbots trust sri
02:39 slavorg Ok
02:39 whiteknight .delete() makes the most sense to me, but it's hardly worth the rename at this point
02:39 sorear opbots trust awwaiid
02:39 slavorg Ok
02:39 sorear opbots trust cxreg
02:39 slavorg Ok
02:39 sorear opbots trust jjore
02:39 slavorg Ok
02:39 sorear opbots trust Khisanth
02:39 slavorg Ok
02:48 whiteknight Tene_: yes, mucking with ACLs and security settings is a bit of an extra hassle
02:52 whiteknight Parrot doesn't really deal with those things at all in any of its current operations
02:52 whiteknight not that we couldn't or shouldn't, of course
03:03 benabik joined #parrot
05:37 JimmyZ joined #parrot
05:42 moritz fwiw the exceptions thrown from rename are fine
06:02 Psyche^ joined #parrot
06:22 alvis joined #parrot
06:31 dukeleto ~~
06:32 sorear !~~
06:49 jjore silly sorear, trust jjore? Shoot...
07:03 sorear sure
07:03 sorear you can LOSE my trust if you want to
07:03 sorear but you haven't yet
07:03 dalek rakudo/nom: 6ed624d | moritz++ | src/Perl6/Actions.pm:
07:03 dalek rakudo/nom: Throw one more typed exception
07:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ed624d16c
07:13 jjore Oh, I'm not rude enough for that.
07:22 * dukeleto is, sometimes
07:29 jjore "Show me your polymorphic inline cache."
07:55 dalek rakudo/nom: a2792b9 | moritz++ | src/ (2 files):
07:55 dalek rakudo/nom: typed exceptions for things that must be known at compile time
07:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a2792b9bd9
08:45 mj41 joined #parrot
09:12 woosley left #parrot
09:22 lucian joined #parrot
09:23 lucian joined #parrot
09:43 dalek nqp: 19f1639 | moritz++ | / (2 files):
09:43 dalek nqp: [bigint] fix detection of negative numbers from binary ops
09:43 dalek nqp:
09:43 dalek nqp: This should fix RT #109740
09:43 dalek nqp: review: https://github.com/perl6/nqp/commit/19f1639689
10:06 Psyche^ joined #parrot
10:22 Psyche^ joined #parrot
10:35 dalek rakudo/nom: 0a3ee96 | moritz++ | tools/build/NQP_REVISION:
10:35 dalek rakudo/nom: bump NQP revision to get RT #109740 fix
10:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a3ee96cca
10:55 mj41 joined #parrot
11:02 seme joined #parrot
11:29 seme hey guys... could anyone give me a hand... I just built parrot-4.0.0 on my mac (intel 11.2.0) but when I run parrot I get this error, PARROT VM: Could not initialize new interpreter
11:30 seme I also get that error when I run the setup.pir that is generated from the mk_language_shell.pl script
11:34 seme hrm.... hold on... I think that my previous install of parrot was interacting with the new one
12:42 benabik joined #parrot
12:46 mtk joined #parrot
12:51 benabik o/ #parrot
12:53 benabik msg seme re parrot/mac problem: Sounds like a common problem.  If libparrot is installed, trying to run a new parrot can go very badly.  Best to remove the old one before building the new.
12:53 aloha OK. I'll deliver the message.
12:57 bluescreen joined #parrot
13:52 Coke which, btw, is horrible. someday someone will fix that. ;)
13:54 benabik Coke: I don't think there's a simple way to do it, sadly.
13:55 benabik I suppose fixing the testing part is possible, since the Makefile could set the LD_* env variables.  But allowing the user to run non-installed with an installed lib is tricky.
14:01 benabik I dislike long lines in commit messages.  git.git has spoiled me with high quality messages.
14:15 dalek rakudo/nom: 15dc125 | moritz++ | src/core/Exception (2 files):
14:15 dalek rakudo/nom: eliminate X::Base
14:15 dalek rakudo/nom:
14:15 dalek rakudo/nom: It is replaced by Exception as a base class, and by X::AdHoc for
14:15 dalek rakudo/nom: die with non-Exception arguments
14:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15dc1253c9
14:17 benabik It occurs to me that people working on rakudo get double karma.  Once in #perl6, once here.
14:19 benabik Not that I care, just kinda interesting.
14:19 masak in the end, there's a risk that people get twice the recognition they should've got.
14:19 masak leading to a kind of "recognition inflation".
14:20 masak and the risk of collapse of the entire karma system.
14:21 benabik Yeah.  With this kind of inflation, it's no wonder the karma to dollar exchange rate is so low.  ;-)
14:22 masak benabik: back in the Pugs days, people got one ++ per *line* of commit comment. :)
14:22 jwilliams joined #parrot
14:22 benabik I guess that's one way to encourage people to write detailed commit messages.
14:33 PacoAir joined #parrot
15:07 jwilliams left #parrot
15:43 Psyche^ joined #parrot
15:47 dalek rakudo/nom: ef61a32 | moritz++ | src/core/Exception.pm:
15:47 dalek rakudo/nom: experiment a bit with backtrace printing
15:47 dalek rakudo/nom:
15:47 dalek rakudo/nom: inpsired by a discussion with masak++, [Coke]++ and a few others
15:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ef61a32ea2
15:54 fperrad joined #parrot
16:03 seme joined #parrot
17:08 seme hey guys... does rosella work with parrot 4?  I installed parrot and then tried to build rosella but it failed with the following error when trying to build core.pbc
17:08 seme error:imcc:syntax error, unexpected PREG, expecting '(' ('$P3')
17:18 benabik seme: I think it should, but I'll check.
17:20 seme cool thanks
17:20 benabik Hm.  Builds fine here.  Perhaps you need to make clean or get a newer version?
17:21 seme are you downloading from git or the download link on the web site?
17:21 benabik git
17:21 seme ok let me try that
17:21 benabik Although the tar ball from the website appears to just grab the latest from git.
17:23 benabik msg whiteknight You appear to have a markup problem with the Rosella home page.  "plumage install rosella</pre>" is unlikely to be a useful command.
17:23 aloha OK. I'll deliver the message.
17:24 seme hrm... I just downloaded it from git and had the same issue... here is the complete error http://pastebin.com/t3jqFCmV
17:27 benabik Hmmmmm...
17:28 benabik What is line 1228 of core.pir?  ( sed -ne '1228p' rosella/core.pir )
17:29 seme get_context $P3
17:29 benabik Hm.  I'm guessing IMCC doesn't know about the get_context op for some reason.
17:30 benabik hmmmm....
17:30 seme what are you running?  I'm wondering if it could be environmental?
17:30 seme I'm running on a mac pro intel x64 box
17:31 benabik MacBook Pro.
17:31 benabik Running parrot master rather than a release though.
17:31 seme aah... I'm running the 4.0.0 release
17:31 benabik get_context was added after 4.0.0
17:31 seme I see
17:32 benabik Your winxed shouldn't be generating it, I think.
17:32 seme doesn't rosella come with parrot? or is that just winxed that comes with parrot?
17:32 benabik Winxed comes with parrot, Rosella doesn't.
17:32 seme aah ok
17:33 seme well I'll forget about rosella for the moment... :)
17:33 seme I'm still reading through the tutorials and examples so I can understand puffin and pynie :)
17:33 benabik I'm somewhat confused how you have a winxed that knows get_context and an IMCC that doesn't.
17:33 seme I have no idea :)
17:34 seme I just cleaned my system today and did a fresh install of parrot
17:34 benabik Ohhhhhhhh....
17:34 benabik Rosella's been updated to use get_context.
17:34 seme I was going to try to install rosella too but that was where I hit a snag
17:34 benabik Rosella master seems to require parrot master.
17:34 benabik Try Rosella 4d6d1fab9f5568d1ecfd89131a09fd15358b77b8
17:35 seme right.... it would be nice if there were releases of rosella that coinsided with the parrot releases...
17:35 seme ok let me try and grab that
17:36 seme I just do a git checkout 4d6d1fab9f5568d1ecfd89131a09fd15358b77b8 right?
17:36 benabik Yeah.
17:37 seme cool... it is building now
17:37 benabik \o/
17:37 seme looks like that did the trick
17:41 dmalcolm joined #parrot
17:45 dukeleto seme: welcome, I haven't seen you around before
17:48 seme thanks dukeleto I'm new
17:49 seme I've been trying to learn more about language design, compilers, etc. and I found parrot.. I've been reading for days now, trying to get an understanding of thigns
17:49 seme pretty cool stuff
17:53 zby_home joined #parrot
17:54 dukeleto seme: awesome! I am the parrot community dude, so if you have questions, feel free to ask.
17:55 dukeleto looks like some cardinal tests are failing on Parrot 4.0.0
17:55 dukeleto i don't think anybody has been running "make allhlltest"
17:55 seme thanks... I appreciate it... for a newbie it is definitely a steep learning curve
17:55 dukeleto seme: yes, we are trying to make it better
17:55 dukeleto seme: parrot.github.com is a new site that lists docs for every version of parrot, which might help
17:55 tadzik dukeleto: some that didn't fail before?
17:56 dukeleto seme: newcomers are often confused by old/wrong documentation/blogs/etc
17:56 seme is that the same as http://docs.parrot.org
17:56 dukeleto tadzik: not sure. I thought they all passed last time I checked, but I am pretty good at lying to myself
17:56 tadzik :)
17:56 dukeleto seme: not quite. parrot.github.com is going to eventually replace docs.parrot.org
17:56 tadzik I haven't looked at Cardinal in a while
17:56 Tene_ dukeleto: Remember a year ago, when you told me to expect automated HLL testing "Real Soon Now" and I was pessimistic?
17:56 seme ooh so forget about docs.parrot.org?
17:57 dukeleto seme: not quite. Both sites are useful
17:57 benabik Is there anything on docs that isn't on github?
17:57 dukeleto Tene_: pessimism isn't very useful to me
17:57 dukeleto Tene_: i prefer action and optimism
17:58 dukeleto Tene_: and since then, we have "make allhlltest" and now we run the parrot test suite on every commit via Travis CI
17:58 tadzik I have a feeling that both setup.pir and setup.winxed are broken in cardinal. Do we need them, having Rakefile?
17:58 dukeleto benabik: ayardley is the captain of our documentation refactor. Not sure. I think docs.parrot.org does indeed have info parrot.github.com does not have
17:59 dukeleto tadzik: having 3 build systems does seem a bit freaking ridiculous. Keeping them all in sync really sucks.
17:59 NotFound ~~
18:00 tadzik if( (req[0] > sys[0]) || (req[1] > sys[1]) || (req[2] > sys[2]) ) {
18:00 dukeleto tadzik: would you mind sending an email to parrot-dev asking people what to do about cardinals multiple-build-system disorder?
18:00 tadzik no wonder that fails against 3.8.0 vs 4.0.0
18:00 tadzik dukeleto: nope, can do that
18:00 dukeleto tadzik++
18:00 dukeleto NotFound: wazzup
18:01 NotFound dukeleto: not much, I'm busy these days
18:03 dukeleto tadzik: i am trying to merge this https://github.com/parrot/cardinal/pull/20
18:03 dukeleto tadzik: but then ran into failing tests
18:03 dukeleto tadzik: and merging new code with an already failing test suite makes me sad
18:03 tadzik no wonder
18:03 tadzik I'm fixing setup.winxed now
18:03 dukeleto tadzik++
18:04 NotFound tadzik: that setup.pir in hand written or is generated from setup.winxed?
18:06 tadzik NotFound: no idea, but it gives diferent results
18:07 tadzik seems to be hand-written
18:07 NotFound I suggest to kill it.
18:07 tadzik that should be painless, now that we have winxed in Parrot
18:07 tadzik bundled, I mean
18:09 tadzik dukeleto: and yes, tests fail
18:09 tadzik dukeleto: btw, maybe it should go to github issues rather than parrot-dev?
18:10 dukeleto tadzik: both, either, whatevs :)
18:11 dukeleto +1 to killing the hand-written setup.pir. That is archaic
18:11 dukeleto and is from before winxed came with parrot
18:11 tadzik some of those failing tests are more suitable for something like eval_dies_ok
18:11 tadzik that's it ends up with Dubious, test returned 1
18:18 bluescreen joined #parrot
18:20 dalek cardinal: b675f75 | tadzik++ | setup.winxed:
18:20 dalek cardinal: Fix setup.winxed
18:20 dalek cardinal: review: https://github.com/parrot/​cardinal/commit/b675f750d3
18:20 dalek cardinal: d4f22c4 | tadzik++ | setup.pir:
18:20 dalek cardinal: Remove setup.pir. No need to have both setup.winxed and setup.pir while winxed in bundled with Parrot
18:20 dalek cardinal: review: https://github.com/parrot/​cardinal/commit/d4f22c4d65
18:41 dalek rakudo/usage-prints-WHY: 0683298 | moritz++ | src/ (2 files):
18:41 dalek rakudo/usage-prints-WHY: more typed exceptions
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/0683298ea6
18:41 dalek rakudo/usage-prints-WHY: 5fcfed5 | moritz++ | src/Perl6/Actions.pm:
18:41 dalek rakudo/usage-prints-WHY: fix thinko
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/5fcfed5474
18:41 dalek rakudo/usage-prints-WHY: cb00ad1 | moritz++ | src/ (2 files):
18:41 dalek rakudo/usage-prints-WHY: typed exceptions for "my $!foo"
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/cb00ad1de4
18:41 dalek rakudo/usage-prints-WHY: 683a387 | jnthn++ | src/core/ (2 files):
18:41 dalek rakudo/usage-prints-WHY: Enumerations should .gist to just the key, not including the full package name.
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/683a38759e
18:41 tadzik oh, crap
18:41 dalek rakudo/usage-prints-WHY: ef22e37 | jnthn++ | src/core/Str.pm:
18:41 dalek rakudo/usage-prints-WHY: Forbid :8(non-Str-here), as per spec.
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/ef22e37099
18:41 dalek rakudo/usage-prints-WHY: ce5ccae | moritz++ | tools/build/NQP_REVISION:
18:41 dalek rakudo/usage-prints-WHY: bump NQP revision to get option handling and charclass fixes
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/ce5ccaeb7e
18:41 dalek rakudo/usage-prints-WHY: 6b62395 | jnthn++ | tools/build/NQP_REVISION:
18:41 dalek rakudo/usage-prints-WHY: Bump to latest NQP to get <!> fix.
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/6b6239564f
18:41 dalek rakudo/usage-prints-WHY: acbec86 | moritz++ | tools/build/NQP_REVISION:
18:41 dalek rakudo/usage-prints-WHY: fix NQP_REVISION
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/acbec86cab
18:41 dalek rakudo/usage-prints-WHY: 6a17a5e | moritz++ | src/core/Match.pm:
18:41 dalek rakudo/usage-prints-WHY: implement Match.make
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/6a17a5e8b1
18:41 dalek rakudo/usage-prints-WHY: a47a56a | jnthn++ | src/ (2 files):
18:41 dalek rakudo/usage-prints-WHY: Improve error reporting for nextsame and friends when they are used with no dispatcher in the dynamic scope; TimToady++.
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/a47a56a141
18:41 dalek rakudo/usage-prints-WHY: a177364 | tadzik++ | / (2 files):
18:41 dalek rakudo/usage-prints-WHY: Remove trailing whitespace in declarator blocks
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/a177364f19
18:41 dalek rakudo/usage-prints-WHY: 6bcd7b6 | tadzik++ | / (18 files):
18:41 dalek rakudo/usage-prints-WHY: Merge branch 'nom' into usage-prints-WHY
18:41 dalek rakudo/usage-prints-WHY: review: https://github.com/rakudo/rakudo/commit/6bcd7b64b4
18:41 dalek rakudo/nom: 2251cbb | tadzik++ | src/core/Main.pm:
18:41 dalek rakudo/nom: Make default USAGE print .WHY for the documented candidates
18:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2251cbb0b8
18:42 mj41 joined #parrot
18:43 benabik Heh.  dalek just helped me notice I was on the wrong end of a net split on free node.  :-D
18:56 trey joined #parrot
19:07 Khisanth joined #parrot
19:58 lucian joined #parrot
21:56 jsut joined #parrot
22:01 jsut_ joined #parrot
22:05 benabik_ joined #parrot
22:30 awwaiid joined #parrot
22:38 dmalcolm joined #parrot
23:23 dalek rakudo/stdinit: f3058c8 | jnthn++ | src/Perl6/Actions.pm:
23:23 dalek rakudo/stdinit: Small refactor to bind_op/assign_op to prepare for initializer changes.
23:23 dalek rakudo/stdinit: review: https://github.com/rakudo/rakudo/commit/f3058c821e
23:23 dalek rakudo/stdinit: 95a255a | jnthn++ | src/Perl6/ (2 files):
23:23 dalek rakudo/stdinit: First round of changes to parse variable initializers as part of variable_declarator. Basically works, though doesn't yet handle the attribute initializer case yet.
23:23 dalek rakudo/stdinit: review: https://github.com/rakudo/rakudo/commit/95a255ae2c
23:31 trey joined #parrot
23:36 benabik joined #parrot
23:37 dalek rakudo/stdinit: b0a9d14 | jnthn++ | src/Perl6/Actions.pm:
23:37 dalek rakudo/stdinit: Re-work attribute initializer handling, getting rid of the nasty action at a distance stuff. Also a bit more robust.
23:37 dalek rakudo/stdinit: review: https://github.com/rakudo/rakudo/commit/b0a9d14a4b
23:49 TonyC joined #parrot
23:51 nopaste joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced