Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-06-05

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:16 hikozaemon joined perl6
00:35 gaal joined perl6
00:42 bsb joined perl6
00:49 Odin-LAP joined perl6
00:58 Odin- joined perl6
01:08 rashakil_ is now known as rashakil
01:09 dduncan joined perl6
01:10 dduncan so, according to audreyt's newest blog, Pugs now passes all its tests, and so I interpret that it is about preflight time save for changelogging ...
01:11 dduncan I will now cleanly build and smoke the current revision
01:11 Captain_Fourier hmm im playing with pugs now
01:11 dduncan r10557
01:11 Captain_Fourier and if i enter expressions as seperate lines i get weird errors
01:11 dduncan that will take me a few hours ... unless there is another preflight I should wait for ...
01:12 hexmode joined perl6
01:15 Captain_Fourier like pugs> my $a =5;
01:15 Captain_Fourier pugs> if ($a ==) {3;} else {2;}
01:15 Captain_Fourier returns 5
01:15 Captain_Fourier pugs> if ($a == 0) {3;} else {2;}
01:31 bjoern_h is now known as bjoern_
01:39 mako132_ joined perl6
01:39 QtPlatypus ?eval list [,] (0..5)
01:39 evalbot_10557 (0, 1, 2, 3, 4, 5)
01:42 pfenwick joined perl6
01:43 justatheory joined perl6
01:44 unobe______ joined perl6
01:47 sri__ joined perl6
01:56 Captain_Fourier so why would i get that strange input
02:17 dduncan build complete ... now starting that smoke ...
02:20 vel joined perl6
02:33 shachaf joined perl6
02:43 Odin-LAP joined perl6
02:57 bjoern_h joined perl6
03:08 cmarcelo joined perl6
03:29 coumbes joined perl6
03:30 KingDiamond joined perl6
03:30 premshree_ joined perl6
03:30 premshree__ joined perl6
03:30 premshree_ left perl6
03:37 cmarcelo spinclad: ping?
03:37 svnbot6 r10558 | cmarcelo++ | * More work on Judy.BitSet2 (will turn into BitSet when ready). Using
03:37 svnbot6 r10558 | cmarcelo++ | typeclasses and requiring Enum types only (maybe too restrictive?).
03:42 dduncan 90 mins later, smoker now on t/rules/ ...
03:43 dduncan nevermind, the smoker isn't going alphabetic anymore
03:44 dduncan I'm very pleased to report that Pugs now actually seems to be honoring my concurrent=2 setting, and utilizing both CPUs on my machine with 2 separate Pugs processes
03:44 dduncan some ++ to whomever got that to work
03:49 dduncan previously, only 1 Pugs process was running for me, despite the longstanding concurrent=2 setting
03:49 mako132_ joined perl6
03:50 bjoern_h is now known as bjoern_
03:50 dduncan audreyt, it appears that your r10554 made this work, though perhaps accidentally
03:51 dduncan ... since that commit only seemed to be about adjusting balances, not splitting the balance in the first place
04:19 cmarcelo audreyt: ping?
04:27 Captain_Fourier im still curious how does pugs perform compared to ruby
04:27 Captain_Fourier or perl5
04:27 bsb dduncan: http://pugs.blogs.com/pugs/2006/06/6212_releng_res.html for smoke_concurrent
04:29 dduncan bsb, I see that
04:29 dduncan however, smoke_concurrent has been a config option for something like a year now, or half a year ...
04:29 dduncan I've always set it to 2, but it never ran more than one process, until today
04:31 dduncan supposedly other people with dual processors got the desired behaviour months ago, but I didn't
04:32 bsb ah, ok
04:34 gaal when did it break? it was added like a year ago!
04:34 gaal (hi, all)
04:48 cmarcelo gaal: hi
04:57 dduncan smoke is uploaded
04:58 dduncan Pugs 6.2.11 r10557 05 Jun 2006 04:54 Mon 134.90 min 100.00 % ok 11428: 11428, 0, 1404, 1738, 0
04:58 dduncan and sure enough, the time has been halved, to about 2 hours from about 4 hours, on this 4 year old machine
04:59 dduncan gaal, I don't recall the multi ever working for me
04:59 dduncan it always just did one process
04:59 dduncan I don't know why ... but I didn't look too deep since there were other priorities
05:07 glasser`` joined perl6
05:08 glasser`` is now known as glasser
05:12 trym_ joined perl6
05:31 neoesque joined perl6
05:37 baest joined perl6
05:44 svnbot6 r10559 | cmarcelo++ | * Make BitSet2 interface similar to IntSet.
05:59 buubot joined perl6
06:02 gaal dduncan: try upping concurrent by one. you might shave off a minute or two.
06:03 dduncan hello
06:03 gaal (or not, but it's worth a shot)
06:03 gaal hi :)
06:03 dduncan you mean using 3 instead of 2?
06:03 gaal yes
06:04 dduncan shaving a minute or 2 is irrelevant when the run time is 4 hours with 1 process, and 2 hours with 2, that is now working
06:04 dduncan but thanks anyway
06:04 dduncan unless that minute will scale up for my slower machine
06:04 dduncan to something more
06:04 gaal well, 1 or 2 may turn out to be 5 or 10
06:05 dduncan in that case, what would happen if I set it to 4, say?  can raising it like that make things worse?
06:06 gaal there is no hard and fast rule, but in general (assuming you don't run out of ram) you want to make sure that if something is blocked on io, another test can take cpu
06:06 dduncan well, I have 768MB of RAM ... I will experiment to see what uses the most but not too much RAM
06:06 dduncan thanks for the tip
06:07 gaal and since our task allocation is very KISS (we just cut the tests to n pieces at start and spawn them off), if one process was unlucky and got a lot of long ones, it'll be running alone in the last duration of the test run
06:07 dduncan fyi, with that much RAM, disk swapping is done when compiling Pugs, though just running the tests it has over 200MB free
06:07 dduncan I'll see to getting more RAM some time
06:08 dduncan hopefully a 1GB stick is cheap
06:08 dduncan good quality stuff that is
06:08 gaal this kind of work distribution is unfair, but we have so many tests we assume it's not going to bite too hard, and also, fixing it portably is Hard
06:08 gaal no actually it's just hard
06:08 dduncan no problem
06:09 gaal 1gb stick for a 4 year old machine may not be very cheap...
06:09 dduncan over time, though I expect that when the test suite settles down and pugs/perl6 gets close to 1.0, we should have a better idea what the generally slow tests are, and perhaps arrange the test dirs such that things are divided up well
06:10 gaal but you oughta be OK with 768M if oyou aren't doing much other stuff at the same time.
06:10 dduncan the RAM type is DDR SDRAM, if that says anything
06:10 dduncan fyi, during smoking I"m fine
06:10 gaal dduncan: nah, by that time we can rewrite the harness in perl6 and portable threading will be easier :)
06:10 dduncan its when compiling the Haskell that I get disk swapping, and general slowdowns
06:11 dduncan eg, during 'make'
06:11 gaal sure, ghc is hungry. but a pack of fifteen pugs would also be hungry :)
06:11 gaal gotta $work some &
06:11 dduncan good $time
06:28 stephanepayrard_ joined perl6
06:40 cmarcelo left perl6
06:40 nperez joined perl6
06:45 bx420 joined perl6
07:23 dduncan left perl6
07:28 f0rth joined perl6
07:39 iblechbot joined perl6
07:49 kanru joined perl6
08:13 iblechbot_ joined perl6
08:15 drrho joined perl6
08:35 lisppaste3 joined perl6
08:36 elmex joined perl6
08:38 gaal joined perl6
08:59 Captain_Fourier is anyone up now?
09:03 stephanepayrard_ yes
09:05 Captain_Fourier im trying commit to svn
09:05 Captain_Fourier but it wont keeps just asking for my user/pass
09:05 Captain_Fourier i got an invite and registered
09:05 froh-doh joined perl6
09:05 Captain_Fourier is there anything else im suppose to do
09:09 chris2 joined perl6
09:09 Captain_Fourier i guess not
09:21 svnbot6 r10560 | audreyt++ | * Fix embedding on MacIntel by forcing pulling in EXTERN.h
09:30 svnbot6 r10561 | audreyt++ | * Pugs.Run.Args: support for the "=" variant of -M:
09:30 svnbot6 r10561 | audreyt++ |     pugs -Mlib=foo
09:36 neoesque joined perl6
09:53 penk joined perl6
10:02 svnbot6 r10562 | scw++ | Pugs::Compiler::Rule
10:02 svnbot6 r10562 | scw++ |  * $<var> := [pattern] and $<var> := <subrule> parsed
10:02 svnbot6 r10562 | scw++ |  * implemented in Perl 5 Ratchet backend
10:02 svnbot6 r10562 | scw++ |  * some tests
10:05 svnbot6 r10563 | audreyt++ | * lexical subroutine imports from Perl 5 packages now work!
10:05 svnbot6 r10563 | audreyt++ |     % ./pugs -Mperl5:CGI=header -e 'header.print'
10:05 svnbot6 r10563 | audreyt++ |     Content-Type: text/html; charset=ISO-8859-1
10:13 gaal wow!
10:27 svnbot6 r10564 | scw++ | Pugs::Compiler::Rule
10:27 svnbot6 r10564 | scw++ |  * $<var> := [] and $<var> := <subrule> already work on
10:27 svnbot6 r10564 | scw++ |    non-ratchet Perl 5 emitter
10:27 svnbot6 r10564 | scw++ |  * test for ratchet produce correct possitional matches
10:51 lichtkind joined perl6
11:25 ofer0 joined perl6
11:25 ofer0 left perl6
11:29 ludan joined perl6
11:50 jsiracusa joined perl6
11:54 svnbot6 r10565 | audreyt++ | * t/perl5/import.t: Digest::MD5 is not part of 5.6, so we
11:54 svnbot6 r10565 | audreyt++ |   use the more universal Text::Wrap to test (and it passes).
11:55 audreyt Captain_Fourier: hi
11:55 svnbot6 r10566 | audreyt++ | * Pugs.Parser.Export: More sanity checking on the export list.
11:55 chris2 joined perl6
11:55 audreyt Captain_Fourier: what username are you registered with?
11:57 audreyt Captain_Fourier: if it's "cfourier", sorry, you are in the commit list now
11:57 audreyt I didn't know why the signup didn't add your to the project member list; it should happen automatically if you click on the invitation link
11:57 audreyt Captain_Fourier: but in any case, it's fixed now, so please try to commit again
11:57 audreyt Captain_Fourier: apologies for the inconvenience :/
12:03 kanru joined perl6
12:05 audreyt dduncan: r10495 is the real (and intentional) fix on concurrent smoke
12:29 clkao $ ab -clkao- [~/work/pugs] make
12:29 clkao /home/clkao/work/pugs/0: not found
12:31 audreyt say wha?
12:31 audreyt which perl are you using?
12:31 gaal joined perl6
12:45 justatheory joined perl6
12:46 clkao old one
12:46 clkao 8
12:46 clkao 585
12:51 weinig|away joined perl6
13:01 clkao audreyt, appearantly there's haskell street near obra's
13:02 audreyt can't dupe the problem here, weird
13:02 audreyt oh? nice
13:02 * audreyt fixes the parrot-side api a bit
13:02 clkao might be the locale problem since i upgraded to freebsd6
13:07 froh-doh joined perl6
13:12 neoesque joined perl6
13:20 marmic joined perl6
13:32 particle_ joined perl6
13:32 Limbic_Region joined perl6
13:33 Ymmv joined perl6
13:36 fglock joined perl6
13:51 Soga joined perl6
13:51 LCamel joined perl6
13:56 unobe_______ joined perl6
13:56 unobe_______ is now known as unobe
13:59 nothingmuch joined perl6
14:05 hexmode joined perl6
14:16 Qiang joined perl6
14:19 vel6608 joined perl6
14:21 cognominal joined perl6
14:40 khisanth_ joined perl6
14:56 rdice joined perl6
15:07 revdiablo joined perl6
15:16 TimToady audreyt: ping
15:18 TimToady audreyt: on = parsing, I'm looking at how the context rules are starting to look like your old dwimmer, and wondering whether a better approach is to separate the parsing concern from the context concern.
15:18 TimToady we could say that only $x = ... parses as a scalar assignment, and everything else parses as list assignment.
15:19 TimToady but then say that the context rules are more like the dwimmy version.
15:20 TimToady anyway, that's my pre-caffiene thought...
15:21 Limbic_Region TimToady - it looks like she has her parrot hat on today
15:21 stennie joined perl6
15:21 TimToady that's okay, I'm bugging her about some parrot issues too.  :)
15:21 Limbic_Region of course, she can get away with wearing many hats simultaneously and still look very fashionable
15:25 * gaal conjures a mental image of audrey wearing a hat on each tine
15:27 rgs scalar(@list) = $value
15:27 bradleym joined perl6
15:27 TimToady I'm sure some mathematicians would like that...
15:28 TimToady but a Perl 5 programmer would expect it to set the length.
15:28 rgs that feels a bit like $#array = $size - 1
15:28 rgs so, yes
15:29 rgs anyway, my point was that on the left, you can have something that is a scalar, but that doesn't parse as a scalar
15:29 rgs like the return value of substr() (better example than scalar())
15:29 TimToady when I say "parse as a scalar" here, all I'm meaning is how the right side of = is parsed
15:29 TimToady precedence-wise
15:30 rgs hmm precedence, ok
15:30 TimToady that is, if you say MUMBLE = 1, 2
15:30 TimToady is the 2 part of the assignment?
15:30 * rgs notes that most of the discussion in #perl6 happens out of his timezone
15:30 TimToady about the only use case for the scalar form is
15:31 TimToady loop ($a = 1, $b = 2; ...)
15:31 rgs $a = 1, $b = 2 if $condition
15:32 TimToady yes, that's certainly what a P5 programmer would expect.
15:32 TimToady but is it uncommon enough that we could make people write
15:32 TimToady ($a = 1), ($b = 2) if $condition.
15:33 TimToady I'm just trying to keep the parsing rules simple, but not too simple...
15:33 rgs cleaner, also, visually
15:33 TimToady and should it be ($a = 1; $b = 2) if $condition?
15:34 particle_ why not {} ?
15:34 TimToady {} would require a () to execute
15:35 particle_ ah, yes, 'if' is a statement modifier, not block modifier
15:36 rgs also, does this return a list, as in @x = ($a = 1, $b = 3)
15:36 neoesque joined perl6
15:40 TimToady As currently specced, ($a = 1; $b = 2) presumably returns a multi-dimensional list, which would flatten to an ordinary list unless bound to an @@ variable.
15:43 Qiang joined perl6
15:49 fishb0t joined perl6
15:49 TimToady loop(($a = 1; $b = 2); $c; $d++) does not read very well.
15:50 TimToady but maybe (;;) form is just borken C-age we should jettison
15:50 rgs that form of loop is awful anyway
15:50 TimToady loop $a = 1; $b = 2 while $c next $d++ {...}
15:50 TimToady gives us
15:51 TimToady loop $a = 10 until $a == 0 next $a-- {...}
15:51 TimToady getting kind of Algolesque there...
15:54 TimToady I dunno, my eyes go all mush when I try to read that...
15:54 audreyt TimToady: the segfault is due to PGE not supporting @x in rules
15:54 TimToady loop $a = 10; until $a == 0; next $a-- {...}
15:54 audreyt s/segfault/IMCC error/
15:54 audreyt but I'll make it nonfatal
15:54 rgs maybe write NEXT in upper case.
15:54 TimToady okay, thanks
15:55 audreyt (parrot+perl5 embed works here now)
15:55 TimToady cool
15:55 TimToady what do you think of only $a = being parsed scalar, with context a separate concern?
15:56 rgs (my eyes never go mush anymore. side-effect of staring all day at a language whose symbol is an onion:)
15:56 TimToady or just parsing everything list?
15:57 PerlJam good morrow #perl6
15:57 Juerd TimToady: I think C-style loop can be left out of the language completely, and implemented as an optionally importable macro.
15:57 PerlJam Juerd: I agree!
15:57 Juerd That clearly indicates the social status of the construct, without taking it away from those who want it.
15:58 TimToady loop $a = 1; $b = 2; $c = 3; while $x; $x-- {...} is also a possibility.
15:59 Juerd TimToady: I find all variants unclear.
15:59 Juerd Hard to grok, error prone, and annoying to read.
15:59 * PerlJam had to read it approximately 5 times before he understood what it was supposed to mean.
16:00 integral it certainly challenge's CL loop for incomprehensibility
16:00 TimToady :)
16:00 clkao what?
16:00 Juerd clkao: Do you have a highlight on CL? :)
16:00 * clkao loops
16:00 clkao no, i just happened to see it
16:00 Juerd Ah :)
16:00 integral *challenges CL's
16:00 Juerd Mental highlight :)
16:01 clkao a friend always do /me -> CL to indicate he is going to the cambrdige library
16:01 PerlJam loop {...} is nice, but the C-style variant not so much.
16:03 TimToady I'm just wondering if there's some kind of thing that says "while {...}" is just a degenerate case of "loop while {...}"
16:03 TimToady where "loop" sets up the possibility of extra shenanigans.
16:04 Juerd { my $i; loop :pre{ $i = 0 } :check{ $i < 15 } :next{ $i++ } { ... } }  # ugly, but comprehensible
16:05 PerlJam Juerd: ETOOMANYBRACES
16:05 Juerd PerlJam: As I said: ugly.
16:06 TimToady loop ($a = 0) while $a < 10; $a-- {...}
16:06 Juerd The greatest trouble with the C-style loop is that it was created without lexical scope in mind.
16:06 TimToady which is fine, since we don't have any -> binding going on.
16:07 ruoso joined perl6
16:07 TimToady but yes, if you wanted $a scoped...
16:07 Juerd loop { $_ = 0 }, { $_ < 10 }, { $_-- } -> $a { ... }
16:07 Aankhen`` joined perl6
16:07 TimToady pardon me while I find a bucket...
16:08 Juerd :)
16:08 Juerd I'm not looking for something that's nice to read, because that doesn't exist.
16:08 Juerd It makes no sense in our world to want three statements that are executed at different times, together in one block.
16:09 TimToady well, I think it's still loop ($a = 0; $a < 10; $a++) and only $a = does scalar parsing on the rhs.
16:09 Juerd If you must have C-style loops, then that may be the best way to do it.
16:09 PerlJam Is it really that important to have some looping construct where initialization, conditional testing, and umm ... tail-of-iteration processing are all mentioned up front?
16:10 Juerd PerlJam: If you want it, you can still do it without loop
16:10 TimToady psychologically, it's valuable.
16:10 Juerd PerlJam: Something like: { my $i = 0; while ($i < 10) { NEXT { $i++ } ... } }
16:10 Juerd TimToady: I doubt that.
16:11 PerlJam TimToady: why do you say so?
16:11 TimToady "Here's everything you need to know about the control of this loop."
16:11 TimToady "All in one convenient place".
16:11 Juerd TimToady: But it's incredibly rare that a loop is best expressed listless.
16:12 Juerd And when you do build a list (lazy or not), you already have everything up front.
16:12 Juerd It's a bad idea to put ugly stuff in the language that is never needed, and nice to have only in extreme circumstances.
16:13 Juerd In fact, C-style for is mostly fun for golfing.
16:13 Juerd And obfu.
16:13 PerlJam Maybe it's just my brain, but I don't ever think of loop control in that fashion.  I always tell myself "that first thing happens only once, the second thing at the beginning of each iteration and the the third thing at the end".  If it were written more while-loopy, it would be slightly better because I wouldn't have to remind myself of the timing of the parts.
16:13 TimToady there are problems and programmers that will tend toward the C idiom.
16:13 Juerd TimToady: Making it importable fixes that.
16:14 Juerd And makes these programmers conscious of the fact that there are alternatives, and that those alternatives are to be preferred.
16:15 Juerd I'm not saying the construct shouldn't be offered at all. It should be, but not by default.
16:15 PerlJam if it didn't exist in perl6, I'd be half-inclined to create that syntax calling as "cfor (A; B; C) { ... }"
16:15 Juerd IMO, the name of the construct is least relevant, but I like "cfor"
16:16 PerlJam Juerd: sure, but note that the parens are important too  :)
16:16 TimToady FAQ: "What's a cf or?"
16:16 Juerd PerlJam: They are.
16:16 Juerd TimToady: "The thing you explicitly requested with "use cfor;". Why are you requesting things you don't understand?"
16:17 Juerd Hm, """" doesn't work well :)
16:17 TimToady I haven't conceded the import part yet.
16:17 particle_ for( $a= Iterator.new($foo); $a->has_next; $a->next) { ... }
16:17 iblechbot joined perl6
16:17 Juerd TimToady: But I have :)
16:17 TimToady Yeah, well, you're good at that. :P
16:17 Juerd particle_: Much better expressed with a list.
16:18 particle_ i'm just sayin' it'll happen
16:18 Juerd particle_: Lists can be lazy now
16:18 Juerd particle_: Of course it will, and that's why the construct should be offered.
16:18 Juerd I'm just saying that making people conscious about it, and keeping the thing out of normal teaching etc may be a good idea.
16:18 TimToady well, I'm not sure if any of this helps me with assignment parsing...
16:19 Juerd I can argue assignment parsing three ways, so I'm fine with either solution.
16:19 PerlJam TimToady: yes.
16:19 particle_ for( $tangent= 0; ...
16:21 TimToady this is all about as easy as a protein-folding problem...
16:21 TimToady but I think we're solving it much the same way that nature does.
16:21 TimToady just keep rattling around till you find a lower-energy state...
16:23 Juerd I hope we can de better than nature.
16:23 Juerd s/ de / do /
16:23 particle_ better coding through physics?
16:23 particle_ perhaps 'metaphysics' is more appropriate
16:24 PerlJam particle_: so where's the moral equivalent to moose?  :)
16:25 TimToady I think moose and squirrel are morally equivalent.
16:25 TimToady Boris and Natasha are bad though.
16:25 PerlJam TimToady: Watch me pull a rabbit out of my hat!
16:26 TimToady that trick never works
16:26 PerlJam Well, it'd better work for perl6 ;)
16:26 TimToady nothing up my sleeve...
16:26 TimToady sec&
16:29 PerlJam meaningless (to most people) trivia:  A lady I used to work with had her name legally changed to "Rocky" because of childhood trauma and a certain moose+squirrel got her through it.
16:32 rgs "my step sister was bitten by a møøse"
16:36 * particle_ thinks timtoady is the moral equivalent of mr. peabody
16:37 PerlJam TimToady has a wayback machine?
16:38 PerlJam It would be much nicer if he had a wayforward machine so he could peek ahead at what perl6 looks like and then just design it that way.  :)
16:38 particle_ perl6 lets you program in all the languages of the past :)
16:40 PerlJam But I want to program in a language of the future!
16:42 vel6608 joined perl6
16:48 bjoern_ joined perl6
16:50 rw-rw-r-- PerlJam: You think they could design a wayforward machine that really goes ahead *that* far? ;)
16:50 * rw-rw-r-- ducks
16:51 PerlJam Is that you Wassercrats?
16:51 Limbic_Region are any tests supposed to be failing on Win32 ATM?
16:56 particle_ juerd: could you install Test::Base on feather? for testing APL on parrot
16:56 Juerd particle_: Sure
16:57 Juerd particle_: Done
17:02 Captain_Fourier hello, how do i add myself to the project on foundry
17:02 KingDillyDilly joined perl6
17:03 KingDillyDilly Who do you think is me?
17:04 audreyt Captain_Fourier: I think it's done already
17:04 Captain_Fourier oh ok
17:04 audreyt Captain_Fourier: see backlog; can you commit again?
17:04 Captain_Fourier thanks audreyt
17:04 svnbot6 r10567 | cfourier++ | Adding a test case for recursive operators
17:05 Captain_Fourier guess so
17:05 KingDillyDilly Anyway, it's not me.
17:05 audreyt Captain_Fourier++
17:06 particle_ juerd++
17:08 Limbic_Region audreyt - did you see TimToady's ping from earlier?
17:08 mj41_ joined perl6
17:08 Limbic_Region also, are any tests supposed to be failing currently on Win32
17:09 Limbic_Region oh, /me sees you did indeed chat with TimToady - must have been at lunch
17:09 audreyt TimToady: wow.
17:09 audreyt IMCC syntax error calls "Parrot_exit"
17:09 audreyt untrappable
17:11 audreyt contacting leo for a fix
17:14 KingDillyDilly left perl6
17:15 clkao audreyt: new modinstall release?
17:16 audreyt clkao: find Alias on #perl
17:18 clkao ah right.
17:29 shachaf joined perl6
17:34 shachaf joined perl6
17:34 svnbot6 r10568 | audreyt++ | * parrotembed.c - first sketch at working around Parrot/IMCC's
17:34 svnbot6 r10568 | audreyt++ |   abysmal state at exception raising and handling.
17:37 KingDiamond joined perl6
17:37 premshree_ joined perl6
17:38 premshree_ left perl6
17:39 premshree_ joined perl6
17:40 elmex joined perl6
17:40 premshree_ left perl6
17:44 Captain_Fourier eval? my $a = 5
17:45 Captain_Fourier eval? if ($a == 0) {1;} else {2;}
17:46 Captain_Fourier ?eval my $a = 5
17:46 evalbot_10557 is now known as evalbot_10568
17:46 evalbot_10568 \5
17:47 Captain_Fourier ?eval if ($a == 0) {1;} else {2;}
17:47 evalbot_10568 Error: Undeclared variable: "$a"
17:48 audreyt it's not persistent
17:48 Captain_Fourier i was trying to emulate a weird bug i get when i run pugs
17:48 Captain_Fourier pugs> my $a = 5
17:48 Captain_Fourier 5
17:48 Captain_Fourier pugs> if ($a == 0) {1;} else {2;}
17:48 Captain_Fourier 5
17:50 audreyt it's not really a bug...
17:50 audreyt the statement "if" has no return value
17:50 audreyt so the previous rv is displayed
17:51 audreyt but I agree it's surprising
17:51 Captain_Fourier i would think the number should be it
17:51 Captain_Fourier but thanks for the explanation
17:51 TimToady statement "if" has to be able to have a return value if it's the last statement in a block.
17:52 audreyt Captain_Fourier: write a test?
17:52 Captain_Fourier now i dont get these issues if i just write a file
17:53 audreyt is((do if (1) { 2 }), 2)
17:53 audreyt something like that
17:53 audreyt hm indeed
17:53 audreyt fixing
17:53 Captain_Fourier like if that input were 2 lines in a file they work fine
17:53 audreyt fixed
17:53 wolverian audreyt, maybe we need a testbot so we can write tests in-channel
17:53 Captain_Fourier pugs> my $a = 5; if ($a == 0) {1;} else {2;}
17:53 Captain_Fourier 2
17:54 TimToady audreyt: what do you think of decoupling context from "$a =" decision?
17:56 svnbot6 r10569 | audreyt++ | * Give up hope on multiply embedding parrot for now.
17:57 clkao audreyt: did you get around to make jsbackend smoke pass?
17:58 audreyt clkao: that's tomorrow
17:58 audreyt TimToady: you mean upon parsing it's always listop unless very-clearly unary
17:58 audreyt and cxt becomes dynamic?
17:58 TimToady as discussed in BL, possibility of only $a = parsing as scalar
17:59 TimToady everything else parses as list,
17:59 TimToady but context is dwum semantically
17:59 audreyt i.e. cxt is no longer statically inferrable even locally
17:59 TimToady either at compile or run time.
17:59 audreyt but if compile time, then certainly parse time as well, no?
17:59 audreyt same amount of information
17:59 TimToady but could be analyzed after the parse is done.
18:00 audreyt but all info is present before we see the =
18:00 audreyt it can't depend on RHS
18:00 TimToady true
18:00 audreyt so analysis is going to give the same result
18:00 audreyt iff it can be done statically
18:00 TimToady I'm just getting the jitters about the current formulation.
18:01 TimToady mostly from an explanatory perspective
18:01 elmex_ joined perl6
18:01 TimToady but I suppose "it dwims" is sufficient most of the time.
18:01 audreyt understood, but I think it's easier to couple them
18:01 audreyt otherwise
18:01 audreyt "it parses as listop but runs the expressions asif it's a scalar"
18:01 audreyt is a bit unprecedented.
18:01 TimToady okay, then I'll leave it as is currently (note that it's ANY[SIMPLE] though currently.
18:01 audreyt k
18:02 TimToady not just $a[SIMPLE]
18:02 audreyt k
18:02 TimToady is this something that slowed down the parser before?
18:02 audreyt can you find some soul to write tests for that? :)
18:02 audreyt the runtime actually
18:03 audreyt it's currently dynamically inferred on each assignment call
18:03 audreyt I'd like to lift it to parsetime
18:03 TimToady at run time?  curious.
18:03 TimToady sure
18:03 audreyt at run time = because I depend on funsig
18:03 TimToady I guess MMD would force runtime
18:03 audreyt and funcsig can change
18:03 TimToady righto
18:03 audreyt yes.
18:03 TimToady okay.  I can probably write some tests myself.
18:03 audreyt which is why we had this SIMPLE discussion at the first place
18:03 audreyt yay
18:04 audreyt TimToady++
18:04 ludan joined perl6
18:04 audreyt I clearly should sleep
18:04 audreyt Captain_Fourier: I'll checkin the if(){} fix tomorrow
18:04 ludan re
18:04 TimToady you should sleep clearly
18:04 TimToady related to colorless green ideas, I suppose
18:05 Captain_Fourier cool
18:06 TimToady myself, I should go to work about an hour ago...
18:07 audreyt btw, all tests should pass for you with embedparrot now
18:07 audreyt as of r10570
18:07 svnbot6 r10570 | audreyt++ | * Allow recovery from abysmally fatal Parrot failures.
18:08 TimToady okay, 566 didn't...
18:08 audreyt its 570 that fixed it
18:09 TimToady will resmoke at $job.
18:09 TimToady audreyt++
18:09 audreyt at the cost of some three or four longjmp()s.
18:09 audreyt np :)
18:09 TimToady C, C, senorita.
18:09 audreyt aye
18:09 audreyt *wave* &
18:10 TimToady sweet colorless green dreams.
18:10 TimToady commutating &
18:18 hexmode joined perl6
18:22 unobe_______ joined perl6
18:22 mako132 joined perl6
18:40 Captain_Fourier left perl6
18:49 xern_ joined perl6
19:11 larsen joined perl6
19:31 weinig|away joined perl6
19:33 weinig|away is now known as weinig
19:33 hexmode joined perl6
19:42 Gruber joined perl6
19:50 Gruber is now known as Grrrr
20:06 Grrrr joined perl6
20:06 larsen joined perl6
20:06 mako132 joined perl6
20:06 ludan joined perl6
20:06 mj41_ joined perl6
20:06 vel6608 joined perl6
20:06 ruoso joined perl6
20:06 cognominal joined perl6
20:06 Limbic_Region joined perl6
20:06 particle_ joined perl6
20:06 marmic joined perl6
20:06 froh-doh joined perl6
20:06 f0rth joined perl6
20:06 bx420 joined perl6
20:06 avar joined perl6
20:06 chihchun joined perl6
20:06 knewt joined perl6
20:06 drbean joined perl6
20:06 clkao joined perl6
20:06 nnunley joined perl6
20:06 leo joined perl6
20:06 pmichaud joined perl6
20:06 ingy joined perl6
20:06 wolverian joined perl6
20:06 Juerd joined perl6
20:06 PerlJam joined perl6
20:06 audreyt joined perl6
20:06 webmind joined perl6
20:06 chip joined perl6
20:06 Kattana joined perl6
20:06 gugod joined perl6
20:06 Steve_p joined perl6
20:06 hcchien joined perl6
20:06 pjcj joined perl6
20:06 Bleadof joined perl6
20:06 SubStack joined perl6
20:06 rgs joined perl6
20:06 amv joined perl6
20:06 rw-rw-r-- joined perl6
20:06 cookys joined perl6
20:06 locksy joined perl6
20:06 lichtkind_ joined perl6
20:06 marcus joined perl6
20:06 Ymmv joined perl6
20:06 clkao_ joined perl6
20:06 oozy joined perl6
20:06 Shabble joined perl6
20:06 sri_ joined perl6
20:07 clkao_ joined perl6
20:11 clkao_ joined perl6
20:15 beppu joined perl6
20:27 DaGo joined perl6
20:28 prefiks joined perl6
20:35 macli joined perl6
20:35 penk joined perl6
20:39 SamB joined perl6
20:47 larsen joined perl6
20:56 svnbot6 r10571 | lwall++ | Tests for compile-time assignment dwimmery.
21:11 svnbot6 r10572 | fglock++ | ChangeLog - logged misc/pX/Common/* - please review!
21:19 DaGo joined perl6
21:23 Ymmv joined perl6
21:30 stephanepayrard_ joined perl6
21:42 Limbic_Region joined perl6
21:50 svnbot6 r10573 | lwall++ | Couple tweaks to recursive factorial test.
21:53 svnbot6 r10574 | lwall++ | Hide factorial parsefail inside eval so TAP matrix comes out redder.  :)
22:03 TimToady <audreyt> btw, all tests should pass for you with embedparrot now
22:03 TimToady if I run the GATTACA tests by themselves, they now catch the Parrot explosion.  However, if I run them as part of array_cap.t, they still segv.
22:04 TimToady hence the red spots in my TAP matrix.
22:06 TimToady (running with parrot r12885, if it matters)
22:06 buu joined perl6
22:09 TimToady hmm, actually, it's the second GATTACA test that's segfaulting.
22:13 ruoso joined perl6
22:23 mugwump heh, I like your description about virtualised time and atomicity TimToady
22:24 mugwump corresponds very closely to ACID ideas
22:25 cognominal joined perl6
22:31 macroron joined perl6
22:46 leo audreyt: linking pugs/bugs with embedded parrot seems to need 'export LD_LIBRARY_PATH=...', *if* parrot isn't installed (linux/x86)
22:53 TimToady leo: I always install parrot, and I'm seeing the segfaults too, if that's what you're talking about.
22:54 bx420 if pugs is functional and it's adopted.  is it equivalent to the real perl?
22:54 leo no segv - it's not even building w/o export LD_LIBRARY_PATH
22:54 TimToady k
22:54 leo testing now
22:54 bx420 in the sense that Perl 5 was written?....i guess perl 5 is in C?
22:54 TimToady bx420: what do you mean by "functional", "adopted", and "real"?
22:55 bx420 i don't know.  i'm asking if you can take pugs and rename it #!/usr/bin/perl
22:55 bx420 and it would be like Perl 5.....the real thing?
22:55 bx420 the better perl
22:55 bx420 6
22:56 bx420 i'm confused about the new name
22:56 TimToady at this point pugs makes no attempt to try to emulate Perl 5.
22:56 bx420 it could'd been perl6 unfinished/work in progress
22:56 jsiracusa joined perl6
22:56 QtPlatypus If your asking will pugs ever be a drop in replacement for perl(lowercase) I don't think it will ever be.
22:56 mugwump bx420: atm perl6 is a language, not an implementation.  there are at least 3 implementations in progress
22:56 bx420 they don't call whatever the latest python by a different name so i guess that's where it confuses me
22:57 szbalint bx420: what new name?
22:57 mugwump eg, with java you have to talk about language version and which JVM/compiler you are using
22:58 bx420 this is strange i guess.  what's the need for competing implementations?
22:58 bx420 there's only one gcc, perl, python, etc.  i guess you can say borland C++, ms C++, etc.
22:58 QtPlatypus Mostly its to get around the bootstrapping .
22:58 mugwump they're complementary in many ways, not competing
22:58 leo bx420: at least CPython, Jython, PyPy come to my mind and there are more (e.g. the .net thingy)
22:59 TimToady and in the sense that they compete, it's a friendly competition that keeps each project honest.
22:59 mugwump besides, it's not about "need"; no-one dictated from high that anyone even implement perl 6 at all
22:59 TimToady but they're all trying to converge on a common goal.
22:59 szbalint bx420: in a way you're right. perl the interpreter/compiler is the Perl 5 design document. Perl 6's design documents are the Synopses
22:59 mugwump there was no high to dictate from, really - without getting metaphysical
23:00 TimToady the only thing I saw on high was flying mugs.  :)
23:00 QtPlatypus @larry isn't on high?
23:00 lambdabot Is that a hornpipe in yer pocket, or arr ya just happy ta see me?
23:00 szbalint s/design document(s)?/specification/
23:00 mugwump but what do you know, in the end three implementations are being built because people enjoy working on them
23:01 QtPlatypus Because it scratches there an itch.
23:02 QtPlatypus mugwump: pugs, parrot and ? (What is the third implementation)
23:02 mugwump lrep.  oh, and I forgot MiniPerl
23:02 * mugwump doesn't pick nits at parrot being called a perl6 implementation there
23:03 TimToady hey, it already runs some of the sanity tests...
23:03 marmic_ joined perl6
23:04 mugwump I mean, there's a perl6 implementation written using and distributed with parrot, but that's not parrot
23:05 TimToady gotcha
23:05 QtPlatypus mugwump: Point taken its like saying hascall is a perl6 implementation.
23:05 mugwump or GNU as is a C compiler
23:05 szbalint "hascall" very well could be. Not a bad name. :)
23:06 weinig is now known as weinig|out
23:07 QtPlatypus Excuse spelling, though it is a good name for soemthing else.
23:11 penk joined perl6
23:15 leo bx420: IronPython was that one, and there's Stackless - a lot of implementations (all a bit different) for one language
23:17 TimToady so another reason for developing all these things in parallel is to try to understand all these little differences in advance, and maybe even tweak the language design to minimize them, and test for conformance with a standard test suite.
23:20 * ayrnieu still amused by Vyper -- an implementation of Python in O'Caml with IIRC a very silly license.  Why go to such obviously silly trouble to then get creative with your license?
23:26 bx420 there are people who wrote languages for the purpose of writing new languages
23:26 bx420 ANTLR
23:39 QtPlatypus Why did python end up with so meany implementations when perl5 only ended up with 1 and a 1/2?
23:40 bx420 no idea
23:48 cognominal with perl5, the implemantation is the specification
23:53 szbalint Yes, maybe thats why.
23:54 cognominal there is many way to code in Perl, but there is only one perl :)
23:58 mugwump heh, there's semantic efficiency for you: the Chinese term for "opium eater" (癮君子 / yǐn jūn zǐ ) also means "chain smoker"

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

Perl 6 | Reference Documentation | Rakudo