pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256 smoke/win2k (occasional): xrl.us/fqum (114/4369, r2163) Mac OS X (62/4459, r2116) | pugs.kwiki.org
Set by Juerd on 20 April 2005.
ingy I think I had the wrong password file 00:00
mugwump ingy: just sent you a patch to YAML for 5.6.1...
ingy cool
I'll be back in a couple hours
then I can release it
mugwump: fyi the freepan jail is freebsd 00:01
mugwump yar
mugwump & # lunch
stevan autrijus: ping 00:27
anyone ping? 00:28
shapr pong?
stevan I am working on a major Test.pm refactor and I would like to discuss it
shapr!!!
shapr hiya stevan! 00:29
stevan hows things up north
shapr Back down to freezing, I can't unicycle in just shorts now.
But we're getting more sun all the time. 00:30
stevan ouch, it was hot here today
I was building playground equip for the kids,.. I think I actually got a little sunburn :)
shapr Wow, cool, I love playgrounds.
stevan it was interesting,.. the directions were good up to a point 00:31
then they kind of stoped
shapr heh :-)
That's when it's good to have a leatherman.
stevan LOL
I had a large rubber mallet,.. which works just as well :)
I wonder if I can refactor Test::is() to use a smart-match (~~) and then get rid of Test::like(), etc? 01:38
Since the smart-match should handle all cases polymorphic-ly
Alias_ Might I suggest not? 01:54
being DWIM and smart could be quite bad in a test suite
stevan Alias_: however many people use is() for more than just Str types (which is what the signature is) 01:55
therefore relying on auto-stringification 01:56
Alias_ say what?
So anything P5 that is( something, undef, ... ) is no longer valid? 01:57
stevan the signature for 'is' is 'is (Str $got, Str $expected, Str ?$desc)'
Alias_: I am talking about p6
Alias_ stevan: And I'm talking about the implication for porting over the million lines of code that use is 01:59
:)
stevan Alias_: it should still be able to handle is(something, undef, ...) 02:01
pugs -e 'say undef ~~ undef ?? "true" :: "false"'
prints "true"
pugs -e 'say 1 ~~ undef ?? "true" :: "false"'
prints "false"
jabbot pugs - 2189 - This is a fairly large refactor of Test. 03:11
Alias_ grr.... (wanting purl) 03:49
autrijus?
oh, not even here
masak morning 04:17
05:44 chady_ is now known as chady
mj morning 05:44
autrijus hey
Alias_ aha! 05:56
Greetings fearless overlord
A word if I may?
autrijus hey Alias_.
Alias_ You got my forwarded email about M:Install? 05:57
autrijus yes I did. I don't have 5.00504 here, and I'm not sure if include('ExtUtils::AutoInstall') (as suggested in the POD) will cure it
I thought it would, but I simply had no experience with 5.00504. 05:58
rindolf volunteered to investigate.
Alias_ neato
autrijus hadn't heard from him, though
Alias_ I was thinking that you could actually modify what gets included, based on the perl version dependency
autrijus actually if you declare a perl() 05:59
err
require( perl => ... )
Alias_ right
autrijus then include_deps uses that info to calculate depdendency.
as does all _deps, I think
it's already there
that's why we depend on Module::CoreList
Alias_ ok
So why isn't ExtUtils::AutoInstall included now?
.... (automatically) 06:00
autrijus Alias_: there isn't a very good reason. patch Module::Install::AutoInstall to add a line of include('ExtUtils::AutoInstall'), remove the bootstrap block and test that for me?
I'll roll a new M::I from that
Alias_ The second half of that was your use of /usr/bin/perl 06:01
I know even less about that issue
autrijus this is weird because I use $^X throughout.
Alias_ I know all of my tests are done as /usr/bin/perl... but the test harness should fix that right? 06:02
It will run the test file with the appropriate version?
autrijus 5.0050x has an old harness
that doesn't fix that.
even 5.00600 has that.
oh and old EUMM too.
Alias_ So maybe if ( < 5.006 ) { load Test::Harness; replace appropriate function; } 06:03
autrijus that's why in Pugs we include our own version of Harness 2.46
Alias_: but I'm not sure that's the way to go. some people just remove the #! line from their tests
some people don't care about #!. 06:04
Alias_ I need them to encorce compulsory -w
enforce
autrijus #!perl -w
is the canonical way
Alias_ According to reporter, that's just as bad
autrijus oh. his PATH perl is not his $^X perl.
Alias_ right
autrijus a new set of FileSpec, EUMM and Harness would fix that long ago.
Alias_ He has normal perl, with a non-path 5.005 install
That's how he was testing it 06:05
autrijus I'm not sure if it's a great idea to include them with every M::I.
Alias_ I know
autrijus but in any case I don't think it's fair to say it's a M::I problem :)
Alias_ But maybe one could do some form of selective patching
autrijus if you use EU::MM it will just fail as hard.
Alias_ <him> "I just run Makefile.PL and expect it to work"
<me> "I'm just a dumb M:I user... I follow the instuctions and expect it to work" 06:06
:)
autrijus ok. well, if you'd like, I can just mandate 5.6.x for M::I users ;)
Alias_ Still... some form of auto-patching M:I:Legacy would be handy :)
hahahaha
autrijus but somehow that doesn't seem right.
Alias_ No, that would be even worse
I still take 2/3rd of my work at 5.005 06:07
Maybe it's time to make the jump
autrijus auto-patching is a great idea, but that means I need to setup an outofpath vanilla 5.005 to test and patch things
Alias_ Maybe this dude has a HOWTO for setting it up
autrijus which I'm sad to report that it's not my forte. I will very happily accept patches.
Alias_ I've also wanted some form of pre-configured VMWare-like image for years
So I can do consistent 5.005 testing 06:08
"Run test, revert to start"
autrijus but feel free to switch to M::B if you want 5.005 sanity. or maybe it doesn't have that sanity either, not sure
Alias_ It's an existing problem with the CPAN Testers system too
autrijus (you can, in M::I, just rename Makefile.PL to Build.PL)
06:08 Flash___ is now known as Flash_
Alias_ Because they install stuff, stuff is installed, and problems with missing modules don't get caught 06:08
autrijus right, that is a known problem that I also don't have time to help :-/
Alias_ me either 06:09
:)
autrijus so... feel free to investigate; if you want to dump M::I for EU::MM (which may still break too), that is fine by me too, and sorry for the problems.
Alias_ Well... I don't WANT to :)
autrijus I'm pretty sure M::B doesn't break in that regard, but it may in other regards.
Alias_ I like M:I, and I've already commited 90% of my work to it 06:10
It would take days-weeks to switch again
Doing incremental releases on 65 modules to enforce a new repository-wide policy sucks ass 06:11
As you should know
autrijus I know it very well.
Alias_ I'm actually looking at write an increment script
Use PPI to hack the versions higher, add a Changes entry, and trigger my module build script for each one 06:12
That, or somehow adding a backend database to the module builder :)
"How to know when you have released too much shit" 06:13
06:33 rob__ is now known as rob_
autrijus Juerd: ping 06:38
Juerd: consider these:
Juerd AHHH
You're scary!
I *just* turned on my screen. 06:39
autrijus :D
my @a = 1,2,3;
this obvious works
my @a = (1,2,3);
what about this? `=` flattens, right?
so it's the same as
my @a = [1,2,3]
Juerd First one is (my @a = 1), 2, 3
autrijus oh. right. 06:40
so, never mind
my @a = (1,2,3);
my @a = [1,2,3]
are these two the same thing?
Juerd Third one is, I hope, my @a; @a[0] = [1,2,3]
autrijus what about
my @a = (1,(2,3));
Juerd They're the same thing according to whatever was the spec when P6Now was written, I think it's been changed back to sanity in the meantime
Plural context, so list in list flattens, so 3 element list. 06:41
autrijus my @a = (1,(2,(3)));
even this?
Juerd Yes
autrijus my @a = (1,[2,[3]]); # but not this
Juerd my @a = ((((("hug"))))) too.
Indeed, [] is not (), and this is exactly why they must be different
autrijus so, to recap 06:42
(,) always flattens at plural context
[,] never do
Juerd comma in singular context makes () behave like []
autrijus right
now, consider
my $x = (1);
Juerd (so to speak - in reality, () only groups)
autrijus my $x = (1,);
Juerd my $x = 1;
my $x = [1];
autrijus my $x = (); 06:43
what is () anyway?
Juerd () is two things
1. When used in subscript-like syntax, it calls the sub on its LHS
autrijus yeah, ignore that
we are at term level
Juerd 2. When used in any other situation, it merely groups for precedence. 06:44
autrijus so it should be a syntax error?
but p5 accepts it just fine.
my @x = (); # and this is natural
06:44 castaway_ is now known as castaway
autrijus should it be considered "," with zero elements? 06:45
if so, then isn't (1) inconsistent?
if not, what then?
Juerd I think (\s*) in scalar context is a different way to write undef.
autrijus what about list context?
or rather, plural context
is () the same as not() ?
Juerd Then it's an empty list
Just like with return
return; # return wantarray ? () : undef; # perl 5 06:46
I have a problem with
autrijus hrm, () is the same as not().
Juerd my @foo = [ 1, 2 ]
versus
my @foo = ([1, 2])
Should be different for feeling, but are the same, and that really doesn't please me
autrijus I think it's a mess ;) 06:47
so why can't we say that (1) is always the same as (1,) ?
since () means (,)
Juerd Because that screws (1 + 2) * 3 into $aref * 3, which makes little sense
autrijus aha. 06:48
castaway morning folks
Juerd Hi
autrijus Juerd: so, three classes of things
Juerd breakfast, shower, to_office
ttyl
autrijus ttyl
nothingmuch ingy++ 06:49
castaway is already in_office :)
ingy hola
is there a way to toggle between to windows in irssi? 06:50
bsb Hi. "GHC=ghc-6.5 perl Makefile.PL" gives me a ghc-pkg usage message
Should inc/Module/Install/Pugs.pm line 178 have an $ENV{GHC} option like line 147?
fixed it for me
Juerd ingy: meta+digit 06:51
Juerd is skipping the office thing to get more time for fun
castaway sure, ingy..
alt-# gets you the # window, for eg 06:52
C-p and C-n are previous/next
Juerd never understood minus-notation for key presses. It's like "press alt, then release #"
autrijus Juerd: are [1], [1,] always the same? 06:53
Juerd Yes 06:54
autrijus and is
[term] and [(term)] always the same?
Juerd Yes
[] provides plural context
autrijus I see.
so although they may parse differently
Juerd In which comma, arrays and function calls all flatten
autrijus the end result is always the same
Juerd Note: arrays, not arrayREFs
autrijus sure 06:55
ingy so no way to toggle between window 6 and window 66?
autrijus so it's like [term] is really \(scalar (*term))
Juerd I'm not sure.
I don't understand or see the use for rvalue *.
autrijus it provides the plural context, no? 06:56
or is it the "list" marker?
Juerd I don't know
autrijus eh...
Juerd But providing plural context would make it an alias for "list"
autrijus print(*@_);
print(*@foo);
Juerd Which at some point we decided it was not
autrijus print(list @foo);
Juerd print already has a *@slurpy signature
autrijus right. assume it doesn't
Juerd So the caller doesn't have to force context 06:57
Oh, right, that was it, * spreads over parameters
autrijus assume it just take an nonslurpy array
Juerd Assuming they're all slurpy.
i.e. substr(*@param)
autrijus is "slurpy" the same concept as "plural context" ?
Juerd No
autrijus and somehow `substr(list @param)` won't work?
castaway ingy: umm, Id have to look in the manual.. sec :)
Juerd Slurpy provides that context, but it is the thing that deals with arguments
autrijus: Indeed, because list @param would still be in singular context, returning an arrayref 06:58
autrijus: Which makes list a very inefficient noop
autrijus: list @param in singular context, I expect, is the same, semantically, as [ @param ]
autrijus [1,,,3] 06:59
is it the same as [1,3] ?
Juerd There was some discussion about repeated commas, I'm not sure about the outcome
autrijus (it is in p5. I assume p6 isn't going to change that)
so, let me write a lot of tests... ;) 07:00
Juerd: so essentially the runtime context has two different bits 07:01
one is envContext, which is either CxtNull, CxtOne, or CxtMany
one is envType, which is a Type
the Type is entirely ignored in CxtNull 07:02
and serves as the member type for CxtMany
only I'm not sure about the name anymore... I think I'll keep saying CxtVoid, CxtScalar and CxtList 07:03
but it is indeed maximally confusing.
we have a scalar container class, a scalar value type, and a scalar context.
Juerd autrijus: Yes
autrijus IScalar, VScalar and CxtScalar
in pugs internals
not sure I like it
Juerd And to top things, a scalar value can be both numeric and stringy at the same time. 07:04
autrijus isn't p6 supposed to clarify things?
Juerd (In Perl 5 -- I assume it'll stay)
autrijus this is clear as deep ink
Juerd autrijus: Yes.
castaway ah, ingy: You will need to bind a key to "/window last" which seems to do what you mean 07:05
Juerd I think that the Perl 5 concept of lists and arrays works better.
castaway The startup-HOWTO.html of irssi describes vaguely how to do this
(there may already be a key, but you'd need to RTFS.. the docs are lousy)
Juerd /bind lists all key bindings 07:06
And lets you set new ones
castaway now you tell us :) 07:07
autrijus yay, time to rewrite all evaluator code again.
Juerd castaway: This has been my public opinion all the time :) 07:08
Lists as some kind of array, or the other way around, just doesn't work well imo
castaway sorry, Juerd?
(hm,m I dont see one for last_window or some such)
Juerd Oh, thought the "now you tell us" was about lists
nothingmuch finally goes to work 07:09
castaway no, that was about /bind :)
Juerd autrijus: I must tell you that with the current specs, I can't be sure that what I'm saying is actually correct
castaway (someone should finish the irssi docs, and no, Im not volunteering ,)
Juerd Are you vo... oh. 07:10
castaway folks, although p6 is supposed to clarify some things, its also supposed to (IIRC) not be terribly hard to port to from p5..
autrijus Juerd: I think the only way to win is to codify this as operational semantics instead of vague synopsis chapters.
Juerd The thing is that everyone says irssi's docs need finishing
castaway well that would make it true, Juerd
mauke castaway: /bind meta-s /window last
Juerd While at the same time, millions of people just happen to know how things work in it :)
castaway redirects maukes advice to ingy 07:11
Juerd Partly by guessing, partly because of common IRC client sense, partly because the thing itself lets you ask someone else
castaway (while making note of it herself)
is meta-l used?
Juerd If it's not listed in /bind, it's not used.
castaway ask someone else?
Juerd And if it's listed, you can unbind it if you want it for something else. 07:12
castaway: Someone else, as in not yourself
autrijus Juerd: so, Type and Cxt are two things
castaway oh, you mean because its a chat client, I see
Juerd As you yourself, if you need to ask the question, probably don't know the answer.
autrijus Juerd: the user can freely add things to the Type enumeration by using `subtype` or `class` or whatever
Juerd: can user somehow add things to the Cxt enumeration?
castaway werent you off to the office, or has that already happened? 07:13
autrijus or is Cxt fixed?
Juerd 08:53 * Juerd is skipping the office thing to get more time for fun
castaway oops, missed that bit
lucky bugger .)
Juerd autrijus: I expect it's rather fixed
castaway: Not really, but that's a different story
autrijus: Especially since context is a compile time thing 07:14
castaway (yay, meta-l now works :)
autrijus Juerd: as you well know, user code can run at compile time ;)
castaway reluctantly looks at actual work.
Juerd autrijus: No, it can run during one of the many runtimes only :)
autrijus Juerd: heh ;) 07:15
ok, "inbetween" compile time
Juerd autrijus: One of which is often called compile time, but it really is a runtime that is inserted during compile time, and before that code runs it has its own compile time anyway :)
That'd be the short description :)
autrijus Juerd: basically I'm exposing the compiler to user space as we speak
Juerd But context happens much and happens everywhere 07:16
Making it flexible means giving up a big bunch of speed and possible optimization
autrijus oh btw, can you write to %::OUTER ?
and %::MY for that matter
by write I mean delete
or tie
and I mean %OUTER:: and %MY::.
Juerd autrijus: I think the elements are usable as normal variables, but the hash itself is readonly 07:17
autrijus: And %::MY oughta do the same as %MY:: :)
autrijus ok :)
because if you can delete things fro mit
in a BEGIN block
Juerd In fact, I think postfix :: is weird now that we have a :: sigil 07:18
autrijus that can have very interesting consequences.
Juerd And with a :: sigil, why is the % still needed? The % tricks us into believing it can be used as a real hash...
autrijus sometimes I think regularity isn't a bad idea after all.
Juerd I'd second any vote for ::OUTER<_>, but I guess this is taking things too far for many people 07:19
autrijus: I think that if you delete from it in a BEGIN block, Perl'd have to start forking or threading to try and interpret it correctly :)
autrijus oh btw. the .isa Type tree is a Graph not a Tree right?
an acyclic one, because we have multiple inheritance 07:20
Juerd I know neither of Tree and Graph
autrijus but we don't allow cyclic inheritance?
Juerd: class Foo is Bar is Baz
class Bar is Foo is Baz
mauke class Loop is Loop 07:21
Juerd In the second declaration's context, Foo may be a lexical class that is different from the global Foo
mauke: Same story - Loop may be a previously declared class that the class Loop is Loop declaration is masking (with a warning, unless you use "ok" or whatever ok is spelled now) 07:22
autrijus Juerd: ok... see mauke's
whoa, masking
that's something missing in ase12 :)
mauke perl -wle '@ISA = "main"; main->x'
Juerd It can't mask if it's global class Loop
But with my class Loop is Loop, it can
autrijus ok. what happens when it is a global class?
Juerd Hm, no, mauke's statement can't mask 07:23
ingy thanks mauke
autrijus do we throw out fatal error?
Juerd autrijus: I think that's the most sane way to handle it
autrijus ok. thanks, acyclic directed graph it is then.
autrijus switches alrogithm simply by changing a `data` statement
Juerd Although trying to resolve unknown methods into infinity would be a more appropriate punishment for the programmer who wrote it.
autrijus Juerd: and there's the problem of mutuallly recursive modules 07:24
mauke I like interesting non-terminating programs; loops in the method resolver would be cool
Juerd autrijus: Hm, those should work, though
class Foo is Bar { method foo { ... } } 07:25
class Bar is Foo { method bar { ... } }
Foo->bar should call Bar::bar, Bar->foo should call Foo::foo
Yikes.
mauke and what about Foo->huhu?
Juerd mauke: That can either fail or take forever.
mauke: There's no concensus about that among my brain cells 07:26
mauke
.oO(the interpreter should detect it and simulate an infinite loop with sleep())
Juerd But that doesn't quite use enough memory to get the machine into a swapping halt, mauke
mauke oh, is that the ultimate goal of perl 6? 07:27
Juerd Nor would it increase the machine's load, keeping other processes from doing their jobs fast.
mauke: One of many.
afk 07:29
(wrists hurt already - not a good sign)
nothingmuch morning 07:39
gaal heya nm 07:40
nothingmuch what's up? 07:41
castaway rehi nm
jabbot pugs - 2190 - Leftover from renaming. (p5 embedded sti
Juerd It took me half a minute to realise that nm stands for nothingmuch
nothingmuch hola castaway
gaal what does rehi mean?
Juerd knows it as never mind
gaal: re, hi
gaal: re is back
or again
or return
gaal ACK :)
Juerd or back again because of the return, or any other combination you think is nice 07:42
castaway sorry, picked up in Muds and never really lost it again :)
it just means "hi again"
Juerd Yep
gaal i want to work on p6 smokes today. # if you can't backport, pugsport.
Juerd Or, I'm back and say hi.
"re" by itself just means I'm back 07:43
Example:
afk # toilet
gaal get the idea
^t^ts
Juerd re! 07:44
Now I go watch 24s04e18 07:45
autrijus hey Juerd. 08:05
Juerd Me?
nothingmuch autrijus: want to try the spork fudgery?
autrijus sub foo (@x)
this means
sub foo (Array @x)
right?
not 08:06
sub foo (List @x)
Juerd Yes. I'm even willing to think
sub foo (Array $x) { my @x := @$x; ... }
autrijus so, am I correct in thinking that
sub foo (*@x) imposes Plural context
sub foo (@x) imposes Singular context
when I call
Juerd Yes
autrijus foo(blah())
good.
that means isSlurpy is really a disguise of CxtList 08:07
and I can unify them.
autrijus continues to rip everything apart 08:09
Juerd I'm so sorry, autrijus :)
autrijus np :)
data Cxt = CxtVoid | CxtScalar Type | CxtList Type deriving (Eq, Show, Ord)
this is really the gist of all
I'm just fixing all the type errors :)
gaal do we have open| in pugs? (to a pipe)
autrijus gaal: no. want to hack? 08:10
gaal: you can use System.Command iirc.
Juerd wants open :pipe :r
And
gaal yes. i need it to take over the world^W^W^W^Wport test::harness.
Juerd open :pipe :w
And even open :pipe :rw
autrijus mmm hierarchical types. how are they handled?
Juerd autrijus: does suffices
autrijus ok. so they are in that "Other" chain 08:11
Juerd Do you by chance understand esperanto? :)
autrijus not the .isa chain, but the .does chain
no :)
Juerd The does chain is more important than the isa chain
does.isa(isa) :)
It's like meat. You don't care if the thing you're eating is actually meat, as long as it tastes and looks like meat :) 08:12
nothingmuch unless you're some kind of hippy 08:13
gaal nm: I want to port Test::Harness to p6 (and eventually our TAP stuff). Start thinking of things that can get changed :) 08:14
nothingmuch IMHO Test::Harness should be modeled around the SAX mindset
at the basic level it knows how to take lines, and generate events for them 08:15
and it has smarter methods for:
filehandles
commands to open pipe from
append string, etc
the events represent state, sort of:
tap started ... got_plan ... case($num, $ok, $desc)... ..tap end 08:16
gaal it should certainly use its own Straps for make test-like output
nothingmuch on top of this raw layer I think you should have a by default verifying layer
that is Test::Harness::SAX should verify by default 08:17
and Test::Harness::SAX::Raw should just generate events for what it sees
the 'default' interface maintains a simple state which you can use to construct your objects
or you can get events for errors and illogical output
the default harness will implement the reporting that Test::Harness does today 08:18
but it shouldn't be called Test::Harness, it should be called Test::Harness::TTY or something like that
and Test::Harness should be more like CPAN
CPANPLUS
it lets you choose what frontend you prefer
and does the right thing when it needs to find a frontend that works
that's the best I can come up with 08:19
gaal autrijus: do you remember where 'span' in op1 "open" comes from? 08:20
autrijus gaal: it's Data.List 08:21
gaal thanks. shall i hack p5-like syntax now and do the adverb stuff later? i don't know if it's hard or not.
autrijus just hack p5like now I think
gaal k 08:23
oh dear this is a hack :) 08:25
nothingmuch wow! the flight plus everything is only about $900
gaal but then again p5's open is a hell of a hack :)
castaway lucky, nm :( 08:26
nothingmuch it's through budapest though
but who cares, i have more time than money 08:27
how is your search coming along?
gaal budapest is supposed to be beautiful, if ytou have a long connection you might enjoy it
nothingmuch perhaps
my bass teacher will be proud
now to arrange for accomodations 08:29
(also free! wooo!)
Juerd gaal: Isn't sub open(Str $fn, Bool +$pipe, Bool +$r, Bool +$w, Bool +$rw) { $r = $w = $rw if defined $rw; ... } a good solution for now?
nothingmuch err, s/also/it's/; # makes more sense? 08:30
Juerd++
Juerd $r = 1 if not defined $r and not defined $w
nothingmuch maybe we want to define Mode is Pair { }
Juerd Pair $mode? 08:31
nothingmuch not really
Juerd As in :mode<r>?
nothingmuch :r
Juerd That's a good idea.
nothingmuch no, it's a pair whose keys have to be qw/r rw w)
Juerd Why that?
We have named arguments for this purpose...
nothingmuch this is named arguments 08:32
Juerd :rw equals rw => 1
nothingmuch i know
one second, i'll exemplify:
Juerd And :r and :w should be combineable
:rw is just a shortcut
As :gi is for :global :insensitive
nothingmuch open(Str $fn, Mode +$mode = :r){ my ($read, $write) = -> (Bool +$pipe, Bool +$r, Bool +$w, Bool +){ ... } } 08:33
gaal autrijus: i couldn't find System.Command; but System.Process.runInteractiveProcess looks promising, no?
nothingmuch this just simplifies the top level prototype
Mode is more of a subtype of Pair
where the key is constrained
and the value is a bool
maybe i'm going too far 08:34
Juerd nothingmuch: Simplifies, but adds a dependency and disables open $fn :r syntax
Because + is for named arguments
And we don't want positional optional arguments, do we?
'Cause we want a *@args instead, so we can open "cat", "/etc/passwd" :pipe 08:35
nothingmuch good point
nothingmuch likes perl6 mental masturbation
Juerd What's mental masturbation?
Do I even want to know?
nothingmuch it's a thought process that is fun, but has no practical yield
Juerd Physical masturbation has practical yield. 08:36
nothingmuch appearantly c2 has an entry for that too: c2.com/cgi/wiki?MentalMasturbation
autrijus gaal: yeah, that's that, I misremembered
Juerd Bleh, have to fix things in a elementary school's computer network now
nothingmuch Juerd: don't teach the little kids about the practical yields of masturbation 08:37
you won't get hired again
gaal notes that the current implementation of open is broken anyway because you can't open a file named ">".
Juerd That sucks. All those whining kids asking you if you can install "emmessen".
gaal also, "-" is missing
nothingmuch what's emmessen?
mauke msn? 08:38
gaal would certainly like open("-") to keep working
Juerd MSN Messenger, apparently.
gaal: Why not just use $*IN?
afk :(
gaal Juerd: my $filename = shift || "-"; open $filename...
Juerd gaal: my $filename = shift || $*IN 08:39
And make open a noop for already open fhs?
gaal but then the guy getting the fn has to be the guy opening the fh
Juerd That makes all library code accepting a filename also accept open handles
Which is a big win.
afk 08:40
gaal but then you can't have the opening code validating a filename :) or at least if you want it too, it has to check the ref first.
autrijus Juerd: I found CxtScalar still too confusing :-/ 08:43
autrijus ponders CxtSingular CxtPlural
CxtUnit CxtSlurpy
gaal (btw, did perl5 embeddeg ever work? i tried it today the first time and it didn't build for me) 08:44
autrijus gaal: it workedforme but it may have bitrotten
CxtVoid CxtItem CxtSlurpy
gaal "embeddeg". sheesh! :)
autrijus I think I'll use that set for now. 08:45
nothingmuch is mugwump in a ~us time zone? 08:48
autrijus I think he's based in nz 08:51
nothingmuch so he should be up sometime soon? 08:52
castaway gaal, what happens with open($fh, ">", ">") then ?
its late night for him, he should be going to bed 08:53
nothingmuch oh right, got it the wrong way around
gaal castaway, open is op1 right now
simply a bug
castaway oh, the pugs version, i thought you meant perl5
gaal hey, are the ":x" things simply syntactic sugar for "x = 1"? 08:54
castaway has no idea what op1 is :)
gaal castaway, a builtin taking one arg
castaway ah 08:55
gaal also, how do i handle named params in Prim?
...can i?
because i also want to do open "file|", i'm torn about whether to hack in more parsing or do it properly 08:56
bah! t/builtins/io/io_redirect_to_scalar.t has something completely diffferent. i think i'll work arounf the language issue for now and just hack in an explicit pipe-open prim for now :( 09:11
nothingmuch can't marry Kwiki::VimMode with Spork::S5 for some reason 09:20
gaal hmm. i know how to do interactive open in haskell (ghci++), but i can't figure out how to represent the tuple (stdin, stdout, stderr, pid) in Perl; specifically, how to hide them all behind a single handle and make it DWIM. 09:27
even supposing i use the tied interface to hide in and out, that leaves two things :) 09:28
so i'm wondering whether open() can handle it all. 09:29
autrijus you can make a new IHandle instance that hides both.
and later add methods
nothingmuch gaal: perhaps an object abstracting not so much a handle but a process is in order?
gaal i can impose a limitation on the user to call me either as open fn| or open |fh, but that seems silly if the underlying system suppotys something like open3 09:30
nothingmuch like an IPC::Run handle
open3 is dangerous, thoug
most users aren't experienced enough to use it reliablyy 09:31
gaal nothingmuch, i don't know what haskell does, but it does give you that tuple.
autrijus yay, I've done rewriting everything.
now the obvious question is, do I commit it ;) 09:32
nothingmuch pjcj: ping
gaal autrijus, does it break tests? :)
nothingmuch what is everything?
autrijus gaal: sure, it breaks 100% of it
nothingmuch and the answer is: yes
it can always be undone if it's a bad choice 09:33
autrijus nothingmuch: Cxt and Type was both alias to String
nothingmuch: now they are distinct and very different data structures.
this is per last night's revelation from larry and juerd
nothingmuch is sort of up to date
and all the code that looks too deep inside exprs to see the Cxt is screwed? 09:34
autrijus nah. I think hangman and mandel has to run first ;) 09:38
wow, another 1200 lines of patch.
# autrijus.org/tmp/cxtType.patch
09:40 hcchien_ is now known as hcchien
autrijus nothingmuch: everything is screwed. 09:45
dinner &
nothingmuch heh
bon apetite
autrijus pugs> ~want() 09:46
'Scalar (Str)'
pugs> *want()
('List (Any)')
etc.
Cxt is now two-part: Void/Slurpy/Item (stringifies as Void/List/Scalar) and a Type
really &
pjcj nothingmuch: pong 09:47
nothingmuch pjcj: i am using Devel::Cover to try to gcov and do windows coverage too
i have a DB where i keep coverage per test line per file
now, the tools are veeerrrry buggy
and I'd like to try to see why they're so screwed up 09:48
so i would like a display per file:
<win> <linux> <line>
basically, coverage is split up
and unless both are covered, the line is concisered uncovered
or something like that
will it be easy to use your HTML code to do this? or should i not bother at all? 09:49
pjcj have you seen gcov2perl?
nothingmuch yeah i have 09:50
my gcov is an older version
and i am processing the gcovs anyway
so i based on it
but made it more of an sqlite2perl
since usually we're interested in all the tests, we want sum(line_coverage)
but sometimes we want just a few tests
so we say where test.name = "foo";
pjcj It sounds like something the backends should be able to cope with. 09:51
nothingmuch they do cope with it
but it's slow
i used to generate a Devel::Cover run per gcov
but since i have 700*1500 gvocs, one per file, per run
it started being slow 09:52
and the data is in the DB anyway, since we're using it to generate pretty excels
so basically it makes the 700 behave more like 1
and i don't have to ruin the way gcov2perl parses gcovs
but anyway, back to the comparison:
is it easy to make two distinct 'stmt' coverages per file?
pjcj yes, the cover db merging is slow since it has to read the storable db, convert to perl data structures, merge and write 09:53
that's not possible right now, but I have annotations mostly done, which sounds like the solution here
nothingmuch okay
so i'll hack something with HTML::TreeBuilder for now
pjcj the only problem is that the html backend doesn't display them
nothingmuch hehe
nothingmuch has no time to help with that, sorry 09:54
pjcj the text backend does, but it's not so pretty ;-)
nothingmuch well, it shouldn't be too hard to make a pretty HTML 09:55
i can even color the lines themselves
since i really want a diff:
code that is executable on both platforms should hardly ever differ in it's covering
and code that differs in executability should also be noted
even though there's lots of ifdefs there
anyway, thanks so much for the really flexible tool you wrote, it's been very useful so far =) 09:56
machack666 hola, texters
pjcj the groundwork for doing all this sort of thing are in place - runs are stored separately so you can see what each run covered, but I don't have the backend tools yet to use that info.
10:23 sekimura is now known as sekimura_off
NathanJY WTF 10:26
someone wrote perl 6 in haskell?!
integral more like "WTF? someone wrote perl5 in C?!" 10:27
NathanJY no, not reall 10:29
only if you're a crack smoking academic pinhead
no one uses haskell
rgs sure one does
NathanJY 0.001% of prgorammers counts as no one
b6s just /ignore 10:30
NathanJY I'm surprised people still think lisp and its variants have any real use
there's a reason no one uses them outside of academia... 10:31
nothingmuch NathanJY: blah blah blah
the facts are: pugs works
and it got here fast 10:32
shapr NathanJY: yeah, write some code or shaddup
nothingmuch if you don't like it, go write perl 6 in c
no one is going to listen to you if you don't back it up with code
shapr talk is cheap, code is content.
cognominal NathanJY: yea and because it is academia, there is a lot of good stuff to steal there and make it useful by many programmers
shapr In my home state of Alabama they say "put yo money where yo mouth is" 10:33
NathanJY yeah and they just rewrite it in another language
shapr Then do it.
NathanJY "it works" is not a valid defense
integral using monads in Perl is a right pain :-)
NathanJY that's not my job
"These days, though, it's becoming more and more common to not have C but instead to have some kind of virtual machine (JVM, .NET, etc.). So we'd like to have our own virtual machine that will run wherever there's C, but also to make it easy to port the bytecode to another virtual machine for places without C."
nothingmuch NathanJY: it shouldn't work is not a valid attack
NathanJY I never said it shouldn't work
kungfuftr NathanJY: go work on parrot then, so perl6 can run on perl6
NathanJY you could write perl6 in brainfuck, doesn't mean it's a good idea 10:34
shapr It's not your job to complain about code other people wrote either, but you're here.
NathanJY WTF is larry wall smkoing?!
since when do systems have a VM, but not C?
nothingmuch it's eating
cognominal You don't understand what bootstrapping a compiler means
nothingmuch and the what is blue sugar cubes
cell phones?
NathanJY of course I do
shapr smokes a cell phone
b6s please just /ignore him. 10:35
NathanJY It's like larry wall is deliberately avoiding the norm for the sake of avoiding the norm
rgs mmm, nokias.
nothingmuch NathanJY: let me put it this you. What are you planning on gaining from coming here and bashing us for using haskell?
cognominal NathanJY: you should use flintstones, that's proven technology used for thousand of centuries
NathanJY I didn't even know perl6 was being rewritten in hasekll until now 10:36
I'm shocked
nothingmuch if it's an implementation of perl6 in c, you won't get it
if it's respect, you won't get it either
if you would like to help, you can help
but please don't harass for the sake of harassing
shapr yeah, write code!
NathanJY even more shocked about this BS saying that they want to target systems with VMs that don't have C
nothingmuch you can write tests in perl 6
pjcj I think NathanJY may well be our first real troll. I wonder if there is a prize for this.
nothingmuch cell phones usually don't have compilers
NathanJY Geez, can't I offer a dissenting opinion without being called a troll?
nothingmuch but many of them have jvm
you're not offerring an opinion 10:37
NathanJY Stop being such zealots and open your minds to the idea that hey--maybe using haskell is a bad idea
nothingmuch your imposing a complaint
integral NathanJY: what's the use of a dissenting opinion though? We've got code, and it works.
shapr NathanJY: open your mind and see that it might be a great idea.
nothingmuch NathanJY: what does it matter?
cognominal NathanJY: do you only understand the purposes of VMs?
NathanJY cell phones? is that the best you can come up with? What about the numerous other platforms where C is available, but VMs arent'?
shapr NathanJY: You're just trying to distract us from writing code?
nothingmuch NathanJY: if C is available then parrot is too 10:38
shapr checks the latest smoke test.
Oh, I have a coupla free hours, what the next thing a lambafolk can do?
nothingmuch NathanJY: what do you want? please don't complain, but ask and maybe ye shall receive
NathanJY integral: That's totally illogical. I could write a working perl6 implementation in brainfuck, but does that mean it would be good?
nothingmuch if you want it to run on parrot, it already does
NathanJY integral: You're extremely close minded
rgs NathanJY: please go read a book about bootstrapping and come back when you'll have understood.
nothingmuch if you want to compile to machine code
integral NathanJY: does it need to be good though?
nothingmuch parrot does that
10:39 chady is now known as chady_
nothingmuch if you want it to compile to haskell, and from there to C, 10:39
then you have perl 6 with a C compiler backend
integral NathanJY: I'd much rather be able to be using perl6 today, then wait 5 years for whatever what happening before pugs to finally get there
nothingmuch that's already there too
NathanJY I'm well aware of what bootstrapping is
rgs no, you don't.
rgs ping pongs
NathanJY integral: You're missing the point completely, there's no reason it couldn't have been written in C
shapr NathanJY: so, want to write some perl6 unit tests? Those are good for any perl6 implementation.
nothingmuch NathanJY: yes there is
NathanJY rgs: If you repeat it enough, it must be true!
nothingmuch: which is...? 10:40
castaway NathanJY: You seem to assume the HAskell is the one and only ever implementation of perl6.
nothingmuch perl 5 is not the internal structure that people wanted for perl 65
shapr NathanJY: C'mon, you can contribute positively instead!
castaway s/haskell/pugs/ :)
nothingmuch if C would be a good solution, why aren't we just upgrading p5?
NathanJY nothingmuch: Argument from popularity is a logical fallacy 10:41
nothingmuch you can do that too, you know
castaway The whole thing is just an exercise in learning haskell :9
cognominal NathanJY: ask rgs who maintains perl5
shapr And for me, an exercise in learning Perl.
pjcj wanders off to write Perl6 in csh
cognominal he is qualified to know why we need an altogethere different vm
castaway writes one in elisp :)
nothingmuch NathanJY: you just disproved yourself, methinks
NathanJY castaway: I don't see why they would bother with a haskell implementation AT ALL
castaway NathanJY: For the hell of it! For fun!
NathanJY nothingmuch: Uh no, do you even understand formal logical fallacies?
shapr So, what part of pugs are people working on today? 10:42
castaway If you dont like it, nobody is asking you to
integral NathanJY: logic doesn't make a perl6 compiler actually happen :-)
nothingmuch NathanJY: whatever
nothingmuch goes home for a while
NathanJY nothingmuch: "If X was a good solution, why wasn't it done?" isn't valid reasoning. It would only be valid if the developers were somehow infallible and never made bad decisions
shapr NathanJY: So, go write your own and stop distracting us.
castaway shapr++
NathanJY wow
kungfuftr "Pugs, it's like a slow Perl 6... but... it's currently the only Perl 6 implementation" 10:43
NathanJY your criticism is HORRIBLE
shapr You're just jealous because we got something done and you didn't
:-P
NathanJY I hope you guys aren't the primary developers
nothingmuch NathanJY: maybe chip can give you some advice based on his topaz experiment
castaway well you barge in here, shouting about haskell, and expect people to agree with you?
kungfuftr NathanJY: fuck off... seriously
NathanJY seriously, I'm not just saying this, you guys have a really horrible grasp on logic
nothingmuch NathanJY: exactly
that's why we're writing it in haskell
integral NathanJY: What does logic have to do with anything? Would you like logic, or perl6?
nothingmuch and that's why pugs is a complete peice of shit
shapr snickers
nothingmuch even the SVN repo is not working 10:44
and whoops, the channel is not working either
NathanJY Even when I encountered extremist language zealots before, they iddn't use reasoning this bad
shapr Oh, the humanity!
nothingmuch why bother getting the code, or even talking here?
NathanJY integral: are the two mutually exclusive?
kungfuftr NathanJY: ask Larry if he likes pugs
castaway doesnt see anyone arguing that haskell is a great way to do it (or did I miss that?)
integral NathanJY: Who knows? Does it matter?
NathanJY nothingmuch: Following your own [il]logic, why aren't YOU writing code?
nothingmuch ciao
NathanJY Have you guys ever heard of constructive criticism?
shapr I really do think NathanJY is just here to distract us while his compatriots implement Perl6 in COBOL. 10:45
kungfuftr NathanJY: yeah, but there's logic to it
NathanJY Are you seriously suggesting we should never question THE GREAT ONE KNOWN AS LARRY WALL?
castaway yeah, care to show us some, havent seen any yet ,)
clkao *yawn*
shapr good morning clkao!
NathanJY kungfuftr: I see none of it here, people are just spewing out logical fallacy after logical fallacy
kungfuftr NathanJY: PUGS IS NOT PERL 6!
clkao take whatever tool you can handle and do what you can, this is called practical.
integral NathanJY: Pugs just happens to be implementing perl6. The perl foundation is still sponsoring parrot et al to get there another route
clkao and code speaks fucking louder than words.
shapr NathanJY: Talk is cheap, write code or be accused of being a hot air bag.
cognominal my $i = rand() * @lang; say "open your minds to the idea that hey--maybe using @lang[$i] is a bad idea";
NathanJY "Pugs is an implementation of Perl 6, written in Haskell." 10:46
castaway right: "an" not "the"
kungfuftr NathanJY: yeah... pugs is an implementation of perl 6... it is NOT Perl 6
integral NathanJY: someone woke up one day and decided to write a perl6 implementation. Even though there is an "official" project going on. Is there not allowed to be two projects?
shapr Btw, did you guys figure out a way around the make optimized bug?
NathanJY kungfuftr: I never said it was perl6, learn to read 10:47
castaway shapr: I think Corion had it working, but I dont recall the details
kungfuftr NathanJY: the design of Perl 6 isn't finalised... the practical purposes of Pugs allows to try a design and see where there are problems or things that need more clarification
shapr Ah spiffy, I'll ask corion when they next speak.
gaal shapr: if you have time, can you help me with instantiating IHandle?
castaway shapr: In about *calc* 4 hours?
NathanJY That still doesn't explain the choice in language
shapr gaal: Where in the sources can I look for background info? 10:48
castaway I just told you, it was a learning exercise
integral NathanJY: At the time autrijus was reading a book which used Haskell :-)
cognominal NathanJY: we will be happy to run your implementation if it is better than pugs :)
shapr greps
NathanJY and parrot is just reinventing the wheel, except a more blocky wheel
shapr castaway: Cool, four hours is reasonable.
gaal shapr: you can backlog for the details, but in short: i want to hide the tuple return of runInteractiveProcess in soemthing encapulated
AST.hs 10:49
NathanJY castaway: That's still a waste
kungfuftr NathanJY: take it to the p6 lists
cognominal NathanJY: we certainly want to learn from it and get enligthned
castaway NathanJY: A waste of what? our free time? surely thats ours to do with what we will?
kungfuftr there's nothing WE can do about it... so what's the use in moaning at us... it's the perl 6 development teams will
b6s If someone really need to know the reason of using Haskell, he would be able to figure out easily by searching and reading journals of pugs which written by autrijus.
NathanJY I don't think you guys seem to realize, that when you're dealing with a widely used tool, experimenting just for the sake of learning isn't ag ood idea
kungfuftr lol 10:50
castaway sure it is
shapr snickers
NathanJY no, you're just trying a different language for trying a different language
castaway so?
b6s and If someone actually just wanna show how smart he is, well...
NathanJY for the sake of
integral NathanJY: how are we meant to learn how to write compilers in Haskell without doing it?
kungfuftr uses perl to play with javascript all the time
NathanJY you do it by not even touching haskell at all 10:51
shapr NathanJY: You keep implying you know better than we do, I haven't seen your implementation of perl6 that proves that you have any clue at all.
castaway laughs
NathanJY So what if I haven't written an implementation? Nice Ad Hominem.
kungfuftr NathanJY: hot air
NathanJY Do you know what Ad Hominem means?
shapr Yes, but you're wasting my time.
NathanJY Then why did you use it, knowing it's a logical fallacy? 10:52
kungfuftr & # work calls
shapr I'd rather implement another failing test instead of talk to you.
NathanJY How am I wasting your time?
castaway later kungfuftr
NathanJY Then why aren' you doing it?
I'm not twisting your arm
shapr I am :-)
b6s i suggest just /ignore or everybody will have pages of flooding in irc log.
NathanJY No, you're talking to me
b6s please...
NathanJY You guys are so ridiculously close minded
castaway multitasks
kungfuftr ignored
shapr semitasks
castaway nah b6s, will be interesting reading for later .)
gaal shapr: the IFoo thingie is a way to place hooks on read and writes to an object
shapr gaal: ah, interesting.
gaal from the perl point of view, i have a simple eg. scalar, and when i try to read its value, code gets run to give me that value 10:53
shapr Neat, sort of like aspects.
NathanJY wonders how many of you have done any real world programming
gaal and when i write to it, different code (can) get run.
shapr wonders if electrons have consciousness 10:54
NathanJY Seriously
Why is there a parrot project?
integral NathanJY: ad hominem!
NathanJY Wrong
gaal we were mulling over providing a nice inteface to pipe-opens previously
NathanJY integral: If you think that, then you don't know what ad hominem means.
gaal autrijus suggested doing the tie thing
NathanJY Why not just use an existing VM architecture that has a lot more research go into it? 10:55
shapr NathanJY: do you also go under the irc nicknames of Smerdyakov, rahul, etc?
NathanJY The last thing we need is yet another VM, and an inferior one at that
kungfuftr NathanJY: go use java then
shapr Hello, would someone kindly kick NathanJY off the channel?
castaway shapr!
shapr castaway: yes?
NathanJY No one is going to kick me because i'm not violating any rules 10:56
You guys are being needlessly hostile and close-minded
You really can't handle criticism at all
And I seriously doubt that ANY of you have the slightest understanding of compiler theory
kungfuftr NathanJY: come up with _good_ reasons... all you've said so far is complete hot air
shapr Show me unit tests and I'll look at 'em.
castaway don't you think he's funny?
kungfuftr castaway: totally
integral NathanJY: What was the last compiler you wrote?
NathanJY I'm asking for good reasons for pugs and parrot
no one has offered a single one
shapr castaway: Yeah, but he's making inflammatory comments and it's distracting. 10:57
integral NathanJY: What is your understanding of compiler theory?
castaway "because its there" is a good reason for lots of things (especially learning ones)
NathanJY no it's not
castaway well then who's close minded?
NathanJY brainfuck is there, should you use that?
shapr I guess I'm used to criticisms with actual content.
kungfuftr NathanJY: parrot, not our problem.... pugs, to flesh out the perl 6 design
castaway If I felt like learning it, yes
NathanJY you guys are, you're unwilling to think about anything else
gaal so shapr, you can look at 1073 for example: there's the Cwd scalar, which when you read, gives you the current work dir, and when you write to, does a setCurrentDirectory. okay? 10:58
shapr would rather not do the Dance of Anger today.
NathanJY why would you waste so much time learning haskell?
castaway you havent actually asked any questions that would reveal that
NathanJY you don't need to write a compiler to learn it anway
Yes I have
you immediatly rejected the idea of a C implementation
And why parrot? 10:59
shapr looks for Cwd
castaway doesnt actually programm any haskell at all.
gaal what i need is some way to hang several IO handles on a single IScalar (i think)
NathanJY hahaha
I'm not suprrised
You're defending a language you know nothing about
How many of you have actually done any functional programming?
integral NathanJY: and I've learnt all I know about writing compilers in Haskell without writing one :-)
castaway I think you're attacking one you know nothing about too, so even ground ,)
kungfuftr NathanJY: SHUT THE FUCK UP. YOU ARE PROVIDING NO CONSTRUCTIVE CRITICISM. THIS IS NOT THE PLACE TO MOAN. GO TO THE PERL 6 MAILING LISTS
=0)
shapr Yeah, go away. You're just trying to sabotage actual useful contributions :-P 11:00
NathanJY kungfuftr: No one is providing reasonable answers to my questions. Calm down.
shapr NathanJY: post it on a website and let us read it.
kungfuftr NathanJY: GO TO THE PERL 6 MAILING LISTS.
NathanJY kungfuftr: Why not discuss it here?
kungfuftr NathanJY: this isn't the place to discuss it. discuss it on the mailing lists.
NathanJY It looks to me all you guys do is test cases, you're basically very mediocre programmers defending a project you don't udnerstand
What's wrong with discussing it here? 11:01
kungfuftr go to the perl 6 mailing lists
NathanJY WHY?
That's what I thought, you guys don't actually know enough about the projects to defend them
kungfuftr we have no input into the choice to use parrot or other design aspects of perl6
NathanJY that's why your'e deferring me to the list--so I can question people who know what they're talking about 11:02
kungfuftr pugs is simply here to flesh out the design
NathanJY so?
cognominal NathanJY: we are obviouly too dumb, please use better your time to enlight smarter people :)
NathanJY I'm asking WHY they made the choice
I don't need to be on a mailing list to do that
kungfuftr NathanJY: ask the list! we have no idea
castaway doesnt have a clue.
integral NathanJY: If we're very poor programmers, do you want us to just stop doing any work on anything perl6 related?
NathanJY Finally
You guys finally admit you have no clue why 11:03
castaway should we care? go ask the ones who do
NathanJY Congratulations on defending something oyu know nothing about *applause*
Because you're obviously interested in perl development
kungfuftr NathanJY: whoopee fucking do... goodbye
castaway nice asumption 11:04
shapr Google shows that NathanJY is a troll in many forums.
kungfuftr shapr: most undoubtedly
NathanJY shapr: nathanjy gets one hit in google 11:05
shapr NathanJY: Does the fighting excite you? Is it the conflict? I've never understood what's appealing about trolling.
castaway shapr: Its the 'lets hit them til they cry' mentality..
clkao and WHY do you choose perl6 to flame?
kungfuftr shapr: it's cos he's got a small penis. he needs to feel bigger. 11:06
NathanJY i never understood what's appealing about being close minded 11:07
shapr I don't think I'll ever understand trolling.
gugod I don't think I'll ever understand perl6
shapr grins 11:08
gugod or some equation like E=mc^2
pjcj At least that google count will go up soon ;-)
castaway Or haskell!
clkao pjcj: you need to /whois before google :)
gugod in fact, I don't even quite understand perl5 *shock* 11:09
clkao in fact, I am glad that i don't understand perl4. i was shocked by this $foo'bar thing yesterday
shapr Wow!
castaway heh 11:10
b6s 22 pages. gosh
gaal shapr/anyone, i want to undertstand if "iType" in the tie interface magically connects my var to a class i can call methods on, and where i write the code to that p6 class
and by the way, does gnu grep have anything by way of an .exclude file i can use to make -r lookups not return results from .svn-base ? 11:12
gugod --exclude='.svn' maybe
shapr You could use find, I think it might have an 'ignore dir' param. 11:13
gugod or use svk
gaal shapr, yes, but then it won't work with vim like i want it to :)
shapr Oh, ok.
gaal gugod: --exclude is what i want! thanks. 11:14
gugod cool
gaal (well, almost. i want to make it the default)
gugod use alias :p
gaal ah, there's GREP_OPTIONS env.
gugod alias grep="grep --exclude=.svn" something
gaal the alias prolly won't work because vim doesn't use the shell -- i think -- to call grep. 11:15
oh, also: grepprg in vim.
e.g. :set grepprg=grep -r --exclude=.svn 11:16
vim++
roshambo so who else thinks haskell is the pits? 11:19
castaway cog ?
Hmm, no
roshambo you must have a busted logic center ;P 11:20
roshambo quits teasing', bye 11:23
shapr boings randomly 11:26
w00
castaway sighs 11:27
shapr throws stuffed animals at castaway
castaway oooh, thanks :)
(as if I didnt have enough of them :)
shapr grins
castaway is wasting the whole damn morning on an error that makes no iota of sense whatsoever
shapr What's the error? 11:28
castaway I'm using an Excel PivotTable to read data from an Oracle View.. and its giving me ORA-01406 - fetched column value was truncated 11:30
fetching a field less gets rid of the error (any field), fetching a line of data less (any line) gets rid of it
castaway grrs.
no ideas, I take it? :) 11:37
shapr ora-01406.ora-code.com/
castaway yeah, BTDT
Excels PivotTable stuff is a blackbox, I cant/dont define any field/buffer sizes 11:38
glasser hey, I'm trying to get pugs running on mac os x panther and am getting an error about RTLD_NEXT when compiling hs-plugins (I installed GHC 6.4 from the .pkg on the GHC site) -- has anyone else seen this?
castaway I'm copying the data to my test machine now, if it works there after importing, I'm going to claim its a corruption error on the Q&A server
shapr Are you using the latest hs-plugins nightly? 11:39
glasser tried both the latest (or maybe it was yesterday's :-) ) and the april 10th one
shapr Oh
In that case, I'd recommend you ask dons
castaway or compile pugs without :) 11:40
shapr I know he was talking about a macos x problem yesterday, but I forget exactly what it was.
Ah, yesterday he was talking about "unknown symbol `_stg_int64ToInt'"
glasser maybe i'll drop him an email 11:41
RTLD_NEXT seems to be perfectly well defined in /usr/local/include/dlfcn.h... dunno what's up with it
shapr He's on #haskell as dons, but seems to be afk. 11:42
Aussies have such weird schedules ;-)
Juerd re 11:43
nothingmuch so what's new?
are we switching to C?
is parrot going to be scrapped?
where can i optimize some assembly code?
shapr snickers 11:44
castaway grins 11:45
kungfuftr nothingmuch: didn't you hear, parrot has been moved to becoming an engine to work out the most effecient way of increasing trollers penis size by telepathy 11:47
nothingmuch oh wow
nothingmuch starts trolling 11:48
who the hell does this autrijus guy think he is?
kungfuftr nothingmuch: yo mamma!
castaway :)
nothingmuch kungfuftr: you cna't do any css if haskell depended on you
kungfuftr sobs 11:49
nothingmuch s/cna't/couldn't/
haha! if you would have written your *OWN* display engine in C
then maybe you wouldn't have to make so many logical fallacies
kungfuftr nothingmuch: ENOCOMPILERKNOWLEDGE
nothingmuch i don't care 11:50
i want you to switch to C
stop using haskell, you 0.0001% programmer!
castaway This is gonna get old real fast..
kungfuftr yeah, agreed
nothingmuch doesn't feel any change yet 11:51
kungfuftr nothingmuch: with harness straps, is there a way of doing timeouts?
nothingmuch oh well, at least i tried
theorbtwo Morning, all.
gaal kff: no. :(
but i'm working on it :)
nothingmuch you can subclass analyze_fh and then put an alarm in there
kungfuftr gaal++
gaal nothingmuch, that's not portable.
nothingmuch basa 11:52
glasser aha, got it to compile, but only by handediting /usr/local/lib/ghc-6.4/include/ghcautoconf.h. perhaps i should mention this on #haskell?
kungfuftr glasser: sounds good
castaway good idea, glasser
castaway -> meeting (well actually training) 11:58
glasser for the record, it looks like moving /usr/local/include/dlfcn.h out of the way (and letting the compiler see /usr/include/dlfcn.h) does the trick 12:10
gaal can i say has $:benchmark = try { use Benchmark; 1 }; ? 12:12
glasser oh, and i need to install readline somewhere nicer than /sw/include (setting CPPFLAGS doesn't seem to propogate far enough) 12:16
kungfuftr gaal: where's the try {} stuff in the synopses? 12:18
gaal kff: <S04/"Exception Handlers"> 12:19
kungfuftr ah, s04
gaal: seems so, under "Control Exceptions" around the 'leave' stuff 12:21
gaal cool.
nothingmuch: there? 12:22
nothingmuch yep
gaal any reason not to couple Test::Tap::Model with the p6 port of Test::Harness?
nothingmuch nope 12:23
in fact, I think Test::Harness::Straps should be two parts:
one more like a ::Model
the other more like a sax driver
gaal sax is xml domain specific btw, afaik, so your usage is confusing.
kungfuftr nothingmuch: Test::Model melarky? 12:24
nothingmuch i meant sax inspired
kungfuftr: melarky? what's that?
gaal event-driven parser, perhaps.
nothingmuch yes, that's what I meant
but it should be simple
=)
gaal: kungfuftr has big plans for ::Model, btw
kungfuftr nothingmuch: was this along the lines of the Producer -> Model?
gaal well, good :)
nothingmuch i don't know 12:25
maybe
i think Test::TAP::Producer should be an event driven parser
gaal that's not a good name
since it doesn't produce TAP.
kungfuftr ah, yeah... been trying to work out a data structure to represent a testsuite result... tricky, but doable
gaal it consumes TAP.
nothingmuch and that Test::Model should be a sort of DOMish thing that knows how to be constructed from those producers 12:26
and not TAP specific
but modeled around it
so that it's extensible
but this is a big job
true
kungfuftr: i think it should be minimalist
theorbtwo is all caught up on the backlog.
gaal nm, why bother with that?
nothingmuch TAP should be able to be modelable with it easily
gaal: because kungfuftr wants it ;-)
and because it's reusable
kungfuftr =0)
gaal kff: why bother with that? 12:27
nothingmuch Test::Harness::Straps is probably the least reusable bit of well accepted code i've ever seen
gaal :)
nothingmuch it's so hard to pull it off
kungfuftr gaal: if you 'represent' a test model, it means that you can use more than TAP and still get the same output
nothingmuch it being stuff you need
maybe ingy should draft us a test model
anyway, at that point you have reusable tools for display
gaal is wary of overabstraction
nothingmuch and reusable harnesses
kungfuftr tried in perl data structure but was scary 12:28
gaal TAP is named "test anything protocol" *because* it wants to be able to test anythign.
nothingmuch gaal: but it's not 100% good for stuff like huge integration tests
or tests with no concept of subtests
gaal so if you thingk of an actual thing it's missing, you should improve the protocol, not the "model"
nothingmuch or tests with subtest groups
i think this model should be able to represent the data coming out of the protocol 12:29
but with minimalist primitives, which can be stacked a bit
display modules should know how to grok the data
kungfuftr gaal: protocol != model tbh
nothingmuch the model is just a convenient way to access it
gaal of course
nothingmuch and protocols for it could be TAP
and YAML
and storable
and XML
etc etc etc
kungfuftr starts braindumping 12:30
nothingmuch since we're all for the freepan/parrot-runs-everything concept, other languages test suites should be accommodated for
gaal but the model has to be at least as conceptually rich as anything any of its protocols supply.
kungfuftr nothingmuch: that's for reminding me!
nothingmuch no, it can be simpler
it can have a test case object
and a case group object
test case is a leaf in the structure 12:31
case group is a grouping that you can ask: what it's success ratio was
were all it's children skipped, etc
and case groups know arbitrary fields
bailout is a leaf
like 'filename', etc
case groups can have plans, too
basically, our current concept of test files should be nestable
and I think that's all we need
gaal sounds like all you need is another piece of metadata right next to the plan 12:32
nothingmuch no
TAP is good design
gaal and put a wee bit of smarts in the harness to make it context sensitive
nothingmuch i don't like nesting, i want it as it is
the TAP parser should create single level case groups 12:33
and we're happy
but an XML beast coming out of some other language should be representable with the tools we have
so that familiarity is increased
gaal i don't know whaty you mean by that.
nothingmuch in theory the parrot-hippiness concept says: 12:34
python heads could use the perl DBI
so a python head installs perl DBI from freepan 12:35
using familiar freepan tools
and runs the test suite
they should be able to use the same frontend to grok results for DBI as they can use for python
also, they should be able to write good display tools in python 12:36
and we would like to use them
where the root is the whole test suite
the data model is simple
it's a tree of success failure
and then there are levels which can represent:
directories of files
or cases in a unit testing framework
sorry, fixtures
and the immediate parent of the leaf in a directory of files approach is the file 12:37
it has cases
theorbtwo suggests nothingmuch write that test model that he was suggesting ingy draft.
nothingmuch (that goes along well with TAP)
theorbtwo: you know, why not
gaal aurtijus around? 12:47
kungfuftr bah! 12:48
(fire alarm systems)-- # please to be resetting properly 12:49
theorbtwo Kungfutr English speaking? 12:50
kungfuftr a test = 'ok(...)'. a testgroup = 'basic.t'... testgroups contain tests, testgroups can also contain testgroups... sounds about right
theorbtwo: fire alarm didn't reset properly, so went off every 2 mins for about 20 minutes 12:51
theorbtwo: during my lunch break too! 12:53
theorbtwo Ugh.
kungfuftr the pugs kwiki has been hacked 13:05
cleaning up
Limbic_Region hacked or defaced? 13:09
kungfuftr wdefaced, even... lots a links 13:11
castaway ick 13:19
castaway returns.
Are you guys using C yet? 13:26
rgs no, python. 13:28
castaway ah, good :) 13:29
kungfuftr bah, since when did we stop using befunge? 13:30
castaway befunge? 13:31
kungfuftr castaway: kotisivu.mtv3.fi/quux/befunge.html 13:33
nothingmuch: come up with a model, will do some hacking later... got specs to write up for now 13:34
nothingmuch wee! i love the holidays 13:36
i have 70%
but now i'm drunk
pjcj ah - *that's* how Haskell got chosen as the implementation language 13:38
nothingmuch okay 13:57
nothingmuch.woobling.org/test_result_model.pod 13:58
plans could be simplified 13:59
in the model spec
the model itself says what is OK, and what is not, at the group level
but i think the model should be smarter, not the protocols
and plans should be allowed this complexity
what's most important is, IMHO, stubbing, and interpretation
both for humans, and in the 'actual_ok' sense
this will allow any display modules to have logical results without working hard
theorbtwo I'd like a s/=item \*/=item $name/ in tere. 14:00
there.
nothingmuch i don't know how to name them yet, it's sort of intentional
do you want to name them? i'll gladly change it 14:01
but i think they are sort of more like lists of traits, or predicates, not so much distinguishable items
morning stevan
stevan_ hey nothingmuch
nothingmuch: did you see my "no more todo_" idea? 14:02
nothingmuch i saw the mail subject
but didn't read
i'm at work, and i'm drunk anyway
stevan_ ahh
nothingmuch s/and/but/
so i'll read it now
theorbtwo Hm, perhaps the one ok should be named "unremarkable".
stevan_ hey theorbtwo 14:03
nothingmuch theorbtwo++
theorbtwo Allo, stevan!
shapr @yow ! 14:07
theorbtwo How now, shapr yow? 14:08
shapr boings cheerfully 14:10
theorbtwo: that's a neat response!
How now brown cow? The rain in Spain falls gently on the plain.
stevan_ shapr doolittle, you'll make a fine lady some day 14:11
shapr I did it, I did it!
Oim gettin married in da moynin!
Weddin bellz is gonna rang!
castaway ,)
shapr loves that musical. 14:12
My favorite is Moulin Rouge, I try to sing exactly like Ewan McGregor.
I'm passable, surprisingly.
Passable to the point that several people tried to recruit me for the local choir. 14:13
stevan_ turns up the volume on his IRC client, but still can't hear it
shapr laughs 14:14
I just got an iriver that records, you really wanna hear?
shapr grins evilly
castaway yup
alinbsp used to be in the school choir
stevan_ we can start a group ... Shapr and the Pugettes
shapr laughs 14:15
BoIP - Band over IP
stevan_ nothingmuch can play bass 14:16
we can just autrijus a book on music theory and see what he does next :) 14:17
theorbtwo Hm, now that's interesting. I switched CD-ROM drives in the mac; with this other one, and the Jaguar CD, I get a floppy-with-question-mark, but then a lot of disk activity... then a pause, more disk activity... but I'm still on black-and-white screen with a floppy with a question mark on it.
stevan_ theorbtwo: that means it cant find the disk
different, but not better :) 14:18
nothingmuch =)
stevan_ theorbtwo: you might want to get OS 9 on there first 14:19
then at least you will have a usable system from which to try other angles
theorbtwo I've heard with this motherboard that OS 9 corrupts non-Apple IDE hard-drives.
stevan_ hmm, thats not good 14:20
did you put in a non-apple IDE drive?
decay what's a non-apple ide drive?
stevan_ an IDE drive not made by apple :) 14:21
theorbtwo Well, I think it's better; before I was getting the floppy with question mark and no disk activity.
decay stevan_: i wasn't aware they make ide drives.
theorbtwo stevan, I only bought the motherboard, no hard drive, cd drive, case, or PSU.
I'm a right cheap bastard.
stevan_ decay: I have no idea to be honest, but I know they have moved away from SCSI
theorbtwo++ # building his own mac out of things he finds under his desk :) 14:22
theorbtwo OTOH, there is presently no data on the hard drive for it to corrupt.
I just wish I'd gotten a beige G3 rev 2 mobo, they are apparently a lot nicer. 14:23
stevan_ theorbtwo: you are fighting an uphill battle for sure
theorbtwo: have you looked at CPU upgrade cards? 14:24
or rather the websites of the companies who make them
there should be a lot of "how do I run OS X on my old Mac" stuff there
I would imagine that is a major part of their business right now (making old stuff work with OS X) 14:25
nothingmuch: did you read that email? 14:26
nothingmuch it's open, but i'm in a discussion right now
stevan_ ok 14:27
nothingmuch okk, reading now 14:29
sort of a todo plan? 14:30
TAP deprecated this sort of behavior at some point
stevan_ yes
nothingmuch it turned out to be hard to maintain
stevan_ Test::More, etc still has TODO blocks
nothingmuch i think we should have
stevan_ (which I think is the only way to do TODO) 14:31
nothingmuch is(foo, bar, "desc", :todo());
stevan_ hmm
nothingmuch instead of the functions
all params are named
but also positional
(does that make sense? i've had several glasses of wine, sorry)
stevan_ but that does not easily allow for no-desc
nothingmuch why?
stevan_ which is a bad think IMO anyway
nothingmuch is(got, expected, :todo()); 14:32
stevan_ is(foo, bar, undef, :todo())
nothingmuch named params make this simpler
stevan_ oh
named params
nothingmuch is(:todo(1), got, expected, desc);
stevan_ sorry,.. didnt read that part
nothingmuch is(:todo(1); :desc("foo"), :expected("yes"), :got(get_answer));
stevan_ ok I will experiment with that
nothingmuch then on top of that I think we should allow force_todo(1..10) 14:33
but it shouldn't be the only way
this is a useful feature
but todo_is or is(:todo) should still be available
stevan_ I really just want to avoid reading and parsing t/force_todo each time we load Test.pm
nothingmuch as for a force_todo file, i don't really like that
we have something like that at work
it's a pain to maintain
stevan_ its actually nice to use, but hard to maintain
exactly :) 14:34
I think that we could remove the todo_ functions in favor of :todo()
nothingmuch i think that given a :todo named param to functions it'd be easier to say $force_todo = 1; in Test.pm
stevan_ and then have the force_todo() function in favor of the t/force_todo file 14:35
nothingmuch it's easier than casing the functions
and then you don't have to maintain a force to do list at all
all tests are just todo instead of fail
stevan_ I was thinking of a global switch of some kind
nothingmuch this could even be sensitive to the pugs version 14:36
stevan_ but sometimes I think we want to force-todo some files/tests and not others
nothingmuch if $version is release then force todo
force_todo as a function should be very useful
stevan_ now the wine is talking :P
nothingmuch but perhaps we can also include a t/force_todo.pl
a sort of rc file for tests 14:37
stevan_ I was thinking that force_todo() could write a log file if requested
I want to avoid needing to load another file for all the tests
it imposes a dependency on all,.. even if they dont need it/want it
s/dependency/penalty/ 14:38
nothingmuch it could be a sort of last resort
anyway, nevermind
i think at least two facilities should be there
stevan_ I think force_todo() and :todo() would be good enough
nothingmuch one at the test level, in the line where ok()/is() is called
and one more akin to plan()
stevan_ then a global var to turn it on and off from the suite level 14:39
nothingmuch uhuh
stevan_ kind of a failsafe switch :)
nothingmuch++ # drunken design :)
nothingmuch: what holiday is it BTW 14:40
nothingmuch i'm not *that* drunk
passover
stevan_ ahhh
nothingmuch the food is horrible
so i didn't have any
theorbtwo wonders if he can get an OS 9 image.
nothingmuch but the wine is good
theorbtwo It is? Damn, I'm a bad Jew.
nothingmuch so i had 5 and a half mini cups
stevan_ theorbtwo: I am leaving to go to $work in about 20 minutes
nothingmuch theorbtwo: i can romp around and mail you one
stevan_ but I can set you up later tonight
theorbtwo Cool, stevan.
Use the GUI tool this time; I'm not 100% sure that my dd command line wasn't wrong. 14:41
nothingmuch or transfer you an ISO and then mail it to you
in which case it would still be legal
stevan: did you see nothingmuch.woobling.org/test_result_model.pod ?
stevan_ nothingmuch: manashevitz shots ??
theorbtwo: .dmg ok?
theorbtwo Yeah, I can figure it out.
stevan_ I can try to dig up some other disk tools I have if not
nothingmuch stevan: what? 14:42
theorbtwo Do a "CD/DVD master" DMG, then compress that.
Or get nothingmuch to tell you the right way to create a .iso.
nothingmuch i don't know the right way
i usually dd
=)
eh, usually
when I had to, that's what I did
stevan_ nothingmuch: I saw that (test_result_model.pod) but havent read it yet 14:43
theorbtwo nm, what's the source file on the dd line?
nothingmuch dd if=/dev/from of=/dev/to bs=2m 14:44
bs makes it much faster
especially if the controller is slow
theorbtwo Right: What should /dev/from be there?
nothingmuch (read a lot, then write a lot)
what OS?
osx boot cd? linux?
dd if=/dev/cdrom of=/dev/hda1 14:45
or equiv
i think i did that last time
only the way i really did it was using zip disks
and in 100MB chunks
theorbtwo There is a /dev/cdrom symlink under OSX?
nothingmuch no 14:46
for example /dev/disk0s0 is the first partition of the first disk we saw
use mount for that
devices are allocated dynamically
theorbtwo So would /dev/disk1s1 be only one partition of a CD? 14:47
If it's not the whole disk, that'd explain why it doesn't boot from it, and also why the file isn't a full 700MB.
stevan_ theorbtwo: the disk was not full 14:48
nothingmuch yes
14:48 alinbsp_ is now known as alinbsp
stevan_ the two numbers matched actually 14:48
nothingmuch dd if=/dev/rdisk1 of=/dev/disk0s3 <-- whole of second disk to 3rd partition of first disk
theorbtwo stevan, can you put the disk you sourced that from in, and do a cmp jaguar-1.iso /dev/rdisk1 ? 14:50
stevan_ theorbtwo: yes, give me a moment though 14:51
stevan_ is on the "upstairs" (non-work) computer right now 14:52
theorbtwo Thanks.
nothingmuch gcov is so completely fucked up beyond all repair 14:57
my src/dir/nested/foo.cpp
if there are two files named 'foo', you're screwed
generates src/foo.da
you need to move them around manually to actually get some results
but it gets worse: 14:58
if you are compiling nested.cpp and nested/foo.cpp inside src/dir
not top level
not their own dirs
then all the files go to nested
but where you ran the compiler
so now I have the pleasure of parsing makefiles to find out which source files were compiled in which dir 14:59
and this is about the 10th problem like this that has been found
kungfuftr 's brain boils with writing specifications 15:35
Juerd hop++ 16:17
kungfuftr Corion: notes is evil! 16:30
Corion kungfuftr: ?
kungfuftr Corion: noticing yer perlmonks post
Corion kungfuftr: Of course Lotus Notes is an evil product that attracts evil people. That's why I wrote that exporter. 16:31
kungfuftr Corion: 6.5 is a _little_ better though
Corion kungfuftr: My company, as the pinnacle of technology, uses LN 4.5 after a downgrade from 5. 16:32
But supposedly we will get a web frontend to email. In addition to our 150MB mailquota.
Corion starts a pugssmoke
Corion plays with his new toy. A VoIP/ISDN box.
shapr using asterix?
um, asterisk? 16:33
Corion shapr: No, plain DSL-modem/ISDNbox/Analog adapter.
But I'm afraid to make the switch from my existing setup :)
... and I haven't found the box in my network yet :)
Juerd I'm going to add [AES]\d\d to tnx.nl 16:34
So you can use tnx.nl/S03 to read synopsis 3
Corion ... but if I start begging you all to do a voice chat session, you'll know that I got it working :)
Juerd :)
Juerd The long URLs drive me crazy (I don't use bookmarks)
shapr grins
Corion Juerd: Don
Juerd: Don't you have perl -MPerl::Bible -e "..." ?? :) 16:35
Juerd Too much typing too
And I actually prefer the browser for this
NathanJY well that's a nice abuse of power 16:36
thanks for proving my point
shapr troll 16:37
Corion shapr: I know. I read the logs.
Juerd NathanJY: Explain to me what you mean, please.
Corion Juerd: Read the logs
NathanJY troll = person who says thinks I don't like
shapr Juerd: he's just trying to get you to fight because he enjoys it.
Look at what he said on Amazon.
NathanJY what about what I said on amazon?
shapr Look at his livejournal.
Juerd I'm trying to get the story from NathanJY himself
NathanJY All I keep seeing is Ad Hominem
and a bunch of trolls 16:38
Juerd So I can more correctly form an opinion.
shapr NathanJY: c'est votre choix.
NathanJY I was censored in #perl for offering a dissenting opinion
obra On what topic?
and by someone other than sungo?
kungfuftr good for you, i hope your mother was proud of you
NathanJY by integral 16:39
Corion Well. Getting kicked from an irc channel is nothing really new.
The main problem with #perl6 is that I have no ops.
NathanJY No, but freenode is supposed to be more open
shapr Juerd: I would encourage you to read the logs from earlier today.
Juerd shapr: That's a lot of work.
shapr Juerd: I believe it would be less work than talking to NathanJY directly. 16:40
Juerd Corion: The main problem with freenode is opless channels
theorbtwo shrugs.
Juerd shapr: It appears you're right.
theorbtwo Most of the time opless channels work pretty well.
Juerd Except when they don't 16:41
NathanJY this is a case where it is
it prevents abuse
Juerd Channels with ops work well in BOTH circumstances.
The only danger is packeting
Which I simply accept as part of life
afk # dinner
theorbtwo Ops and free topic changes may be the best circumstance.
gut appitit, Jured. 16:42
NathanJY I don't understand the kind of zealotry in here
theorbtwo We don't understand your kind of zealotry either, NathanJY. 16:43
NathanJY what kind of zealotry is that?
The kind that is open minded?
rgs no, the troll kind.
obra HNow did this become on topic for #perl6?
NathanJY In what way am I a troll? BEcause I offer a dissenting opinion?
shapr obra: could you please get rid of NathanJY ? 16:44
theorbtwo I read over the IRC logs of your earlier appearance here. Nobody seemed terribly openminded.
shapr Or give me ops and I'll do it :-)
obra NathanJY: are you interested in helping to develop pugs and perl6?
NathanJY probably not
theorbtwo And, indeed, nobody understood the fallicy of calling ad hominem a fallacy.
Then I suggest you watch. 16:45
obra ok. That's what this channel is really for.
NathanJY I understand that, which is why I came asking questions
obra if you've got issues with the folks on #perl, it's probably best to take em up with the freenode ircops
since we can't do anything about them.
NathanJY they're the same as the ones in here
obra and traditionally #perl is a place for flamewars and penis jokes.
#perl6 is a place for getting work done.
NathanJY lol
Corion obra: #perl6 is not the place for penis jokes?
NathanJY IRC and getting work done don't belong in the same sentence 16:46
Corion switches off his webcam and zips his pants.
NathanJY Ad Homniem IS a logical fallacy
obra NathanJY: perhaps not in your corner of IRC, but my company actually finds IRC quite useful for productive work
theorbtwo It seems to work well much of the time on this chan, Nathan.
obra so. really, this is off topic here.
theorbtwo I have no doubt that the project would move much slower without the use of IRC.
NathanJY that's what I thought, what he did was a violation of freenode policy 16:47
obra NathanJY: go tell the ircops. not #perl6
We mostly don't care about #perl. 16:48
NathanJY I will
it was someone I argued with in here that +q'ed me in #perl
obra great. catch you later.
theorbtwo The 'q' bit is unvoice?
NathanJY yes it is
I'm not leaving, I came here to ask questions about perl 6 development 16:49
Corion waits for the first sentence of NathanJY to end with the char "?"
obra that's fine. questions about people on #perl being asshats are likely to get someone to +q you here, though.
theorbtwo Have you read PA01?
svn.perl.org/perl6/pugs/trunk/docs/...rview.html 16:50
Also www.perl.com/pub/a/2005/03/03/pugs_...rview.html
NathanJY actually I was asking ther since it didn't work out here, but anyway. I was wondering why reinvent the wheel with parrot 16:51
they could use an existing VM architecture
obra NathanJY: go read the parrot faq
NathanJY yeah I found the docs, they're pretty good, but this is more of a general question
Corion NathanJY: Why not take that up with the Parrot people?
obra they cover this pretty explicitly
NathanJY really? 16:52
NathanJY checks
Corion r2190 - datenzoo.de/pugs/win2k.html
theorbtwo Nathan: There are two sepperate efforts to implement perl6. One is parrot, which gets talked about on the perl6-internals mailing list. The other is pugs, which gets talked about here.
Corion pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256 smoke/win2k (occasional): xrl.us/fqum (22/4453, r2190) Mac OS X (62/4459, r2116) | pugs.kwiki.org 16:53
theorbtwo There is presently not much overlap, but they are expected to grow together somewhat soon. 16:53
Corion Parrot is somewhat bottom up, while Pugs is top-down.
theorbtwo So if you have questions about parrot, while we are somewhat knowledgeable, we can't speak authoritatively on the matter.
Corion BTW, are we inching towards preflight or is it OK to add failing tests? 16:54
(I remember reading that autrijus was revamping the whole type system/builtin type system again because of some array parsing clarifications?)
NathanJY that's certainly a better answer than i got before 16:57
Jonathan_ NathanJY: See www.parrotcode.org/faq/ - specifically the question "Why your own virtual machine? Why not compile to JVM/.NET?" - help? 16:58
Corion NathanJY: "WTF" is a bad start into any channel, especially if you are the first to utter that three letters that day. 16:59
"day" == "last 6 hours"
And calling people "only if you're a crack smoking academic pinhead" seldom gets received well if it's aimed at the people you'd like a favourable answer from. 17:00
Not that crack smoking is a habit that people are not accused of, but the notion is generally not well received. 17:01
NathanJY register based instead of stack based...
theorbtwo Is also covered in the FAQ.
Corion Hmmm. Tye McQueen suggests the sept() and nov() builtins, so oct() doesn't feel all alone. >:-) 17:02
NathanJY yeah I'm reading out loud
I didn't understand that decision, since I'm not sure they even make stack based architectures much anymore
Corion NathanJY: I'd prefer you'd stop that. It's bad enough seeing you move your lips while reading.
NathanJY well it's true 17:03
Jonathan_ NathanJY: The JVM is stack based, I believe the .NET VM is too. They're certainly still "making" those. :) 17:04
NathanJY I was referring to hardware
Jonathan_ Ah, OK.
NathanJY the reason they made those stack based was because of some obscure hardware
hardware which is probably seriously deprecated now 17:05
theorbtwo Hm? I didn't think hardware had much, if anything, dto do with it.
Corion NathanJY: You should maybe look at Sparc hardware.
... and, of course, learn Forth. The ultimate stack based language.
(or Postscript)
... and use an RPN (HP) calculator. 17:06
NathanJY sparc is primarily stack based? it doesn't use general registers?
Corion NathanJY: What are "General Registers" ?
NathanJY general purpose registers
Corion NathanJY: How does The Stack differ from General Purpose Registers, then?
NathanJY are you serious? 17:07
Have you down low level programming before?
*doe
*done
Corion NathanJY: Sparc architecture uses the registers mostly as a cache into the stack, and can (and does) swap out register sets onto the stack.
NathanJY The reason I saw cited for making the JVM and .NET VM stack based was because of certainc archs
Corion NathanJY: You should realize that x86 is not the centre of CPU architecture. 17:08
NathanJY: Now, if you know that the JVM decision was based on hardware, consider looking at the history of who designed the JVM, and what hardware they produced.
NathanJY so they're just stack pointers?
Corion en.wikipedia.org/wiki/SPARC 17:09
NathanJY according to one doc sparc has 32 general purpose registers
Corion Yes. But they are basically a cache on the stack. 17:10
NathanJY virtual registers?
8 are global registers
theorbtwo notes that the term "general purpose" seems to be rather abused with reference to registers.
NathanJY how is it abused? 17:11
Corion NathanJY: What is the difference between a "virtual register", a "memory location", and a "real register" for you?
NathanJY 8, that's more than x86 has
one is stored in memory, the other is an actual physical register
theorbtwo I seem to recall some MIPS document I was reading saying that one of the general purpose registrars was hardwired to 0, which does not seem very general-purpose to me. 17:12
NathanJY considering that sparc has 8 physical general purpose regs, I don't see why it would be considered more stack based than other archs like x86
Corion NathanJY: So, what is a "register", other than a cache for memory?
NathanJY a register is a special kind of memory
have you studied computer architecture?
Corion NathanJY: Read the Wikipedia article I linked to, look for the term "register window".
NathanJY: No, but then again, I don't design on Parrot either. 17:13
theorbtwo You haven't?
NathanJY physical registers are the "lowest level" memory you can have
Corion theorbtwo: Well, having a zero always handy is quite convenient, especially if all constants eat up 32bit memory otherwise :)
NathanJY they're even faster than L1 cache
it seems these stack based ones would be stored in the cpu cache and main memory 17:14
Corion theorbtwo: Nope, only mathematics.
theorbtwo This is true, Corion, but still not very general, if it's read-only.
NathanJY theorbtwo: I woudln't consider a read only one general purpose
that would mean they're read/write and you can perform integer arithmetic, at the very least 17:15
Corion theorbtwo: But it saves a lot of memory :)
theorbtwo I agree, Nathan, thus me considering it an abuse of the term.
NathanJY the "register window" doesn't negate the fact that there are 8 physical registers
Corion Anyway. If you want to discuss CPU technology, #perl6 is not really the channel.
theorbtwo True enough. I can certianly see the point of having it there. I just wouldn't call it general purpose.
Corion NathanJY: The article I linked to (please read it!!!) talks of more than 8 registers. 17:16
NathanJY I know that, you're missing the point though
Corion Anyway - away,playing with my new toy.
castaway toys++
Corion castaway: Indeedy :) I just need to find out how to access it at all, without installing the software :) 17:17
theorbtwo BTW, I'd really call the current parrot design more of a mix of register-based and stack based then either.
In any case, if you want to talk about parrot, #perl6 is the wrong channel. 17:18
NathanJY anyway, the point is that translating register based bytecode->sparc code woudl be no problem
castaway sighs cos here gadgets are dying like flies, as of late.
NathanJY I don't know what they are, but I know there are some really weird archs that don't really have general purpose regs at all
everything is done on the stack 17:19
theorbtwo The JVM is like that, for one.
NathanJY I mean actual hardware, not virtual machines
theorbtwo shrugs.
autrijus greetings lambdacamels!
theorbtwo Parrot is a VM. 17:20
Ah, hello, autrijus!
NathanJY .NET was made stacked based too, supposedly for the same reason--because translating register based bytecode to stack based archs would cause a probelm
autrijus I'm happy to report I finally prevailed in rewriting everything! ;)
NathanJY I know
obra snickers
Corion autrijus++ # rewriting
autrijus: Committed already?
theorbtwo How's the cold, or whatever it is?
autrijus well, still got a bit cold, but gradually recovering
castaway "E"verything ?
Corion shapr: BTW, I don't know if castaway told you, but when I get the problem of a compilation failure with "make optimized", I need a "make clean", or I need to wipe src/ 17:21
(and "svn up" again)
autrijus castaway: no, not really, just 19 files out of 30 or so
Corion: it's in as r2191
now I'm sure it will kill the tree :D
Corion updates
autrijus didn't "make test"
Corion does 17:22
autrijus danke
Corion autrijus: I thought that's what we're for :))
autrijus Corion: thanks :))
theorbtwo is glad he figured out how to use retEmpty instead of inlining it.
autrijus theorbtwo++
castaway eep!
Corion Pugs builds again. Now, starting a smoke :)) 17:23
autrijus++ # changing the tree and still leaving the build intact
autrijus Corion: it will probably infinite loop somewhere
quicksort loops
I'm looking into it
pjcj slowsort
Corion autrijus: Ah well - I'm a cpansmoker. I know such stuff.
Oh. Quite a lot of "pugs: assoc" output. I guess that means that the test failed :) 17:24
And parsefails.
autrijus pugs:assoc?
Corion But Test.pm seems to be left intact.
autrijus: I don't know anything else - the smoke harness doesn't let on more :)
autrijus: I'll run one offending test without the harness
theorbtwo ponders moving from ghc --make to a real makefile. 17:25
(Would mean it can use both cores.)
Corion Hmmm. The only output for t\builtins\die.t is "1..3\npugs: assoc"
autrijus: Dunno what that should signify though. 17:26
Happens on a lot of builtins, but not on all (about every third or fourth fails)
Let's wait for the smoke to finish
autrijus yeah.
Corion Heh. This VoIP box has a preset for eMule/eDonkey right in the firmware :-)
... they know their customers it seems :-) 17:27
theorbtwo Sounds nifty.
I take it you found the IP?
Corion theorbtwo: Yep - praise Google and the secondary modem :-) 17:29
theorbtwo: And so far, the service by 1und1 was OK - they only gave out some misinformation, and cancelled that misinformation one day later. Other than that, everything works. 17:30
theorbtwo Cool!
How much is it, all-told, and for-what? 17:32
s/for-/for /
Corion theorbtwo: tallying 17:33
35 EUR/mth for the 3MBit/384kbit line, plus 25 EUR/mth for the phone line 17:34
(including flat IP access)
Oh - t/examples/examples.t is in an infinite loop it seems)
castaway and the provider? 17:35
Corion castaway: 1und1 / T-Com backbone. I'm still on via T-Com though (until I get the other modem working)
Oh. All the OO tests seem to fail with "pugs: assoc" 17:36
autrijus ugh, quicksort() was interpreted as a quoting construct.
wtf?
q:uicksort<>
Corion qu...u ?
autrijus: Oh :)
There's a reason why Perl5 doesn't allow alpha-chars after "q" in quoting constructs :) 17:37
castaway Actual access is included in that? flat rate?
Corion Hmmm. Seems like I got to load a new firmware before I can change the IP address of that box...
castaway: Yep. 25EUR/mth for the line, 10EUR or 7EUR for the flat rate
I should get the 7EUR/mth thing, but I haven't seen the confirmation. Hmm. I should simply go and look. 17:38
theorbtwo IIRC that's both much cheaper and much better then what we have now.
Corion theorbtwo: Which was the reason why I took the plunge.
It's three times the speed from what I have now, plus shiny toy, and cheaper than what I pay now.
And 1und1 have a good web front end to all their services. Just pray you don't need a human to clear things. 17:39
theorbtwo /we may change after you've guinea-pigged for a few weeks.
Corion And VoIP -> POTS within Germany is 0.01EUR/min - cheap (not that you'll need it) 17:40
theorbtwo: Yeah :-) I'm doing that guinea pig thing for a lot of people. I should activate my 1und1 reseller thing and get a commission :)
They seem to throw a homepage account and email account and some other useless junk into the deal as well. 17:41
Not that I care.
Corion considers unplugging one modem and plugging in the other. 17:42
theorbtwo I used to think our service was pretty good. Then they started getting much much worse about 6 months ago. 17:43
castaway oh, thats phone included ?
(as in, both or nothing)
Corion, german quiz out of my magazine: "Grossen eindruck machen" bedeutet, jemandem zu: a) impraegnieren, b) importieren, c) imponieren :) 17:44
Corion castaway: No. My phone (ISDN) line is still with DTAG 17:45
castaway: :))
castaway ah
Corion castaway: But now I have the option of doing VoIP -> POTS, which T-Online only offered recently, and more expensive, and I didn't have the bandwidth 17:46
(because with 3Mbit/384, telephoning should have much less latency :))) )
castaway ah ok
Corion ... while there's a torrent outside of the window :)
castaway bittorrent? ;)
Corion err - tornado, I wanted to say, obviously. Like flogging a dead donkey.
castaway frowns 17:47
25 for phone? we're paying an average of 40 (and hardly using it)
thats including tax? 17:48
Corion castaway: For the naked two ISDN lines I think I pay 25EUR. And since I guess that most of my future calls will go out via VoIP, that won't be much more.
castaway: Yep - I always think of prices as including tax :)
castaway: I have to do the exact tallies soonish 17:49
castaway odd then, we have bog std ISDN (I hope/think)
theorbtwo Ah. The prices you're paying sound almost reasonable. 17:50
crysflame i cannot wait for aacplus voip
Corion goes looking at the invoices.
crysflame 48kbi/s carries somafm at cd quality
imagine how little voice takes
speaking of
theorbtwo crys: The problem is not actually bandwidth so much as latency and constancy.
Corion Ah. No. I pay 30EUR/mth for the ISDN lines (DTAG). Plus 20EUR/mth for DSL1000 line (DTAG), plus 30EUR/mth for the flatrate (DTAG). 17:52
castaway ahh
and after?
crysflame theorbtwo: constancy?
Corion Now I'll pay 30EUR/mth for the ISDN lines (DTAG), 25EUR/mth for the DSL300 line (1und1), plus 7 EUR/mth for the flatrate (1und1)
theorbtwo The quality characteristics of the connection shouldn't vary over time much.
Corion So I basically go from 50EUR/mth for IP connectivity to 32EUR/mth for (better) IP connectivity. 17:53
crysflame so the way that aacplus gracefully degrades as packets are dropped, like realaudio, as opposed to introducing static, like mp3, would be a dramatic advantage over mp3 encoding of voice
Corion s!'ll!'m going to! # as my english teacher tries to teach me
theorbtwo shrugs. 17:54
castaway *g* 17:55
castaway cant find the dsl-line payments in the bankapp.. 17:58
autrijus how's the smoke? 18:01
Corion updated - sorry :) 18:04
r2191 - datenzoo.de/pugs/win2k.html 18:05
autrijus np :)
Corion ... and it's red :)
autrijus braces for impact
Corion 2198 ok, 2135 failed
:-)
autrijus that's... very red
Corion Most of the failures are parsefails that prevent the test from starting at all.
That ominous "pugs: assoc" 18:06
thing.
autrijus got it.
autrijus summons unsafePerformIO 18:10
should be fixed now as r2193 :)
mind starting a new round?
I'll investigate real failures now
Corion autrijus: updated to r2193
rebuilding
autrijus GHC++ # unsafePerformIO 18:11
Corion Looks much better now. Two parsefails in t\builtins\io\io_in_while_loops.t / t\builtins\io\io_in_for_loops.t 18:13
castaway wonders idly if Corion has any Welle Erdball
Corion (the rest seems to pass/fail within Harness, so I can only comment about that later)
"Welle Erdball" ?
castaway yes.. its music, of a sort 18:14
autrijus I should give more ominous error messages in the future
like "values of ōæ½xA3] will give rise to dom!"
castaway DOM ?
hattmoward ++
theorbtwo That'd be in the POD parser?
autrijus lol :p
Corion I should make an Ajax app, so you all can watch my smoke test progress :) 18:17
castaway wonders if "Ngugen" means anything, or its just a popular surname.. 18:18
Corion castaway: I know "Nguyen" as a surname
castaway oops, may have miscopied
Corion t/examples/examples.t still has an infinite loop. 18:19
theorbtwo wonders what unsafePreformIO has to do with it. 18:21
Corion theorbtwo: Debugging tool :) 18:22
theorbtwo: Like printf () :)
err - (printf ...)
theorbtwo Er, that'd be trace.
trace (do this) (return this)
Corion theorbtwo: Hmmm. True. trace() uses unsafePerformIO...
theorbtwo No, though, he's doing unsafePreformIOs on AST.hs lines 1097-8. 18:23
Corion theorbtwo: Ah... Let's assume he knows what he's doing there, then ;)
autrijus :p 18:26
theorbtwo: Rule isn't in Eval yet.
theorbtwo Oh, that makes sense then.
autrijus so to read from ICode I need to do some readonly trick. 18:27
it's safe, too, so I'm not too worried.
theorbtwo shrugs.
I do tend to assume that autrijus knows what he's talking about... but it would be nice if it made sense to me.
Why it is safe?
autrijus because during Parse time the content of Ref won't change. 18:28
the problem of unsafePerformIO is:
1. you can't control when it will run
2. you can't control how many times it will run
but in our case, since we are merely reading from tabulaRasa
and it won't change during the parse
(since we don't have BEGIN)
theorbtwo Ah, but in this case it really is pure, the language just doesn't know it.
autrijus then we don't care about 1. and 2.
yes.
Corion r2193 - datenzoo.de/pugs/win2k.html 18:29
4206 ok, 134 failed
Much better :)
Oh. And one unexpected success - is rw seems to work better now :) 18:30
theorbtwo Much better indeed.
Corion Ah. The parser seems to understand "is rw" now. :)
autrijus =) 18:31
Corion I'll go offline now and switch the modems around. Hopefully I'll be back in a few minutes, using my new provider. :) 18:32
castaway good luck! 18:33
stevan autrijus: I am going to pick up a Haskell book on my way home from work tonight 18:53
autrijus stevan: ooh. which?
stevan I was going to ask you which one :)
I doubt they will have Algorithms
so which is better 18:54
Craft or School?
autrijus if have to make a choice... School I think
stevan ok
autrijus but Algorithms is really more recommended... although you know that :)
stevan its also more expensive :)
although maybe if they have it there, I wont be able to resist :) 18:56
Corion I live again! :))) 18:57
castaway yay! 18:58
Corion Now for the fun part of actually configuring the box :)
theorbtwo Welcome back to the land of the ip-addressable. 18:59
castaway /me points Corion at RTL 19:02
(bikes ,)
Corion Hmmm. This box even has a ddns client built-in - nifty. (No wonder though, as it is a linux box) 19:03
theorbtwo Blatant Charlie's Angles ripoff.
Corion castaway: I don't have a TV. I would have to go over into my fathers room ;)
castaway ah, shame.. its kinda funny tho
Corion goes look
theorbtwo What happened to that media box you bought a couple months ago.
s/\./?/
It's on commercial at the moment.
Corion yeah. Commercials. 19:04
theorbtwo: I didn't buy it yet.
castaway oooh a fuzzy bear? 19:07
commercials over! 19:10
bro!
mj41 WinXP, Linking ... src/Main.o(.text+0x22ca):ghc2096.hc: undefined reference to `PugsziEval_a6_closure'
castaway brrrrmm
theorbtwo You might want to try a make clean. 19:13
mj41 hmm ... i deleted src/Main.o .hi and seems ok now
my _go.bat do make clean, i think 19:14
broquaint Hey, c. 19:15
castaway ooh life :)
broquaint Is there some kind of page, or some such, that has a list of software to get this pugs dealie running?
castaway where you living these days, btw?
broquaint The big L.
castaway GHC 6.4
theorbtwo broquaint: GHC 6.4
castaway umm, yup, but which part? (the L being sizable ,) 19:16
theorbtwo Everything else is optional or included.
broquaint Wow, nifty.
Time for some downloading. Thank theorbtwo, castaway.
s/nk/nks/ 19:17
Cool, the Haskell page doesn't look like an academic web page from 1994 anymore.
Corion broquaint: :) 19:23
Juerd re 19:24
stevan hmmm, many undefined symbols when compiling pugs. I `make clean`-ed first and tried both make and make optimized 19:28
Corion Oh. rx:perl5 was broken. 19:41
Which makes the smoke output a bit ugly :)))
So that's supposed to be fixed via perl -i.bak -pe 's!rx:perl5!rx:P5!g' # right? 19:42
Corion now has a VoIP phone. Yay :)
castaway ooh 19:44
broquaint Holy crap it works. 19:46
Corion Now I just need to find out how to do VoIP <-> VoIP calls without going through the provider :) 19:47
castaway grats bro! 19:48
Corion Hah. THe smoke test smoked out one test that doesn't use Test.pm ! Bad test! :)
castaway grats bro!
Corion stevan: Nuke src/ and check out again... 19:49
Grr. I find a good torrent website and the day after that, it goes offline.
broquaint Thanks, c :) It's amazing what people gegt 19:50
s/gegt/get up to when I'm away ;)/
Corion Hmmm. Does r2197 work for anybody? I get failures in Test.pm due to "Perl 6 rules is not implemented yet, use :P5", but before I start digging ... 20:01
mj41 pugs t\statements\for.t Perl 6 rules is not implemented yet, use :P5 Val (VStr "\\\\")
same with nmake test
broquaint So ... just implement Perl 6 rules? 20:02
stevan_ Corion: I cannot even get 2197 to compile :)
Corion stevan_: rm -rf src/ ; svn up # doesn't work for you? 20:03
broquaint: :)
theorbtwo I get the same error, Corion.
stevan_ Corion: I will give that a try
Corion Pugs did have P5 regexes :)
Ah. So it's not just me. Comforting :) 20:04
broquaint Now if we just implement Perl 6 rules in Prolog and integrate that with the Haskell implementation of Perl 6, we'l have ... trouble.
autrijus :p 20:05
theorbtwo Sounds scary.
autrijus that :P5 Val thing is fixed
committing
Corion autrijus++
Hmmm. Now I can safely remove my old T-Online email address (that I never gave out anyway :) ) 20:06
theorbtwo autrijus, have anything on PA02? 20:07
The rules error seems gone.
Corion Smoke now proceeds :) 20:08
stevan_ are we still planning 6.2.1 for to(day|night)? 20:11
mj41 new tutorial generator needs t\statements\for.t ( failed 10 tests of 23, not ok 23 - for @list -> $num is rw { $num++ } # TODO ) 20:14
at least :-) 20:15
has anybody have r205? test result for statement/for.t ? 20:18
ingy Perl6-Bible-0.15 released to cpan 20:20
Corion mj41: You mean, I should make my smoke tests browseable by date/time? Not a bad idea actually ...
Except that the links to the test files would become stale. But who cares about that ... 20:21
theorbtwo You could keep around a test tree for each version. 20:23
But I'm not sure it's worth the disk space.
You can always svn up -r2050 and get it again.
Corion r2198 - datenzoo.de/pugs/win2k.html 20:24
theorbtwo: Yep, it's not worth it IMO.
214 failed
theorbtwo pugscode.org <Overview Journal Logs> | r2198/winxp: 214/4340 smoke/win2k (occasional): xrl.us/fqum/me wonders (22/4453, r2190) Mac OS X (62/4459, r2116) | pugs.kwiki.org 20:26
theorbtwo D'oh, changed the wrong one. 20:26
pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256 smoke/win2k (occasional): xrl.us/fqum (22/4453, r2190) Mac OS X (62/4459, r2116) | pugs.kwiki.org 20:26
theorbtwo pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (214/4453, r2198) Mac OS X (62/4459, r2116) | pugs.kwiki.org 20:27
mj41 Corion: Browsable and with diffs ... wiki.kn.vutbr.cz/mj/index.cgi?diff_...vision=1.5 20:30
mj is confused, r2069 "-> $val is rw" failed too, duno how he debuged new tutorial_gen few days ago 20:38
theorbtwo Time to get my eyes off of the screen. 20:40
Juerd Need a spatula? 20:41
nothingmuch evening 20:42
stevan_ hey nothingmuch
strange it seems that the t/force_todo file is no longer getting read
with the latest version
nothingmuch what's up? 20:43
nothingmuch is so out of date
20:46 _metaperl is now known as metaperl
stevan_ oh,.. I see why 20:47
hmmmm
$?FILE is no longer reporting the test file name... but Test.pm instead
hmmm
do we have a proper module container now?
oh well... all the more reason to remove the t/force_todo file 20:49
ninereasons <mj41> as anybody have r205? test result for statement/for.t ? 20:53
I can get you 2048, or 2090, would that help?
mj41 I am madman ... r2055 for.t failed ... but few days ago .... wiki.kn.vutbr.cz/mj/attach/pugs/fool/ctest.p6 20:56
broquaint Could someone point me to documentation for the IO operators, a la =$io etc? 20:57
mj41 ninereasons: for.t test results? r2048 please 20:58
ninereasons ok, mj41, I'll run it and let you know
mj41 or pugs -e "my %h = hash ( a => 1, b => 2 ); for %h.values -> $val is rw { $val = 10; }" 21:00
ninereasons Can't modify constant item 21:01
Val (VInt 10)
looking on another machine for other versions around that time. 21:02
nope. sorry, mj41 those are the nearest that i have to r205x 21:03
mj41 i found r1900 - t/statements/for.t 23 1 4.35% 23 21:05
r2198 - Looks like you failed 10 tests of 23 21:06
ninereasons 2048 fails 11 of 23 21:12
stevan_ a number of these "new" failures are because t/force_todo is no longer being read 21:14
mj41 never mind, I will wait for "is rw" once more :-) 21:15
stevan_ those tests in for.t were forced-TODO 21:18
so they were always failing,.. they only just now showed up because $?FILE was changed/fixed
mj41 stavan_: ee ... i do s/todo_// and unlink force_test ... see wiki.kn.vutbr.cz/mj/index.cgi?Pugs%...0-%20tests and only 23 failed 21:21
stevan_ mj41: is that for r1900? 21:23
mj41 but nmake test use C:\Perl6\lib , and i didn't do make install ... so may be buggy 21:24
yes r1900
Corion "make install" isn't necessary, but "make" is, so blib6/lib gets created
ninereasons hm. for my r1877 and r1919, the results are exactly the same as current, mj41 21:25
mj41 trust me ... ctest.p6 ran ok :-) 21:27
ninereasons trusts everyone.
just enjoying the mystery, mj41 :-)
stevan_ Corion: I am seeing a bunch of tests breaking which I hadnt seen before,.. is that normal 21:28
I am trying to test the removal of the t/force_todo code,.. so I want to be sure all is well before I svn commit
Corion stevan_: autrijus has been reworking some internals, so there might be intermediate failures
stevan_ Corion: ok, sounds good then 21:29
well I am going to let this test run finish, then I am going to commit the new Test.pm
with removed t/force_todo functionality
and also a bunch of chnages to test files
if they were listed in t/force_todo, then I added a force_todo() call in them
this might actually make the test run a little bit faster since we never need to read t/force_todo anymore 21:30
Corion stevan_: Nice idea!
mj41 stevan++
ninereasons but does that divert from the 'central maintenance' goal? 21:31
mj41 without force_todo tests refactoring is easier
stevan_ ninereasons: central maintence was not really working IMHO
and since we have soo many test files
I actually think maintaing on a per file basis will be easier 21:32
ninereasons it's certainly worth a try
Corion I think local maintenance is better, as we seem to keep most tests in force_todo status anyway. 21:33
stevan_ thats why SVN is so great :) if it doesnt work,.. svn up -r 2199
if I get a chance tonight, I am going to remove the todo_* functions in favor of a 'todo' named parameter as well 21:34
which will slim down Test.pm (again hopefully making the test run a little faster)
ninereasons so, have you already gone through all those tests, and added the new force_todo() calls , stevan_ ?
stevan_ ninereasons: yes
ninereasons wow. 21:35
stevan_ I am commiting now actually
ninereasons: the real PITA will be converting the todo_* calls to use the named param
ninereasons what's ext/Test/t/2-force_todo.t ? 21:37
stevan_ ok r2200 up,... no more t/force_todo
ninereasons: that tests the functionality,..
svn up to see the latest version though
ninereasons ah. I see. 21:38
stevan_ very simple,.. much like plan()
force_todo(1, 2, 3 .. 10);
ninereasons yeah. this looks like it will work great
stevan_ ninereasons: thanks :) 21:39
ok,.. its time for me to drive home... have a good one all
ninereasons bye; stevan++
Corion the r2199 smoke has landed (and I won't run any more smoke tests within the next 24 hours I guess :) ) 21:41
mj41 good night 21:45
stevan_ nothingmuch: ping 21:59
nothingmuch pong
Limbic_Region_ anyone with the time/energy to explain to me what the 2000 line patch autrijus checked in today means? 22:27
broquaint Fixed context when functions return, I think. 22:28
So one instead of the one type that was previously the 3 seperate contexts are now supported. Or at least that what I've interpreted from the use.perl.org posts. 22:30
Limbic_Region_ should just read the IRC log
Limbic_Region_ is T-I-R-E-D though 22:31
out of curiosity, how many tests were failing in the smoke before the 2k line patch to fix context? 23:50
broquaint Only a couple, I think. 23:52
Limbic_Region_ ok - but comparatively speaking 4340 test cases: 4162 ok is pretty good 23:54
Limbic_Region_ is continously amazed by this project 23:55