pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (214/4453, r2198), Mac OS X (160/4483, r2216) | pugs.kwiki.org
Set by theorbtwo on 22 April 2005.
Corion Grrr. The build is broken, at least at r2222 00:05
Could not find module `Pugs.Types.Pair':
... but then, it's bedtime for me anyways :)
Corion goes to sleep 00:07
theorbtwo G'night, all. 00:08
nothingmuch sighs 00:30
does anybody know how to debug javascript? 01:12
i'm causing s5's js to freeze
fudging spork templates
01:23 sbkhh is now known as Odin-
stevan nothingmuch: ping 01:25
nothingmuch PONG 01:26
stevan debugging JS
are you using Safari? 01:27
nothingmuch safari crashed 01:29
switched to moz
but solvee
d
stevan ok
nothingmuch it was an old version of a the .js by accident
stevan yeah Safari has horrible JS debugging
nothingmuch couldn't handle the DOM
stevan you have to activate the Safari debug menu, and then it logs exceptions to console
but not very good errors
Firefox's JS console is much better 01:30
nothingmuch wooo! spork can now make proper s5 01:48
with class="incremental" and all
02:21 metaperl__ is now known as metaperl_
nothingmuch good night 02:37
02:50 khisanth__ is now known as Khisanth
autrijus sorry for breaking the tree. it's now repaired. 03:05
family &
ingy nothingmuch: ping 03:08
nothingmuch: I got your email, but no patch 03:09
03:11 metaperl__ is now known as metaperl_
autrijus also: perlmonks.org/?node_id=450638 03:11
&
06:16 castaway_ is now known as castaway
masak morning 07:07
Corion A good morning! 07:46
cls_bsd B good afternoon 07:47
Corion r2224 - datenzoo.de/pugs/win2k.html 08:07
pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (175/4315, r2224), Mac OS X (160/4483, r2216) | pugs.kwiki.org 08:07
masak is stuck in a compulsive svn up/compile loop 08:22
does anyone know where to get good info on kwid?
Corion masak: Punch Ingy 08:32
masak corion: ok 08:40
Corion pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (156/4334, r2227), Mac OS X (160/4483, r2216) | pugs.kwiki.org 08:57
masak is the following correct behaviour? 09:02
bash-3.00$ pugs -e 'my $a = [1, 2, 3]; say $_ for $a' # prints 1 09:03
gaal Can anyone explain Prim.hs:993 and around, where ther'es special treatment for unary ops? 09:07
looks like a breakout kinda deal, where a unary can in fact be n-ary? Is that for someop @array?
Corion Hmmm. Should there be any difference in sub foo(Array @got) { ... }; foo(splice(...)); # and my @res = splice(...); foo(@res); ? 09:24
From what I think I see, @res = splice() # propagates list context to the splice() call, but foo(splice(...)) doesn't.
Is that a bug? Is that a feature? Where would it be described, and where are the context calls tested? 09:25
autrijus greetings. 09:33
I've eliminated the context call code... give me a sec to check it in 09:34
jhc is progressing rapidly. I think we can and should steal its code ;)
(jhc = another haskll compiler written in haskell, and in some case generate far more optimized code than ghc) 09:35
and it's also written by someone as his second haskell project :)
Corion autrijus: Ah - so I should revert my changes to the test that removed the dependency on the context? Should we write a test that checks the context propagation for foo(bar()) ? 09:36
autrijus: The people actually writing Haskell by choice (and not by force) seem to be competent :)
... Haskell doesn't seem to reward idiotic coding behaviour as much as Perl does :-) 09:37
S06 doesn't talk about context and how it is propagated :(
autrijus but I have pretty good idea of it now :)
basically, if an operator has a slurpy signature, it imposes slurpy context on the arguments in those positions 09:38
Corion autrijus++
autrijus otherwise it imposes item context.
that's all. yaya 09:39
Corion autrijus: So, should I think about how to infer context without using want() ? Or should the context testing simply use want() ?
autrijus I think using want() is probably good enough for now
Corion autrijus: Are you aware of anything existing that explicitly tests the context behaviour? I didn't find anything below t/subroutines/ to that regard... Or should that go into t/builtins/want.t ? 09:40
Corion jots down a small test that checks for the identity of @res = foo(); bar(@res) and bar(foo()) 09:41
masak i get unexpected results when iterating over an arrayref 09:43
pugs -e 'my $a = [1, 2, 3]; say $_ for $a' # prints 1
autrijus I think that's correct. 09:44
hrm 09:45
no
it should've printed the strigified [1,2,3]
sec.
masak oki
autrijus is fixing list association parsing
masak it also only prints one element when iterating over nested arrayrefs
pugs -e 'my $a = [[1,2],[3,4]]; say $_ for $a' # prints 1 09:46
very strange 09:47
autrijus the comma was broken. apologies 09:49
Corion Hmmm. I think I have some new interesting tests in want(), and maybe a bug in splice, but I'm not sure. I'll commit now ;) 09:51
09:53 integral is now known as integral|ZzZzz
autrijus praises parsec 09:54
landed! 09:55
r2230 09:56
Corion Ah. I think I found a bug in splice() - in scalar context it should return the last result of the result-list and not of the original array, shouldn't it ? 09:57
autrijus I'd think so.
Corion ... at least my test results point in the direction that there is a bug :)
autrijus good :)
care to run another round of smoke for r2230?
I _think_ it won't break everything. 09:58
Corion autrijus: Just committing and now starting a smoke session
autrijus ok. I'm fixing abs.t bug, orthogonal to other things 09:59
Corion Bwahahah :) jhc is, again, using Perl :)
They should simply embed Perl! :) 10:00
autrijus: r2231 builds and is now smoking
autrijus haskelldirect does embed perl :)
although I think Inline::GHC will make it even easier
I think there is a distinct advantage in mixing the most practical and the most elegant languages together :) 10:01
that neatly kills the waterbed complexity problem.
"everything becomes trivial"
because each one is, from the other one's side of view, making "hard things easy and easy things possible" 10:02
Corion autrijus: You mean, just put everything into the RunPerl monad! :)
autrijus yes!
Corion err - Eval
:)
autrijus :)
(but we can safely ignore the two 'easy things possible' bits)
abs.t fixed 10:04
Corion Ooops - pugs: src/Pugs/Eval.hs:324:12-33: Irrefutable pattern failed for pattern [Pugs.AST.Var name, exp] 10:09
in t/operators/binding.t
10:09 castaway is now known as theorbtwo
autrijus yeah, that's parenthesized binding 10:10
theorbtwo wonders if he should be worried about the poliferation of symbolic references.
(Probably not.)
autrijus symbolic references?
the bindings things worries me.
theorbtwo Var is the name of a variable.
autrijus theorbtwo: you'd like to somehow use unique id generators? 10:11
that is little win at the AST level I think.
$x := $x; # this is no-op or infinite loop?
theorbtwo So long as they don't end up leaking across scopes.
autrijus $x := $x + 2; # what about this?
theorbtwo: you can't put a Var into a Val 10:12
theorbtwo: neither can you deref it as part of AST
theorbtwo OK then.
autrijus so we are safe. I can see the case of MkVar just to make things clear.
(just like MkType)
newType Var = MkVar String deriving (Show, Eq, Ord)
err, newtype Var = MkVar String deriving (Show, Eq, Ord)
then fix all type errors
you up for it? :)
(that will eliminate accidentally mixing the Var type with Strings) 10:13
theorbtwo $x := $x is a nop -- "$x now refers to the variable formerly known as $x."
autrijus what about functional application then.
$x := fun($x)
theorbtwo Possibly later; right now I'm hacking at Jess's CSS.
autrijus sure.
theorbtwo Not sure what happens when you have an expr on the RHS of the := operator. 10:14
autrijus yet we allow
$x := @a[0][2][3]
theorbtwo Possibly make it a nonlazy thunk?
/always/ compute the /current/ value of @a[0][2][3]?
autrijus or does that it autovivify @a[0][2][3] immediately?
aha.
theorbtwo rvalue never autovivs.
autrijus well, but does it autovivify or not?
then it is conceptually a thunk. 10:15
$x := @a[0] is no diff from
$x := deref(@a, 0)
and is very diff from
$x := $a
this inconsistency is bad.
theorbtwo Not very different; either way you always get the current value of the thing on the right hand side.
autrijus no, not really.
theorbtwo (Using the pad in effect at the time the RHS was written.)
autrijus $x := $a; $a := $z; 10:16
$x = 3;
should $z change?
18:16 < autrijus> $x := $a; $a := $z;
18:16 < autrijus> $x = 3;
should $z change?
theorbtwo No, $x became the variable fomerly known as a.
autrijus but!
$x := $a[0]; $a := $z; 10:17
$x = 3;
$z[0] changes.
or does it?
theorbtwo Ooof.
autrijus it has to change, or $a[0] needs to vivify.
I don't see a third option
theorbtwo The reference in the thunk needs to be a hard reference. 10:18
autrijus if it changes, that := is very different from the former :=
but you can't hard reference to something that wasn't there.
$x := $a[0]; $x = 3; # error!?
theorbtwo Mm.
OK, I'm offically confused.
autrijus good. I am too.
I will take the "always thunking" interpretation
and outlaw ($x, $y) := ($y, $x)
and write p6l.
10:19 theorbtw1 is now known as castaway
castaway $x := $a[0] looks like an error to me 10:20
autrijus I wush.
wish.
S06:
my $pivot := shift @data;
(who => $name, why => $reason) := (why => $because, who => "me"); 10:21
castaway where @data didnt exist previously?
autrijus better, s09
@b := @a[0...:by(2)]
explain that? :)
machack666 I was wondering about the adverbs and range ops myself
autrijus my $endpos := $string.chars; # $endpos == 3 10:22
machack666 I assume that the range op is a function to which the adverb is passed as an additional parameter at the end
autrijus (a12)
castaway is the word "binding" described anywhere ?
machack666 isn't it just a variable alias 10:23
autrijus castaway: yes, s02.
but it does not explain
my $endpos := $string.chars;
which is very troubling.
theorbtwo Are there any examples where it gets called more then once?
castaway tnx.nl/S02 (lazy typist) 10:24
autrijus castaway: cool
theorbtwo my $pivot := shift @data would seem like an odd thing to do under the always thunk interp.
autrijus theorbtwo: $endpos?
in a12 $endpos is called multiple times.
castaway except its not dwiming..
machack666 is it bound to the chars array in scalar context, i.e., when the size of the array changes, the variable is automatically updated?
I don't know if it is bound to the array, or bound to the method call... 10:25
theorbtwo I was taking the interpretation that there wasn't a variable there to update, only the thunk.
Corion r2231 - datenzoo.de/pugs/win2k.html
masak my @a = (1..Inf); @a := @a[0...:by(2)] # ouch :) 10:26
Corion (next smoke starting)
theorbtwo "... if you bind to a position rather than assign, it tracks the string in question"
That sounds like always thunk. 10:27
Sadly, in the example he uses, I can't think of a way that it wouldn't always be 3.
machack666 is there a link for what thunks are?
or a quick description?
autrijus my ($x, @a); 10:28
$x := @a[-1];
machack666: thunks are closure functions that takes no arguments. 10:29
castaway that endpos example seems fairly clear to me
autrijus castaway: clear in the sense that it is thunking?
then
$x := $x; # should then be infinite loop 10:30
castaway It shows that $endpos gets set to 3, but changes to the string var will cause $endpos to change
castaway has no idea what thunking is
autrijus castaway: thunking means that the variable is linked to an expression
not a storage location
that is like saying
machack666 so the question is whether the closure is recalled each time we access the bound variable, or if it is initialized to the value of the variable or expression assigned to
autrijus $endpos = mkProxy(sub { $string.chars }); 10:31
and all read and write to $endpos will be read and write to the thing yielded by evaluating that sub.
castaway (fun, it looks like an elisp marker, btw)
isnt it vice versa?
theorbtwo Here's another fun one -- if it's an always-thunk, then unoptimizables can be passed around willy-nilly all the time. 10:32
machack666 so is there an implicit lvalue returned from the mkProxy?
autrijus machack666: if you use it as lvalue then it calls that closure using lvalue context
theorbtwo: what is unoptimizables?
castaway: uh, I was explaining the thunking, not the storage location 10:33
theorbtwo Things you can't do common subexpr optimizations on, because they might change value while you aren't looking.
castaway I'm going to say its not thunking.. just for the hell of it. how would it calc its current status, at all? 10:34
(also, for bonus points, hows it get set to anywhere in the middle of the string, and not just the end/beg pos?)
autrijus theorbtwo: ah.
Corion castaway: I would assume that middle position needs an "absolute" thing, while only "-1" can be relative. 10:35
theorbtwo $x = instr('x', $foo);
Corion Even "0" has no way of discerning if it's meant to be relative or absolute
theorbtwo $foo='10 x 3'; #$x now 4. 10:36
Corion (all negative indices will be "absolute" from the end of the string)
castaway it would be had you used :=
theorbtwo $foo='4x4'; # $x now 2.
Er, make that $x := instr...
castaway ok, making it be instr makes sense, because you can run that expr everytime, and get the right answer 10:38
but Larrys example in A12 does something different 10:39
$endpos doesnt always point to the end of $string, so it cant just run .chars everytime
it points to where that particular part of the string ends.. (thus the second half of the example sets it to 2, not 5)
so, as I just asked, what expr would it be linked to there?
machack666 if the chars array is the same for the variable and is just grown/shrunk for additions/reassignments, binding to the array itself would have the impact of returning the current length, would it not? 10:41
that doesn't help with the relative indicies, but it explains the endpos.
positive indices would be bound in a fixed location 10:42
theorbtwo When you call .chars, .instr, etc, you don't get an integer, just something that nummifies when forced. 10:43
(IE with the == operator.)
castaway machack666: that made no sense to me 10:44
autrijus I have worked it out!
theorbtwo Woo! Tell us all about it?
machack666 not surprised; I've only had 10 hours of sleep in the last 4 days
Corion r2232 - datenzoo.de/pugs/win2k.html 10:45
castaway copies a chunk of the elisp manual on positions into A12 .)
Corion castaway: Yep - that stuff surely sounds like it's from (or for) a text editor. But it's a useful concept to have :) 10:46
theorbtwo wonders if Larry was simply crazy trying to use := (which tends to change things behind your back) with position objects (which tend to change behind your back).
Corion So now, Perl can also claim to have stolen from Emacs and vi, in addition to programming languages :)
pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (81/4418, r2227), Mac OS X (160/4483, r2216) | pugs.kwiki.org 10:47
theorbtwo Emacs isn't a programming language? 10:47
broquaint How? It sounds crazy, in a good way.
Corion pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (81/4418, r2232), Mac OS X (160/4483, r2216) | pugs.kwiki.org 10:47
castaway elisp most certainly is one 10:47
(and vi's plugin lang sounds like one)
machack666 castaway: what I mean is if there is a fixed memory location for the underlying character string, and binding is just like keeping another pointer around, then changing the data structure referred to at that pointer will be reflected in the bound value. 10:48
broquaint I hope none of vi's syntax has been borrowed, or Emacs macros for that matter ...
theorbtwo still wants to know what it is that Autrijus figured out.
Corion broquaint: rx:Perl5// :)
castaway umm.. (ick, pointers ;) 10:49
theorbtwo
.oO(Inline::TECO?)
broquaint No comprende amigo ;)
machack666 I don't know about the haskell world for the implementation ... I'm coming from a C background
broquaint pointers++ # the power! the pooowweeeerr!
Corion broquaint: The regular expression syntax is close to vi syntax ;) 10:50
machack666 has learned from the error of his ways
autrijus haskell has plusPtr too :)
machack666 :)
autrijus it even has castPtr :)
Ptr a -> Ptr b
the horrors
Corion moves outside. maybe later.
&
machack666 nothing beats (void*)0 = 1
:D
castaway machack666: me no haskell either..
machack666 i'm learning
autrijus so, I've worked things out
need to run now
theorbtwo machack666: What's really scary is when that doesn't segfault, but actually does something.
autrijus see the latest p6l post
castaway hey unfair 10:51
theorbtwo Eeep! The suspense!
machack666 yaht was good, as was the 2 dozen short lessons
machack666 has a garage sale to go prepare. Oh, and a place to collapse somewhere
gaal forum2.org/gaal/pugs/smoke-linux.html # r2231 linux
machack666 ok bye
autrijus www.nntp.perl.org/group/perl.perl6....uage/20536
castaway ah, thanks 10:52
castaway found yaht icky ;)
autrijus bbl &
nothingmuch morning! 10:56
castaway allo nm 11:04
nothingmuch_ hola!
11:06 nothingmuch_ is now known as nothingmuch
Juerd rehi 11:06
nothingmuch mugwump: ping 11:09
11:15 TUBAN is now known as Smokin 12:03 castaway is now known as theorbtw1 12:04 theorbtwo is now known as castaway, theorbtw1 is now known as theorbtwo
castaway keyboard dances 12:04
Juerd It was scary to see you morph into eachother
Do you do that often?
theorbtwo Aaaah, much better keyboard.
castaway *g*
not too often
theorbtwo doesn't like her keyboard, browser, or window manager. 12:05
So no.
castaway but I poked him into looking at my CSS this morning..
castaway sticks her tongue out at theorbtwo
Juerd got new glasses today. Well, we just picked frames, and in a week they're getting me a new prescription.
castaway nifty
theorbtwo Cool. 12:06
Juerd It's a neat thing that has sunglasses that attach to the normal frame with magnets.
theorbtwo Thick frames, or really good magnets?
Juerd There are magnets in both the normal frame and the sun front.
And no, not thick frames 12:07
Whehehehehe
"readme.rtfd"
castaway d= ? 12:09
Juerd I don't know 12:12
But I read it as read the fucking documentation
The first few seconds, rich text format D-something didn't even occur to me :) 12:13
Odin-LAP ;)
castaway bah, silly when the HTML editor has better/different CSS support to the actual browsers 12:24
theorbtwo IE. 12:30
And worse.
Would some Hebrew-speaker please tell Jess how to pronounce "sigil"? 12:56
castaway siggle! 12:57
theorbtwo Oh, it's from Latin, so I'm possibly asking on the wrong channel.
castaway Corion! 13:07
Corion re
theorbtwo Hm, this is not as easy as Autrijus made it out to be, and apparently a Var can be an Exp.
Corion castaway: "sidjil" 13:09
castaway siggle!
theorbtwo cxtOfExp :: Exp -> Eval Cxt has as a case cxtOfExp (Var (c:_))
cognominal sigil seems a common word in role playing 13:16
theorbtwo Unsurprising: A sigil is a magic sign. 13:17
cognominal I wonder if Larry got it from there or from reading other litterature
I did not know the word before Perl 13:18
castaway hmm, basic had them, but I dont remember if the docs called them that
theorbtwo I'm not sure if I did or not; I'm well-versed in perl and mildly versed in various schools of the occult.
(IE enough that I know the magical connotations of the word sigil, but can't draw any from memory.) 13:19
castaway can draw musical siggles 13:20
cognominal sigils is proof enough that Perl is about black magic.
and with Perl6, we got double plus black magic with secondary sigils
theorbtwo Indeed.
Corion It's just like D&D 2nd rev. - we now got good/neutral/evil and chaotic/???/lawful 13:21
err - 2nd Ed., not 2dn rev.
theorbtwo ??? also eq neutral.
theorbtwo is good neutral.
Corion ... so Perl6 steals from Wizards of the Coast too, and not only from Wizards of the Ivory Towers 13:22
Corion is chaotic neutral.
theorbtwo Er, neutral good?
You're chaotic? I hadn't noticed.
Corion Now, is @ = lawful, $ = neutral, % = chaotic ? # at least for order of keys :)
theorbtwo: Nah, I guess I'm more lawful 13:23
theorbtwo For hackers, the easiest way to tell is generally one's attitude toward copyright infringement. 13:24
Corion theorbtwo: Hmmm. Well - do you mean "do you download DivX, or do you prefer complete DVDRips" ? 13:25
Ah. I think I've found out why all my tests can't seem to reproduce the erratic behaviour of splice() - lazy evaluation actually cares only about what the result is used for, and none of this "intermediate" stuff... So if I ever stringify stuff, I should do that front-up... 13:26
theorbtwo A lawful won't steal software, or will do so but feel bad about it. 13:27
A chaotic will steal all sorts of stuff, even though they have no purticular use for it, just to steal.
Corion theorbtwo: No. A lawful person has exact rules that are to be followed, and feels bad if these rules are violated
theorbtwo: A chaotic person needs/knows no rules
theorbtwo: Lawful/chaotic are more approaches - good/neutral/evil are the ends. 13:28
For example, a chaotic good might download a DivX from the internet, if it helps to educate children about teen pregnancy.
theorbtwo I thought the lawful-evil axis was generally about following the rules of society at large, and not one's own personal rules. 13:29
Corion ... and a lawful evil person prefers complete DVDRips, because then all is in orderly fashion.
theorbtwo: Lawful/evil is not an axis 13:30
theorbtwo Er, lawful-chaotic.
Corion theorbtwo: good/neutral/evil vs. lawful/neutral/chaotic
theorbtwo: IMO, it's the means you choose to reach your goals
(like, either, do whatever fits the situation, or have a predetermined way of doing things)
... but I never really played DnD :) 13:31
theorbtwo Neither have I.
Corion ... and arguing about DnD rules pretty much puts me in the lawful evil camp
theorbtwo Why evil?
Corion theorbtwo: Because arguing about rules is evil! :) 13:32
theorbtwo Ah.
castaway grins
Corion & 13:33
stevan nothingmuch: ping 14:12
nothingmuch pong 14:13
autrijus greetings! 14:54
bindings is fully implemented and committed. 14:55
any smokers around?
well, I'll just smoke a round and go to shower.
Corion A smoke is just running 14:57
r2234 though. 14:58
autrijus r2235 is the fix :) 15:01
Corion cancel+restart :) 15:02
15:02 sbkhh is now known as Odin-
Corion (because time is somewhat limited atm) 15:02
autrijus that's fine, I'm about to finish my run
so not really needed... although a comparison on win32 could not hurt
hm, that fix killed multidimensionality. 15:05
but I also see a UNEXPECTED SUCCESS
15:16 Odin_ is now known as Odin-LAP
stevan autrijus: I will start a smoke run 15:18
Corion r2335 - datenzoo.de/pugs/win2k.html 15:19
&
autrijus stevan: there's no real need to now :)
Corion++ # thanks!
stevan autrijus: ok
autrijus stevan: you can, however, help on changelog (again) 15:20
it looks like tonight may be it.
stevan autrijus: ok how long do i have?
autrijus I don't know... a couple hrs? 3 hrs?
stevan just placed the order for Algorithms :)
Aankhen`` Hi. 15:25
autrijus (is rw) implemented. 15:26
hey Aankhen``
stevan everywhere?
Aankhen`` Hola.
Are there any tests which are expected to fail on Win XP?
autrijus Aankhen``: 127 are expected to fail 15:27
but the value varies greatly now.
Aankhen`` Ah. 15:28
OK.
Just checking, since I seem to have failed a couple from builtins/arrays/splice
Aankhen`` goes to eat dinner while the rest of the tests run.
See y'all in a bit.
autrijus sure
wolverian I am having too much fun with my new electric drumset. :( 15:29
autrijus wolverian: that's cool
hey jhorwitz, Huskie. 15:32
jhorwitz morning..
wolverian autrijus: yes. I can now practice at home. 15:33
it is however taking away time from coding. 15:34
Juerd hopes the ..foo thing can bring Larry back to sanity (sanity being defaulting to $_ and $_ only.)
autrijus I ignored that insane thread.
Juerd It's a very sane thread :) 15:35
autrijus it... is?
Juerd The current latest suggestion is to use ..foo to mean OUTER::OUTER::$_.foo
Keeping $_ as an alias for $self
(Note that Larry still writes $OUTER::OUTER::_, which does not at all play well with the statement that the sigil is now part of the name) 15:36
autrijus I want $OUTER::OUTER::_.
I don't think OUTER::OUTER::$_ makes any sense.
(just fwiw.)
Juerd I think it makes a lot of sense
autrijus I think it breaks the purpose of sigils.
Juerd Because OUTER::OUTER:: is the namespace, and $_ is the variable in that namespace
autrijus you might as well as drop the sigils if you write that.
Juerd The entire purpose of sigils is already broken in Perl 6, as far as I'm concerned. 15:37
autrijus I think we are actually in vehement agreement.
Juerd Again?
autrijus yeah.
stevan autrijus: r2239 ChangeLog commited 15:41
its a big one this time :)
you might want to look over it once, some stuff I was unsure of whether to put in Bugs or Pugs Internals 15:42
autrijus sure is :) lots of things happened
sure
I'm particularly happy that the Types.Object introduction worked
that means the shift to OO core is at hand 15:43
currently it only handles .ref method
but more to come.
stevan autrijus++ :)
autrijus #perl6++ :)
cognominal OUTER::OUTER::$_ does not make sense to me 16:17
sigil starts variables
autrijus yeah. otherwise we kill interpolation 16:18
and other syntactic constructs.
Juerd: maybe you can answer this :) 16:20
Limbic_Region autrijus - did you get a definitive answer on thunking ?
cognominal he probably sees $_ as insecable
autrijus sub foo (@x) { say "@x[]" }; foo(reverse(123));
I argue it should say "123".
and not "321".
so I coded it that way. 16:22
Limbic_Region: no, but I will assume thunking.
cognominal excpet if you split '', 123
autrijus fwiw, X ::= Y is just
BEGIN {X := Y}
cognominal s/excpet/expcept/
autrijus or rather,
cognominal arf :(
autrijus X := BEGIN {Y}
split('', 123) should surely give @x as (1,2,3) 16:23
I can see the rules very clearly now :)
*@x -- slurpily consume expressions, *and* evaluate them slurpily 16:24
@x -- only accept one expression item, but evaluate slurpily
*$x -- slurpily consume one expression, evaluate it as an item
$x -- accept one expression item, evaluate it as an item
"slurpily" == "list context" and "as an item" == "scalar context"
Juerd 18:20 < autrijus> yeah. otherwise we kill interpolation 16:25
18:20 < autrijus> and other syntactic constructs.
18:22 < autrijus> Juerd: maybe you can answer this :)
It's a simple matter of including :: in interpolation: 16:26
"My name is ::OUTER::OUTER::$_"
Or using a closure:
"My name is { OUTER::OUTER::$_ }"
Don't forget that the sigil for classes is ::, optionally.
autrijus say "Your options are: ::CGI::$OPTIONS"
somehow not seeing it as nice. 16:27
mkdir "::FindBin::$Bin/tmp";
Juerd One shouldn't be interpolating variables from other packages *anyway*.
autrijus disagreed.
I interpolate $FindBin::Bin all the time
not seeing the harm of it.
Juerd Because that's the ugly way one currently does that thing 16:28
I see it as a hack, though.
autrijus I rest my case :)
Juerd Purely to be interpolateable, it's a variable :)
But with closures, that's no longer needed...
autrijus Juerd: so, you happy with the *@a @a *$a $a rule above? 16:29
cognominal how I understand juerd points now, the sigil is part of the unqualified name
so when you qualify it you got ::CGI::$OPTIONS 16:30
Juerd autrijus: I'll have to read it first... :)
18:26 < autrijus> *$x -- slurpily consume one expression, evaluate it as an item 16:31
No
It has to evaluate the expression in slurpy context and then use one of its elements.
autrijus right.
but it evaluates /that element/ in item context.
Juerd autrijus: It's not expression separator separated, when it comes to slurpiness
That element is not evaluated.
autrijus yeah. I should've been more clear.
Juerd It just is. 16:32
autrijus huh?
sub foo (*$x) { ... }; foo((), (), (), want())
surely the 'want' here is bound to $x under item context?
actually no. 16:33
I'm smoking some bad crack. you are entirely correct.
*$x is just is.
incidentally that's also what pugs does.
pugs> sub foo (*$x) { say $x }; foo((), (), (), want()) 16:34
List (Any)
I assume that's right
Juerd So do I.
autrijus cool :)
Juerd And if you used a function that returned multiple elements, the call would be a runtime error.
autrijus oh? 16:35
cognominal so, back to the sigil, who is right?
Juerd Too many arguments...
autrijus I thought all uncaught slurps are into *@_.
actually I'm pretty sure of that.
Juerd Only one argument can be bound. There's no implicit *@_ when there's any explicit signature, AFAIK
*@_ is default, but not implicitly appended.
Just like how "say" assumes $_ if there are no arguments, but it doesn't add $_ to its list when you "say $foo". 16:36
There's a *%_ in method constructors, or something like that, but that's unrelated.
s*method*object*
autrijus ah. 16:37
you are entirely correct. and I was entirely confused
Juerd It's like the default imaginary (@) prototype on Perl 5 subs
autrijus anyone up to write a test?
autrijus fixes it
Juerd It doesn't make ($) automatically ($@)
autrijus right. *@_ is there iff it's signatureless.
Juerd I'm not in coding health. I'm fighting myself to even be involved in discussions 16:38
autrijus yeah, that's why I asked "anyone" :)
Juerd (I hate myself for doing this, but either you care about something and it becomes an addiction, or you'd have to somehow stop caring...)
gaal (running smoke of 2245/linux) 16:48
autrijus ok, added "Too many arguments" checking 17:00
autrijus tries to test
elmex perl6 does tail recursion? does it optimize it? 17:04
autrijus I have no idea if perl6 does tail recursion or not. 17:17
wolverian &func.goto(@args) 17:19
although there is probably a trait for subs to do that automatically
(still looking.)
gaal hi all, i added haskell support to exuberant ctags. anyone interested? (i'm sending a patch to the authors of course, but i figure people might want it before the next ctags release :)( 17:21
also, i think i understand why the current 'make ctags' is broken
er, make tags, that is. -- 17:22
vim at least wants it sorted, with all uppercase letters coming before the lowercase ones.
autrijus we probably all use hasktags.
:)
but exctags support would be cool. 17:23
(note "make tags" in pugs)
gaal autrijus, did that work for you with vim? didn't for me.
autrijus hm? it used to work at least
gaal yes, which didn't work for me.
autrijus then I want your exctags patch :) 17:25
gaal perlbot nopaste 17:28
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "gaal" at 192.115.25.249 pasted "haskell tags. patch against exuberant-ctags-5.5.4" (84 lines, 2.6K) at sial.org/pbot/9604 17:29
gaal it's pretty simple, doesn't e.g. support whatchamacallits, subtypes, err, type constructors, but is a start. 17:34
autrijus *** Error: Too many slurpy arguments for &foo: 2 actual, 1 expected 17:36
good.
anyone care to add this as a dies_ok test? :) 17:37
sub foo (*$x) { say $x } foo(reverse(1,2))
should die as a catchable runtime error
gaal smoke for 2245 available at forum2.org/gaal/pugs/smoke-linux.html 17:38
autrijus, remember the Prelude idea? got time to start me up on that? 17:39
autrijus Prelude in perl6?
gaal yes, the builtins that are written in perl6 and compiled at pugs build time, and are loaded in memory right when a pugs instance starts. 17:40
autrijus right... I think just keep it in Prelude.pm and add an automagic -MPrelude for now. 17:41
gaal this is halfway between a pure perl Perl standard library and a pure hasekll standard perl library :)
we have a Prelude.pm?
you mentioned you had an idea for keeping around a parsed AST 17:42
i think. 17:43
4500 test cases. wow.
autrijus yeah, I had that, but we can do that when we actually ahve a Prelude.pm 17:44
gaal okay: i have a few things to put there. one is alarm(), which will probably get another name 17:45
the other is open()
which needs some parsing for the magical form
and is easier to write in perl
e.g. there's already support for parsing open ">>logfile"
but not for open "ls |" 17:46
Juerd There is support for a single argument open that can append? That is bad.
stevan autrijus: where should I put dies_ok test? for the sub
autrijus stevan: no idea... improvise :)
gaal also, i needed some help hiding the tuple (stdin, stdout, stderr, pid) for the pipe open.
stevan autrijus: what is it testing? sub args?
autrijus gaal: ok. just make a src/Prelude.pm and starts there 17:47
stevan: slurpy args are now bounded
yeah
Juerd bound
Or really bounded?
In that case, what does it mean in this context?
autrijus bounded.
it means that we now properly throws "too many arguments"
Juerd Oh, the parameters as a collection are bounded
autrijus yes.
Juerd I was trying to think of a way how they could be individually 17:48
autrijus no implicit *@_
gaal okay. i need a cheat way to call internal haskell prims; there's no convention for naming those, is there?
Juerd That's great, autrijus
autrijus gaal: nope. improvise
gaal OK. 17:49
stevan autrijus: r2249 t/subroutines/sub_arg_errors.t 17:51
autrijus stevan++
stevan it can be a catch-all for misc errors
I was going to start removing all the todo_* tests and replacing them with the todo named param
anyone want to help?
Juerd stevan: Isn't that a question of s/todo_// && s/;/ :todo;/ ? 17:52
(per line)
To at least get the most done automatically...
stevan Juerd: thats a thought 17:53
I was basically going to do that with my IDE :)
Juerd Are you sure you're a nerd? :)
stevan Juerd: uh,.. I,.. uh,.. mean, .. yeah ,.. gonna do it all in sed,... 17:55
Juerd sed?! 17:56
stevan sorry I mean assembler :P 17:58
Juerd: in all seriousness, since many people have coded these tests 17:59
we have so many varying styles, that its very difficult to do s/// for things like this
pjcj If only we had a language with rules to determine its structure which we could use to parse and modify programs. 18:04
autrijus whew. 18:10
* "is rw" and "is copy" implemented in full.
do we have tests for them?
stevan: also please update changelog :)
theorbtwo autrijus, two problems, though one of them may be outdated. 18:11
One is that Var is apparently sometimes used as an Exp.
autrijus huh.
Var :: Var -> Exp
it's just like
Val :: Val -> Exp
pugs uses the scheme of same-named constuctor as promotion 18:12
theorbtwo But earlier you said that a Var can't be used as an Exp. 18:15
autrijus hm? 18:18
I thought I said Var can't be used as a Val.
and you can't deref a Var using other Exp constructs
other than Var Var itself.
theorbtwo Ah. 18:20
I still feel like I'm not getting something, but I'm not clear on what.
stevan autrijus: updating changelog now 18:23
theorbtwo Oh, the other is that I can't figure out how to make a manual instance of Typeable that works like the derived one (AltData.Typeable is sadly not derivable). 18:29
autrijus theorbtwo: oh. ho hum. 18:31
I have no idea. ask dons?
aha. I found a way to cheaply put Rule in Eval. 18:33
theorbtwo Hm.
Oh, for implementing p6 rules with?
stevan YAPC::NA & Hackathon travel is all confirmed now 18:43
autrijus no, BEGIN
stevan and my $work is paying for it
Juerd ARGH
stevan (cool bosses)++
obra huh. I should plan YAPC::NA + travel
Juerd Someone on a (closed) forum is trying to convince the geeks on that forum that they should use their real name instead of the nicknames they use everywhere.
obra The biggest question: Do I drive?
Juerd I so hate it when an outsider tries to change culture.
stevan orba: where are you located?
obra stevan: Boston 18:44
8 hour drive or so
stevan orba: you should have said something, we could have carpooled, I am in CT
Juerd stevan: I think it should be rather doable to s/// most of them, leaving only the multi line ones that need manual labour.
obra heh
my dates are going to be weird.
obra is likely only appearing for a dayish of the hackathon to make trouble
stevan Juerd: its all done now :) just running a make test to weed out the straglers
anyone know what the pass/fail ratio on the current rev is? 18:54
or have the most recent smoke?
gaal stevan, i just started a smoke on 2255 but it'll take a while.
there's one of 2245 if you backlog a bit. 18:55
stevan gaal: ok, we can compare notes when your done
I want to make sure I didnt break anything I shouldnt have
gaal i just noticed that after 'make clean', make skips UTF8, Unicode, and RRegex. weird, no? 18:58
....or are those not regular source files?
Is MMD with constraints, e.g. www.nntp.perl.org/group/perl.perl6....uage/20519 , officially in? (even if the particular mms mentioned there aren't)? 19:03
forum2.org/gaal/pugs/smoke-linux.html - r2255/linux 19:25
man, a smoke cycle takes 30 minutes :(
i wonder, does ghc do cross-compilation? 19:26
stevan gaal: perfect,.. my numbers match your numbers :) 19:28
gaal :)
stevan pugs -e 'require Test; todo_ok(1);' 19:29
1..0
No compatible subroutine found: &todo_ok
App "&todo_ok" [] [Val (VInt 1)]
its a beautiful thing :)
commiting now
wolverian gaal: it is in. the 'could' in the phrase there refers to this particular usage scenario. 19:34
gaal wolverian, thanks. (took me a moment to realize you were answering my q about mmd :) 19:35
wolverian sorry. :) 19:37
gaal hey, anything quicker than a smoke run is fair game. :p 19:38
stevan r2257 - No more todo_* 19:41
autrijus cries
why does larry have to do this?
obra hm?
autrijus here I am, thinking I can release 6.2.1 tonight and be done with it 19:42
having just committed a 600ish lines change that implements the thunking semantics of bindings correctly
including snapshotting of RHS pad
which is functionally a superset of the call-by-value approach 19:43
but this: www.nntp.perl.org/group/perl.perl6....uage/20543
destroyed all hope of it
so I'm now back at square one.
Juerd I think the big problem with Perl is -again- lack of specification. 19:45
The synopses aren't clear enough to build an interpreter around.
obra :/
Juerd: that's improving
autrijus is in a sad, sad mood and should probably sleep now.
obra and nobody is deluded enough to think they're complete yet
autrijus: or hack on fun other things! 19:46
autrijus obra: right, like paying $work.
autrijus cries some more
castaway comforts autrijus
theorbtwo Uff.
obra pets autrijus 19:47
Juerd autrijus: Paying work? Isn't work supposed to pay you?
Or do you live in soviet russia? :) 19:48
stevan we could always fork the project and call our new language Paskell :P
obra noooooooooooooooooo
stevan Haskerl? 19:49
theorbtwo Man, the #haskellers didn't take the bait.
(21:36:51) ***SamB wonders how you would know the mapping 19:50
(21:36:55) SamB: for @docs, I mean
(21:37:08) SamB: well, @index is probably even harder
(21:37:14) theorbtwo: Hmm?
(21:37:20) theorbtwo: I could do it in Perl pretty easily.
Juerd theorbtwo: Don't troll in friendly territories... :)
theorbtwo: Try #php or #python. 19:51
stevan ok I have done enough damage for one day, bye all 19:52
Juerd Bye and thanks for today's damage!
theorbtwo I wasn't actually trolling.
Much.
stevan autrijus: dont fret too much, Larry may change his mind? If not, you can have Ingy arm wrestle him at the hackathon 19:53
autrijus damnit. 19:54
I implemented larry's semantics.
bindings.t still all passes. 19:55
commented out full thunking for future reference.
theorbtwo nods.
Juerd autrijus: Just to avoid that it takes you a long time again before you read an answer: I replied to your message :)
It may of course be overruled, but I wouldn't know how the other answer would fit in with Perl logic. 19:56
autrijus Juerd: I replied to yours :) 19:58
so please sanity check and reply to me.
anyone want to run a smoke for me? :) 19:59
autrijus praises monadic composition for swiftly responding to drastically shifting specs
obra heh 20:00
autrijus: I'll smoke
autrijus cool. just "make smoke"
and post smoke.html somewher.e
obra only 40 revs behind 20:01
Juerd autrijus: I'm going to upgrade and make pugs first, so it may take a while longer than five minutes
autrijus Juerd: that's fine, I'll wait for obra :)
gaal autrijus, make smoke started, but ETA 30 minutes (r2260)
Juerd What is a smoke, precisely?
obra 30 minutes to smoke these days?
autrijus I'm surprised too 20:02
it's 5~10min here
gaal from make clean, on my slower machine... i'm not make cleaning this time though
castaway ouch
autrijus gaal: ouch. I think one smoker (obra) is sufficient
Juerd fsck
Last time I compiled pugs as root
castaway wont try then
Juerd Now I can't do it as non-root because of permissions.
me--
castaway then change the permissions ;) 20:03
gaal i think i just don't have enough RAM and the machien starts swapping.
castaway chown -R
Juerd castaway: That sounds like work.
castaway nah
its one command
autrijus sudo chown -R juerd .
Juerd castaway: Not if you count the mount --binds I have :)
obra jesus. so much churn
Juerd linking... 20:04
(as root ;-))
obra Juerd is beating me
gaal i have a faster machine, but it doesn't have the modern modules, so i can only 'make test' on it. that's my primary incentive for porting the test moduels to p6 :) 20:05
20:05 integral is now known as integral|ping 20:06 integral|ping is now known as integral
theorbtwo sees the integral. 20:06
castaway watches a fuzzy white baby camel on TV.. cute!
obra is Compiling Pugs.Bind 20:07
Juerd autrijus: 3/3, 100%.
theorbtwo sighs, tries a Makeish project on the theory that it should be something I can handle. 20:08
castaway Makeish?
theorbtwo (Converting the build from ghc --make to makefile-based, so that it can take advantage of make -j2.) 20:09
autrijus Juerd: 3/3 100%? 20:10
Juerd: you didn't "make smoke"?
gaal theorbtwo, prolly better to add -j2 caps to ghc --make
obra there seems to be a missing dep on Test::TAP::Model
obra is installing it
gaal because that has lots of smarts to it. 20:11
obra it just failed to run since the module was missing, rather than doing something friendly
obra is in t/magical/pid.t 20:12
gaal obra, what would you suggest it do?
autrijus gaal: in "make smoke" check for existence of Test::TAP::Model and bail out with appropriate msg
that is, in run-smoke.pl
obra nods
t/subroutines/subroutine.t
pugs: List.genericDrop: negative argument
are you expecting 100% passing right now? 20:13
autrijus fixed. 20:14
obra t/syntax/symbol_table.t
theorbtwo We try to keep compatable to any make including GNU, not-GNU, and nmake, right?
obra I'll let this smoke finish ;)
autrijus no, I'm not. I expect ~100 failure.
obra ok
autrijus you'll see a smoke.html. post it :)
it is beautiful to see.
obra t/syntax/list_*
autrijus genericDrop fixed. 20:15
obra are there any large sections after t/statements?
autrijus prolly not
rules is the largest 20:16
obra thank god clkao doesn't have this big a test suite.
Juerd autrijus: No. What is make smoke?
obra Or we'd need to find him a dual-core laptop.
autrijus nearly 5000 tests ;)
Juerd autrijus: 3/3, 100% was re your mail.
autrijus Juerd: oh. cool.
Juerd: make smoke is a prettier "make test".
Juerd aborts make test and runs make smoke instead
gaal r2263 adds early death on missing Test::TAP::prereqs. 20:17
Juerd It's recompiling and relinking :)
obra t/var/default_scalar.t
pugs: cannot cast from VHandle {handle: tmpfile} to [Char]
t/junction/junction_functions.t
Juerd And telling me it wants a module.
gaal i got errors on want.t
obra t/junction/misc_junctions.t 20:18
# Looks like you planned 47 tests, but ran 35
# Looks like you failed 18 tests of 35
Can't modify constant item
Val (VJunc all(any(4,5),any(5,6)))
obra wonders if he'll run out of battery before or after the test finishes 20:19
obra should have done this on the big machine
castaway ;)
Juerd perlmonks.org/?node_id=450780 # I love it when assumptions of many languages come together in one thread. 20:20
gaal t/builtins/want....FAILED tests 11-14, 16
(msys)
t/data_types/mixed_multi_dimensional....FAILED tests 17, 19, 21-25, 29-30 20:21
t/data_types/nested_arrays....FAILED tests 1, 3-4, 6
t/data_types/multi_dimensional_array....FAILED tests 1, 3-5, 10-16, 21-25, 29-31
t/pugsbugs/subscripts_and_context....FAILED tests 1-2 20:22
(this is for r2260)
autrijus gaal: smoke.html :)
gaal soon :)
Juerd !@#$^%$##$%%%%%%%%%%%%%%%$$#!@%@#%!@#$%$$$
autrijus Juerd: ?
Juerd CPANPLUS-- # Why are you checking signatures all of a sudden? And ignoring force for them? 20:23
castaway cos its broke.
(my CPANPLUS usd to work til I upgraded it :( )
Juerd Developers everywhere, don't change the defaults if that means things stop working without further configuration!
damnit!
castaway: Same here, for the nth time.
autrijus what!?
kane turned on sigs checking silently?
castaway should go back to 0.4999
obra whoa! debian ghc-cvs is 20050331
Juerd autrijus: I never did, so I assume he did. 20:24
autrijus wtf. :(
Juerd And now it fails in more spectacular ways. I'm switching to CPAN.pm
autrijus good call.
castaway sighs.
Juerd (You know, not-programming SUCKS and sometimes I want to die. I haven't used either CPAN or CPANPLUS on my home linux box for over 5 months!) 20:25
obra the new detection doesn't work if I have Test::TAP::Model but not Test::TAP::HTMLMatrix 20:28
Juerd I don't find 'make smoke's output specifically pretty so far...
autrijus Juerd: the smoke.html will be pretty.
Juerd Ah! 20:29
obra is into the rules tests
Juerd lists/
gaal obra, weird, looking into it.
autrijus and I think I fixed 80% of failures.
gaal forum2.org/gaal/pugs/smoke-msys.html r2260
obra starts a second smoke on the fast box
autrijus: should I stop the new smoke and svnup?
autrijus obra: right
danke
Juerd: 20:30
my $c = (1,2,(3,4));
what's +$c?
obra autrijus: resmoking
autrijus I think it's 3 at all times. 20:31
so the test is wrong
Juerd autrijus: I think it's 4.
autrijus explain.
cognominal autrijus: is it 4 ou ref to array?
obra pugs-- # only using one cpu for tests
autrijus I thought "," never flattens its operands when running in item cxt
or it always does?
wolverian () are the list constructors, afaik, and lists flatten in plural context 20:32
cognominal my $c = (1, 2, [ 3, 4 ] ); print +$c # 3
wolverian (unlike arrays)
Juerd I thought it always would...
cognominal my $c = (1, 2, ( 3, 4 ) ); print +$c # 4
gaal obra, the new detection did in fact work for me in exactly the situation you mentioned...
Juerd wolverian: No, comma is the list constructor
wolverian Juerd: hmm. I thought I read larry's posts lately on p6l to say otherwise, or at least to say that ()s aren't simple grouping anymore
autrijus hm, it always does.
that's news to me. 20:33
wolverian but I might have confused the issue.
obra gaal: hm. it didn't for me :/
autrijus ok, let's suppose it always does. thanks juerd!
gaal what do you mean by not work? what are you expecting? 20:34
cognominal I think that if you assign a list to a scalar , it becomes a ref to an array
Juerd autrijus: I think lists in lists flatten. Only the topmost level that has context does not. 20:35
obra gaal: the error says I need either one module or the other
gaal: and it failed out when I had one but not the other
or did I misread the error?
autrijus Juerd: does list pass slurpy context to its operands?
Juerd: or it preserves the outer context?
cognominal so "my $c = [1, 2 ]" is equivalent to "my $c = (1, 2)"
Juerd autrijus: i.e., in foo( (1,2,(3,4),(5,6) ), with foo (Str $foo), the stringification of a 6 element array is passed.
gaal ah, yes; should it say exactly which is missing? i can do that :)
Juerd autrijus: I don't know, but I think it'd be wise to pass slurpy context 20:36
obra gaal: so it needs both modules?
gaal yes, it does
autrijus Juerd: I'm surprised.
Juerd: I think only pass slurpy context when we are in rvalue
obra thhen yes, it should tell you what you're missing
autrijus right?
obra wow. new smoke is fast
gaal obra: i make do with only the ::Model, and run the htmlmatrix on another mahcine that has it.
Juerd autrijus: TBH, I'm not AT ALL sure about how lists in lists in scalar context should behave.
gaal you can do that too eith 'perl -w util/yaml_harness.pl' 20:37
Juerd autrijus: lists in scalar context are new to me, and as comma is infix and chained, I don't see how it can force any context onto its operands, while it'll have to to make anything valid syntax.
autrijus: And in that respect, keeping item context may even make more sense than flattening.
autrijus Juerd: so I'll make it context-propagating.
as is the case now.
does a reference to a junction autothread? 20:38
my $x = \\\(1|2); my $y = $x + 3
obra is there a way to find out pugs' coverage? 20:39
autrijus obra: not currently
obra: oh but we have synopses coverage
just not haskell code coverage
obra nods
autrijus Juerd:
my $x = (1|'2'); $x.ref
currently it gives
('Int' | 'Str')
should it be 'Junction'? 20:40
Juerd Yes!
But according to Larry, NO.
According to Damian, Yes.
obra tries to figure out why Test::Harness doesn't sort the files it runs
autrijus wtf?
Juerd Larry wants it to be invalid to assign a junction to a variable.
autrijus what according to you?
what is defined(1|undef) ?
Juerd Unless you "use Junctions;", to enable the feature (oh come on.)
obra fsck.com/~jesse/smoke.html 20:41
Juerd autrijus: I cannot answer your question
autrijus obra++
ok. :)
I'll just keep it from regressing
Juerd autrijus: I think it must be 'Junction', but that has to mean Junction is part of Any, which it is not, because autothreading is default.
autrijus obra: uh, I want css too
obra 11 minutes for a smoke, I think 20:42
autrijus obra: care to upload fsck.com/~jesse/util/testgraph.css ?
gaal obra: upload util/testgraph.css
Juerd autrijus: any<Int Str> would be more consistent with other junction semantics...
obra you only told me to copy smoke.html ;)
hang on
gaal on some servers, that won't work and you have to inline it in the html :(
autrijus gaal: I like inlining by default
makes little sense to me to not inline
gaal this used to be automated with the -e option, but nothingmuch broke it :)
autrijus not fun :) 20:43
obra now?
gaal subscripts_and_context.t still fails on msys at r2267 btw.
Juerd operators/eq.t
Where do all these tests come from? Last time I ran make test, it took less than a minute! :) 20:44
(That was when I still wrote tests.)
obra 4422 ok 60 failed
pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (81/4418, 20:44
gaal there used to be 4500 earlier today :) 20:44
obra gah. botched the topic.
my paste foo is losing 20:45
gaal r1773? that's a bit old :)
Juerd obra: Irssi? /topic <tab>
obra and I'm out of battery. (stretched too long for the smoke)
gaal filetest.t
obra pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (81/4418, r2232), Mac OS X (160/4483, r2216), Linux (60/4482, 2267) | pugs.kwiki.org 20:46
obra waves 20:46
autrijus see ya
theorbtwo Oh, later, autrijus.
gaal new smoke in a coupla minutes.
Juerd Another module I don't have. 20:47
Bye obra
theorbtwo er, oh, later, obra.
gaal forum2.org/gaal/pugs/smoke-msys.html r2267 20:50
obra back 21:05
gaal t/statements/return.t broke. 21:06
oh, plenty of breakages in 2269 :( smoke eta 8 min. 21:07
t/builtins/lists/grep.t and map have errors too 21:21
making fresh smok 2271, be a while. 21:22
obra fsck.com/~jesse/smoke.html 21:31
2269
gaal '71 ready in a bit.
forum2.org/gaal/pugs/smoke-msys.html 2271 msys 21:39
if you call testgraph.pl with -e, it'll inline css again. 21:40
theorbtwo Grr.
gaal ?
theorbtwo How do people debug mac problems?
I'm flying blind the whole time. 21:41
autrijus r2278 should return the tree to sanity. 21:48
theorbtwo Sanity? Pugs, sane? 21:49
gaal r2275 smoke up; '78 running. 21:50
autrijus I'm running a round of '78 smoke now too 21:51
I think it's safe to call it preflight.
anyone up to look at the last 25 changes
gaal starts a smoke on linux too
autrijus and update ChangeLog?
gaal is
autrijus danke
hm no, still failures 21:54
4482 test cases: 4461 ok, 21 failed, 908 todo, 24 skipped and 3 unexpectedly succeeded 21:55
gaal on balance, that isn't bad :) 21:56
autrijus much better than I have a reason to hope :)
gaal r2261 ("hash stringification works again") - is this a bugfix against the last release, or just against a breakage that happened this week? 21:57
autrijus this week.
ok. every failure is now junction related.
fixing that. 21:58
gaal i think i can't help much with the changelog - anything not trivial and i'm not sure if it's from this week or not :( 21:59
perhaps we need a convention in svn ci messages? + for new, ! for fix? 22:00
autrijus k
theorbtwo Or individual checkers-in should modify the changelog when they write something changelog-worthy?
autrijus that too 22:01
gaal that's a good idea
r2257 is the last ChangeLog update, Autrijus. my guess is only a few of these commits should be mentioned in the changelog - sorry i can't help much more than that :( 22:02
forum2.org/gaal/pugs/smoke-msys.html 2278 22:05
autrijus no prob at all.
thanks a lot
nothingmuch evening
gaal t/statements/given.t
pugs.exe: Prelude.head: empty list
and still problems with junctions
hey nothingmuch!
nothingmuch heya 22:06
stevan: ping
autrijus given.t is fixed
I'm resmoking now -- you don't need to do that yet
gaal k
nothingmuch, hey. i noticed that testgraph.pl now warns about renaming the css file -- twice every time it's run. proabay a bug? anyway, i've ci'ed a hack to revive the inlining of the css, and there's a feeling it should be on by default. care to look into it? 22:07
nothingmuch sure 22:08
want to patch HTML::Matrix to allow inline CSS?
should be pretty easy
gaal if you walk me through the darcs commands :)
nothingmuch sure
that way we can kill N birds with M<N stoned 22:09
s
stoned... ;-)
gaal insufficient RAM-- 22:10
nothingmuch ram++
damn, there's a fly in here, it's driving me nuts
gaal forum2.org/gaal/pugs/smoke-msys.html 2280 22:19
22:27 NathanY- is now known as NathanJY
nothingmuch yay! NathanJY is back!1 22:28
autrijus cutting a preflight now. 22:29
preflight #1 22:32
wagner.elixus.org/~autrijus/Perl6-P...2.1.tar.gz
732535 bytes
gaal forum2.org/gaal/pugs/smoke-msys.html 2283 22:33
autrijus good. that means preflight should be clean to you 22:34
gaal bytes still in transit.
Juerd juerd.nl/smoke.html 22:35
nothingmuch <style petal:cond="page/has_inline_css" petal:content="page/inline_css" type="text/css">
Juerd 4486 test cases: 4356 ok, 130 failed, 890 todo, 27 skipped and 1 unexpectedly succeeded
nothingmuch you should have one from me too at some point 22:38
autrijus I think I'm good to fly as soon as gaal finishes smoking the preflight. 22:40
anybody else smoking?
Juerd autrijus: It's a bit older than the preflight, but see url xx:37
On UTC+xx02
autrijus Juerd: yeah, it's ancient now :)
Juerd Sorry
autrijus no prob at all!
appreciated 22:41
autrijus writing release announcement
Juerd Have no time for another smoke
autrijus that's fine
nothingmuch ld: Undefined symbols:
_PugsziAST_zddmshow2_closure
....
autrijus nothingmuch: rm src/Pugs/AST.o and remake
gaal nm, try make clean, *real* clean
autrijus actually just kill AST.o will probably do
nothingmuch no AST.o
and made clean before it 22:42
castaway make squeaky_clean?
nothingmuch trying again
autrijus nuke the tree?
theorbtwo make clean is pretty clean.
nothingmuch there's a make squeaky_clean?
this fly is as big as a stork 22:43
theorbtwo Jess was joking. 22:44
gaal nothingmuch needs a big cat in the house
t/builtins/io/io_redirect_to_scalar.t 22:45
c:\MinGW\bin\perl.exe: *** WFSO timed out
autrijus WFSO?
gaal no idea :)
nothingmuch gaal: i have 3 22:46
autrijus ok, that's fine, continue :)
nothingmuch ok, rm -rf
make purge
rm -rf stc
grr
src
and trying again
autrijus gaal: how's the smoke going? 22:51
nothingmuch autrijus: with no make optimized it seemed to have worked 22:52
gaal just after rules
nothingmuch finishing builtins right now
gaal i forgot to make optimized, so it was slow :(
autrijus that's fine :)
so far so good?
except for the io_redirect_to_scalar
theorbtwo sighs.
Time for bed. 22:53
gaal yes. uploading.
autrijus night theorbtwo!
ok, fly!
autrijus waits for gaal's url :)
gaal forum2.org/gaal/pugs/smoke-msys.html 6.2.1 preflight 22:54
224 files 4512 test cases: 4512 ok, 0 failed, 903 todo, 37 skipped and 0 unexpectedly succeeded 100.00%
autrijus looks very good.
r2288 is 6.2.1-final. 22:55
it's on PAUSE now.
nothingmuch goody goody gumdrops
gaal cheers
autrijus gaal++
#perl6++
gaal autrijus**
obra wow. make optimized is slow :)
gaal it pays off, obra. 22:56
in make test.
obra gaal: sure.
my non-optimized make test is 9 minutes
will see what this is
gaal autrijus, can we / should we perhaps make make optimized the default from no on? 22:57
autrijus gaal: I don't know :) 22:58
maybe "make test" should imply "make optimized"
and "make" is just "make"
obra why _not_ build optimized?
autrijus and maybe "make test" always generates smoke.html when there's Test::TAP::Model. 22:59
gaal is make w/o -O == -O0?
autrijus gaal: no, it's -O on strategic modules
obra: because it's much slower to build
but yeah, I can see it being the default
gaal autrijus, when we have the new harness framework that'll definitely happen
obra autrijus: slower to build but results in a more positive impression of pugs. 23:00
gaal make test will emit the same output as it does today, but acummulate data in the model too
smoke.html needs HTMLMatrix, and if it's found, the matrix will be generated.
autrijus obra: sure, I agree. between you and gaal I trust you will commit the neccessary fix :) 23:01
journal up. sleep now 23:02
7am!
autrijus waves &
nothingmuch ciao!
gaal night!
obra night autrijus 23:03
gaal: I've never touched the build system. how likely are you to be able to dtrt? 23:04
gaal that's a trick question, seeing as i committed someitnh that broke the build not so long ago :) 23:05
obra hah 23:06
yeah. 6:30 for an optimized build
fsck.com/~jesse/smoke.html for my smoke on latest 23:07
1 failure
gaal i wonder, how does one influence the environment for a dependency, before actually entering a rule? that looks like what autrijus suggested, but i don;t think make can do that (w/o some crazy hack).
nothingmuch t/operators/arith.t
# Looks like you failed 1 tests of 177?
obra yeah
nothingmuch it's been failing all week for me 23:08
gaal oh, the NaN is platform dependent.
i think perhaps that test should be *made* to depend on $*OS
nothingmuch =/
gaal because it doesn't fail for me.
nothingmuch bummer 23:09
gaal well, either that or rewrite arithmetic not to depend on the haskell primitives. as if
nothingmuch gaal: yaml_harness should probably inline css by default, btw
gaal yes, i know :) 23:10
nothingmuch or rewrite GHC to not depend on platform values ;-)
how is it coming along?
gaal getting kinda late now, though
nothingmuch if i can darcs pull your change from some webspace i can see if my template change is good enough, and release
blah blah blah
it's holiday
you can do it ;-)
gaal heh
k k k 23:11
beh! i hate scms with versions of the fiels inside my view. i keep editing those by mistake :( 23:17
(which reminds me:
set grepprg=grep\ -n\ -r\ --exclude=\*.svn\*\ --exclude=\*.o\ --exclude=\*.hi
.)
nothingmuch versions of the files inside what view? 23:22
gaal i was editing ./_darcs/current/lib/Test/TAP/HTMLMatrix.pm by mistake 23:23
nothingmuch oi 23:25
gaal adding tests now, anyway
don't know whether to depend on Storable though.
nothingmuch storable? 23:26
gaal actually, it wonr; help much.
nothingmuch why?
because of the example? 23:27
gaal for dclone, but never mind
nothingmuch dclone?!
gaal wont' help here much
nothingmuch what are you cloning?
gaal calm down :)
instead of a fixture
jabbot pugs - 2281 - * fix a hardcoded 'head' in continue() 23:28
pugs - 2282 - * revert cxt propagation for ,
pugs - 2283 - * fix incorrect fix to s09eg.t
pugs - 2284 - * none().pick is always undef.
pugs - 2285 - * comma does propagate its context.
pugs - 2286 - * repair parrot compiler 23:29
pugs - 2287 - * preflight!
pugs - 2288 - * This be Pugs, version 6.2.1.
pugs - 2289 - * nuke redundant line
pugs - 2290 - * typo
crysflame hello 6.2.1 23:37
gaal nm, how do i negate a condition in petal? 23:39
nothingmuch i did that already
machack666 junctive variables also do not do as you expect in terms of expressions. 23:40
nothingmuch just check in the code
it's ok if it's broken
this is darcs
you can amend record
and unpull
and unrecord
and whatnot
machack666 case in point, when running the $j ** 100 vs $j * $j * $j ... (100 x) I had a total system halt due to completely used swap space 23:41
gaal tov how do i ci in this fancy darcs of yours? :)
nothingmuch darcs w -ls <-- svn status
darcs record
interactive prompt 23:42
machack666 the point is, if you don't know that a variable is a junction and it can hide behind the normal mathematical expressions, then even a simple expression can bring down the system
= bad
nothingmuch will ask you per hunk whether to inclue or not
and then you give it the name
annd blammo
after that, darcs init a repo somewhere on webspace
and darcs push to it
gaal how do i restore my meessed up fiel in the darcs secret dir? 23:43
don't feel like couting again.
machack666 that kind of behavior should be explicitly requested by the programmer, and not inherently a sinkhole which could trip up anyone not expecting it.l
nothingmuch darcs secret dir? 23:44
ah
i'd say darcs get again from nothingmuch.woobling.org/...
Juerd machack666: Try **(1..Inf)
gaal 2:44. i'll get you for this :) 23:45
Juerd machack666: Perl is known for not keeping people from shooting themselves in the feet
gaal what's the fuill path again?
nothingmuch and then just replace the old _darcs/current with the new _darcs/current
Juerd: i thought perl 6 is supposed to fix this
Juerd machack666: A programmer should know his data - always.
nothingmuch no safer way
nothingmuch.woobling.org/Test-TAP-HTMLMatrix/
Juerd nothingmuch: No, if you want to do stupid things, Perl will let you.
machack666 true, but I'm not sure where this behavior is desirable beyond what you can accomplish with hyperops
other than perhaps combinametrics 23:46
gaal Juerd, i think nm was talking to me, and it's darcs that let me do stupid things :)
nothingmuch Juerd: there's a diff between giving you enough rope to hang yourself with and giving you a noose.
Juerd machack666: my $acceptable = SomeClass | SomeOtherClass;
machack666: ...
nothingmuch gaal: eh?
Juerd machack666: when $acceptable { ... }
nothingmuch what stupid things did darcs let you do
machack666 hmm... 23:47
nothingmuch thinks the way junctions are headed
that is, you can pass them around your control structure
machack666 DBI->connect($scalar____or_is_it);
it could come in handy... :D
nothingmuch in a std var
but then if you send them into a function it magically changes execution by autothreading
even if it's completely insane to autothread the target function
machack666 as long as it is requested, I think it's fine, but it makes it too easy for a poorly written module to misbehave for the entire system 23:48
Juerd nothingmuch: I dislike implicit autothreading.
nothingmuch because it might be $complex_object->do_dangerous_activity($input_from_parent);
perhaps not input from parent
Juerd nothingmuch: I agree that with implict autothreading, disallowing assignment of junctions is a good default
nothingmuch: But I think both should be toggled.
nothingmuch i think autothreading is very useful
Juerd Yes, it is
nothingmuch but only explicitly 23:49
Juerd But it should have syntax.
Exactly.
And then it's okay to put junctions in variables
nothingmuch it should have both a syntax as a param to a junction
that is Any|Junction is stupid
it should be Any&Autothread
Juerd Any must include Junction or not be called Any.
Just consider that lcfirst any CREATES a junction :)
machack666 should there be a runtime flag to know if autothreading is currently enabled? 23:50
nothingmuch and you should be able to have a junction flattenning op
that autothreads the expression it happens in
like sub_call($a, $b, Ā»*Ā«$junction);
machack666 define junction flattening
Juerd Please rewrite with texas quotes
My terminal sucks.
nothingmuch >>*<<$junction <-- just silliness 23:51
machack666 me too
</aol>
Juerd Ah
nothingmuch anyway, you should have the ability to define both:
subroutine params that want to be autothreaded
gaal nm, recorded. now whay?
Juerd I wonder why sub_call($a, $b, >>$junction<<) isn't used.
nothingmuch (And return values perhaps rejunctioned)
and also a way to dejunction from the caller perspective
gaal: darcs pull from form2.org or something 23:52
or even just rsync the repo over there
gaal pull *from* forum2.org?
nothingmuch or darcs send
yep
or darcs push to forum2.org
gaal i'm not familiar with the syntax and it's late. can you just give me a command that works pleasE?
nothingmuch either action requires darcs on the other side
do you have darcs on formu2.org?
gaal no.
nothingmuch okay
gaal let me just email you a patch :) 23:53
nothingmuch rsync -avz ./ [email@hidden.address]
in that case 'darcs send'
it uses sendmail
and it will know my email
because it takes the email setting from defaultrepo
gaal er, why is p6-compiler the default to: address on this? 23:54
nothingmuch ah
good point
that's what i set the email to
because it's not my module per se
Juerd see Message-ID: [email@hidden.address]
Took a while for me to find it :)
gaal ah, now i can't even diff against the version i co'ed. good night. 23:56
gaal zzz& 23:57
Juerd nn
Juerd sleepy too
nothingmuch ciao
Juerd: good post 23:59