Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-10-06

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 typester has quit IRC (Read error: 110 (Connection timed out))
00:02 typester has joined #perl6
00:03 hlen has joined #perl6
00:03 nothingmuch good night, #perl6
00:11 meppl good night nothingmuch
00:49 luqui has joined #perl6
01:06 elmex has quit IRC ("leaving")
01:56 luqui has quit IRC ("Leaving")
02:09 eric256 has joined #perl6
02:25 * eric256 attempts to compile on windows and crosses his fingers
02:30 svnbot6 r7332 | stevan++ | Perl6::MetaModel 2.0 -
02:30 svnbot6 r7332 | stevan++ | * added ::EigenClass to the metamodel, it is mostly a place holder for now
02:30 svnbot6 r7332 | stevan++ |   but soon I will remove all the %:class_methods junk :)
02:33 eric256 well at least it gives a nice heap exhausted error
02:36 eric256 ghc_heap_size++ until $pugs->build;
02:36 svnbot6 r7333 | stevan++ | Perl6::MetaModel 2.0 -
02:36 svnbot6 r7333 | stevan++ | * cleaned up some stuff on the ::EigenClass
02:41 stevan has joined #perl6
02:47 * eric256 curses windows agian
02:47 eric256 lol
02:55 nowl has joined #perl6
02:58 brentdax has joined #perl6
03:23 xern has quit IRC ("Lost terminal")
03:24 xern has joined #perl6
03:24 eric256 has quit IRC ("Trillian (http://www.ceruleanstudios.com")
03:59 Amnesiac has quit IRC ("Leaving")
04:13 tewk So does the PIR target support leo's latest merge or is that a TODO?
04:35 nowl has quit IRC ("Leaving")
04:43 geoffb tewk, last I heard aut* had it compiling against 0.3.0 (AKA post-leo-merge)
04:43 justatheory has quit IRC ()
04:53 imperator has joined #perl6
05:00 SM_ax has joined #perl6
05:04 justatheory has joined #perl6
05:08 gaal morning!
05:09 dduncan morning!
05:16 justatheory has quit IRC ()
05:23 * nothingmuch is having trouble waking up
05:23 imperator has quit IRC ("I quit")
05:23 nothingmuch brain not turning on =)
05:27 gaal fix available in the form of finely ground roasted beans of coffee with steam forced through them at well-controlled temperature and pressure.
05:30 nothingmuch hmm
05:30 nothingmuch how about 1 heaped spoon of cheap dirty coffee, and boiling water on that
05:31 nothingmuch much simpler
05:31 gaal works too, and helped by cardamom
05:32 nothingmuch hmmm... /me feels plain today
05:32 nothingmuch but i have to pack.
05:32 nothingmuch ciao!
05:33 dduncan hello hello
05:34 dduncan torii torii
05:35 gaal bye (going somewhere?)
05:35 gaal bi dduncan
05:36 gaal s/b/h/
05:36 dduncan I'm still here
05:36 dduncan for 1-2 hours at least
05:37 dduncan all I said before was hello, in 2 different ways
05:38 gaal ah but yuval was leaving
05:38 dduncan oh well
05:38 dduncan hello to tomorrow, then
05:49 joepurl has joined #perl6
05:52 nothingmuch has quit IRC (Read error: 113 (No route to host))
06:04 GeJ has joined #perl6
06:07 wilx has joined #perl6
06:11 nothingmuch has joined #perl6
06:11 nothingmuch morning
06:14 dduncan hello again
06:14 nothingmuch hi ho
06:20 nothingmuch PBP is evil: http://perlmonks.org/?node_id=497683
06:21 nothingmuch which is a shame, because i don't think it really meant to be evil, despite all the hoo-hah Damian made regarding his 1 million dollars & 12 modules
06:26 dduncan funny re that PBP example ...
06:26 dduncan I never got to that part of the book, but ...
06:26 dduncan I ended up using that exact style in my reborn Rosetta modules, because it was visually most like the Perl 6 equivalent
06:27 dduncan I'll give you the url in a moment so you can see ...
06:27 * nothingmuch always uses { package foo; ... } when defining subpackages to in the file or a bigger module
06:27 nothingmuch and bare package foo; for files
06:28 dduncan I know full well that having the package declaration outside the block means its scope isn't limited, but I never have non-package subs in the same files as the packages, and I'm otherwise careful ... I'm doing it more for the look
06:28 dduncan that said, I am declaring the %foo_of etc hashes inside the block, where the 'has %foo' would be in the Perl 6 versions
06:29 dduncan everything indented the same too
06:30 nothingmuch moose moose
06:30 nothingmuch you can try Perl6::Classes
06:31 nothingmuch or if you don't want to go all that way, Perl6::Attributes does far less in terms of filtering, but is still useful
06:33 dduncan have a look here: http://svn.utsl.gen.nz/trunk/Ro​setta-Incubator/lib/Rosetta.pm
06:33 dduncan that's the perl 5 version of what I'm about to checkin to Pugs under /modules
06:34 nothingmuch lots of ###########
06:34 dduncan those are visual dividers between sections of code
06:34 nothingmuch hypothetically ;-)
06:34 dduncan mainly, there is one between each sub/method or each group of sub/method
06:35 dduncan the double-lines mainly go between each package declaration if there are multiple packages in the file
06:35 * nothingmuch never thought this much about style or that stuff
06:35 * nothingmuch looks at a recent script to try and figure out how it's styled
06:35 dduncan I find it a lot easier to see where subs begin and end with those
06:36 * nothingmuch uses incremental searches to find his subs
06:36 nothingmuch my style seems to be:
06:36 nothingmuch no horizontal indenting of assignment
06:36 nothingmuch one empty line between meaningful chunks of code
06:36 nothingmuch small methods that are very similar (e.g. accessors) are clumped together
06:37 nothingmuch pragmas and modules used in two separate blocks
06:37 dduncan yes, that's what I mean by 'sub group'
06:37 obra darren, are you trying to keep the line numbers the same between perl5 and perl6?
06:37 dduncan no
06:37 obra use 5.008001; use utf8; use strict; use warnings;
06:37 obra Why are you doing that that way?
06:37 nothingmuch http://svn.openfoundry.org/p​ugs/perl5/Blondie/milner.pl
06:37 obra and not one per line?
06:38 dduncan That is the only place I've been putting multiple statements on one line
06:38 obra This style isn't much like most perl I've seen
06:38 * nothingmuch thinks his perl is mostly average in terms of style
06:38 obra It makes it a little hard for me to follow.
06:38 dduncan and I've done it because conceptually they are all one statement
06:38 dduncan I could put them on separate lines if several of you think it's better
06:39 nothingmuch most of the styling I do is in design, not text, for example using nice helper subs, or lots of closures, or crap like that
06:39 obra dduncan: have you picked up damian's Perl Best Practices?
06:39 dduncan yes
06:39 dduncan I'm adapting most of it too
06:39 obra I mostly like damian's perltidyrc
06:39 dduncan I've read half of the book already, and skimmed the rest, to read in detail soon
06:40 dduncan My use of 'version' and 'only', among other things, is inspired by that book
06:40 dduncan plus 3 part version nums
06:40 dduncan plus space indenting
06:41 dduncan naming foreach loops 'for'
06:41 dduncan many other things
06:41 dduncan excuse me a minute ...
06:43 nothingmuch you know, PBP is only subjective
06:43 nothingmuch it's not the how that matters
06:43 nothingmuch it's generally that you care enough for your code to be readable and maintainable (and frankly I don't think the Damian modules get much credit in that respect) and that you are not doing any major no-nos
06:44 obra I was mostly going for the perltidyrc pointer ;)
06:44 * nothingmuch is afraid of perltidy
06:45 nothingmuch i used it once or twice
06:45 nothingmuch figured out it was too much effort to set it up the way I like it
06:45 obra I've never had it not dwim
06:45 nothingmuch and that normally my style is Good Enough
06:45 nothingmuch i think i disagreed with the default on a few minor points
06:45 obra fair enough
06:45 elmex has joined #perl6
06:45 obra I'm the kind of guy who doesn't mess with his shell
06:45 obra I'd rather it style the code than I do
06:46 nothingmuch how do you fit it into the workflow?
06:46 * nothingmuch tends to edit files and read them as he goes along
06:46 obra in vim, I hilight a sub then :!perltidy
06:47 nothingmuch this is because I don't implement things till I need them so I jump around a lot
06:47 nothingmuch that makes sense
06:47 nothingmuch ... that way I don't see when I would intuitively make use of it
06:48 nothingmuch anywho, that really doesn't matter, as I've got work to do
06:48 dduncan okay, I split up the lines in the perl 5 version, and they are committed
06:48 obra sometimes I do whole files, but mostly, "if you've just refactored, it'll make the code pretty"
06:48 obra though often if you need it, it says the code wants to be refactored ;)
06:48 obra it's very useful that way!
06:48 dduncan fyi, I tried using perltidy but it changed a bunch of things I didn't like
06:48 dduncan and now that I've studied ideal styles, and am rewriting the code anyway, I'll just write it correctly the first time
06:49 nothingmuch how can style be ideal?
06:49 nothingmuch it's just style
06:50 dduncan in this case, 'ideal' meant better than I was doing it previously, and still self consistent
06:50 dduncan I evaluated the suggestions in PBP and decided to use most of the ones that I wasn't already using
06:51 dduncan style was just one aspect ... many other decisions were also affected
06:51 nothingmuch for example?
06:51 dduncan the fact that I use 'only' to better specify dependencies
06:52 * nothingmuch 's #1 grudge with perl code on the CPAN is, for example, adamk's code, which returns array refs appearantly for "speed" instead of for a mutable interface
06:52 dduncan the fact that I'm going to go inside-out on the p5 side for better security
06:52 nothingmuch if people would stop returning array refs needlessly i would be a very happy person
06:52 nothingmuch security?
06:52 dduncan so people can't mess with my attributes
06:52 obra protecting developers using your code from themselves?
06:52 nothingmuch that doesn't make sense
06:52 dduncan its protecting them from using it incorrectly
06:52 nothingmuch part of why the cpan is so reusable is that people can break these rules
06:53 nothingmuch if someone went through the trouble of figuring out what the private attrs are, it's their responsibility whether it's correct or not
06:53 nothingmuch we are not 3 year old java heads, after all =)
06:53 nothingmuch this can help in the context of a big shop
06:53 nothingmuch with lots of junior programmers
06:53 nothingmuch but if you're going to be releasing a CPAN module, there is really no need
06:54 dduncan so do you think that all classes' attributes should be public then?
06:54 nothingmuch except that it makes overriding the destructors harder
06:54 nothingmuch yes... with naming convention implying privacy where necessary
06:54 nothingmuch err, not necessary. fitting.
06:55 nothingmuch since we don't have a notion of private/public/inherited fields
06:55 nothingmuch or uninherited methods
06:55 nothingmuch or other stuff like that
06:55 dduncan one problem is if someone decides to access your object attrs directly, rather than using your API, and then you want to change your class implementation
06:55 nothingmuch that's their problem
06:55 dduncan not always
06:55 nothingmuch if they only saw a way to do something by reaching into your modules guts then they can do that and live with it when the module changes
06:55 nothingmuch or they can report a bug
06:56 nothingmuch asking for a public API for that feature
06:56 nothingmuch why not always?
06:56 dduncan they can do that anyway if I have technical constraints against attr access
06:56 nothingmuch huh?
06:57 dduncan they can either change the source code of my module, which they have, or file for a public API
06:57 nothingmuch they can't edit your attrs directly if they're lexically scoped without physically copying the .pm and editing it
06:57 nothingmuch why go through all that?
06:57 nothingmuch what about:
06:57 dduncan its the better way
06:57 nothingmuch use only 'The-Module' with a version I know is OK
06:57 nothingmuch and then do a 2 line hack insteaad of a 30 line rewrite?
06:58 nothingmuch my conjecture is that the better way is always the one that in the middle term is cheaper for the person paying for the code to be written
06:58 obra dduncan: can they subclass to change it?
06:58 nothingmuch short term goodness is not good at all, it usually bites you very soon after
06:58 nothingmuch and too much long term requires too much funding
06:59 dduncan if a module is well designed, it will allow for people to do everything they need with it, without exposing its insides
06:59 nothingmuch if your module is on the CPAN
06:59 nothingmuch and someone wants to save time by using it
06:59 nothingmuch but can't quite do it
06:59 nothingmuch they can do a fix that is OK for the meanwhile
06:59 nothingmuch just to see if it works
06:59 nothingmuch and then do the better way later
06:59 dduncan if someone can't use a module the way they need, they have the module changed to allow that
06:59 nothingmuch btw, copying the .pm will lead to much more headaches in my experience
06:59 obra the great thing about cpan modules is that people can use stuff for all sorts of things you never imagined
07:00 nothingmuch still, why do you feel it's your responsibility to babysit them/
07:00 nothingmuch ?
07:00 obra Why require them to have you change it, especially if they have a weird internal need?
07:00 nothingmuch they are grown up and can decide for themselves
07:00 dduncan in that case, hell why don't I just turn off use strict?
07:00 nothingmuch and again, if they went through the effort of actually reading your module's insides, i think they should have a notion of what's dangerous and what is OK
07:00 obra because strict is checking for obvious programming errors
07:01 nothingmuch use strict is for you
07:01 nothingmuch you don't impose it on others
07:01 dduncan accessing private attrs is a programming error
07:01 obra it's "catch things that are mistakes"
07:01 obra no, sometimes it's an explicit decision
07:01 obra that's why you can lexically turn off strict
07:01 obra or even just features
07:01 nothingmuch if you use Acme::use::strict::with::pride on all the code that uses your modules, no one will use them
07:01 obra have you ever seen { no strict 'subs'; ... } in code?
07:02 * nothingmuch sometimes says 'no warnings "uninitialized"' to save checks for defined() especially when printing
07:02 nothingmuch is that a programming error?
07:02 nothingmuch i'm conciously making a decision to ask perl to not warn me when I try to print something that doesn't make sense when printed
07:03 nothingmuch because i'm trying to make my code more readable
07:03 dduncan that's fine for you
07:03 nothingmuch right
07:03 nothingmuch as is using strict is fine for me
07:03 nothingmuch it's a tool for my code
07:03 dduncan but if I want to use Perl's built-in strictness or restriction features, why should someone tell me I can't?
07:03 nothingmuch but do i impose strict on my caller?
07:03 nothingmuch urrf
07:03 nothingmuch that's besides the point
07:03 nothingmuch the issue is:
07:03 nothingmuch your code can be as strict as you like
07:04 nothingmuch there is no point in imposing strictures on other people's code
07:04 dduncan I'm not
07:04 nothingmuch by using inside objects you are
07:04 obra Yes, you are.
07:04 * QtPlatypus nods to nothingmuch "That would be rude"
07:04 nothingmuch inside out
07:04 dduncan but if I want my own objects to have private attrs, that is for my own code
07:04 obra you're saying "don't touch my internals. I won't let you" not "there's a better way..."
07:05 nothingmuch this code does not need protection from itself
07:05 QtPlatypus However inside your own module your free to do as you wish.
07:05 nothingmuch furthermore inside out objects do not protect your code from itself, unless you make a closure for each sub
07:05 nothingmuch the only restriction inside out objects impose are on the people using your code
07:06 obra Also, I bet someone can find a way to break your encapulation.
07:06 nothingmuch yeah, let me find a perlmonks post by [diotalevi]
07:06 obra Hell. I've now got code that's calling methods on the calling object ;)
07:06 nothingmuch he demonstrates hwo to do that
07:06 dduncan someone writing XS can break the encapsulation
07:07 nothingmuch soomeone writing XS knows what they're doing
07:07 scook0 has joined #perl6
07:07 nothingmuch you need to trust your users
07:07 nothingmuch if you assume everyone is an idiot, your code will be hard to use
07:07 nothingmuch and then it won't be as cost effective for the user
07:07 dduncan I'm under the inclination that no one needs to get to the privates under normal situations ... if there becomes a time when that is different, I can adapt then
07:08 nothingmuch however, if your code causes an idiot to waste his time, that's not your fault
07:08 nothingmuch why the overhead?
07:08 obra dduncan: What are you trying to stop?
07:08 obra someone who knows what they're doing from hurting themself?
07:08 obra someone who doesn't know better from using a non-public API?
07:09 obra someone who does know better and needs something you don't provide from using your module at all?
07:09 dduncan mainly people that don't know what they're doing ... they're the ones who will try to get to the internals most of the time in a misguided thought that it is the better way
07:09 nothingmuch that's their problem
07:09 obra What gives you that idea?
07:10 obra If you're worried, I'd recommend _documenting_ that it's a bad idea
07:10 nothingmuch and people who don't know what their doing probably don't know how to read code either
07:10 dduncan anyway, I can't help thinking that this whole discussion is a woodshed argument and doesn't need to be discussed
07:10 obra I don't think this is a bikeshed.
07:10 obra But it's your code.
07:11 r0nny has joined #perl6
07:11 dduncan any genuine situation for getting to the internals would be very rare, I think ... the majority of users should never want to do it
07:11 * nothingmuch did it many times
07:11 dduncan maybe wood/bikeshed was the wrong word
07:11 nothingmuch SQL::Translator wasn't reusable
07:11 nothingmuch it was good for one time scripts
07:11 * QtPlatypus thinks that internal access should be like an exothermic reaction.  "There should be an 'activation engergy' ie A barror that you have to give some effort to get up to and then it should be easy.  But that stament is so vage and meaningless it could mean  anything.  Yes, I think its woodshedish.
07:11 nothingmuch that's one big example I remember
07:12 nothingmuch i didn't have time to wait for a bug report about un-reusable interfaces to be fixed
07:12 nothingmuch in fact, afaict they still haven't fixed it
07:12 dduncan what I mean is that a big deal is being made about something that I think won't affect most people
07:13 obra It's something that would make me not use the code.
07:13 nothingmuch then why bother if it won't affect other people?
07:13 * nothingmuch too
07:13 obra "The author doesn't trust me enough to let me look inside his module"
07:14 dduncan but more to the point, I think that I would need some examples to my specific situation as to why someone would want to access the internals of my objects to solve a problem, and that there is no better way for them to solve their problem
07:14 dduncan and that can't really be done until a little later, when the module is ready to be tried out
07:15 nothingmuch http://www.perlmonks.org/?node_id=251127
07:15 nothingmuch why do they need your permission?
07:15 dduncan they don't ... they have the source code and permission to modify it
07:16 nothingmuch that causes much more of a mess than accessing an object with a hash index instead of a method call
07:16 dduncan also keep in mind that I'm using Perl 6 as my main dev methodology now ... there are no inside-out etc there
07:17 nothingmuch so why are you using inside outs in perl 5?
07:17 nothingmuch remember that perl 6 also has decent linkage semantics
07:17 dduncan the perl 5 version does some things a bit unusual for perl 5 so it better approximates perl 6
07:17 nothingmuch an object model with 3 orthogonal ways of composing classes
07:17 dduncan perl 6 has native support for private attrs
07:17 nothingmuch true inheritence
07:17 dduncan the inside-out is how perl 5 emulates that
07:17 nothingmuch it will have ways to say who you trust
07:18 nothingmuch and you can probably say "that code trusts me, let me at it"
07:18 nothingmuch no, it doesn't
07:18 nothingmuch it gives just the restrictions, not the features
07:18 dduncan I will be using the 'trusts' in perl 6
07:18 nothingmuch http://www.perlmonks.org/?node_id=315186
07:18 nothingmuch well, you don't have in perl 5... what will you be using instead?
07:18 dduncan eg, in a class representing a DOM-like object, the classes representing the Document and Node can see each others internals
07:19 nothingmuch but in perl 5 everyone will just have to wait till a public api is written
07:19 dduncan in perl 5, there are 2 solutions ...
07:19 iblechbot has joined #perl6
07:20 dduncan all classes that access each others private attrs are declared in the same file
07:20 dduncan eg, Document and Node are in the same file
07:20 nothingmuch ugh
07:20 dduncan whose name is DOM, or something
07:20 nothingmuch nevermind
07:20 dduncan that's how DBI does it
07:20 dduncan sth and dbh are in the same file
07:20 nothingmuch seriously, nevermind
07:20 nothingmuch just do whatever
07:22 dduncan just so you guys know, my thoughts on this aren't religious ... while I plan to follow one path now, I'm willing to change later if the situation becomes compelling
07:22 dduncan I *do* appreciate your feedback
07:23 * nothingmuch 's rationale remains that in the long term it's cheaper for everyone (you and your users, time or money wise) to not use inside outs
07:23 nothingmuch that's really all I claimed
07:23 nothingmuch anyway, must work now
07:41 xern has quit IRC ("Lost terminal")
07:49 larsen has joined #perl6
07:50 vences has quit IRC ("Leaving")
07:51 r0nny has quit IRC ("pc switching")
07:53 nothingmuch http://en.wikipedia.org/wiki/Xor_linked_list
07:53 nothingmuch cool!
07:56 saorge has joined #perl6
08:07 dduncan that's an "interesting" idea
08:09 xinming_Beijing has quit IRC (No route to host)
08:09 gaal hmm, is it okay to decorate a failing test with :todo<spec> when the actual desired results are waiting on p6-l?
08:09 nothingmuch i thinkso
08:09 nothingmuch either that or skip it
08:09 gaal the particular behavior doesn't warrant a t/unspecced
08:10 svnbot6 r7334 | Darren_Duncan++ | /modules/Rosetta-Incubator : added all inter-framework 'use' statements, filled out the DEPENDENCIES docs, standardized the use of class vs module vs package vs file in all my docs, duplicated and modified non-compiling lines to compile with originals commented out
08:10 gaal :todo<spec> it is.
08:10 gaal (easier to do :-)
08:11 dduncan apparently, Pugs doesn't yet compile "use Foo-(1.2.3...)" like in Synopsis 11, though it does compile "use Foo-1.2.3"
08:12 dduncan I may have to add a test
08:13 gaal dduncan: Parser, ruleUsePerlPackage, around line 753 if you want to hack at it.
08:13 dduncan will have a look ...
08:26 nothingm1ch has joined #perl6
08:30 nothingm1ch when I find minimzied windows or lurking tabs in the browser, and I feel nostalgic I know that my laptop has decent uptime =)
08:33 autrijus gaal: :todo<unspecced> we used before
08:33 gaal autrijus: merci
08:33 nothingmuch has quit IRC (Nick collision from services.)
08:33 nothingm1ch is now known as nothingmnuch
08:34 nothingmnuch is now known as nothingmuch
08:34 dduncan gaal, I made the necessary change, which was line 836, ruleVersionPart - I will now test this, and check it in if successful ... my first ever Haskell edit
08:34 gaal cool
08:34 autrijus gaal: il n'ya pas de quoi :)
08:34 * autrijus backlogeth
08:35 autrijus dduncan: so you've been learning Hs too -- wonderful :)
08:35 dduncan actually, this is the first time I've looked inside one of the /src files
08:36 dduncan but I had a rough idea of the program structure before
08:36 dduncan and gaal pointed me at a function to start looking in ... and I tried to figure it out from there
08:37 nothingmuch if you had a pet cow, what would you name her?
08:37 gaal "se".
08:37 dduncan still, while I don't expect to do much Hs, it is kind of silly if I won't try to do basic edits there myself, just waiting for others to do it
08:38 dduncan that said, I have to tread lightly, because I'm not all too sure what wide-ranging effects some potential changes can have
08:38 dduncan but I figured what I did today was innocent enough
08:38 dduncan especially since the part I'm editing the parser for is thrown away anyhow
08:39 iblechbot has quit IRC (Connection timed out)
08:39 dduncan compile succeeded ... now to see if it fixes my Perl 6 problem
08:41 xinming_Beijing has joined #perl6
08:43 dduncan seems to work
08:43 gaal dduncan++ # .hs hacker now
08:45 gaal hmm, interesting. i tried fixing a failing test in uniq.t
08:45 gaal 42.uniq should raise an exception
08:45 gaal so i added a guard in the implementation:
08:45 gaal ifValTypeIsa v "Scalar" (fail "uniq cannot be called on a scalar") $ do
08:46 gaal but it doesn't trigger.
08:46 gaal so perhaps we have a deeper problem where invocants are listified (or something otherified?)
08:49 gaal hmm, likewise op1Sum list = do { vals <- fromVal list ; ........ }
08:49 gaal fromVal isn't really called on a list when i invoke 42.sum
08:49 gaal :todo<bug>ging for now, gotta leave in five
08:51 gaal haha, reduce.t reveals the same errant behavior
08:51 gaal most of the red in builtins/list...
08:52 joepurl has quit IRC (Read error: 110 (Connection timed out))
08:52 gaal there'll be lots of happy yellow when this is fixed
08:52 dduncan I noticed something else that needs doing in Parser.hs, related to my change, but I'm unsure of whether I should attempt it now, since it is a lot larger
08:52 dduncan specifically ...
08:53 dduncan the ruleVersionPart rule that I changed is used by both declarations of packages and invocations of packages
08:53 dduncan however, the change I made is only valid for uses, not declarations
08:54 dduncan it would seem the proper solution is to split that rule into 2 rules, which differ on my change
08:54 autrijus dduncan: sure, or parameterize ruelVersionPart
08:54 dduncan my changed one for 'use/require' and the other copy for package declarations
08:54 autrijus either way is fine.
08:54 autrijus you can go the easier route, which is split
08:54 autrijus and we can always refactor.
08:55 dduncan since its getting late here, I would prefer to wait until tomorrow to do that, given the amount of time to make sure it's done right
08:55 dduncan so should I commit the other change meanwhile, or hold it until I do the above change too?
08:56 dduncan committing now just means that package declarations will be more permissive
08:56 gaal gotta go now... have fun &
08:57 Juerd I did indeed dist-upgrade
08:57 gaal i am teh clever :)
08:58 gaal teh late, too
08:58 Juerd Heh, run! :)
08:58 autrijus just commit now :)
08:58 dduncan okay
08:58 dduncan then I'll improve it tomorrow
08:58 autrijus it almost never pays to wait :)
08:58 autrijus cool
08:58 Juerd autrijus: What's the minimum version for ghc for pugs?
08:58 gaal Juerd: please allow eric2^8 to talk you into adding smoking and reporting to your autobuild
08:59 gaal 6.4
08:59 autrijus Juerd: 6.4 but 6.4.1 preferred esp on osx
08:59 Juerd gaal: Everyone's allowed to talk to me about anything :)
08:59 dduncan OS X 10.4 to be specific
08:59 gaal i mean encourage him to talk you into it
08:59 Juerd autrijus: Okay, good
08:59 svnbot6 r7335 | gaal++ | more TODOifications
08:59 gaal but i'm not here :)
08:59 Juerd gaal: For me, it'd be much easier to just get rid of the autobuilding under my account
09:00 Juerd It takes time I don't have
09:00 nothingmuch if you had a pet shoe maker, what would you call him?
09:05 svnbot6 r7336 | Darren_Duncan++ | quick hack of src/Pugs/Parser.hs rule ruleVersionPart so use/require can specify version ranges; also uncommented any /modules/Rosetta-Incubator files that use that feature ... I'll do a better fix in the Haskell tomorrow
09:07 dada has joined #perl6
09:14 dduncan good night folks
09:16 autrijus night dduncan
09:17 dduncan has quit IRC ()
09:24 xinming_Beijing has quit IRC (No route to host)
09:33 _jql is now known as jql
09:48 rafl has quit IRC (Read error: 113 (No route to host))
09:52 * pdcawley_ idly wonders how easy/hard it is to write a runtime engine for Pugs...
09:52 pdcawley_ I keep thinking 'Ruby has continuations and a vaguely sane object model already'.
09:57 * nothingmuch returns
09:58 nothingmuch hola pdcawley_
09:58 pdcawley_ hola
09:58 nothingmuch i'm betting you could duplicate the efforts of PIL-RUN quite easily
09:58 nothingmuch ask fglock and putter for their insight
09:59 nothingmuch also iblech about the js backend - but he hasn't been around lately
09:59 * pdcawley_ grins, and then I go on to think, "But then, I need to fix trackback pings on the blogging engine, port DateTime to Ruby, improve the blog's caching performance..."
10:00 nothingmuch ?
10:01 pdcawley_ Just various things on my todo list for the blogging engine I'm using at http://www.bofh.org.uk/ which is built on Rails.
10:01 nothingmuch ah
10:01 nothingmuch that is, instead of compiling perl 6 to ruby
10:01 pdcawley_ Indeed. It's all a matter of priorities.
10:02 nothingmuch yes, it is, sadly
10:02 pdcawley_ The fact that I've still not managed to build pugs on this box since I upgraded to Tiger isn't exactly helping.
10:02 pdcawley_ But it does build on the laptop so I might take a look there.
10:02 nothingmuch really? it Works For Me(tm)
10:02 nothingmuch what is not working?
10:02 nothingmuch ghc 6.4.1 fixed an issue that gcc_select 3.3 or 3.0 was needed for
10:03 pdcawley_ Ah... it's been a while since I tried to build.
10:03 nothingmuch priorities would be so unnecessary if only i wasn't an academic bastard: http://www.timecube.com/
10:03 pdcawley_ The original problem was it kept throwing errors about deprecated syntax or something.
10:04 nothingmuch ofcourse, the only thing i have to realize is where the fuck can you find conrners on a sphere
10:04 nothingmuch odd
10:04 xinming_Beijing has joined #perl6
10:04 pdcawley_ Well, I'll try the 6.4.1 build with gcc 4.0 selected.
10:05 pdcawley_ I have the feeling the issue might be down to something like having built the support libraries with gcc 4.
10:05 nothingmuch there is a pkg but it's not linked on the front page
10:06 nothingmuch http://www.haskell.org/pipermail/h​askell/2005-September/016497.html
10:06 * pdcawley_ notes that the last 3 assertions about 24 hour rotations are simply wrong.
10:06 pdcawley_ consider a point at, say 0W, 70N
10:07 nothingmuch pdcawley_: you are an evil human
10:07 nothingmuch didn't you read below? he has proof!
10:08 pdcawley_ It's, ah... Is he serious do you think?
10:08 nothingmuch i don't know
10:08 nothingmuch http://timecube.com/index6.html
10:09 pdcawley_ Delightful.
10:09 nothingmuch anywho, i think someone who typed all that up must believe in it somehow
10:10 nothingmuch but if it was generated, then the person has:
10:10 nothingmuch a sick sense of humor
10:10 pdcawley_ Indeedly.
10:10 nothingmuch too much time to write article generating stuff
10:11 nothingmuch although http://pdos.csail.mit.edu/scigen/
10:11 pdcawley_ coo, a google search on link:www.timecube.com throws up 361 hits.
10:14 coral eeeeee timecube
10:14 coral this is the wrong #perl for that ;)
10:15 coral is 'svk up' the proper command to update my local pugs checkout to the current rev?
10:15 clkao svk up -s or svk pull
10:15 coral ah
10:16 coral neat, that's working. thanks!
10:17 pdcawley_ Hmm build died with 'RTLD_NEXT' undeclared in HsUnix.h
10:19 * pdcawley_ grabs the binary instead.
10:20 pdcawley has joined #perl6
10:23 clkao 4/win27
10:25 nothingmuch this is very nice: http://www.cs.cmu.edu/~dga/​scigen/near_science_low.avi
11:12 rafl has joined #perl6
11:17 iblechbot has joined #perl6
11:20 bpalmer` has joined #perl6
11:28 nothingmuch arf
11:29 xinming_Beijing has quit IRC (Client Quit)
11:29 scook0 nothingmuch: I knew they submitted the paper, but I didn't realise they actually showed up :)
11:30 nothingmuch =)
11:30 * nothingmuch is writing a query planner and his mind is bending
11:32 bpalmer` query planner?
11:32 nothingmuch you have a query
11:32 nothingmuch like return all the things that are property a and property b
11:32 nothingmuch some properties can be indexed
11:32 nothingmuch some properties cannot be indexed, and should be run on the union the indexed properties are made
11:33 nothingmuch the result list needs to be lazy, too
11:33 nothingmuch with concrete results coming in first
11:33 nothingmuch and combinations of results
11:33 nothingmuch e.g. item x and item y satisfy the properties when combined
11:33 nothingmuch but those should not be calculated till necessary
11:33 bpalmer` huh. I can see why you want to do planning :-)
11:34 scook0 well, good luck with it
11:34 nothingmuch so i'm writing the bit of code that takes a query, and sequences some operations
11:34 nothingmuch as a closure that returns partial results, and the "next" step
11:34 nothingmuch where the partial results is an array ref containing hits
11:35 nothingmuch and the way these query closures are generated is decided by the query planner
11:43 nothingmuch the difference between unix users at work and at home is that somehow people at work don't know of the existence of man pages
11:43 nothingmuch "how do you grep on binary files?"
11:43 nothingmuch "man grep <slash>binary"
11:44 nothingmuch i don't know how many times i've said that
11:44 nothingmuch but somehow the are totally convinced that 'man' is not generic
11:44 nothingmuch i.e. it only works for the subset of commands i said it works on
11:44 nothingmuch ==(
11:45 nothingmuch and now I have no clue what I was thinking of
11:48 pdcawley_ 3.
12:01 rantanplan_ has joined #perl6
12:05 stevan has quit IRC ("This computer has gone to sleep")
12:07 Limbic_Region has joined #perl6
12:09 svnbot6 r7337 | scook0++ | * A few Haddocks and other comments
12:09 svnbot6 r7337 | scook0++ | * Replaced some `maybe _ id _` with `fromMaybe _ _`
12:09 svnbot6 r7337 | scook0++ | * Disallow `.foo($inv: $arg)` for having two invocants
12:09 svnbot6 r7337 | scook0++ | * Other minor readability tweaks for 'ruleApply'
12:12 G2 has joined #perl6
12:28 scook0 has quit IRC ("Leaving")
12:32 G2 has quit IRC ("oops")
12:41 theorbtwo has quit IRC (Read error: 104 (Connection reset by peer))
12:44 kolibrie has joined #perl6
12:47 theorbtwo has joined #perl6
12:47 nothingmuch hola kolibrie, theorbtwo
12:48 theorbtwo Allo, nothingmuch.
13:00 joepurl has joined #perl6
13:02 * nothingmuch wonders if you can nest maps/greps in perl 6 more easily somehow
13:03 nothingmuch $OUTER::_ definately makes it possible
13:03 nothingmuch but is there a prettier way?
13:03 theorbtwo I suppose it'd be nice to be able to tell map what the index variable should be named.
13:03 nothingmuch map -> $x { } @list ?
13:03 particle_ has joined #perl6
13:03 nothingmuch hmm
13:04 nothingmuch i wonder how the autovars ($^a, $^b etc) relate to nested blocks
13:04 theorbtwo They belong to the innermost.
13:04 nothingmuch unconditionally?
13:05 theorbtwo Yeah.
13:05 kolibrie nothingmuch: hi # sorry for the delayed response
13:05 theorbtwo Last I heard, anyway.
13:05 nothingmuch hmm
13:05 nothingmuch i guess $OUTER::_ and map -> $x { } should suffice
13:05 theorbtwo I haven't payed much attention to perl6 stuff since the hackathon.
13:07 nothingmuch how come?
13:07 nothingmuch no time?
13:07 nothingmuch how's the UK work gig, btw?
13:10 kolibrie nothingmuch: what's the best way to get irssi to notify me when I'm called, etc. (running from a non-local box)
13:11 nothingmuch hmm
13:11 nothingmuch i use the growl script
13:11 theorbtwo Jess likes her new job very much.
13:11 nothingmuch you can probably steal it and base events on that
13:11 nothingmuch theorbtwo: what does she do?
13:11 theorbtwo I like her coworkers; we've been hanging out a fair bit.
13:11 clkao where in UK? :P
13:11 nothingmuch coolness
13:12 theorbtwo Abingdon, Oxfordshire.
13:12 clkao there's london.pm social tonight :P
13:12 theorbtwo She's a web programmer.
13:12 nothingmuch theorbtwo: did you both apply? or just her?
13:12 theorbtwo Yeah, it's a bit far.
13:12 theorbtwo Just her, and they aren't hiring any more for her department, sadly.
13:13 nothingmuch kolibrie: if you're on mac (which IIRC you aren't), Mac::Growl is used by that script to pop up little thingies
13:13 nothingmuch now, in your case you could send a terminal bell, or find some ad-hoc notification system and glue it to the script
13:13 nothingmuch but I can't help much with that, since I don't know the tools
13:13 nothingmuch theorbtwo: did you try something else?
13:13 gaal rehi
13:14 nothingmuch hola gaal
13:14 gaal nothingmuch, i won't be seeing you tonight, will i?
13:14 theorbtwo nm: Tried another department; they rejected me just from my CV.
13:14 nothingmuch gaal: tonight is israel.pm?
13:14 gaal nothingmuch, yes. you'll be mentioned ;-)
13:15 nothingmuch eep
13:15 nothingmuch sadly i will only manage to get out of $work around when you start
13:15 gaal also, you have a fine chance to buy me a beer!
13:15 nothingmuch heh
13:15 * nothingmuch is really in need of a better ride situation
13:15 kolibrie nothingmuch: true, no mac for me, and I don't know the Linux tools either
13:16 gaal too bad, but you can buy me a beer some other time.
13:16 nothingmuch kolibrie: well, google around for notification systems
13:16 nothingmuch gaal: do I owe you one?
13:16 nothingmuch or is it just for fun?
13:16 gaal no, but so what? :)
13:16 nothingmuch in that case yhou buy me a beer too ;-)
13:16 gaal get me sufficiently drunk and i will
13:16 kolibrie nothingmuch: some time
13:17 particle_ has left
13:17 nothingmuch cheapskate
13:17 nothingmuch kolibrie: anyway, i dunno the growl script or much about irssi
13:18 nothingmuch so aside from what I already told you I can't help much
13:18 nothingmuch but the growl script is at...
13:18 gaal not at all, i just want to get you started
13:18 nothingmuch http://growl.info/documentation/irssi.php
13:18 kolibrie nothingmuch: thanks
13:18 gaal anyway: the code in `trans` in the Prelude is crashing. anyone know why?
13:18 nothingmuch chat is getting too busy for work... &
13:20 pasteling "gaal" at 192.115.25.249 pasted "trans crash" (9 lines, 414B) at http://sial.org/pbot/13490
13:20 gaal there's nothing there that looks like it's 0 parameter...
13:20 gaal *being called with 0 parameters
13:24 xinming_Beijing has joined #perl6
13:33 autrijus gaal: expand $_.key => expand $_.value
13:33 rafl Is it possible to overwrite the max recursion depth of .perl from a perl script?
13:33 autrijus I bet &expand is called with magic pairs
13:33 autrijus rafl: er, no. I suggest we lift the maxrec depth.
13:33 autrijus as in, if you have an infinitely recursing thing, you get it
13:34 autrijus rafl: but how would you hit 1024 depth?
13:34 rafl It's just a theoretical question. 1024 works fine for me ATM.
13:34 autrijus ok. the answer is no... not without essentially writing a worker function for .perl yourself
13:35 rafl I can imagine that someone want's to serialize a real big structure. Or someone knows that a structure is infinitely recursing and want's to set the max depth down..
13:36 autrijus thing is that .perl should handle circularity correctly
13:37 rafl What about infinite lists? How is that handled currently?
13:39 autrijus badly. they should serialize to range syntax
13:41 nothingmuch ?eval (1...).perl
13:41 evalbot_7312 pugs: out of memory (requested 1048576 bytes)
13:41 nothingmuch tee hee =)
13:55 rafl Hm. How is perl5's the .= operator called now?
13:55 autrijus ~=
13:56 rafl Thanks.
13:57 joepurl has quit IRC (Remote closed the connection)
14:00 rafl Is there a cool way in perl6 to iterate over a list having a counter without using for (my $i = 0; $i < @a; $i++)?
14:00 joepurl has joined #perl6
14:01 gaal autrijus: the call is simply:
14:01 gaal "ABC".trans( 'A'=>'a', 'B'=>'b', 'C'=>'c' )
14:01 theorbtwo rafl: for @array.kv -> ($index, $value) {...}, IIRC.
14:02 PerlJam rafl: for zip(@list,0...) -> $x, $i { ... }
14:02 autrijus gaal: I think the map on line 393
14:02 autrijus gaal: is not expecting pairs for $_.
14:02 autrijus gaal: this is veery annoying.
14:02 rafl theorbtwo: Works, thanks.
14:03 rafl PerlJam: I prefer theorbtwo's way.
14:03 autrijus gaal: to wit
14:03 autrijus ?eval map { $_.key } (a=>2, b => 3)
14:03 evalbot_7312 Error: Insufficient number of required parameters: 0 actual, 1 expected
14:03 gaal rafl, theorbtwo: the parens are optional
14:03 autrijus ?eval  map -> Pair $_ { $_.key } (a=>2, b => 3)
14:03 evalbot_7312 ('a', 'b')
14:03 gaal hmm!
14:04 PerlJam rafl: sure, but even though that syntax works in pugs I'm not quite sure that applying .kv to an @array is set in stone.
14:04 PerlJam (or as close to stone as p6l gets)
14:04 gaal PerlJam: i believe S29 mentions it.
14:06 theorbtwo ?eval @x=('a'..'f'); map @x.kv -> ($i, $v) {"$i: $v"}
14:06 evalbot_7312 Error:  unexpected ">" or "-" expecting operator, ":", ",", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input
14:06 gaal autrijus: is it the map that's complaining, or .key?
14:06 autrijus gaal: it's map
14:06 gaal theorbtwo: 'for'
14:06 autrijus gaal: map is applying a pair into something that is not declaring that it wants a pair.
14:07 autrijus gaal: this is highly silly
14:07 PerlJam gaal: Even so, S29 is still cast in modeling clay.
14:07 theorbtwo ?eval @x=('a'..'f'); for @x.kv -> ($i, $v) {$x ~= "$i: $v, "}; $x
14:07 evalbot_7312 Error: Undeclared variable: "@x"
14:07 theorbtwo ?eval my @x=('a'..'f'); my $x; for @x.kv -> ($i, $v) {$x ~= "$i: $v, "}; $x
14:07 evalbot_7312 \'0: a, 1: b, 2: c, 3: d, 4: e, 5: f, '
14:07 autrijus gaal: I don't know whether we should fix map, or fix default parameter type for bare blocks, or just workaround it in prelude.
14:07 autrijus gaal: or ask p6l. I think workaround for now first.
14:10 gaal ok.
14:10 gaal PerlJam: indeed.
14:10 nnunley has joined #perl6
14:11 gaal autrijus, to make sure I understand: $_ is not expecting a pair? (what is a pair being applied to?)
14:12 autrijus gaal: map takes & and @
14:12 autrijus and apply each of @ into &
14:12 autrijus the & takes $_
14:12 autrijus which does not have Pair in its type
14:12 autrijus due to magical pairs
14:12 autrijus when you apply a pair into something that does not expect pairs
14:12 autrijus it resolves into named binding
14:12 autrijus ...and promptly fails
14:12 autrijus I think it's a bad idea.
14:13 * theorbtwo tends to agree.
14:13 PerlJam autrijus: And how does one "turn off" name binding?
14:13 autrijus I think slurpy scalar is a much saner way out.
14:13 autrijus PerlJam: one can't which is very very annoying.
14:13 PerlJam ah
14:14 autrijus I'd rather say "$_ is positional"
14:14 autrijus but currently the closest is
14:14 autrijus "Any|Pair $impossible_name"
14:14 autrijus or rather, in newstyle syntax
14:14 autrijus "(Any,Pair) $impossible_name"
14:15 mdmkolbe has joined #perl6
14:18 SM_ax has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
14:18 mdmkolbe In pugs, "((1=>2)&(3=>4)).key" results in "(1&3)", but I don't understand why "((1=>2)&(3=>4)).value" results in "({ref:<Scalar::Proxy>})".  Is this a bug or how to I get the expected "(2&4)"?
14:18 autrijus ?eval scalar ((1=>2)&(3=>4))
14:18 evalbot_7312 Error: No compatible subroutine found: "&scalar"
14:19 autrijus ?eval perl ((1=>2)&(3=>4))
14:19 evalbot_7312 '((1, 2) & (3, 4))'
14:19 autrijus ?eval perl ((1=>2)&(3=>4)).value
14:19 evalbot_7312 '({ref:<Scalar::Proxy>})'
14:19 autrijus ?eval $x = ((1=>2)&(3=>4)).value; $x
14:19 evalbot_7312 Error: Undeclared variable: "$x"
14:19 autrijus ?eval my $x = ((1=>2)&(3=>4)).value; $x
14:19 evalbot_7312 \({ref:<Scalar::Proxy>})
14:19 autrijus hrmph.
14:22 pasteling "gaal" at 192.115.25.249 pasted "further pai[rn]" (19 lines, 772B) at http://sial.org/pbot/13492
14:22 gaal this is after introducing autrijus' workaround to the prelude
14:22 gaal we get past the first test with weird errors, then get a different b0rkage.
14:23 gaal (why PGE? there's a P5 rx there)
14:25 gaal Wow, the 42.listop bug is very popular.... sort.t also exhibits it.
14:26 autrijus 42.listop?
14:27 gaal eg. 42.uniq should die
14:27 gaal so should 42.sort
14:27 autrijus why?
14:28 autrijus oh, because autolistify is not warranted
14:28 gaal that's what the tests claim :)
14:28 autrijus sort 42; # is fine
14:28 autrijus but 42.sort should not be
14:28 gaal (42,).sort # ok too
14:28 autrijus sure
14:28 gaal so builtins/list has plenty of todo<bug>s on that
14:29 gaal curiously, in t/builtins/lists/one_elem_list_kv.t, only one test does pass -- the last one, where we do (42).kv :)
14:30 autrijus ?eval (42).kv
14:30 evalbot_7312 Error: No compatible subroutine found: "&kv"
14:30 autrijus that's what I'd think.
14:30 gaal yes, that's a pass (it's a dies_ok test)
14:30 autrijus oh ok
14:31 gaal ?eval (1,).kv
14:31 evalbot_7312 Error: Not a keyed reference: VList [VInt 1]
14:31 gaal but that ostensibly should have worked.
14:31 autrijus indeed.
14:31 gaal ok, todo-bugging that too.
14:32 autrijus anyway, just sweep them into todoness for now; the container typing needs more work
14:32 iblech has joined #perl6
14:32 iblech Hello everyone! Glad to have finally found some time for IRC :)
14:33 gaal iblech! hello :)
14:33 eric256 has joined #perl6
14:33 eric256 morning/evening/afternoon ;)
14:33 autrijus iblech!
14:34 autrijus iblech: how's life?
14:34 iblech geoffb: (You asked why iblechbot isn't up 24/7) It's because iblechbot runs on my gateway (a normal desktop), and it gets switched off at night
14:34 gaal there's a nice little film called Living in Oblivion, which serves as a nice reference for your recommendation. :)
14:34 autrijus gaal: :D
14:34 iblech autrijus: Thanks for asking, school consumes much of my time...
14:34 autrijus gaal: ignorance is bliss and we are now -Obliss!
14:34 gaal iblech, on that note, any chance of seeing you at YAPC::Israel?
14:34 eric256 ibech why not run it from a feather account?
14:35 iblech geoffb: (You asked whether your updates to STATUS WRT PIL2JS are ok) They are ok :)
14:35 gaal speaking of which <grin>, eric256, hello...
14:35 gaal ....mind taking over Juerd's autobuild?
14:35 eric256 hey. working on my patch right now ;)
14:35 gaal yay
14:36 eric256 if its auto...whats to take over?
14:36 eric256 just waiting for pugs to finish making.....seriously slow process ;)
14:36 iblech gaal: Probably not, school you know...
14:36 gaal he's got working scripts in his home dir, that just need to be moved to yours, and then when you add auto-smoke-submit, just turn smoking on :)
14:37 gaal iblech: we'll give you cred for it! :)
14:38 * eric256 twiddles thumbs waiting for compiling pugs.run to finish...
14:38 gaal eric256: i don't think it's high-maint or anything, but he mentioned not having time to maint it anyway.
14:38 iblech eric256: [iblechbot on feather] I promised that all logs iblechbot creates are strictly private and will only be stored on my local computer(s)
14:38 eric256 just don't store logs then ;)
14:38 eric256 or you can change the permissions on your file so others can read the log file
14:39 eric256 s/can/can't/
14:39 iblech A bot which just sits in the channels and does nothing else is mostly useless ;)
14:39 eric256 i'd be happy to look into maint those scripts gaal
14:40 rafl iblech: I queried you. Did you get my message?
14:40 nothingmuch iblech: welcome  back!
14:40 eric256 well ilf all it does is keep logs, and those logs are private, then it doesn't do anything anyway...so it must do something besides log
14:40 iblech eric256: Right, but root would still be able to read the logs, thus breaking my promise ;)
14:40 iblech rafl: Yes, I replied :)
14:40 eric256 ahh.. paranoia..
14:41 theorbtwo If you really wanted, you could use public-key encryption.
14:41 nothingmuch gaal: do you know when YAPC::Israel::2006 is going to start registration and stuff?
14:41 iblech eric256: Right, it doesn't do anything actively speaking
14:41 gaal nothingmuch: nope
14:42 rafl iblech: Hm. I didn't get that. freenode is anal, you know? You need to be registered to send query messages.
14:42 autrijus theorbtwo: running a process on somebody's computer is no way to guarantee safety
14:42 theorbtwo Yeah, autrijus, I know/
14:42 theorbtwo But that way you can only read the bits in memory, and not on disk (except to the extent that disk is memory, of course).
14:43 iblech theorbtwo: But, in order to encrypt the logs, the bot would have to store the private key somewhere, right?
14:43 PerlJam iblech: not necessarily  :)
14:43 eric256 gaal what would be a valid value of pugs_smoke_upload for me to test with?  (already tested undef)
14:43 theorbtwo Only it's own private key.
14:43 theorbtwo Not the private key of the person who can decrypt it.
14:44 gaal slurp "does-not-exist" : fail, right?
14:44 iblech theorbtwo: D'oh, right, of course.
14:44 eric256 gaal, if that was meant for me i have no idea what you meant.;)
14:45 gaal eric256: you know, maybe there should be one value for whether to submit smokes or not - just a boolean
14:45 eric256 what would you have put in $ENV{PUGS_SMOKE_UPLOAD} field ?  so that i can make this one behave the same but reading from config.yml
14:45 gaal eric256: and another, less widely used, for an override submission url, which can be null by default since the smoke client already comes with a defualt out of the box.
14:46 gaal ahhh, oh
14:46 gaal well right now the PUGS_SMOKE_UPLOAD feature is one that we're deprecating:
14:46 gaal it doesn't work the same way as the smoke client
14:46 gaal it's just a hook for doing something with the smoke
14:46 gaal see what run-smoke.pl does with it, basically just invokes a comment
14:47 gaal *command
14:47 gaal i think nothingmuch used to have a script that made use of this. is it in util/ ?
14:47 gaal smoke-loop or something like that?
14:48 gaal ... the question about slurp wasn't intended specifically to you, eric256 :)
14:48 eric256 i thought we were just moving it out of the environment and into the config file
14:48 eric256 but if you have the code to upload i can just make it  a flag to signal the script to auto upload
14:49 gaal eric256: ahh, no, now that we have a smoke server i don't think we need a special hook for user-defined commands. let people who want that write their own wrapper around make.
14:49 eric256 in that case...how do we get the smoke from client to the server?
14:50 gaal eric256: sure, the code is "perl util/smokeserv/smoke-client.pl" :-)
14:50 gaal with $^X instead of hardcoded "perl".
14:51 eric256 so putting that in the PUGS_SMOKE_UPLOAD field (for a quick test) should work?
14:51 gaal all: okay, I'm assuming `slurp "unknown_file"` should fail, not blindly return undef.
14:52 eric256 hmmm actualy it needs teh smoek file pssed to it...okay trying this out
14:52 gaal i think so, except there's a chance that the invocation in run-smoke adds some arguments without asking. look there :)
14:52 eric256 yea
14:56 eric256 now i just need to wait for make smoke to finish so i'll have a test file to upload ;)
14:58 autrijus eric256++
14:58 eric256 hehe you havn't seen my hacky code yet. ;)  that might end up being a --
14:59 autrijus nah, any code is worth a ++
14:59 autrijus unless you somehow invent anticode
15:00 broquaint unlink for <*.pl>;
15:00 broquaint s/for //
15:01 gaal AKA Nuke Poland
15:01 svnbot6 r7338 | gaal++ | TODOifications: all of t/, except for trans.t. ext/ still needs to be TODOed.
15:01 autrijus gaal++
15:02 mdmkolbe autrijus: is there somewhere I should post the ((1=>2)&(3=>4)).value bug so it doesn't fall through the cracks and get forgotten?
15:02 gaal autrijus: take a peek at trans.t please? http://sial.org/pbot/13492
15:02 PerlJam gaal: Isn't "undef" a good sign of failure?
15:02 * theorbtwo wonders if broquaint really just used <> for glob.
15:03 autrijus mdmkolbe: you should, of course, write a test.
15:03 gaal PerlJam: it is, when running under 'no fatal'
15:03 gaal but it's easier for us to make things fail for now :)
15:03 PerlJam Is fatal the default now?
15:04 gaal (pugs answer, not p6) well, (a) we don't actually have lexical pragmas yet, so "fail" is fatal;
15:04 eric256 i can actualy read teh .hs files now...might nut completly understand but i don't run from the room screaming.. lol
15:04 PerlJam eric256++ excellent!
15:04 gaal (b) we switched faillible builtins to failing instead of returning undef hardcodedly.
15:05 gaal so effectively yeah :)
15:05 gaal as for p6, i don't really know what'll turn out to be the default
15:05 autrijus mdmkolbe: you have a committer bit for the test?
15:05 PerlJam Sounds like pugs needs lexical pragmas to me.
15:06 autrijus mdmkolbe: test for stringification for .value
15:06 PerlJam Does pugs have *any* pragmas?  
15:06 gaal i know my own preference is for on by default
15:06 * PerlJam hasn't quite kept up with pugs
15:06 gaal PerlJam: working on it ;)
15:06 autrijus PerlJam: no, gaal is working on it.
15:06 eric256 hehe...testing seems to have paused on ext/Set-Inifinite/t/set-inifinite-recurrence.t  ----- kinda worriesome having the word infinite in a test ;)
15:06 PerlJam gaal++ then
15:06 PerlJam and again gaal++
15:06 autrijus all exports are lexical in p6
15:06 elmex has quit IRC ("leaving")
15:06 autrijus and gaal is working based on MJD's proposal for p5
15:06 autrijus which may or may not be adopted to 5.10
15:06 gaal Dominus++ really (I'm following his really excellent design)
15:07 PerlJam url for mjd's proposal?
15:07 gaal sec
15:08 gaal http://www.xray.mpe.mpg.de/mailing-lis​ts/perl5-porters/2003-09/msg00112.html
15:09 * nothingmuch will have to follow up and see how lexical pragmas apply to blondie
15:09 justatheory has joined #perl6
15:10 autrijus bbiab...
15:11 nothingmuch gaal: was the proposal ever integrated to blead?
15:17 gaal nothingmuch: i don't know. don't knwo what happened to his debugger proposal either.
15:17 nothingmuch =(
15:17 nothingmuch the debugger proposal always made me sad
15:17 gaal but ask him! he's a nice person.
15:17 nothingmuch p'raps
15:17 gaal anyway, i'd better get a moose on, my show^H^H^H^Htalk is soon.
15:17 nothingmuch good luck!
15:18 gaal ok quick: what nice things happened in Pugs since July?
15:18 eric256 crap make smoke takes a long time. lol
15:18 nothingmuch PIL-RUN
15:18 eric256 does it always run all teh tests in /etc ?
15:18 nothingmuch js backend improved a lot or materialized
15:18 nothingmuch eric256: for make test i think hes
15:18 nothingmuch and that's ext, btw ;-)
15:18 nnunley has quit IRC (Read error: 113 (No route to host))
15:18 eric256 i knew it didn't soudn right
15:18 nothingmuch i estimate around 3000 additional unit tests
15:18 gaal eric256: if you got the RAM, precompile Test.pm too, it'll save you time
15:19 eric256 i'm on feather so next time i will
15:19 nothingmuch check autrijus's talk from YAPC::NA... iirc it was ~7000 back then
15:19 nothingmuch gaal: how do you do that?
15:19 eric256 tried to windows machines and i always run out of memory
15:19 eric256 its a an option in config.yml
15:19 nothingmuch ah... /me will have a look at it
15:19 gaal nothingmuch: uncomment the `precompile_modules` line in config.yml and perl Makefile.PL again.
15:19 nothingmuch smoke server started
15:20 gaal eric256, nothingmuch: yes, you also need to increase the GHC heap size to 8562TB.
15:20 gaal or 400M, whichever is more approporiate.
15:20 nothingmuch for Test.pm?
15:20 gaal yes
15:20 nothingmuch how come?
15:20 gaal you might get away with 350
15:20 hlen has quit IRC (Read error: 113 (No route to host))
15:21 * nothingmuch has 1GB of physram
15:21 nothingmuch can afford about 800 for ghc nominally
15:21 gaal take a look at the intermediate .hs file, it's 1mb of haskell source for the Prelude.pm, and another 1mb when appending Test.pm
15:21 gaal 1mb is a lot of haskell :)
15:22 gaal anyway, thanks for the tip, nothingmuch, and see y'all later
15:22 gaal eric256++ # good measure
15:22 gaal bye :)   &
15:23 iblech bye gaal
15:23 nothingmuch ciao!
15:23 eric256 you run the smoke server nothingmuch?
15:23 nothingmuch nope... iblech does
15:24 nothingmuch i still generate haddocks and test backlinks though
15:24 eric256 you just said you started it...i was confused
15:24 nothingmuch no, not me
15:24 eric256 [09:19] nothingmuch: smoke server started
15:24 * nothingmuch just stated that "smoke server started"
15:25 eric256 alright
15:26 * eric256 continues to wait impatiently
15:26 eric256 i'm into the oo tests.... can i run concurrent tests on feather or is that bad manners?
15:26 nothingmuch i'm not sure it'll help
15:26 eric256 realy?
15:27 nothingmuch it's not SMP or hyperthreaded
15:27 nothingmuch and only 1gb of ram
15:27 nothingmuch so it might actually make things worse, by thrashing disk and stuff
15:27 nothingmuch actually, why are you testing at all?
15:27 eric256 hehe. nm then.
15:27 nothingmuch aren't the smokes enough?
15:27 eric256 i did
15:28 eric256 make smoke
15:28 eric256 and i'm still waiting.....and waiting....and waiting.... as it goes through all the test files
15:28 nothingmuch well, to get results you should probably look at the precanned smoke results... testing pugs takes a *long* time
15:28 nothingmuch then you can pick something to target
15:28 nothingmuch and test it as you fix things
15:29 nothingmuch but i think that unless this is for the purpose of submitting new smokes on linux, it's a shame that you wait that long
15:29 rafl autrijus: Will it be possible to build a libpugs with 6.2.10?
15:29 eric256 i just wanted the smoke file to test my smoke_upload fix on run-smoke.pl
15:29 nothingmuch ah
15:29 nothingmuch then fake it ;-)
15:30 eric256 yea i didn't think ti would take this long...and now i dont' know how near the end i am...quiting now would seem a shame
15:30 nothingmuch anyway, /me goes back to what he was doing before
15:30 mdmkolbe has left
15:31 gaal has left "faremoose!"
15:32 rafl nothingmuch: perl5/Blondie/type annotation.graffle breaks make dist because it contains a space. Would you please change that?
15:33 nothingmuch rafl: sure
15:33 * nothingmuch mutters something about living in the stone age
15:33 rafl You could fix EU::MM as well.. :-)
15:34 nothingmuch well, there are portability issues
15:34 nothingmuch since pugs runs on DOS ;-)
15:34 nothingmuch comitted
15:34 rafl Thanks.
15:35 svnbot6 r7339 | nothingmuch++ | tr/ /_/ for dist
15:35 nothingmuch it's actually out of date now =)
15:50 rafl geoffb: I'm about to prepare the debian/ changes for 6.2.10. You wanted to co-maintain it, right?
16:01 saorge has quit IRC (Read error: 110 (Connection timed out))
16:06 rafl Why is perl5/ installed into /usr/share/perl6/5.8/perl5?
16:07 rafl It should be /usr/share/perl5 imho. Or if the modules aren't usable for anything than pugs it should be /usr/{share,lib}/pugs/perl5/ or something like that.
16:08 rafl Why is the java MM installed? Thought it doesn't work at all currently.
16:08 Amnesiac has joined #perl6
16:09 iblech rafl: IIRC autrijus talked about this with steven yesterday; basically cp -r perl5 blib6/lib was easiest
16:09 rafl *brr*
16:09 kolibrie rafl: rather than making a dist on CPAN, etc.
16:10 eric256 hmm anyone know how to commit changes with svk?
16:10 eric256 same as svn?
16:10 rafl eric256: svk push
16:10 clkao just committ
16:10 clkao but use push if you use a local branch
16:11 rafl That woudn't be needed. How about putting all the perl5 stuff into lib/?
16:11 rafl And their tests into t/. It's really crap to install Makefile.PL, t/ and others for every perl5 module. They don't need to be installed.
16:13 eric256 with any luck a commit message will show up hear shortly
16:13 svnbot6 r7340 | eric256++ | Add smoke_upload option to config.yml so that 'make smoke' automaticaly uploads smoke file.
16:13 nothingmuch =)
16:13 rafl eric256: Say ?check to svnbot6 and it will show up instantly. :-)
16:14 eric256 who maintians smoke.pugscode.org?
16:14 rafl eric256++; That allows me to get rid of it in debian/rules. An environment hook to deactivate it even if it's set in the config would be cool though.
16:14 iblech eric256: smoke.pugscode.org points to my server, m19s28.vlinux.de
16:14 rafl eric256: I also would like to have an option to specify the yml file.
16:14 clkao the smokeserv should be able to show me "latest regression" and "latest passed tests" against previous submission
16:15 eric256 rafl .... smoke server takes html files....
16:15 iblech clkao: Would be cool, yes... IIRC Limbic_Region used to worked on this
16:16 rafl eric256: That's not directly related to smokeserv.
16:16 nothingmuch clkao: darcs get http://nothingmuch.wooblin​g.org/Test-TAP-HTMLMatrix
16:16 nothingmuch it supports a consolidated view
16:16 nothingmuch that can show you what changed between any two TAP streams
16:16 eric256 i was just wondering if you wanted to add a blurb at the top were you talke about submitting smokes.  "You can also set smoke_upload: 1 in config.yml to automaticaly upload." something like that.
16:16 clkao nothingmuch: darcs! how dare you!
16:16 nothingmuch and highlight the TAP streams in a test suite that don't work
16:16 clkao :P
16:16 rafl eric256: Look at debian/patches/ - it would be cool to add some code so I could get rid of it and set the config.yml location using environment variables or commandline args.
16:16 nothingmuch clkao: sorry, the interface rocks =)
16:16 clkao you want interactive commmit? we've got it already
16:17 nothingmuch now it's a matter of inertia more than anything
16:17 nothingmuch i use darcs for my own repos because I'm used to it
16:17 nothingmuch i use svk for other people's svn repos
16:17 nothingmuch which is actually more than my own
16:17 clkao what's thge biggest hate when you have to use svk?
16:17 rafl holarse.net  bestimmt.
16:17 eric256 rafl i can do that...you could do that...thats an easy fix
16:18 rafl Whops. Wrong channel. :-/
16:18 nothingmuch the biggest hate is the fact that it's tied to subversion in a way that makes pushing to a central repo very slow sometimes
16:18 rafl eric256: Yes, everyone could. But I focus on other things currently.
16:18 nothingmuch another thing, not a hate, but a like about darcs is that I can just put a dir anywhere, and it works
16:18 nothingmuch and people can pull from there
16:19 eric256 rafl: in config.yml or as an env?  whats the consensus on that?
16:19 clkao *nod* that's quite slick
16:19 * nothingmuch wishes SVK was the next natural step - a version control aware patch pusher
16:19 nothingmuch that can store to many types of repos:
16:19 nothingmuch local svk mirror
16:20 nothingmuch centralized svk
16:20 nothingmuch darcs
16:20 clkao nothingmuch: so why isn't the new tap matrix on pugs smoke?
16:20 nothingmuch clkao: because i keep forgetting to finish
16:20 rafl eric256: I want two things. 1) Disabling smoke sending using an ENV hook (minor) and 2) being able to specify the config.yml location somehow.
16:20 nothingmuch and there is stuff that i suck at (html)
16:20 nothingmuch and there is the issue of wtf do you actually diff
16:20 nothingmuch i guess smokeserver would want a checkbox interface, and a "compare these" thing at the bottom
16:20 * eric256 accidentlay pushed run-smoke with certain lines commented out...hehe. ops
16:20 nothingmuch but for that smokeserver needs to take in storable/yaml dumps, not htmls
16:21 nothingmuch eric256: that's what version control is for ;-)
16:21 nothingmuch clkao: i promise to finish tth as my next unfun jobs
16:22 nothingmuch i dedicate 1-2 hrs a day to unfun volunteer work
16:22 nothingmuch but now i promised to convert rules.t to parrot
16:22 clkao nothingmuch++ # prepay
16:22 nothingmuch otoh, if anyone would like to hack tth on their own, i have a very accurate and pretty easy TODO list
16:23 eric256 rafl  so an option in config.yml is okay with you then for the first part? and you want like  upload unless $ENV{PUGS_NO_SMOKE_UPLOAD}
16:24 rafl eric256: Sorry, I need to go now. Let's talk again in some hours.
16:24 svnbot6 r7341 | eric256++ | Opps.. Uncommenting lines that shouldn't be commented.
16:26 eric256 any minor tasks that need doing let me know
16:27 nothingmuch eric256: want to do TTH?
16:27 eric256 don't know what it stands for even
16:28 nothingmuch Test::TAP::HTMLMatrix
16:28 eric256 ahh
16:28 nothingmuch the module that makes the pretty HTMLs out of the test results
16:28 eric256 i've been roped into this test stuff. ;)
16:28 eric256 sure
16:28 * nothingmuch sedates eric256 with some date rape drugs
16:28 nothingmuch okay, here's what's needs to be done:
16:29 * autrijus notes casually that it will make eric256 forget everything you said, so maybe you dont want _that_ kind of drug
16:29 eric256 lol
16:29 nothingmuch autrijus: as long as i can make him code for me first
16:29 nothingmuch i don't mind if he forgets what he wrote
16:29 nothingmuch anyway
16:30 nothingmuch we need a method that takes the summary_html and detail_html, as well as no inline_css
16:30 nothingmuch and emits them into a directory that is the parameter of the method
16:30 nothingmuch we also need to clean up some HTML coloring
16:30 nothingmuch and HTML layout
16:31 eric256 is this in the PUGS svn somewhere?
16:31 nothingmuch no
16:31 nothingmuch http://nothingmuch.wooblin​g.org/Test-TAP-HTMLMatrix/
16:31 nothingmuch you can darcs get it
16:32 * eric256 knows less about darcs than svk (and thats saying something) ;)
16:32 nothingmuch =)
16:32 nothingmuch get a darcs bin from darcs.net
16:32 nothingmuch and just say 'darcs get http://nothingmuch.woobling​.org/Test-TAP-HTMLMatrix/'
16:32 nothingmuch and you'll get a local mirror of that dir under Test-TAP-HTMLMatrix in PWD
16:32 eric256 darcs is alreayd on feather...and i just did that.../me assumes this is in some way p6 related?
16:33 nothingmuch indirectly it will help the pugs smoke server
16:33 nothingmuch and the parrot smoke server
16:33 nothingmuch i doubt Juerd will mind
16:33 eric256 if he does it will be your fault
16:33 eric256 because i wont remember a thing ;)
16:33 kolibrie I'm witness :)
16:33 nothingmuch okay =)
16:34 nothingmuch eric256: darcs pull
16:34 eric256 i id a darcs get
16:34 eric256 will that be a problem/
16:34 nothingmuch no
16:35 nothingmuch inside the repo darcs pull
16:35 nothingmuch i just committed a new patch
16:35 svnbot6 r7342 | iblech++ | * PugsBuild::Config: Honour the new PUGS_BUILD_CONFIG env var.
16:35 svnbot6 r7342 | iblech++ | * pugs::run: Document this new var.
16:35 svnbot6 r7342 | iblech++ | * util/run-smoke.pl: Added appropriate use lib File::Spec->catdir(...) so
16:35 svnbot6 r7342 | iblech++ |   PugsBuild::Config can be loaded without -I or $PERLLIB.
16:35 iblech rafl: There you go :)
16:36 iblech rafl: And PUGS_BUILD_OPTS="smoke_upload=0" ./util/run-smoke... should fix 1)
16:36 eric256 anything specific about the HTML Coloring/Layout you want to clean up
16:37 nothingmuch yes, one sec, i'll tell you
16:37 nothingmuch (darcs pull again)
16:37 eric256 iblech stole my job!!! theif!
16:37 nothingmuch also darcs get url with Test-TAP-Model
16:37 iblech eric256: :D
16:38 * eric256 invistigates iblechs update
16:38 eric256 i though you couldn't do dynamic "use " statements?
16:39 nothingmuch okay
16:39 nothingmuch dynamic use statements?
16:39 nothingmuch oh
16:39 nothingmuch yes you could, they just can't be part of an expr
16:39 eric256 use lib File::Spec->catdir($FindBin::Bin, "..", "inc");
16:39 nothingmuch anyway, eric256 - in example.pl, comment out the print for detailed_html and uncomment summary_html
16:39 nothingmuch that view completely sucks
16:40 iblech eric256: All use statements happen at compile-time, but in the order they're listed in the file, so it works :)
16:40 nothingmuch it needs to be prettier
16:40 nothingmuch also, you'll notice that in the total column for the summary view the coloring is based on the leftmot column
16:40 nothingmuch not both together
16:40 nothingmuch as it should be
16:41 nothingmuch http://nothingmuch.woobling.org/example.html # sucks
16:41 * eric256 will look but make no promises
16:42 nothingmuch if you can take that HTML and edit it/the css till their pretty, i can backport to the template easily
16:42 nothingmuch that would be a lot of help
16:42 nothingmuch if you can also do the ->output_dir method or at least start it, that would also be nice
16:42 nothingmuch it will also need an index.html that has links to the summary, and the consolidated output
16:42 nothingmuch clkao: ping
16:43 * eric256 needs to learn to say 'no' lol
16:43 autrijus eric256: remember, you are drugged :)
16:45 clkao nothingmuch: hi
16:45 nothingmuch http://nothingmuch.woobling.o​rg/example_consolidated.html
16:45 nothingmuch that is what you have right now
16:46 clkao whoot
16:46 theorbtwo "Remember, you are still under oath^Wdrugs."
16:47 autrijus clkao: remember to remind me that I need to reserve a M-sized pugs shirt for nicholas
16:47 nothingmuch clkao: the expanded by default lines are those that disagree
16:47 autrijus clkao: would you carry it back to him?
16:47 nothingmuch and you can expand similar lines in order to mouse over the diag output
16:47 clkao autrijus: i could, of course.
16:47 nothingmuch the "real run" and "dummy failures" parts need to be DWIMly extracted from the pugs -V output
16:48 clkao autrijus: there are tons of fotangoer going to npw
16:48 autrijus nothingmuch: wow, real pretty
16:48 autrijus clkao: define tons... I don't have many shirts left
16:48 nothingmuch that is, if you have two pugs -V outputs, you extract all the fields, and then abbreiviate and eliminate duplication
16:48 autrijus clkao: but I remember fotango can print their own shirts ;)
16:48 clkao i mean any of them can be the agent
16:48 nothingmuch also - if anyone knows to take care of such quirks (eric256 ;-) - the +/- buttons will cause the name of the test to jump around a bit
16:49 nothingmuch if it could be persuaded to stay in place that would be wonderful (i tried, didn't work for me)
16:51 nothingmuch anyway, i really need to finish some stuff before going home
16:51 nothingmuch eric256: i hope you've got enough to do =)
16:51 nothingmuch iblech: you should be listening, because smokeserv will want to use this
16:52 * iblech listens
16:52 nothingmuch and also, keep in mind that it was *very* hard to port smokserv to parrot
16:52 nothingmuch so if you glue it in, try to make it reusably glued
16:52 * eric256 is still trying to install modules needed for TTH....gonna do it localy i guess. ;)
16:52 nothingmuch eric256: Test::TAP::Model should come from TTH's sister darcs repo, since it's got the new consolidation code
16:52 nothingmuch everything else should install locally without too much fuss
16:53 eric256 yea but feather and me don't seem to get along on installing stuff
16:54 eric256 it will be easier to work on HTML localy anyway
16:54 nothingmuch if you don't want to install darcs you can rsync or scp -r the repos
16:54 nothingmuch they are just plain files
16:59 nothingmuch man, closures are so cool
17:01 * nothingmuch goes home
17:01 autrijus ...wait until you smoke delimited continuations... _those_ can really get you high
17:01 autrijus oh wait, but you had :)
17:01 nothingmuch what does delimited mean in the context?
17:01 autrijus nothingmuch: resetT boundary.
17:02 nothingmuch no hablo resetT
17:02 elmex has joined #perl6
17:03 nothingmuch autrijus: ?
17:04 theorbtwo The nifty thing about continuations is that you invoke them, and they continue where they left off.
17:04 * nothingmuch has to leave
17:04 * nothingmuch knows about continuations
17:04 autrijus nothingmuch: shift/reset... the thing that we use to transfer control around return() and redo() and whatnot
17:04 autrijus nothingmuch: have fun :)
17:04 nothingmuch i just dunno what delimited is
17:04 theorbtwo Delimited continuations can continue someplace other then where you left off.
17:04 theorbtwo ...I think.
17:04 nothingmuch hum
17:04 nothingmuch will read later
17:04 nothingmuch *poof*
17:04 nothingmuch has quit IRC ("leaving")
17:04 autrijus nothingmuch: boundary means instead of having the continuation run till end of the world
17:05 autrijus you run it until end of the reset boundary.
17:05 autrijus oops.
17:05 theorbtwo Oh.
17:05 theorbtwo Hm, that doesn't sound like the same thing I was saying.
17:05 autrijus indeed...
17:12 luqui has joined #perl6
17:13 luqui ?eval $?PUGS_VERSION
17:13 evalbot_7312 \'Perl6 User\'s Golfing System, version 6.2.9, August 3, 2005 (r7312)'
17:13 autrijus greetings, luqui san.
17:13 luqui hello
17:13 luqui er, konichi wa
17:13 ajs_ has quit IRC (Remote closed the connection)
17:14 luqui I just came on to do an @pl on lambdabot, but it appears he is absent
17:14 luqui anyway, I was thinking about tuples some more
17:15 autrijus okay. what about them?
17:15 luqui I think haskell did them wrong
17:15 autrijus larry seem to be keen on keeping the tri purpose of array/list/tuples
17:15 luqui yeah, I'm trying to fudge tuples and arrays together
17:15 luqui making array == (*@)
17:15 luqui (tuple with slurpy segment only)
17:16 luqui but I want to be able to define tuples recursively
17:16 luqui so we don't get things like zip4, zip5, etc.
17:16 luqui like, (a, b, c) eq (a, (b,c))
17:16 luqui but I'm not sure what the ramifications of that are
17:18 luqui it'd be like ocaml right-associative *
17:19 luqui er, left-associative
17:19 luqui no, right-associative
17:19 luqui :-)
17:19 autrijus :)
17:19 autrijus have you used parallel comprehensions?
17:20 luqui nay
17:20 autrijus ah. that lifts the need of zip*.
17:20 autrijus [ x + y + z | x <- stream1 | y <- stream2 | z <- stream3 ]
17:20 autrijus useful stuff.
17:21 autrijus simon++ # adding sugar whenever appropriate
17:22 luqui hmm... yeah, that lifts zip* in particular
17:22 luqui but it doesn't solve: instance (Ord a, Ord b) => Ord (a,b)
17:22 luqui instance (Ord a, Ord b, Ord c) => Ord (a,b,c)
17:22 luqui etc
17:23 luqui hmm?
17:23 autrijus yeah, but that may be good from a typechecking property
17:24 autrijus eg: in this puzzle:
17:24 autrijus begin = ($ ())
17:24 autrijus push s x = ($ (x, s))
17:24 autrijus add (x, (y, s)) = ($ (y + x, s))
17:24 autrijus end (x, ()) = x
17:24 autrijus begin push 3 push 4 add end -- evaluates to 7
17:24 autrijus if you manipulate stack incorrectly
17:24 autrijus then it won't typecheck.
17:24 autrijus like "add" with only one number on stack
17:25 * luqui doesn't follow
17:26 autrijus oh ok. this trick is abusing the fact that (a, (a, ())) is akin to a list albeit with potential heterogenous data and is typechecked separately
17:27 autrijus but in p6, while you can limit an array to store stuff with a certain type, I don't think you can limit it to only store three items with three types
17:27 autrijus if you could, that'd be a tuple.
17:27 luqui right
17:28 theorbtwo You could, however, type to a coderef that returns three things of three given types, no?
17:28 luqui not really, no
17:28 luqui not without a tuple to return
17:29 svnbot6 r7343 | iblech++ | * perl5/Perl6-Container: Perl6::Container::Array:
17:29 svnbot6 r7343 | iblech++ |   Fixed .perlification of arrays ("..." -> "..", ($only_one_item,).perl ->
17:29 luqui or did I misunderstand you theorbtwo?
17:29 svnbot6 r7343 | iblech++ |   "($only_one_item.perl(),)" (instead of "($only_one_item.perl())", which is
17:29 svnbot6 r7343 | iblech++ |   not an array), and call .perl for each element).
17:29 svnbot6 r7343 | iblech++ | * t/builtins/perl.t: Added appropriate tests (and updated force_todo
17:29 svnbot6 r7343 | iblech++ |   accordingly).
17:29 autrijus sub blah (Int --> (Int, Str, Foo))
17:29 svnbot6 r7343 | iblech++ | * PIL2JS:
17:29 svnbot6 r7343 | iblech++ |   * jspugs.pl: Don't die when directly evaluating :e $syntax errors.
17:29 svnbot6 r7343 | iblech++ |   * jspugs.pl, PIL, PIL::Subs: Reduced verboseness.
17:29 autrijus which is why I'm not sure why you'd hijack comma into (+)
17:29 autrijus feels terribly confusing
17:30 theorbtwo Oh.  Right, nevermind.
17:30 theorbtwo You can type to a code that takes those three arguments, but that's not useful.
17:30 luqui autrijus, yeah, I think he just wanted to make it easy to specify union types
17:30 autrijus *nod*
17:30 luqui which probably means he doesn't realize how useless union types are
17:31 autrijus er, why? p6 has typecase
17:31 autrijus and with typecase union types are perfectly fine.
17:31 luqui no, I mean how useless it is to actually type (with a keyboard) a union type
17:31 autrijus it's just hellishly hard to typecheck, and requires user annotation, and is nonpredictive even so
17:31 luqui they're useful for the typechecker to know about
17:31 autrijus oh. heh.
17:32 luqui autrijus, oh, really?
17:32 luqui can you think of a way around that?
17:33 autrijus luqui: pierce says, basically, "follow what CDuce had done"
17:33 autrijus so I reason it must be an accomodatable problem.
17:36 * luqui looks at CDuce
17:36 * luqui sees XML and cringes, but continues on into the cave
17:36 eric256 hmmm anyone know how i  use darcs to commit the changes i made to TTH?
17:37 geoffb What's the url of the irc logger again?  Haven't needed to use it on the new box before today . . . .
17:37 luqui in the subject
17:37 luqui er
17:37 luqui no
17:37 luqui not anymore
17:37 autrijus eric256: darcs rec
17:37 geoffb luqui, I did check there first.  ;-)
17:38 * geoffb feeling like interleaving chat and backlogging, which xchat seems suboptimal at
17:38 eric256 hmm..i think that wored...the patch looked a little crazy though
17:38 geoffb Needs split view . . . .
17:38 autrijus geoffb: http://colabti.de/irclogger/irclogger_log/perl6
17:38 autrijus I'm setting up irc.pugscode.org now. etc
17:38 geoffb thanks, autrijus
17:38 geoffb THANK YOU
17:38 autrijus or should it be logs.pugscode.org
17:38 geoffb having everything under pugscode.org is much better
17:39 luqui irclogs?
17:39 autrijus too long
17:39 autrijus irc. it is
17:39 geoffb heh
17:40 geoffb nothingmuch, what is the "hoo-hah Damian made regarding his 1 million dollars & 12 modules"?
17:40 * luqui guesses pbp
17:41 geoffb I'm having a hard time imagining making a million bucks on a tech book
17:41 geoffb Java In a Nutshell, MAYBE
17:42 * luqui guesses it was an exaggeration
17:43 Khisanth geoffb: maybe for the publisher :)
17:43 luqui CDuce's manual starts off with a paragraph explaining types that could have been written by me about Perl 6 :-)
17:43 luqui i.e. it thinks the way I do
17:43 saorge has joined #perl6
17:44 geoffb Khisanth, I bet O'Reilly would be a much happier man if he made $1e6 on PBP . . . .  :-)
17:44 eric256 geoffb - nothingmuch isn't around right now. ;)
17:44 geoffb the bastard!
17:44 eric256 thats what i said. lol
17:44 Khisanth I meant if O'Reilly made $1million
17:44 saorge has quit IRC (Client Quit)
17:44 saorge has joined #perl6
17:45 geoffb Fills up the morning logs every day so it takes forever to backlog, and then not here when I need him.
17:45 geoffb Lazy, that's all it is.
17:45 eric256 hehe.. lazy and rude if you ask me! the gal
17:45 geoffb Khisanth, that's what I meant.  From what I hear, O'Reilly makes less than most people think.
17:45 theorbtwo Redirect port 6666 of irc.pugscode.org to some-approprate-IRC-server, or make it speak enough IRC protocol to give a "this isn't the droid you're looking for" that clients can understand?
17:46 Khisanth 6667 :)
17:48 autrijus luqui: good, so I hope it can help :)
17:48 * PerlJam wonders what most people think of O'Reilly's profit  (or income if you're talking about the man)
17:49 * Khisanth was refering to the company
17:49 geoffb I think there's a general impression that because they sell books out the wazoo, that ORA is extremely profitable.
17:49 autrijus luqui: neither CDude nor Scala do the sort of incremental typing thing perl6 does tho
17:49 autrijus luqui: I think our best bet is Dylan
17:49 geoffb And in bits and pieces I hear that that is not so.
17:49 autrijus for stealing that.
17:51 luqui incremental typing?
17:51 PerlJam geoffb: Well, if they'd stop blowing all their money hosting conferences and such ...  ;-)
17:51 geoffb heh
17:52 geoffb Man, conferences are *SO* expensive!
17:52 autrijus luqui: start out dynamic and revert to static when there is annotation
17:52 autrijus luqui: have a type-staticness propagation strata, backed up be an inference phase after tht
17:52 autrijus s/tht/that/
17:53 luqui that's what I thought you meant
17:53 luqui I don't see that as much of a problem though
17:54 luqui but maybe it's more subtle than I'm thinking
17:54 ajs has joined #perl6
17:54 autrijus it is far more subtle :)
17:55 autrijus if it's easy, other languages would adopt that, and we won't have the huge gap of static/dynamic camps.
17:55 geoffb Beware of anything autrijus calls subtle . . . .
17:55 Blicero has joined #perl6
17:56 autrijus luqui: previous attempts are mostly either too "soft"
17:56 * luqui thinks of dynamic like "taint", as in, give this value a type, and if it is used like a subtype of that type, then insert a runtime check
17:56 * luqui listens attentively
17:56 autrijus aye, that's what soft typing is about
17:56 autrijus coercing/runtime checking whenever the compiler cannot deduce unification
17:57 luqui either too "soft", or...
17:58 autrijus problem is that, it's really too soft; the strengh of HM type systems
17:58 autrijus is that even if you don't write out types
17:58 autrijus the compiler can still catch patent errors
17:58 autrijus most of the time.
17:58 luqui right, but we don't want the typechecker to catch patent errors in dynamic mode
17:58 autrijus ah, but there is no dynamic mode.
17:58 luqui because nobody can understand the typechecker's language
17:58 autrijus there is one for each compilation unit
17:59 autrijus if CGI.pm is declared static
17:59 autrijus do we still force it into the dynamic mode?
17:59 luqui no
17:59 autrijus so we have various modules of various staticness.
17:59 luqui we insert checks at the boundaries to calls into CGI
17:59 PerlJam sounds expensive.
18:00 autrijus right, but it's more subtle than that. Haskell for example has the type "Dynamic"
18:00 autrijus which captures your view
18:00 luqui ahh
18:00 * luqui has seen Dynamic
18:00 autrijus there are two problems with it, though:
18:00 autrijus one, Dynamic is essentially a value packed together with its type representation
18:00 autrijus and as such allows no polymorphic types
18:00 autrijus i.e. you can't pack a lambda with a polymorphic type into a Dynamic
18:01 autrijus as you can't give it a type representation
18:01 autrijus two, Dynamic is either/or;
18:01 luqui right, because of the fallicious phrase "its type representation"
18:01 autrijus it does not allow the "morph" semantics of many perl5 values
18:02 autrijus where a value is of one type, can be seen as some other types, but should be caught in compile time if used as some other types.
18:02 autrijus with union/intersection/constrained types, we can better represent those
18:02 luqui uh, example?
18:02 luqui (in particular, "should be caught in compile time")
18:04 autrijus hm, just a bad example
18:04 autrijus $ perl -cwe 'chr "foo"'
18:04 autrijus Argument "foo" isn't numeric in chr at -e line 1.
18:04 autrijus $ perl -cwe 'print chr reverse "foo"'
18:04 autrijus -e syntax OK
18:04 nothingmuch has joined #perl6
18:04 autrijus now, perl5 is really adhoc, so you see weird discrepancy here.
18:04 nothingmuch http://search.cpan.org/~jjore/Regexp-Named​Captures-0.03/lib/Regexp/NamedCaptures.pm
18:04 autrijus even worse, you can't write your function as such that it will warn like chr.
18:05 * luqui didn't know about that chr behavior
18:05 * luqui wonders if there are more important examples of that
18:05 autrijus all numeric operations do
18:05 theorbtwo chr is getting run at compile-time for constant-folding in one?
18:06 luqui theorbtwo, of course!
18:06 * luqui wonders why reverse isn't, though
18:06 nothingmuch hola luqui
18:06 luqui hi nothingmuch
18:06 autrijus theorbtwo: yeah, my point being for perl5 the constant folding _is_ the type checking
18:07 autrijus there is no other kinds of type information beyond constant types
18:07 theorbtwo Ah, OK.
18:07 luqui (theorbtwo, fyi, "of course!" was an ephiphany, not a confirmation)
18:08 autrijus so the closest of type errors for p5 is "Can't use %s ref as %s ref"
18:08 nothingmuch or you could see it as everything is the tagged union that is SV
18:08 autrijus but that applies to a closed set of five intrinsic types
18:08 luqui nothingmuch, SV isn't tagged union
18:08 autrijus and there is just no way you can extend those.
18:08 nothingmuch it behaves like one
18:08 luqui perl -le '"3" + 4'
18:08 nothingmuch it has tags wrt the type a piece of data is
18:08 autrijus luqui: SV is tagged union :)
18:08 luqui well, yeah
18:08 autrijus remember SvTYPE?
18:09 luqui it doesn't quite behave like one
18:09 nothingmuch and there are automatic runtime casts on runtime type errors
18:09 luqui okay okayy
18:09 * luqui agrees
18:09 nothingmuch autrijus: err, one more thing that is somewhat typeful:
18:09 nothingmuch my __PACKAGE__ $var - under use fields
18:09 nothingmuch it will cause ->{key} to be checked at compile time
18:09 luqui but nobody thinks about/uses that
18:10 nothingmuch it should make a comeback in 5.10
18:10 autrijus ...unless you write XS
18:10 autrijus in which case you think about that all the time.
18:10 nothingmuch when it's no longer the shitty pseudohash impl
18:10 * luqui doesn't write XS ;-)
18:10 nothingmuch wait, what is "that"? the fact that it's a union type? or that nobody uses fields?
18:10 theorbtwo Oooh, that's nifty, nothingmuch.
18:10 autrijus nothingmuch: union types
18:11 luqui I was referring to fields
18:11 autrijus ah. :)
18:11 * nothingmuch charges ipod for bike
18:12 autrijus but I bet it's container type tag, not value types
18:12 theorbtwo nm: Your ipod can drive a bike?
18:12 theorbtwo Nifty!
18:12 luqui likely so
18:12 autrijus so the typecheck does not extend beyond assignment
18:12 nothingmuch theorbtwo: not the bike you drive, the bike you ride
18:12 autrijus which means you need to write java :)
18:12 luqui anyway, where were we?
18:12 autrijus (i.e. sprinkle __PACKAGE__ everywhere)
18:12 luqui ahh yes, constant folding eq typing in perl 5
18:13 autrijus luqui: anyway. so, "optionally static" typing.
18:13 luqui and how that is not good enough for perl 6 in dynamic mode
18:13 elmex has quit IRC ("leaving")
18:13 luqui and how I don't understand why
18:13 Amnesiac has quit IRC ("Leaving")
18:14 theorbtwo This is s a test.
18:15 theorbtwo Sorry.
18:15 autrijus luqui: okay, let's use code.
18:16 autrijus first, is the "dynamic mode" a switch?
18:16 autrijus if I start using annotations, does this "dynamic mode" somehow ignore them?
18:16 luqui I think it implies the absence of inference mode
18:17 autrijus my IO $x = "456";
18:17 luqui autrijus, I think it starts inserting checks
18:17 autrijus under dynamic mode this compiles?
18:17 luqui uh
18:17 * nothingmuch thinks that:
18:17 luqui hmm
18:17 autrijus sub foo (Int $x --> IO) { 1 }
18:17 autrijus say foo();
18:17 autrijus under dynamic mode this compiles?
18:17 nothingmuch explicit annotations may never be ignored
18:17 luqui nothingmuch, define ignored
18:17 autrijus what about:
18:17 autrijus our (Int $x --> IO) &foo ::= sub { 1 };
18:17 autrijus say foo();
18:18 autrijus does this compile in dynamic mode?
18:18 nothingmuch if a folded constant is assigned to a type that dies at compile time
18:18 autrijus I hope I could succeed in shattering this dualism :)
18:18 autrijus the fact would be, some constructs will be annotated, some would not, inside the _same_ compilation unit.
18:18 nothingmuch if a strongly typed rvalue (explicitly typed) is assigned to an incompatible strongly type other thing - that also dies at compile time
18:18 luqui autrijus, okay, you've got me thinking
18:18 nothingmuch --> is an explicit request to carry this across sub boundries
18:18 nothingmuch that's where it stops
18:18 luqui in particular, I think we need to define the semantics before we start thinking about how we should implement it :-)
18:19 nothingmuch until you 'use typecheck' or something like that
18:19 PerlJam autrijus: thus "dynamism" or "staticism" is just another annotation of the type system!  ;)
18:19 autrijus luqui: verily! so, go read those CDuce and Dylan papers and get others reading them :D
18:19 * luqui is reading CDuce now
18:20 luqui and has Dylan bookmarked for soonness
18:20 * nothingmuch will read too when returning from bike time
18:20 nothingmuch *sigh* so much to do, so little brain
18:21 luqui that could be adopted as a mantra if it weren't so depressing
18:23 luqui Dylan has a lot of semicolons
18:23 autrijus iirc dylan had a "production mode" that takes longer to compile
18:23 autrijus does inference
18:23 autrijus and generally likes annotations
18:23 autrijus and a "loose mode" that ignores _every_ annotation
18:24 autrijus and push them into runtime checks.
18:24 autrijus that is a switch, but the loose mode would be very very loose.
18:24 nothingmuch is that a good thing?
18:24 * luqui can't find a manual for Dylan, just the tutorial
18:24 * nothingmuch thinks that if the user actually bothered to annotate they should get at least limited compile time benefits
18:25 luqui true
18:25 autrijus nothingmuch: but... when you import from any module that has types
18:25 autrijus then you import their annotation also
18:25 nothingmuch yes
18:25 autrijus so even if you don't annotate yourself
18:25 autrijus there are still info there
18:25 nothingmuch i think that's a good thing
18:25 luqui but Larry convinced me that compile-time checks are not always better
18:25 nothingmuch it's like Params::Validate
18:25 autrijus luqui: I think blanket sentences are not always better :D
18:25 nothingmuch luqui: for more than just performance?
18:25 nothingmuch ooh! i almost forgot!
18:26 nothingmuch luqui: in llast weeks meeting there was a sentance... "didn't you promise not to expose continuations" or something like that
18:26 luqui nothingmuch, yeah, because you have more information at runtime, so you can give more informative error messages
18:26 luqui yeah
18:26 autrijus luqui: I love perl's ability to lie to the compiler and negotiate with it and abuse it and main it
18:26 nothingmuch why are continuations not a good thing?
18:26 luqui I didn't care.  I like continuations.
18:26 nothingmuch luqui: yes, but:
18:26 nothingmuch a. there is progress towards improving type annotation related errors
18:27 luqui Larry just said he wanted you to have to yell in order to use them.
18:27 nothingmuch b. bad errors can be dumbed up
18:27 luqui autrijus, that too
18:27 nothingmuch and delayed very easily to runtime
18:27 autrijus s/main/maim/
18:27 autrijus nothingmuch: the gap runs wide and deep :)
18:28 luqui autrijus, well, "that too", as in it can be taken either way
18:28 nothingmuch luqui: ++wrt continuations
18:28 autrijus but I think VB9 is definitely a good step toward reconcilation.
18:28 luqui nothingmuch, that assumes that we define loose semantics
18:28 luqui which I think is probably important in genera
18:28 luqui general
18:28 nothingmuch if 'no typechecking' then explicit typechecking can be ignored
18:28 luqui that is, we don't start guaranteeing what gets checked at compile time and what gets checked at runtime
18:29 luqui in fact, that could be a very important decision
18:29 nothingmuch 'use typechecking' - everything at compile time for a scope
18:29 luqui because we could start with a really stupid type checker and make it smarter as the years progress
18:29 nothingmuch (can be a switch for global)
18:29 luqui nothingmuch, you have to define everything before you say that
18:29 nothingmuch 'no typechecking' - type checking ignored for a scope
18:29 nothingmuch type annotation - some type checking performed where convenient and fast
18:30 autrijus luqui: the problem with that approach is that we will _break_ instead of _allow_ more programs for each release :D
18:30 luqui hmm, crap
18:30 autrijus (for static languages generally it's the other way around.)
18:30 luqui yeah, because typechecking is always an approximation
18:31 luqui and one of perl's great sucesses has come from its backwards compatibility
18:31 nothingmuch i think we can allow ourselves to break it for a while till it stabiliizes
18:31 nothingmuch when the semantics are good enough, it should be locked down in terms of behavior
18:31 luqui nothingmuch, true, but typechecking is under active research
18:31 nothingmuch and improved only optionally
18:31 luqui and we can't expect ourselves to do it perfectly by, say, 6.2
18:31 nothingmuch not perfectly - extensibly
18:32 nothingmuch use typechecking is always smartest
18:32 nothingmuch annotations are "good enough"
18:32 nothingmuch with new syntax for better annotations introduced later
18:32 nothingmuch etc etc
18:32 nothingmuch this can be done
18:32 nothingmuch like new keywords in recent perl 5s
18:32 nothingmuch features can be slowly deprecated
18:32 luqui that melds somewhat nicely with autrijus's point
18:32 nothingmuch and slowly introduced
18:32 nothingmuch which of autrijus's points, the one about running more programs?
18:32 luqui annotations (with "no typechecking") only fail when we're sure it won't work ever
18:33 nothingmuch right
18:33 nothingmuch like assigning a constant to a bad container
18:33 luqui but use typechecking is conservative, so we gradually allow more and more programs under that
18:33 luqui but we get this wide gap
18:33 autrijus aye. *sigh*
18:33 luqui and it will be very hard for someone to add "use typechecking" after the fact
18:33 nothingmuch we want a wide gap
18:33 nothingmuch but with a gradient
18:34 nothingmuch that's the whole point of perl 6 - you get the choice of all things, in the same code base
18:34 luqui exactly, and I'm saying there's no gradient.  quantum mechanicsesque
18:34 nothingmuch we could have levels of stricness like the warning categories
18:34 luqui nothingmuch, that's a good idea, but show me where
18:34 luqui how can you be semiconservative?
18:34 luqui while keeping backwards compatibility in all places?
18:34 nothingmuch semiconservative is WRT boundries
18:34 autrijus -fglasgow-exts -fallow-undecidable-instances -fno-warn-orphans -funbox-strict-fields
18:34 nothingmuch how deep would you like inferrence to run
18:35 autrijus ;)
18:35 luqui autrijus, :-)
18:35 nothingmuch decidable-instances? warn-orphans?
18:35 autrijus nothingmuch: see GHC manual for them... they are OT
18:35 nothingmuch okay
18:36 luqui the thing I'm thinking comes from the "allow more programs" point
18:36 autrijus Haskell folks are good at introducing this kind of knobs
18:36 luqui you can only ever allow more programs
18:36 autrijus with each knob, the original behaviour is preserved
18:36 luqui so you either have to be entirely dynamic, or be as conservative as possible
18:36 nothingmuch luqui: no, i disagree
18:36 autrijus and you can turn the knob to get new behaviour
18:36 nothingmuch by using versioning you can ask to impose more type checking
18:36 nothingmuch that is - if you 'use typechecker v1.2.3'
18:36 autrijus and after a few years, a community consensus of knobs-we-always-want becomes a new language standard, etc.
18:37 nothingmuch then that means you can use the 'more programs' features of 1.2.4, but not he less programs features
18:37 nothingmuch also, the language must still evolve, even as a standard
18:37 luqui but must always maintain backwards compatibility!
18:37 nothingmuch luqui: yes
18:37 luqui nothingmuch, I like the idea
18:38 luqui but for some reason I keep thinking that a typechecker is not a "feature-based" program
18:38 nothingmuch i also think ti's not taboo to even release perl 7 if major breakthroughs in type checking emerge
18:38 nothingmuch it could look and feel pretty close to perl 6
18:38 nothingmuch but have different compile time semantics
18:38 luqui I've never written one, but I think that you can't mix-and-match typechecker features, because each feature changes the algebra
18:38 nothingmuch so it's not really compatible, and people will know that
18:39 luqui it's not a question of whether people know it
18:39 nothingmuch luqui: in milner.pl i am thinking (but have not yet gotten to) about some extensibility
18:39 luqui it's a question of whether their programs keep running
18:39 nothingmuch mainly that you have a new type() attribute for new kinds of AST nodes
18:39 nothingmuch and a new 'multi unify' for new type operators
18:39 nothingmuch i added parametrized types incrementally
18:39 nothingmuch i would like to add typeclasses incrementally
18:39 nothingmuch then inheritence incrementally
18:39 nothingmuch and finally theories replacing most of these
18:39 nothingmuch and it looks as if it will work
18:40 * luqui thinks should write a small type inferencer before arguing this kind of thing
18:40 nothingmuch you should read milner.pl
18:40 * luqui can't read
18:40 nothingmuch it was really fun and enlightening
18:40 nothingmuch how come?
18:40 luqui I read by doing
18:40 nothingmuch ah
18:40 luqui I suppose I could take that approach
18:40 luqui by screwing with milner.pl
18:40 nothingmuch i am very happy with multimethods + ags
18:40 nothingmuch multimethods unify types
18:41 nothingmuch AGs create type variables going down
18:41 nothingmuch and call unify() based on how nodes imply that things should be unify
18:41 luqui MMs are great for unification
18:41 nothingmuch for example, comb (which applies functions) first unifies the type of the function with (a -> b)
18:41 luqui er, other sorts of unification at least (the kinds I've done)
18:41 nothingmuch to make sure it's a function
18:41 nothingmuch and then it takes the left side, and unifies with the type of the param
18:41 * autrijus thinks AGs lets you get 80% of monad's power with 20% of effort.
18:42 nothingmuch and the right returns the right side after unification
18:42 luqui autrijus, interesting perspective
18:42 autrijus downside is you can't define your own monad
18:42 autrijus with AGs, but then, few people do that.
18:42 nothingmuch this is really nice because the AG attr cares only about combs, and the unify code can take any type, as long as it can unify with the function type
18:43 luqui nothingmuch, do you do subtype unification?
18:43 nothingmuch luqui: no subtyping yet
18:43 luqui or is it strict unification like haskell?
18:43 luqui okay
18:43 nothingmuch there is type::operator::nullary (int, str, etc)
18:44 nothingmuch type::operator::binary (arrow, cartesian product)
18:44 nothingmuch type::operator::nary (list <type>, ...)
18:44 nothingmuch to implement subtyping i will implement a new type operator
18:44 nothingmuch which has more data in it
18:44 luqui okay
18:44 nothingmuch including wiring to an inheritence table
18:44 nothingmuch and then just unify over that
18:45 luqui well, I should stop talking now.  it's hard to stop, but I have a big paper to write by Friday
18:45 nothingmuch which is nice, because nary and binary won't have to change to parametrize over that
18:45 luqui then my mind can be clear for the weekend
18:45 nothingmuch good luck
18:45 autrijus have fun
18:45 luqui uh, I'll try
18:45 luqui adios
18:45 luqui has quit IRC ("Leaving")
18:47 nothingmuch if i have '[ 1, 2, [3, 4], 5, [6, 7]], what's a concise algorithm to explode thaat to [1, 2, 3, 5, 6], [1, 2, 4, 5, 6], [1, 2, 3, 5, 7], [1, 2, 4, 5, 7]?
18:48 * autrijus was about to say "ill-typed" before realizing this is perl5
18:48 pdcawley Higher Order Perl probably has something that'll serve.
18:48 nothingmuch yes, it is =)
18:50 * pdcawley grins, or, just implement a Non-deterministic search and have done with it.
18:50 * nothingmuch is hoping for a CPAN module =)
18:50 pdcawley Ah.
18:50 pdcawley Can't help you there.
18:51 iblech has quit IRC (Remote closed the connection)
18:52 geoffb nothingmuch, you might want to look in the nested_loops files in pugs . . . .
18:53 autrijus reduce {  [map { my $_a = $_; map { [@$_a, $_] } (ref $b ? @$b : $b) } @$a]   } ([[]], @args);
18:53 autrijus or something along that line.
18:54 autrijus the lack of pointies hurt a lot.
18:54 autrijus (or implicits)
18:54 nothingmuch aye
18:57 nothingmuch autrijus++
18:57 autrijus what, that worked?
18:58 * autrijus is surprised
18:58 nothingmuch perfectly =)
18:58 autrijus I'm better than I imagined :)
18:58 geoffb EIMAGINATIONTOOSMALL
18:58 nothingmuch geoffb++; autrijus++
19:00 nothingmuch woosh
19:00 * nothingmuch stops $work work for this evening
19:00 nothingmuch did I mention I love closures?
19:00 nothingmuch and that perl can emulate 'foo x = bar where bar = ...'?
19:01 nothingmuch sub foo { my ($x, $y, $z) = @_; sub bar { use $x, $y, $z } }
19:01 nothingmuch now i just need to see if that actually works
19:02 nothingmuch shyte
19:02 eric256 he nothingmuch....i beleive i submitted a patch with output_dir($dir)   ...beleive because i'm not sure the submitted wored
19:02 nothingmuch perl 5 can't do it
19:02 geoffb Closures: once you understand them, you wonder how you ever lived without them
19:02 nothingmuch eric256: darcs send?
19:02 nothingmuch did I mention that perl needs to be able to emulate 'foo x = bar where bar = ...'?
19:02 eric256 darcs record
19:02 eric256 i can try send though
19:03 wolverian nothingmuch, local *bar = sub { ... }; # works?
19:03 nothingmuch eric256: since every working directory is a repository in darcs, you just committed to your local thingy
19:03 nothingmuch wolverian: sure
19:03 nothingmuch you can also $bar = sub { }
19:03 nothingmuch it's just not as cool
19:03 wolverian nothingmuch, right, I mean using the variables
19:03 eric256 sending
19:03 wolverian yeah
19:03 wolverian it's not :)
19:03 nothingmuch eric256: when you darcs send it's like svk push
19:03 wolverian I think this bug is fixed in blead though
19:03 autrijus local named subs is leaky no?
19:03 eric256 target email address?
19:03 autrijus or "won't stay shared"
19:03 wolverian (read something like that on p5p some months ago, or weeks)
19:04 wolverian autrijus, right.
19:04 geoffb rafl, sorry, still backlogging:  about the debian/ changes -- I need to work on $work pretty heavily for the next week, so I'm not going to be much help this release.  That does not make me happy.  :-(
19:05 * nothingmuch needs currying
19:05 nothingmuch UGH! i want perl 6
19:05 eric256 dont we all
19:05 nothingmuch haskell has spoiled me into expecting such cool things from perl 5
19:05 autrijus nothingmuch: Perl6::Curry
19:05 autrijus you can find everything from Perl6::*
19:05 nothingmuch yeah, i know about those
19:05 nothingmuch and they're nice
19:05 autrijus except they don't play together with each other.
19:05 nothingmuch but they don't make maintainers feel very good
19:06 nothingmuch and as for the currying:
19:06 autrijus yeah, maybe we should rename those to Zapot::*
19:06 nothingmuch i would really like 'my &code := &sub.assuming()', not a variable thingy
19:06 autrijus or Ybur::*
19:06 eric256 nothingmuch: it asked for a target email address?
19:06 nothingmuch [email@hidden.address]
19:07 * eric256 now has more apprication for svk/svn ;)
19:08 autrijus eric256: in all honesty, there is "darcs push" too.
19:08 autrijus but it's rather harder to setup.
19:08 eric256 ahh... yea cause that actualy used my outlook client...which i'm not exactly thrilled by
19:09 autrijus wow, it uses MAPI? carzy
19:09 svnbot6 r7344 | autrijus++ | * The main Pugs API entry, for crazy people who'd like to use
19:09 svnbot6 r7344 | autrijus++ |    Pugs in embedded applications.
19:12 * eric256 thinks we need packages in the Grok::* namespace...dunno what should go there ;)
19:12 nothingmuch autrijus: for darcs push I would need to give eric256 ssh to pasta
19:13 nothingmuch which is not a problem
19:13 nothingmuch eric256: would you like to push directly to my box?
19:13 eric256 it would seem easier ;)
19:13 autrijus Grok::Law
19:13 justatheory has quit IRC ()
19:13 nothingmuch beh
19:14 eric256 did you get a chance to glance at that patch?  i'm not sure but i think it sent the whole file as a patch, a lot more scrolled by on my screen than just what i edited...though it possible my editor screwed it up
19:14 nothingmuch if people don't understand what exceptions with continuations are good for, they should just not use them
19:14 nothingmuch eric256: i'll have a look at the idff
19:14 nothingmuch diff
19:15 autrijus I wonder if I can trick nothingmuch into hacking resumable continuations into GHC.
19:15 autrijus but then, C runtime system is probably not nothingmuch's forte.
19:16 pdcawley nothingmuch: Dead right.
19:16 autrijus but Oleg convinced me that all monad transformer's space/time behaviour will be much improved (less thunks hanging around) if GHC supports ContT natively.
19:16 * autrijus goes back to releng
19:16 nothingmuch get Oleg to do it then =)
19:17 nothingmuch i can try
19:17 autrijus it's not oleg's forte either :)
19:17 nothingmuch i grok how to implement stuff on the assembler level
19:17 nothingmuch but i don't grok:
19:17 nothingmuch resumable continuations
19:17 nothingmuch GHC core
19:17 pdcawley Deep C Secrets is rather good on the C runtime...
19:17 nothingmuch ContT without resumable continuations
19:17 autrijus er, I mean resumable exceptions.
19:17 autrijus $!.resume.
19:17 nothingmuch and i only get by with C
19:17 nothingmuch ah
19:18 autrijus adding "resume" to the catch/throw pair in Control.Exception.
19:18 nothingmuch hmm
19:18 nothingmuch i bet 99% of #haskell is more qualified than me
19:18 autrijus ...99% of #haskell is afraid of touching GHC core. but anyway :)
19:18 nothingmuch eric256: woo, that's a big patch
19:19 eric256 yea i didn't think it worked right
19:19 eric256 just like 15 lines of code.../me hits his editor with a stick
19:19 nothingmuch it - and +'d the whole module and example
19:19 nothingmuch could it have added dos line endings?
19:19 dduncan has joined #perl6
19:19 eric256 checking now
19:19 eric256 likely...very likely
19:19 nothingmuch eric256: you can 'darcs unrecord'
19:20 nothingmuch or 'darcs amend-record' if you've fixed it
19:20 nothingmuch also, no need to record changes to the example
19:20 nothingmuch did you get my /msg, btw?
19:21 saorge has quit IRC (Connection timed out)
19:21 dduncan morning-ish
19:21 nothingmuch hello, dduncan
19:23 nothingmuch http://search.cpan.org/~tmoertel/​AutoCurry-0.1003/lib/AutoCurry.pm
19:23 eric256 okay on unrecord...i just want to unrecord mine and finish...but it keeps asking
19:23 nothingmuch eric256: i forget what next
19:23 nothingmuch but hitting '?' will tell you
19:23 nothingmuch there is 'finish with only selected patches' or somesuch
19:23 eric256 thanks...had the help up..but it assumed i knew too much.
19:24 nothingmuch ?
19:25 eric256 when it said "selected patches" i didn't realize that it considered me to be selecting patches as I went. just unfamiliar teritory
19:26 nothingmuch ah
19:28 eric256 okay...thats better
19:28 vladtz has quit IRC ("Leaving")
19:29 autrijus yay, cabalization complete. now shifting Makefile.PL to play with that...
19:30 autrijus (so "make install" will install into perl5, perl6 _and_ haskell sitelibs)
19:30 nothingmuch hah
19:34 lao has joined #perl6
19:36 svnbot6 r7345 | autrijus++ | * Pugs, cabalized.  This now works:
19:36 svnbot6 r7345 | autrijus++ |     ./Setup.lhs configure
19:36 svnbot6 r7345 | autrijus++ |     ./Setup.lhs build
19:36 svnbot6 r7345 | autrijus++ |     ./Setup.lhs install
19:36 svnbot6 r7345 | autrijus++ |   and you can "import Pugs" in your Haskell programs.
19:36 svnbot6 r7345 | autrijus++ |   Much thanks for SyntaxNinja's walkthrough.
19:38 wolverian autrijus, .lhs? left hand side? :)
19:39 Amnesiac has joined #perl6
19:39 eric256 literate haskell
19:39 wolverian oh, thanks
19:39 eric256 comments are the norm, code has a prefix... > i think
19:39 wolverian right.
19:39 * eric256 is proud of his new found knowledge ;)
19:40 nothingmuch it's a hack to glue bash and haskell together?
19:40 wolverian wow, there is no Literal.pm on CPAN? boggle
19:40 nothingmuch eric256: i'm going to go biking now, if you still want a login /msg me with it
19:40 nothingmuch wolverian: there should be
19:40 nothingmuch autrijus even wrote one
19:40 wolverian then it's not called Literal
19:40 nothingmuch oh, literal... i thought you wrote literate
19:40 autrijus wolverian: http://search.cpan.org/~autriju​s/Filter-LiterateComments-0.01/
19:40 joao has joined #perl6
19:41 wolverian oh
19:41 joao hello, good evening
19:41 wolverian (CPAN search)--
19:41 wolverian autrijus, thankyou
19:41 nothingmuch hi ho joao
19:41 Corion has joined #perl6
19:41 nothingmuch eric256: thanks for the patch!
19:41 nothingmuch i'll fudge it slightly though
19:41 eric256 np....nothing special
19:41 Corion has left
19:41 wolverian autrijus, nice, vim file too. autrijus++
19:42 TPmG|mgwmp is now known as mugwump
19:42 eric256 i figured you would. ;) once you saw mine you'd haev to take time to fix it. ;) its a special form of motivation
19:42 autrijus that was written the day I first start learning Haskell, in Hualien
19:42 nothingmuch hola mugwump
19:42 autrijus and I commented to obra that this syntax really changes one's mindset about programming
19:42 autrijus sadly I still didn't use lhs mode much.
19:42 wolverian well, POD itself is already halfway there
19:43 autrijus but it is still more effort to write doc.
19:43 nothingmuch i am never forget the day i first date rape eric256.
19:43 mugwump hi nothingmuch ...
19:43 autrijus lhs punishes coding.
19:43 wolverian true.
19:43 nothingmuch in one patch  he send me secret of success in CPAN!
19:43 eric256 what can i asy, i leave an impression
19:43 autrijus nothingmuch: wow!
19:44 * autrijus congrats nothingmuch for his accurate hackdar for picking victims^Wpartners
19:44 nothingmuch i have a friend in 10.209.144.1, who has a friend in 192.117.236.89
19:44 wolverian autrijus, btw, why does your name have smileys in it on CPAN?
19:44 nothingmuch .... yadda yadda yadda for around 25 hops ...
19:44 autrijus wolverian: they say, "don't panic if you can't parse Han characters."
19:45 wolverian oh, heh. :) nice
19:45 joao what's the big deal about literate programming?
19:45 nothingmuch whose friend some how submitted now the patch in <eric256>'s ip
19:45 nothingmuch and when his work his done, haha begins the fun
19:45 nothingmuch ...
19:46 nothingmuch blah blah blah, yes to me the patch will run
19:46 * eric256 reads "but properties" on the mailing list and has a difficult time supressing giggles
19:46 nothingmuch and then i apply, by morning, night, and afternnon, and pretty soon, the drug will pass
19:46 * nothingmuch doesn't know how to continue
19:47 eric256 figures you wouldn't know what to do once the drugs have worn off...i keep telling you, this is why you are single....lucky bastard. ;)
19:47 nothingmuch =)
19:47 nothingmuch you can disown them if they're that expensive, you know
19:48 nothingmuch kick them out till they get a job =)
19:48 nothingmuch how old are your kids?
19:48 stevan has joined #perl6
19:48 eric256 she's almost 2...i don't thinl she's going to get a job anytime soon. lol
19:48 nothingmuch that's old enough for TV commercials
19:48 PerlJam eric256: you know child labor laws don't apply for a family business.
19:49 eric256 although my wife wants her to model...and we've been approached for something along those lines, but that just seems like child abuse ;)
19:49 nothingmuch child abuse shmild abuse
19:49 joao eric256, make them volunteers for spatial experiences ;-)
19:49 nothingmuch that girl needs to buck up and learn to work for her meals
19:49 nothingmuch woah, traceroute to eric256 still hasn't finished
19:50 autrijus eric256 is good at stealth it seems
19:50 nothingmuch eric256: please add youself to authors too
19:50 nothingmuch yeah, /me didn't notice hops 19-37 were all dead
19:50 nothingmuch only the numbers popped up from behind another screen
19:51 stevan hey guys :)
19:51 autrijus greeting stevan-san!
19:51 stevan autrijus: issues with eigenclasses for use as class methods,.. care to discuss?
19:51 autrijus sure, go ahead
19:51 svnbot6 r7346 | autrijus++ | * boolIO and boolIO2 is no longer referenced; they are gone.
19:51 autrijus I see the lovely ::Eigen
19:51 autrijus but had not really looked deep
19:51 autrijus was busy with cabal
19:51 autrijus (the haskell kind)
19:52 stevan ok,.. the basic issue is that the methods added into the eigenclasses are not inheritable (though the normal mechanism)
19:52 eric256 i doubt you will be able to trace back to me...i'm behind at least 2 firewalls ;)
19:52 eric256 firewall/router/nats ;)
19:53 eric256 of course you can get my public IP...but its probably shared with 100 other people at the moment. hehe
19:53 PerlJam stevan: "added into" the eigenclass?  When does this adding take place?  Or do you mean that all methods of eigenclasses are not-easily-inheritable?
19:53 nothingmuch =)
19:53 nothingmuch at least they let you IRC behind all that
19:54 stevan because the normal method dispatch will check for methods in it's superclass, but not for methods the class instance itself respoinds too
19:54 eric256 amazingly enough it all seems to work.  its probably just all a sales pitch and i'm realy nakid on the internet
19:54 eric256 lol
19:55 autrijus stevan: inheritance copies singleton methods over for classes?
19:55 obra autrijus: do most cabal packages end up with nice clean APIs?
19:55 autrijus obra: there are very few of them (<50), so yes. it's not CPAN ;)
19:55 autrijus (yet)
19:55 obra I was actually wondering about a mixture of Inline::Haskell and a CPAN.pm shim
19:56 autrijus obra: also, ghc handles multiversioning a bit better than p5.
19:56 stevan autrijus: I was thinking if Foo has an eigenclass and Bar is Foo, then Bar must get an implicit eigenclass which itself inherts from Foo's eigenclass
19:56 stevan however this has issues too :)
19:56 obra cpan install Cabal::SYCK
19:56 autrijus obra: that can work, yes.
19:56 obra To pick a syck example
19:56 * autrijus groans
19:56 obra Woot!
19:57 autrijus stevan: hm, what is the issue for implicit eigeninheritance?
19:57 autrijus (gawd, we must be the only bunch of people who actually _uses_ why's silly terminology)
19:57 obra And see, when Why talked about eigenclasses, he was KIDDING
19:57 obra nice timing.
19:57 obra His claim was that it had been a joke
19:58 autrijus obra: joke has ways to turn into real code.
19:58 autrijus just look at Psyche and Pneuma.
19:58 obra ?
19:58 autrijus obra: svn.openfoundry.org/pugs/pe​rl5/Perl6-MetaModel2.0/lib
19:59 autrijus note how stevan ranted for an entire screen
19:59 autrijus justifying the choice of the name "Psyche" for roles
19:59 autrijus # psyche is the sensuous soul, meaning "relating to, or derived
19:59 autrijus # from the senses". Think of Roles like you might think of Duck
19:59 autrijus # typing, but extend the metaphor to encompass all the senses.
19:59 wolverian heh.
20:00 obra Jokes and puns turn into the best code
20:00 autrijus so, eigenness fits right in with the crazy greek mythology.
20:01 stevan :)
20:01 stevan wikipedia++ # cause I am no gnostic :)
20:02 stevan so the issue with the implicit eigenclass inheritence is as follows:
20:02 stevan class Bar is Class {}; class Foo metaclass Bar {}; breaks things
20:03 stevan beacuse the eigen method lookup now goes from eFoo -> Bar
20:03 stevan (lowercase e meaning eigenclass)
20:03 autrijus yup
20:03 stevan if you add class Baz is Foo {}
20:04 stevan Baz gets an implicit eBaz which inherits from eFoo
20:04 autrijus yup
20:04 stevan so eBaz method dispatch now goes from eBaz -> eFoo -> Bar
20:04 autrijus (->Class)
20:04 autrijus but yes
20:04 stevan yes,.. I was leaving class out to simplify :)
20:05 stevan so,.. robkinyon and I have worked out a way to get around this
20:05 stevan but I think it is insane
20:05 stevan in a bad way :)
20:05 stevan it basically injects a third layer in there
20:05 autrijus sorry, but how does eBaz->eFoo->Bar break things for eigenmethods of ::Bar?
20:05 eric256 random thought of the hour:  a cool project could be a graph of the number of lines of code in the pugs repositroy (possibly with different file types .hs, .pl. pm. p6l seperated out)
20:06 autrijus I mean for ::Foo
20:06 stevan it "breaks" for ::Baz because ::Baz is now exposed to methods in the metaclass ::Bar
20:06 stevan Baz being the subclass of Foo
20:07 autrijus "exposed to", as in, "able to be called with"
20:07 stevan yes
20:07 autrijus and the problem of that is that metaness and eigeness are mixed together.
20:07 stevan yes
20:07 autrijus I think I see. go ahead with your Third Reich
20:07 autrijus I mean, third layer
20:07 stevan :)
20:07 stevan well i think the third layer can be removed
20:07 stevan and we dont need to do it
20:07 stevan if ................
20:08 stevan we change how metaclass's behave
20:09 stevan meaning when you subclass Class, then use that as the metaclass,.. we make that behave as we would eigenclasses
20:09 stevan meaning,.. they are inherited
20:09 autrijus wait wait
20:09 autrijus if I meta Class::Sub
20:09 autrijus you say eI will inherit from Class::Sub? how is that different from the previous arrangement?
20:10 robkinyon has joined #perl6
20:11 stevan class Bar is Class {}; class Foo metaclass Bar {}; class Baz is Foo {};
20:11 autrijus greetings rob-san
20:11 robkinyon greetings, autrijus-san
20:11 stevan Baz has an implicit metaclass of Bar
20:11 stevan like with the implicit eigenclasses
20:12 autrijus ah I see
20:12 autrijus so you carry both meta and eigen over
20:12 stevan yes
20:12 autrijus hen you subclass something
20:12 autrijus unless of course you override them
20:12 stevan yes
20:12 stevan yes
20:12 autrijus class Baz is Foo meta Blah
20:12 autrijus okay, I think that is clean and intuitive.
20:12 stevan hmm
20:12 stevan MI :)
20:12 * autrijus screams in pain
20:13 stevan I think that through the use of eigenclasses,.. you can mimic most "subclass of Class" features
20:13 stevan rob disagrees :)
20:13 autrijus so with MI, we C3 over eigens and their parents
20:13 autrijus what's wrong with it?
20:13 robkinyon i disagree vehemently
20:13 autrijus surely the inheritance order for surface classes is the same as their eigens?
20:13 stevan we end up with parallell hierarchies (ala Smalltalk)
20:13 robkinyon of course, that's because i want my classes to maintain state because they're "just objects that make objects"
20:14 * stevan thinks robkinyon has been coding too much Javascript :P
20:14 autrijus robkinyon: er, yes, that is so; "my @.foo" is essentially "has @.foo" in the eigen
20:14 mugwump where can I read about eigenclasses?
20:14 autrijus mugwump: google for "singleton class" and "ruby"
20:14 autrijus nobody but us really use the "eigen" name ;)
20:15 mugwump heh
20:15 * robkinyon just had a brainblast
20:15 autrijus etymology: "eigen" meaning "one's own", as in, "a class that is just for the object"
20:15 robkinyon one sec
20:15 stevan robkinyon is scribbling on paper at the moment,... we will be right back
20:16 autrijus enjoy your time with advanced analog high-res technology
20:16 mugwump right ... I thought it was like some kind of junctive hyperthreading metamodel.  which scared me
20:17 saorge has joined #perl6
20:17 gaal has joined #perl6
20:17 gaal hello
20:18 stevan mugwump: that is MM 3.0 :)
20:18 robkinyon actually, i was about to get to junctive hyperthreading
20:18 robkinyon i need it to write my sudoku solver in under 20 lines
20:18 * eric256 wonders if robkinyon and stevan are just two eingstates of one person. ;)
20:18 * autrijus mumbles the sudden surge of logic programming due to sudoku
20:19 robkinyon stevan was wondering if i wanted to respond to that, eric256
20:19 robkinyon however, i can't because he has the eigen-token
20:19 eric256 we need Inline::Haskell
20:20 hlen has joined #perl6
20:20 * eric256 is prone to sudden random outbursts today....no real reason or excuse...this warning will self destruct in 5 seconds
20:21 autrijus eric256: the eigenspace is just one eye that reflects the light of existence; the trip is real but we trippers are ephemeral; all hail discordia!
20:23 wolverian okay, where's the joint, I want some too
20:24 stevan *cough* what joint *cough*
20:24 autrijus the one that has "this is not a joint" written all over it
20:26 eric256 wow...wizard.p6 still runs...someone must be looking out for it. ;) or nothing much has changed since it was first written
20:26 joao I want some too, because I've found something worst than Java
20:26 Limbic_Region has quit IRC ("tiuq\")
20:27 * autrijus resists the obviously not-funny joke about "nothing much has change".
20:27 autrijus changed, even.
20:27 autrijus yay, src/* is no longer installed at all.
20:28 autrijus that should make package maintainers happier.
20:28 mugwump is somebody packaging Perl 6 for debian?
20:28 autrijus mugwump: yes, rafl
20:29 autrijus joao: what is that is worst than Java?
20:30 svnbot6 r7347 | autrijus++ | * Integrate "make install" with cabal.  Please test on win32!
20:30 svnbot6 r7347 | autrijus++ |   This makes all the redundant ".o" and ".hs" files no longer
20:30 svnbot6 r7347 | autrijus++ |   install into perl6/CORE/; instead, libHSPugs-6.2.10.a and
20:30 svnbot6 r7347 | autrijus++ |   HSPugs-6.2.10.o are installed into the GHC libpath instead.
20:30 stevan Ada? Fortran? Cobol? let me count the languages .....
20:30 joao autrijus: be forced to read bad and uncommented java :/
20:30 wolverian hey, ada is a lot nicer than java.
20:31 stevan wolverian: yes and no
20:31 wolverian :)
20:31 * stevan wants to state for the record that he likes Ada,.. but that does not me he wants to program in it
20:31 autrijus ditto me and lisp.
20:32 stevan ditto that for me too :)
20:32 robkinyon i want to learn lisp ... does that count?
20:33 wolverian I want to program in haskell, but I don't want to learn it. learning is painful.
20:34 joao learning is the best thing in the world :) it makes me want to live :>
20:34 eric256 learning is fun...though i'm still looking for something to apply my minimal haskel knowledge too
20:34 robkinyon write mod_haskell
20:34 autrijus robkinyon: it's there already
20:34 robkinyon heh
20:34 robkinyon that's cool
20:34 robkinyon is there a mod_lisP/
20:35 autrijus many many ones.
20:35 autrijus (as is usual with lisp.)
20:36 robkinyon LOL
20:36 eric256 robkinyon  ....thats not my definition of minimal. ;)
20:37 justatheory has joined #perl6
20:37 robkinyon minimal relative to what? it's minimal relative to writing missile control software
20:37 PerlJam eric256: http://spoj.sphere.pl/
20:37 * stevan writes some missle control software in Haskell and aims at robkinyon
20:37 eric256 i learned kaskell yestarday...that kind of minimal  (and of course by learned i mean started learning)
20:38 robkinyon ahhh
20:38 justatheory has quit IRC (Client Quit)
20:38 SamB eric256: have you gotten to monads yet?
20:38 SamB those are fun
20:38 autrijus eric256: nothingmuch implemented Forth... maybe you can implement Joy (and thereby learn another language)
20:38 robkinyon so, you don't know enough to write mod_haskell, but you know enough to write missile control software. Got it.
20:38 robkinyon What about Call? That way, you could Call Joy Forth
20:38 * autrijus groans!
20:38 * robkinyon needs more caffeine
20:39 eric256 is this bad pun day? did i miss that memo?
20:39 * stevan is pretending he doesnt know robkinyon
20:39 Amnesiac has quit IRC (Connection timed out)
20:39 * robkinyon hands eric256 a memo
20:39 autrijus eric256: yeah, today we switch pugs to optimize for pun
20:39 autrijus -Opun
20:39 joao main = launchMissil . getMissil seems easy O:)
20:39 SamB though I still don't know how to go about designing my own -- the last time I tried, someone else replaced my monad with a stack of two or three ready-made monads as soon as they saw it!
20:40 r0nny has joined #perl6
20:40 eric256 i didn't reach monads yet.../me considers continue the tutorial....
20:40 integral s/./=<</
20:40 PerlJam eric256: spoj.sphere.pl has problems that are "simple" enough that you could do them.
20:40 SamB granted, I could have continued using my version, but it seemed like it would be kind of silly to do that
20:40 robkinyon are monads related to dyads?
20:40 robkinyon what about triads?
20:40 PerlJam eric256: of course, many of them require IO, so that's an excuse for you to learn about monads :)
20:40 eric256 i was hoping for something pugs related  but most of that seems beyond me (unsurprisingly)
20:40 * robkinyon imagines that haskell has is only one part of the Tong
20:40 joao robkinyon, no, monads are related to gonads ;)
20:41 robkinyon or is it moan-ads?
20:41 PerlJam robkinyon: only where you are concerned.
20:41 * robkinyon winks
20:41 SamB eric256: lots of the pugs stuff doesn't seem to complicated in the small, but sometimes I despair of ever being able to implement Self in Haskell :-(
20:41 * mugwump pats SamB on the back
20:41 nothingmuch has quit IRC (Read error: 113 (No route to host))
20:42 robkinyon Self = call_from_void( robkinyon )
20:42 autrijus robkinyon: are you still talking with stevan about your brainblast wrt eigenclasses? :)
20:42 SamB robkinyon: the Smalltalk relative?
20:42 robkinyon <sub>talk</sub> ?
20:42 * autrijus imagine robkinyon has just fork()'ed
20:42 stevan :)
20:43 autrijus or multiplex so quick that it seems like two processes
20:43 robkinyon that happened before, autrijus - remember, i'm just an eigenstate of stevan
20:43 autrijus nice trick, that.
20:43 Amnesiac has joined #perl6
20:43 offby1 has joined #perl6
20:43 stevan autrijus: I am trying to invoke the continuation on robkinyon but he seems to be stuck
20:44 autrijus stevan: try rebooting him
20:44 autrijus that always works
20:44 * stevan presses ctl-alt-delete on robkinyon
20:44 mugwump ?  Not Alt+SysRq+B ?
20:46 * eric256 supresses the urge to make a joke about boots and reboot
20:47 robkinyon Boot and Reboot are in a boat and one fell out. Who's left?
20:47 autrijus who?
20:47 robkinyon s/one/Boot/g
20:47 dada has quit IRC ("le vent nous portera")
20:47 autrijus Reboot?
20:48 robkinyon (Or, as PBP says, s{ one }{ Boot }xms)
20:48 robkinyon Boot and Reboot are in a boat and Boot fell out. Who's left?
20:48 autrijus reboot?
20:48 robkinyon Boot and Reboot are in a boat and Boot fell out. Who's left?
20:48 * robkinyon snickers
20:48 autrijus roflmao
20:48 eric256 lol
20:48 autrijus I think the silliness level on #perl6 has risen dramatically ever since the introduction of eigenclasses.
20:48 autrijus I blame why.
20:49 obra silly++ #It's fun
20:49 robkinyon :-)
20:49 stevan -Osilliness -Ofun -Opun
20:50 autrijus ...-Obra
20:50 * autrijus flees
20:51 SamB -Wsilliness -Wfun -Wpun -Werror ;-)
20:51 obra ./autrijus -Ofun -Osilliness -Obra
20:52 joao karma haskell
20:52 jabbot joao: haskell has karma of 2
20:53 joao haskell++ # it deserves more :)
20:53 SamB karma silliness
20:53 jabbot SamB: silliness has neutral karma
20:53 obra jabbot silliness pugs?
20:53 SamB silly++ #is good way to get get ideas
20:54 obra pugs++ # fueled by insanity
20:54 brentdax has quit IRC (Read error: 110 (Connection timed out))
20:54 joao java--
20:54 PerlJam -Owhatfunitistoride
20:54 joao karma java
20:54 jabbot joao: java has neutral karma
20:54 eric256 java--
20:54 joao No negative karmas? :)
20:54 eric256 karma eric256
20:54 jabbot eric256: eric256 has karma of 27
20:54 SamB maybe the test is wrong
20:55 SamB karma java
20:55 jabbot SamB: java has neutral karma
20:55 SamB java++
20:55 eric256 karma autrijus
20:55 jabbot eric256: autrijus has karma of 574
20:55 SamB karma java
20:55 jabbot SamB: java has neutral karma
20:55 SamB see, test is wrong
20:55 joao ?
20:55 eric256 karma joao
20:55 jabbot eric256: joao has neutral karma
20:55 dduncan oh, that looks like fun
20:56 dduncan I'll try googling ... karmaing myself
20:56 dduncan karma dduncan
20:56 jabbot dduncan: dduncan has neutral karma
20:56 eric256 is jabbot written in p6?
20:56 dduncan karma Darren_Duncan
20:56 jabbot dduncan: Darren_Duncan has neutral karma
20:56 joao dduncan++
20:56 joao karma dduncan
20:56 jabbot joao: dduncan  has neutral karma
20:56 dduncan how many commits has eric256 done?
20:57 dduncan heavy?
20:57 dduncan if this assessment was right, then neutral doesn't just mean zero, but any low number
20:58 autrijus karma dduncan
20:58 jabbot autrijus: dduncan has neutral karma
20:58 autrijus karma Darren_Duncan
20:58 jabbot autrijus: Darren_Duncan has neutral karma
20:58 autrijus oy.
20:58 autrijus $ svk log | grep eric256 | wc -l
20:58 autrijus        57
20:58 eric256 realy?
20:58 autrijus or it just means jabbot was ignoring svnbot6
20:58 autrijus which is highly likely.
20:59 * eric256 finds the idea that he has done 57 commmites a bit odd... i wouldn't have thought that many
20:59 snaky has joined #perl6
21:02 stephang has joined #perl6
21:03 eric256 who runs the jabbot?
21:04 obra gugod
21:04 SamB has quit IRC (Read error: 60 (Operation timed out))
21:04 stevan autrijus: we are still discussing eigenclass stuff
21:04 stevan but we need to take a subway ride
21:04 robkinyon actually, we backed up a bit
21:05 robkinyon we're discussing whether or not i need to email p6l and tell them the spec for class methods is stoopid
21:05 robkinyon because, frankly, i think it's unneeded
21:05 robkinyon completely and utterly
21:05 stevan I disagreee
21:05 stevan :)
21:05 robkinyon which is why we're going to ride the subway
21:05 stevan it should make for an intersting subnway ride
21:05 robkinyon two go in, one comes out ...
21:05 robkinyon THUNDERDOME
21:06 stevan if  you read on cnn.com about someone "falling" on the subway tracks,.. you will know who won  :)
21:06 robkinyon :-)
21:06 * robkinyon waves
21:06 robkinyon has quit IRC ("leaving")
21:06 stevan we are going to get robkinyon  a LISP book,.. which should set him straight :)
21:06 eric256 CNN headline: "Man throws himself on subway yelling 'damn you roby!'"
21:07 stevan signing off .... back on tonight to update re: eigen-ness
21:07 eric256 "In apparent sucide a man kills him self on the subway after having a long yelling match with himself over eingclasses"
21:07 stevan LOL
21:07 stevan adios &
21:07 stevan has quit IRC ("This computer has gone to sleep")
21:08 joao :)
21:08 eric256 they work/live together?
21:08 joao eric256++
21:08 autrijus eric256: they ork the same cow
21:08 joao May i paste 4 lines?
21:09 gaal sure but you can also
21:09 gaal perlbot nopaste
21:09 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
21:09 desrever has joined #perl6
21:09 desrever has quit IRC (Read error: 104 (Connection reset by peer))
21:09 eric256 joao just spent one line aksing if he could paste 4....while i ramble on without worries. ;)
21:10 pasteling Someone at 82.155.129.104 pasted "Generating precompiled Prelude" (3 lines, 264B) at http://sial.org/pbot/13497
21:11 gaal you're a rambler and a gamber and a sweet talkin' ladies' man...
21:11 joao eric256, pasting is like burping in public ;)
21:12 eric256 hey gaal...didn't see you come in..   got that patch done and submitted
21:12 gaal joao: try `make clean'? i'
21:12 gaal 'm having some (other) errors too
21:12 joao done that
21:12 joao :(
21:12 gaal yo eric256, kewl!
21:13 joao I thought it was make unoptimized
21:13 joao But it isn't
21:13 joao make also produces the same error
21:13 gaal do you have src/perl6/Prelude.pm ?
21:13 kolibrie has quit IRC ("leaving")
21:14 stephang has left
21:14 joao yes
21:14 gaal wait no, do you have util/gen_prelude.pl
21:14 gaal ?
21:15 joao yes
21:15 wilx has quit IRC (Read error: 104 (Connection reset by peer))
21:17 dduncan has left
21:17 autrijus there is no /usr/bin/perl ?
21:17 gaal no, that's silly of me. of course you have gen_prelude... but it's failing.
21:18 joao there is a /usr/bin/perl
21:18 joao This is perl, v5.8.1-RC3 built for darwin-thread-multi-2level
21:18 gaal autrijus: it's a result of gen_prelude failing, first line
21:19 gaal ghc.exe: error: directory portion of "dist\\build\\src" does not exist (used wit
21:19 gaal h "-odir" option.)
21:19 pjcj has quit IRC ("leaving")
21:19 gaal did you leave out dist/ ?
21:19 SamB has joined #perl6
21:20 wilx has joined #perl6
21:20 gaal and: why do Pugs.sln and Pugs.cabal keep getting deleted on my box?
21:20 autrijus gaal: no, dist is supposed to be genned
21:21 autrijus I'm repairing. sec
21:21 gaal joao: please try
21:21 gaal ./pugs -CPugs src/perl6/Prelude.pm > /tmp/pppp
21:22 joao pugs: Prelude.undefined
21:23 gaal ./pugs -Isrc/perl6 -MPrelude -e 42
21:23 gaal ?
21:23 joao the same?
21:23 joao ;(
21:24 gaal ./pugs -Isrc/perl6 -e 'say "moose?"'
21:24 gaal ./pugs -e 'say "moose?"'
21:24 gaal and if that does work: ./pugs -CPugs 'say "moose"' > /tmp/pppp
21:24 autrijus build fix is in
21:25 autrijus please retest
21:25 joao gaal, nopes
21:25 autrijus build_pugs now uses cabal exclusively
21:25 joao svn stat <- let me see if I've ruined something
21:26 gaal autrijus: now ghc GPFs all the time.
21:26 autrijus wow wtf.
21:26 autrijus 6.4 or 6.4.1?
21:26 gaal 6.4.1 but not the final release. d/ling....
21:26 autrijus no, no
21:26 autrijus I think I know hwy. fixing
21:27 joao gaal, I think the problem was mine
21:27 justatheory has joined #perl6
21:27 joao re'making
21:27 joao thanks :)
21:27 justatheory has quit IRC (Client Quit)
21:28 eric256 side note: can i get the elements of an any that are true?  my @t = any(1,2,3) > 2;  ?
21:29 gaal @ary.grep{$_>2} ?
21:29 eric256 well that defeats the puropse now doesn't it ;)
21:29 eric256 i wanted to play with junctions. hehe
21:29 gaal oops grep:{$_>2}
21:29 svnbot6 r7348 | autrijus++ | * build_pugs now uses cabal for building...
21:30 gaal oh of an *any*
21:30 gaal sorry
21:30 PerlJam eric256: what purpose is defeated?
21:30 eric256 i thought junctions used to return the list of elements that were true
21:30 PerlJam eric256: nope.  What ever gave you that idea?
21:30 eric256 the purpose of using junctions that way. ;)  any(@a) > all(@b) is hard to do in a grep
21:31 eric256 PerlJam ... for starters it is what makes sense to me
21:31 eric256 and i know i've seen code like my $low = any(@a) <= all(@a);
21:31 snaky has left
21:31 PerlJam eric256: sure ... and $low is itself a junction.
21:32 pjcj has joined #perl6
21:33 xinming_Beijing has quit IRC (No route to host)
21:33 eric256 how do i get the elements of a junction then?
21:33 PerlJam eric256: $junc.collapse I believe is the method du jour.
21:33 eric256 if so its not implemented yet.  /me goes to find the document in question
21:34 PerlJam eric256: but your example would be written like this:  my @t = grep { $_>2 } any(1,2,3).collapse.
21:34 saorge has quit IRC (Connection timed out)
21:36 iblechbot has quit IRC (Read error: 110 (Connection timed out))
21:36 PerlJam Ah, according to pugs it's  .values()
21:39 penk has quit IRC (Read error: 110 (Connection timed out))
21:40 eric256 i don't thenk thats a better example by any strech...well maybe for the first one but not the other 2
21:41 eric256 i guess you could do my @highs = grep { $_ > any(@b) ) @a;  #but thats not realy as nice as @highs  = any(@a) > any(@b);
21:42 penk has joined #perl6
21:43 * eric256 goes to see if there are already tests in place
21:47 eric256 hmmm....junction are either buggy or i'm looney
21:47 gaal autrijus: build still broken here after r7348
21:49 eric256 @eval (any(1..3) > 2).pick
21:50 eric256 ?eval (any(1..3) > 2).pick
21:50 evalbot_7312 bool::true
21:50 eric256 @eval (any(1..3) > 2).values
21:50 eric256 ?eval (any(1..3) > 2).values
21:50 evalbot_7312 (bool::false, bool::true)
21:50 autrijus gaal: still fixing... very tricky
21:51 joao ?eval any(1..3).values
21:51 evalbot_7312 (1, 2, 3)
21:51 joao what about 2 ?
21:52 gaal ack
21:52 Walugo has joined #perl6
21:52 autrijus gaal: eta 3min
21:53 eric256 if your asking me joao ....i have no idea. ;)
21:54 joao it's odd
21:54 joao any(1..3).values is (1,2,3)
21:54 joao if you ask the values > 2
21:54 eric256 aparently its only returning a junctino of the true false possibilties
21:54 joao oh
21:55 eric256 ?eval (any(1..3) > 2).values
21:55 evalbot_7312 (bool::false, bool::true)
21:55 eric256 ?eval (any(1..3) > 5).values
21:55 evalbot_7312 (bool::false)
21:55 eric256 but i could have sworn we there was talking of keeping the actual values that where higher../me considers implementing his own...agian. ;)
21:56 autrijus gaal: try this commit -- should help, but maybe not completely
21:58 gaal trying...
21:58 svnbot6 r7349 | autrijus++ | * another step toward complete cabalization (still not complete)
22:00 Walugo ,00Ok, so once i get a Socket open with an established connection to a server, the socket is $socket, how do i unpack what is coming in?
22:01 gaal Generating null Prelude... done.
22:01 gaal No description file found, please create a cabal-formatted description file with
22:01 gaal the name <pkgname>.cabal
22:01 gaal (sorry about the weird linebreaks)
22:01 r0nny has quit IRC ("sleep")
22:02 gaal Walugo: just read from the socket. But you'd better ask on #perl, this isn't the right place :)
22:02 SamB ok, what happened to the highlight stripping?
22:02 eric256 ?
22:03 SamB why is that text (what Walugo said) blue on gray?
22:03 eric256 ohhh. /me didn't notice...client is set to ignore colorings anyway
22:03 SamB ah
22:03 Walugo ,00Don't know, im' just using default settings off of Trillian
22:03 autrijus gaal: ok, fixing
22:04 joao Walugo, it's kinda annoying :)
22:04 SamB Walugo: Whoa, Trillian must be messed up when it comes to IRC then
22:04 eric256 nah i'm on trillian too..definitly not any default i've seen
22:04 Walugo is it better?
22:04 SamB much, yes ;-)
22:04 Walugo ok
22:05 rantanplan_ has quit IRC ("Leaving")
22:05 Amnesiac has quit IRC (Read error: 110 (Connection timed out))
22:07 gaal woot, clkao++ # svk 1.05 uploaded
22:08 geoffb what's new in 1.05?
22:09 gaal i dunno :) i be spreadin' the karma like.
22:09 Walugo has left
22:10 geoffb First the spliff, then the karma.  It's a very sharing channel.
22:12 joao :)
22:12 gaal well, i got it from agnes, or from nothingmuch... or from tom lehrer!
22:12 geoffb Mmmm, Tom Lehrer . . . .
22:12 geoffb I wonder if he's still teaching?
22:13 geoffb ...wikipedia...
22:13 gaal "you know i don't have to be doing this, i could be making, oh, three thousand dollars a year just teaching!"
22:13 p__ has joined #perl6
22:16 geoffb Hmmm, I was skimming, but it seems to leave out whether he's still at UCSC . . .
22:16 svnbot6 r7350 | gaal++ | mention Bundle::Pugs::SmokeKit
22:17 gaal oh, a visit to the faculty page would surely resolve that wonder?
22:18 geoffb gaal, oh sure, but damnit, wikipedia has a reputation to uphold
22:20 gaal well, you have a committer bit there :)
22:23 geoffb Not a timesink I'm willing to entertain.  :-)
22:23 geoffb http://www.buckswoodside.c​om/stories/tomlehrer.shtml
22:23 geoffb And sadly the answer is no.
22:29 cm has joined #perl6
22:31 gaal wow, nice story :(
22:34 autrijus gaal: try again?
22:34 cm has quit IRC (Read error: 104 (Connection reset by peer))
22:34 autrijus r7351
22:34 autrijus this compiled prelude thing is really stretching the limit of cabal :)
22:35 gaal svnupping
22:36 eric256 compiled prelude = evil. (at least on my comp)
22:36 gaal get more ram :)
22:36 eric256 yea ;(
22:37 eric256 sboth slots are full..means i have to find a 512 or larger to swap in...or two 512's ')
22:38 gaal it compiles... let's see if completely
22:40 gaal cabal is cabalized, but ghc isn't, right?
22:40 svnbot6 r7351 | autrijus++ | * yet another try at cabalization.  This may just work...
22:40 geoffb eric256, if A) you can afford it, and B) your motherboard can take 'em, best to just get 2 x 1GB sticks . . . ,
22:41 geoffb throw the old ones in another box, or sell 'em  :-)
22:41 gaal yeah, that'll keep you ahead of ghc fer at least two weeks.
22:42 gaal is runghc a little like cpr?
22:43 autrijus yes.
22:44 gaal neat.
22:44 Shillo has joined #perl6
22:45 gaal ...and is main' a design like Yi and lambdabot's?
22:45 autrijus and I finally beat it into shape.
22:45 autrijus main' a?
22:45 gaal in Setup.lhs
22:45 gaal "
22:45 gaal "and is main' $ a design like ..."
22:46 autrijus er, it's like Module::Build.
22:46 autrijus currently it's all commented out.
22:46 gaal did i just disambiguate english by using haskell syntax? please knock me over or something
22:47 * autrijus knocks gaal over
22:47 p__ has quit IRC ("Leaving")
22:48 gaal eeek, undefined references
22:49 gaal in first pass linkage
22:49 gaal (PCRE)
22:49 autrijus okay, fixing.
22:50 Shillo Hullo, all. :)
22:50 autrijus yo Shillo
22:50 autrijus gaal: have you run into the situation where somehow the first-phase pugs is without any Prim at all?
22:50 geoffb gaal, autrijus: interesting pair programming style -- one guy hacks, the other tries to build
22:50 autrijus $ ./pugs  -e '1+1'
22:50 autrijus *** No compatible subroutine found: "&infix:+"
22:50 autrijus    at -e line 1, column 1-4
22:51 gaal lol
22:51 autrijus it's currently the only thing blocking
22:51 gaal nnnno, don't think i saw that
22:52 gaal well i'd give autrijus shell access but this is windows we're talking about, good luck
22:52 joao (my pbook G4 is really really slow compiling pugs)
22:52 autrijus gaal: hm... *pout*
22:52 * autrijus tries another way
22:54 gaal autrijus, the undef references are not only in PCRE, they're also in Unicode.o, Pugs/AST/Internals, and a few others.
22:56 autrijus nodnod.
22:56 svnbot6 r7352 | autrijus++ | * yet another try -- now if we can only get this hidden-prim problem fixed...
22:56 autrijus gaal: try r7353 in 10 secs
22:56 autrijus I _think_ that'd work.
22:59 Shillo gaal: You know there /is/ a working ssh for Windows, right?
22:59 gaal compiling, but for some reason it rebuilds all the objects.
22:59 Shillo (about shell access and stuff :) )
22:59 gaal Shillo: yes, but that doesn't help you with modal popups :)
22:59 Shillo *twitch*
23:00 autrijus gaal: you are using unoptimised, right?
23:00 gaal actually, no. where's that floor again?
23:01 autrijus ;)
23:02 svnbot6 r7353 | autrijus++ | * yet another valiant try...
23:02 svnbot6 r7354 | autrijus++ | * add extra object files to link against.
23:02 gaal do '4?
23:02 autrijus probably won't work.
23:03 * Shillo tries Linux build, just for the heck of it...
23:03 autrijus but '5 would.
23:03 autrijus I think.
23:07 bpalmer` has quit IRC (Read error: 110 (Connection timed out))
23:07 joao (OT: yaml stands for "yet another mark. lang." or "yaml ain't mark. lang." ? :) )
23:07 gaal ain't
23:08 gaal it's a data serialization language
23:08 joao i usually call it ml :)
23:08 joao ml = markup language
23:11 joao the spec def. calls it data serialization language, though
23:11 joao I have to call it by what it is
23:11 joao :)
23:12 gaal autrijus, with '4 i get
23:12 gaal # gcc: dist/build/src/cbits/fpstring.o: No such file or directory
23:12 gaal etc.
23:14 Shillo Whoooops, the build nuked itself on Linux, too.
23:15 joao yes.. here too
23:15 joao (mac os)
23:15 joao anyway: Generating precompiled Prelude... Can't exec "./pugs": No such file or directory at /System/Library/Perl/5.8.1/IPC/Open3.pm line 241.
23:15 Shillo dist/build/src/cbits/fpstring.o: dist/build/src/pcre/pcre.o: dist/build/src/UnicodeC.o: dist/build/src/syck/bytecode.o: dist/build/src/syck/emitter.o: (etc, 6-7 more of syck), dist/build/src/Data/Yaml/Syck_stub.o:
23:15 Shillo All missing objectrs.
23:15 Amnesiac has joined #perl6
23:15 gaal do we support 5.8.1? i thought for some reason that 5.6.1 or 5.8.3 and up? but maybe i'm imagining things.
23:16 autrijus I think 5.6.x is fine
23:16 Shillo And in fact, dist/build/src/cbits dir is missing.
23:16 autrijus Shillo: okay, fixing
23:16 Shillo As is pcre and syck
23:17 Shillo Will build unoptimised the next time. :)
23:20 autrijus ok :)
23:21 justatheory has joined #perl6
23:27 autrijus try ok, please retry r7356.
23:27 autrijus it builds here but runs into the missing-prim problem
23:27 autrijus I'm looking at it
23:28 gaal on win32 it tries and fails to pl2bat pugs.exe
23:29 autrijus nopaste the log a bit?
23:29 Shillo error reading ./.setup-config; run "setup configure" command?
23:30 Shillo src/Main.hs:18:0: Failed to load interface for `Pugs': Could not find module `Pugs': use -v to see a list of the files searched for
23:30 autrijus Shillo: that's r7357
23:30 pasteling "gaal" at 192.115.25.249 pasted "pl3bat fail" (47 lines, 3.5K) at http://sial.org/pbot/13500
23:31 Juerd eric256: Once in a while, for different reasons, it no longer builds correctly and manual intervention is needed
23:31 Shillo Updating, then...
23:31 Juerd eric256: I should monitor this, but I don't. Scripting it is hard because what goes wrong keeps changing.
23:31 Juerd eric256: It goes wrong only once a month or so
23:31 svnbot6 r7355 | autrijus++ | * go back to use .a for linking.  that builds, but
23:31 svnbot6 r7355 | autrijus++ |   there is still this missing Prim problem
23:31 svnbot6 r7356 | autrijus++ | * oops, wrong executable name.
23:31 svnbot6 r7357 | autrijus++ | * run configure. Shillo++
23:31 gaal http://sial.org/pbot/13500
23:31 Juerd eric256: I had neglected looking at it for at least 2 months; feather had a very old pugs.
23:32 gaal whoops, sorry for the dupe
23:32 Shillo Parrot.hsc:122:29: error: parrot/packfile.h: No such file or directory ... etc
23:32 Juerd eric256: So it's very overtakeable
23:32 Shillo That was with PUGS_EMBED=parrot
23:32 Shillo (bunch of other parrot headers not found)
23:34 autrijus Shillo: try without parrotbedding first
23:37 svnbot6 r7358 | autrijus++ | * add "unix" only for things that are on unix.
23:37 Shillo Trying... ... ...
23:38 gaal who's alex? (in configure)
23:38 Shillo src/Main.hs:18:0: Failed to load interface for `Pugs': Could not find module `Pugs': use -v to see a list of the files searched for
23:38 Shillo Failed after first pass.
23:38 autrijus gaal: haskell's "lex"
23:38 khisanth_ has joined #perl6
23:38 autrijus Shillo: nopaste the last few lines
23:39 Shillo /usr/bin/ar: creating dist/build/libHSPugs-6.2.10.a
23:39 Shillo src/Main.hs:18:0:
23:39 Shillo    Failed to load interface for `Pugs':
23:39 Shillo        Could not find module `Pugs': use -v to see a list of the files searched for
23:39 Shillo /usr/bin/perl util/gen_prelude.pl -v -i src/perl6/Prelude.pm -p ./pugs --touch --output src/Pugs/PreludePC.hs
23:39 Shillo Triggering rebuild... done.
23:39 Shillo Generating precompiled Prelude... Can't exec "./pugs": No such file or directory at /usr/share/perl/5.8/IPC/Open3.pm line 168.
23:39 Shillo open2: exec of ./pugs -C Pugs tmp-Prelude.pm failed at util/gen_prelude.pl line 98
23:39 Shillo system: [/usr/bin/perl util/gen_prelude.pl -v -i src/perl6/Prelude.pm -p ./pugs --touch --output src/Pugs/PreludePC.hs]: No such file or directory at util/build_pugs.pl line 105.
23:39 gaal it's a cokney haskell lex, the h isn't aspirated
23:39 Amnesiac ugh
23:39 Shillo make: *** [unoptimized] Error 2
23:42 gaal sorry, /me out of wakies
23:42 gaal good night! &
23:43 * Shillo tries 7358...
23:43 Shillo Nope.
23:44 brentdax has joined #perl6
23:46 autrijus okay... final final try
23:48 Shillo 7358?
23:48 autrijus no
23:48 autrijus about to commit
23:51 geoffb .oO( Respecting abstractions may be a pain at times, but it sure is nice when you have to rewrite the bottom layer . . . )
23:52 autrijus indeed.
23:53 autrijus okay, r7360 should, by all account, work
23:53 svnbot6 r7359 | autrijus++ | * the ultra-slow, ultra-nonportable, why-am-I-doing-this
23:53 svnbot6 r7359 | autrijus++ |   approach of cabalization.
23:53 svnbot6 r7360 | autrijus++ | * link in the object files, too.
23:53 autrijus it worksforme at least.
23:53 clkao are ou releasing?
23:53 autrijus clkao: no, afraid not today
23:53 autrijus probably right after I wake up.
23:54 autrijus cabalization is _so_ tricky.
23:54 autrijus all thanks to precompiled prelude :-/
23:54 * Shillo didn't -quite- read that as cannibalisation.
23:55 geoffb That's tricky, too -- convincing them to sit in the pot while it boils . . . .
23:55 clkao bad autrijus, no cookie
23:56 autrijus build fails?
23:56 Khisanth has quit IRC (Read error: 110 (Connection timed out))
23:56 clkao you haven't made release for two months! slacker!
23:56 Shillo Still building...
23:56 geoffb Man, now that I'm used to SVK all the time, I *hate* using CVS for $work
23:56 autrijus clkao: yeah yeah you keep telling me that.
23:56 clkao geoffb :) do more advocacy
23:56 autrijus clkao: coincidentally parrot was doing the same. go figure...
23:57 geoffb This at a company where it was an effort to explain that using SourceSafe was probably suboptimal
23:57 nothingmuch has joined #perl6
23:57 Shillo geoffb: :) :) :)
23:57 clkao tell them svk also offers commercial support, whereas vss doesn't!
23:57 khisanth_ is now known as Khisanth
23:57 geoffb heh
23:58 geoffb Does your $work actually offer that?
23:58 clkao no
23:58 Shillo Heh. I learned a few things about 'joys' of VSS. GAH. :p
23:58 clkao but i do :P
23:58 geoffb Shillo, ditto.  OH MAN, DITTO.
23:58 geoffb clkao, ah!
23:58 Shillo Once I tried to branch. That was... Um... time-consuming. And unsuccessful.
23:59 geoffb Try recovering even the slightest corruption . . .
23:59 Shillo 7360 built. :)
23:59 geoffb autrijus++ # persistence!

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

Perl 6 | Reference Documentation | Rakudo