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