pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by Tene on 29 July 2008.
meppl good night 00:11
pugs_svn r21939 | stephenpollei++ | Auzon pointed out that previous commit did not delete old comment.t file 00:28
ruoso Hi 01:56
lambdabot ruoso: You have 1 new message. '/msg lambdabot @messages' to read it.
ruoso @tell pmurias... I'd use the same licensing as perl... 01:57
lambdabot Consider it noted.
s1n1 is yapc::eu over yet? i've been trying to get ahold of pmichaud with no luck 02:08
ruoso s1n, I think yapc::eu happened last weekend... 02:19
s1n ruoso: okay, thanks 02:20
s1n is it bad form to add a test to spectest_regression if it's basically being entirely skipped? 02:26
ruoso technically, that means it's not a regression... 02:27
s1n yeah but it brings visibility to the tests, someone might go around doing unfudging tests 02:28
ruoso but I think the point of having a "regression" category is to see what is a regression and what is a misimplementation... 02:28
s1n true, but there's already a ton of skips though 02:31
ruoso well... one could argue that the correct would be to move them out of "regression" then... but I think you should take a more relevant opinion... ;) 02:33
pmichaud spectest_regression should contain those test files for which we have passing tests and no (fudged) failing tests 02:34
a file which is being entirely skipped probably doesn't belong in spectest_regression 02:35
s1n pmichaud: i can agree, but there are some with large portions being skipped already, hence my curiousity
pmichaud the difference is "large portions skipped" versus "entirely skipped" 02:36
s1n pmichaud: what's the threshold then? say there are 10 tests, how many are the minimum passing tests unfudged
pmichaud 1. 02:37
s1n so if a single passing test exists in a sea of fudged tests, then it's good to add?
pmichaud it's fine with me, yes.
s1n okay, that answers my question, thanks 02:38
pugs_svn r21940 | s1n++ | [spec] added the missing fudges so perhaps for use with the autounfudge tool 02:40
pugs_svn r21941 | s1n++ | [spec] added missing fudges, necessary for use with the autounfudge tool 03:38
pugs_svn r21942 | pmichaud++ | Rakudo doesn't quite handle a plain 'proto' yet, so fudge it out here 04:10
r21942 | pmichaud++ | to get spectest_regression passing again.
pugs_svn r21943 | stephenpollei++ | added rakudo fudge , wrapped a few tests in oppsFIXME that need to be wrapped in eval to be isolated 05:36
pmurias ruoso: hi 08:06
ruoso: i'm thinking of getting rid of the boilerplate in RI creation by having them in a seperate sublanguage which would get preproccesed to C 08:12
pugs_svn r21944 | pmurias++ | [smop] removed old and irrelevant stuff from misc added 2 example how the new DSL for RI's might look like 08:23
ruoso pmurias, feels like XS ;) but that's ok 10:04
pmurias, how do I solve "FATALERROR cabal is not found" in Debian Lenny? 10:05
pmurias ruoso: you need to install cabal 10:06
it's in third-party/Cabal in the pugs repo of many places 10:07
pmurias s/of many places/and in other places/ 10:11
pmurias ruoso: are you using out of tree builds with cmake, that is mkdir build;cd build;cmake ..;make 10:14
pmurias btw. both auto of tree and in-tree builds work here 10:25
cycling& 10:26
clintongormley heya all - am i correct in my thinking that Roles are for classes, while Mixins are for instances? 13:49
Juerd Not really.
clintongormley hmm must have misheard
i thought jonathan said that at YAPC
Juerd If I understand it correctly, mixins are for classes, whereas roles are for either classes or instances.
clintongormley oh really? :) 13:50
the confusion continues...
Juerd The big difference however is in how clashes are handled. With mixins, one mixin wins. With roles, the class gets to decide which role gets precedence - if it doesn't, that's an error. So you don't get those annoying surprises when two roles both implement a method with the same name.
clintongormley ok - thanks juerd 13:51
Juerd And you can choose to use a different method name to resolve it.
clintongormley many thanks
Juerd In many cases, multiple inheritance, mixins, and roles can be used to achieve the same goals, but roles really hurt the least eventually. 13:52
And of course, being able to add a role to an instance really rocks.
my HTTP::Download $foo .= new; 13:53
$foo does HTTP::Download::Resume;
In Perl 5 ::Resume would be a subclass probably, but that sucks if you also want to add ::DisplayProgress :) 13:54
pmurias do we have Mixins in Perl 6? 13:56
Juerd Nafaik. 13:58
pmurias good
Juerd Would there be any use for mixins, if you already have roles?
Roles do everythings mixins do, plus more :)
pmurias s/plus more/minus some/
Juerd Oh?
pmurias roles do composition more restrictively 13:59
Juerd I see that as a feature.
pmurias food&
Juerd Enjoy
pmichaud yes, perl 6 has mixins 14:00
see 'but'
and 'does'
er, infix:<does>
pmichaud there's not a Mixin type, correct 14:01
pmurias pmichaud: infix:<does> and infix:<but> is more mixing in than mixings 14:16
pmurias ruoso: any comments before I start implementing my XS like RI preprocessor? 14:23
ruoso I think it's ok...
this file will then be passed through sm0p.pl, right? 14:24
so you can have q:p6, q:sm0p and q:m0ld... right?
pmurias yes 14:26
it's q:p6-sm0p and q:p6-m0ld now
ruoso yeah... I saw it... 14:27
ruoso pmurias, even after ./Setup install of the Cabal in the pugs repo it still complains about cabal not being found... 14:31
do I need to do anything special?
pmurias ruoso: hmm 14:31
you have a cabal in your path? 14:32
ruoso no
and ./Setup install doesn't seem to have installed any
pmurias sorry it's actuall cabal-install
* actually
ruoso it doesn't recognize cabal-install 14:33
pmurias i mean you have to install cabal-install too 14:35
ruoso ah... 14:36
pugs_svn r21945 | pmurias++ | [smop] improved the error messages when cabal is missing
pmurias ruoso: you have a recently build pugs? 14:39
ruoso no
pugs_svn r21946 | pmurias++ | [smop] cmake searches for cabal in ~/.cabal/bin too 14:40
pmurias pugs is not required, yet ;) 14:41
ruoso pmurias, cabal-install complains about a missing zlib... but I can't find any debian package to match that...
ruoso has the standard C zlib headers and libs installed, of course... 14:42
pmurias thinks of dropping the dependency on cabal-install 14:43
pmurias ruoso: if you run perl Makefile.PL for pugs it should just install all that stuff 14:44
it's the haskell zlib bindings
ruoso hmm... automatic installation of dependencies is something I try very hard to avoid 14:45
I try to keep my /usr/local clean
pmurias it install stuff to ~/.cabal 14:46
* installs
ruoso even then... 14:47
ruoso like debian packages for binary stuff
not keeping track of versioned binary dependencies generates lots of random segfaults with time 14:48
pmurias i don't think you can get segfaults with haskell 14:49
ruoso if it is linked to native asm... it can
binary dependencies are more fragile than most people think... 14:51
pmurias (ab)used gentoo so he has seen a lot of random segfaults 14:53
ruoso getting random segfaults is one thing gentoo is good at ;)
pmurias, do you really need parsec 2.1.0.1? or 2.1.0.0 would suffice? 14:54
because that's the version present in Debian lenny atm
pmurias i think even 1.0 would suffice
ruoso pmurias, could you please drop the versioned dependency then? 14:55
pmurias ok 14:56
i just put the one i have to be on the safe side
ruoso I think you could use 2.0.0.0
ruoso since it's a major release number 14:57
(not that I understand haskell versioning schema)
pmurias the whole cabal stuff is very young 14:58
ruoso pmurias, when you update the wiki to use cmake, you can point that on debian lenny you only need cabal-install, Cabal and zlib... the rest is available as debian packages
pmurias i could just change the build system so that it will just use ghc --make instead of the fancy cabal-install stuff 14:59
ruoso well... as I'm not really aware of what all of this actually is, feel free to decide ;) 15:00
but avoiding a dependency when it's not really required is a good idea... 15:01
ruoso can't afford learning hakell now... he just need to get things done... 15:02
pmurias, but if you could commit the version dropping on parsec dependency soon, it would be cool... 15:03
pmurias ok
pugs_svn r21947 | pmurias++ | [m0ld] changed the parsec dependency to >= 2.0.0.0 15:04
ruoso pmurias, the only thing missing on the cmake setup now is "make test" 15:07
once that is ready, I think we can drop autotools at all... 15:08
pmurias we can have a wrapper Makefile, as doing cmake .;make is not a very good idea
pmurias what's the best way to have prove run binary tests? 15:09
ruoso it's a single perl -e line...
you can see it at Makefile.test 15:10
pmurias doesn't work 15:11
it treats binaries as shell scripts
ruoso who does it?
cd build; perl -MTest::Harness -e '@tests=<test/*.t>;$Test::Harness::switches="-e \"system(shift)\"";runtests(@tests)' 15:12
it works for me...
but note that for Test::Harness >= 3.00 and <= 3.08 it doesn't work... 15:13
pmurias it workes for me to
* toi
* too
ruoso and then the next thing to do is to remove the line "SMOP is a simple C project" from the wiki... ;) 15:14
pmurias do you think it's worth for me to spend time now removing dependencies? 15:15
ruoso nah... better document them.. (if you think it's easier
pmurias, www.perlfoundation.org/perl6/index....pendencies 15:20
I've just created this page so we can add the dependencies and notes on how to satisfy them
pugs_svn r21948 | pmurias++ | [smop] a wrapper Makefile for the cmake based build system 15:24
pugs_svn r21949 | ruoso++ | [smop] dropping autotools from smop 15:27
ruoso lunch & 15:34
pugs_svn r21950 | pmurias++ | [smop] removing autotools leftovers 15:36
moritz_ re 17:01
moritz_ pugs: say "test" 18:40
p6eval pugs: OUTPUT[test␤]
moritz_ pugs: $?PUGS_VERSION 18:45
p6eval pugs: RESULT[\"Perl6 User\'s Golfing System, version 6.2.13.11, July 31, 2008"]
speckbot r14575 | larry++ | P5ism noted by moritz++ 19:04
pugs_svn r21951 | lwall++ | [gimme5] treat whitespace before optional | as insignificant 19:10
r21951 | lwall++ | [STD] allow anonymous sigil on simple var declarations
r21951 | lwall++ | [STD] allow post constraints on simple var declarations
r21951 | lwall++ | [teststd] don't report on failures if no failures
TimToady Auzon++ on the var decls, btw 19:11
Auzon Thanks TimToady++. I assume that the omissions in STD.pm were easy to fix? 19:12
TimToady well, there's easy, and then there's easy...took a while to drill down through all the layers of declaration syntax... 19:21
and I also note that I've busted "has ::?CLASS $.attr is rw;" somehow... :/ 19:22
Auzon Well, hopefully I can find more stuff to break before too long. :) 19:23
TimToady I'm sure a lot of stuff will break as soon as I install real symbol tables and catch calls to undefined subs 19:39
moritz_ even more if you don't track try { ... } and dies_ok { ... } 19:40
gaal hi there! what repo does speckbot track? 19:41
moritz_ looks it up 19:42
Auzon 64.233.167.104/search?q=cache:K4RFC...&gl=us
lambdabot Title: QDB: Quote #244321, tinyurl.com/5mplsh
Auzon wait no
svn.perl.org/perl6/doc/trunk/design/syn
Dang, wrong clipboard >_<
lambdabot Title: Revision 14575: /doc/trunk/design/syn
moritz_ Auzon++ yes, that one
Auzon (it could've been a worse paste, I suppose...)
gaal cheers 19:43
TimToady moritz_: try and dies_ok still have to parse correctly 19:49
but it's true that STD won't catch runtime errors at the moment :)
moritz_ TimToady: but are missing subs compile time errors? 19:50
moritz_ I mean there could always be an eval 'sub *foo { ... }' somewhere, can't it? 19:50
or does it have to be pre-declared somehow? 19:51
rhr is sub *foo valid syntax? STD doesn't currently accept it 19:59
it also doesn't like [;] and »*=» 20:00
moritz_ rhr: I think it is, you place stuff in the global namespaces with sub *foo 20:01
from S13:50 multi sub *uc (TurkishStr $s) {...} 20:02
pugs: sub *foo { say 1 }; foo()
p6eval pugs: OUTPUT[1␤]
moritz_ perl6: sub *foo { say 1 }; foo()
p6eval elf 21951: OUTPUT[Parse error in: /tmp/DcrlxlMFZh␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: sub *foo { say 1 }; foo()␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_red/st...
..rakudo 29834: OUTPUT[Statement not terminated properly at line 1, near "foo { say "␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤]
..pugs: OUTPUT[1␤]
rhr moritz_: thanks, I was looking in the wrong synopsis
moritz_ rhr: I think there should also be a reference to that in S06 20:03
pugs_svn r21952 | lwall++ | [STD] allow use of ::?CLASS in declaration 20:07
r21952 | lwall++ | [STD] reverse use of ident/identifier to make ident the shorter one
TimToady I'm thinking of removing sub *foo, which is why STD doesn't support it 20:08
Auzon What would it be instead? Or would the functionality in general be gone? 20:09
TimToady in general modules shouldn't be poking subs into GLOBAL, but just making their subs available for import into the Prelude
you can still presumably say sub GLOBAL::foo, so it's really just a de-huffmanization
but it's not entirely clear that the multi dispatcher will even end up looking into GLOBAL for anything by default 20:10
since all the builtins will just be imported by Prelude
TimToady moritz_: yes, missing subs are a compile-time error, even if "post-declared" 20:11
there must be a declaration by CHECK time
moritz_ that means that we have a few broken tests 20:12
TimToady so a test that presumes eval can declare subs will fail
eval can only re-declare them
moritz_ and it supports my feeling that most dies_ok tests should actually be eval_dies_ok 20:12
TimToady (and/or define them, depending on how you use the terms)
moritz_ s/be/use/
TimToady could be 20:13
rhr: the assignment ops are kinda second-class citizens at the moment because I was having trouble squeezing them into the LTM 20:14
and the [;] will have to be a special case, I expect, if we continue to support it 20:15
well, maybe not, since I added a level for feed ops, and ; could be considered the same precedence level...
pugs_svn r21953 | moritz++ | [t/spec] unfudge some passing tests for rakudo
pugs_svn r21954 | gaal++ | * Restore pugs_revision to pugs config 20:40
r21954 | gaal++ | (Should pugs_config.h also be restored? Why were these commented out?)
r21955 | lwall++ | [STD] add semicolon to feed ops as "sequencer" operators
TimToady rhr: [;] now parses 20:41
lunch & 20:42
rhr TimToady++ #markov.pl parses :) 20:43
moritz_ pugs: print $?PUGS_VERSION 20:54
p6eval pugs: OUTPUT[Perl6 User's Golfing System, version 6.2.13.11, July 31, 2008]
moritz_ ugs: print $?PUGS_VERSION 21:25
pugs: print $?PUGS_VERSION
p6eval pugs: OUTPUT[Perl6 User's Golfing System, version 6.2.13.11, July 31, 2008 (r20996)]
moritz_ gaal++
TimToady did the commented-out code require svn access? 21:27
gaal it just includes a file created at configure time 21:28
which in turn tries svk and svn
I imagine someone will add git probing 21:29
See util/version_h.pl
pugs_svn r21956 | rhr++ | more syntax fixes 21:32