Camelia, the Perl 6 bug

IRC log for #perl6, 2008-11-19

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:01 TimToady anyhoo, I'm on ubuntu, so shouldn't be that different...
00:01 mst well, it fails on ubuntu for me as well
00:01 mst hrm
00:01 mst TimToady: what YAML::XS version do you have?
00:02 mst cos I'm seeing value quoting differences as well
00:02 mst in fact, I'm seeing all sorts of slightly odd differences
00:02 mst but let's try getting me the same YAML::XS version first
00:03 TimToady 0.27
00:04 TimToady use YAML::XS;
00:04 TimToady print $YAML::XS::VERSION, "\n";
00:04 mst I have 0.29
00:04 mst I'll downgrade
00:05 TimToady maybe I should upgrade and break mine :)
00:07 mst eh, not unless I confirm this is the problem
00:07 mst also, it's less important that mine works than that yours does :)
00:07 rhr joined #perl6
00:07 mst bugger
00:07 mst no
00:09 TimToady I should upgrade anyway, if that's what is out these days
00:10 mst well downgrading didn't fix
00:10 mst so it's probably safe
00:10 TimToady ah, reproduced it here!!!
00:10 mst ooh? how?
00:10 TimToady maybe try touch STD.pm with 0.27
00:10 TimToady so it rebuilds?
00:11 mst I rm'ed it and re-ran make
00:11 TimToady did it rerun gimme5?
00:11 * mst does touch and 'make check' again just to be sure
00:11 mst I rm'ed pm5 as well
00:11 mst so I'm fairly sure it did
00:11 mst anyway, touch done, make check running again
00:11 TimToady anyway, all I did was install 0.29 and it failed
00:11 mst crap
00:11 mst I'm an idiot
00:12 mst I'd cleared perl5lib but not PERL_MM_OPT
00:12 * mst redoes the downgrade
00:12 mst oh, wonderful, 0.27 doesn't link here
00:13 TimToady what's more, it fails with exactly your preferred error message :)
00:13 * mst laughs
00:13 mst not quite the adjective I'd've used for that errr :)
00:13 TimToady summon ingy
00:14 * mst tries to summon yuval, since he released 0.29
00:14 * mst wonders why 0.27 brfs
00:14 mst ah, needed a make clean
00:15 mst TimToady: confirm 0.27 works here.
00:15 TimToady trying YAML::Syck
00:16 mst YAML.pm failed to load the doc at all, I'm afraid
00:19 TimToady seems to compile with YAML::Syck, anyway; now to see how much slower it is...
00:20 TimToady answer, no slower!
00:21 apeiron joined #perl6
00:23 TimToady let's see how fast it does the whole testt thing now...maybe I'll just switch to Syck for now
00:24 alanhaggai joined #perl6
00:32 * mst sighs
00:32 mst TimToady: would you mind horribly if I un-hardcoded the perl location in this stuff?
00:32 mst /usr/bin/env perl would be a lot more portable than /usr/local/bin/perl
00:34 TimToady that won't work for people who have 5.8 earlier in their path
00:35 TimToady but maybe we can persuade them to change their path
00:35 mst no. but it also doesn't work for anybody whose 5.10 isn't in /usr/local/bin :)
00:35 TimToady it would be friendlier to people who can't make a symlink in /usr/local/bin, I suppose...
00:36 mst I could; I just massively don't want to
00:36 mst since I add /usr/local/bin to my path for other reasons
00:36 mst but still want the system 5.8
00:36 mst I'm just difficult, of course
00:36 TimToady none of the rest of us are ever difficult  :)
00:36 * mst wonders how hard it would be to emulate state and say on 5.8
00:37 TimToady say is a convenience, but I rely on state rather heavily in spots
00:37 mst right, but isn't "my $x if 0;" equivalent?
00:38 Limbic_Region and { my $foo = 42; sub some_sub { } } is not equivalent
00:38 nothingmuch YAML::XS 0.29 uses newSV(0) iunstead of PL_sv_undef when loading a yaml null
00:38 Limbic_Region mst - that doesn't work in recursive subs either does it?
00:38 TimToady hi nothingmuch
00:38 mst err
00:38 mst how does state() differ?
00:38 nothingmuch when a null is a hash value and PL_sv_undef is used then that causes errors on ref taking or autovivification
00:38 nothingmuch that's all i know
00:39 mst nothingmuch: how would that cause utf8 fail though?
00:39 nothingmuch i didn't change anything but that, so not really qualified to help
00:39 mst ah
00:39 nothingmuch is it 100% a 0.28 > 0.29 change?
00:39 TimToady and we're using XS to write it out, so it should be able to read using XS
00:39 nothingmuch some handling of whether or not numbers are formatted as numbers or strings was added, too
00:39 nothingmuch forgot about that bit
00:39 mst yes, I saw some quoting differences
00:40 mst but that was miniscule
00:40 TimToady it oughta round trip itself, you'd think...
00:40 Limbic_Region mst - hang on, I am still trying to find the link I was thinking of
00:40 mst nothingmuch: there's no 0.28
00:40 avar /w/ 2
00:41 nothingmuch UNICODE INGY
00:41 nothingmuch gimme a while and I will biset against the repo if you have a failing test
00:41 nothingmuch if you want to give it a shot: http://svn.kwiki.org/ingy/YAML-LibYAML/
00:41 lambdabot Title: Revision 3090: /YAML-LibYAML
00:42 nothingmuch my intertubes are very flakey atm though, and I'm trying to finish something else first, so no promises
00:42 nothingmuch tomorrow i will be back in .il so things should sanify for a while
00:42 mst nothingmuch: http://agaton.scsys.co.uk/~matthewt/fucked.up
00:42 mst nothingmuch: that's the first doc that fails
00:42 TimToady we can limp along on 0.27 or Syck for the moment
00:42 nothingmuch fails to load?
00:43 mst right
00:43 nothingmuch ok, i will try to track it down
00:43 mst I -think- it's a loading problem since what 0.29 generates, 0.27 -can- load
00:44 Limbic_Region mst - see http://use.perl.org/comments​.pl?sid=39437&cid=62464  # does that work if you substitue my $foo if 0; in place of state?
00:45 lambdabot Title: Who has the best state implementation?
00:45 Limbic_Region oh wait, that's not the link I was looking for either
00:45 Limbic_Region grrr - I guess I can't find it
00:45 Limbic_Region trying to eat my supper ATM
00:46 TimToady ah, it's the ¢ character there in that test case; I wondered why I couldn't find a «  :)
00:47 mst Limbic_Region: err
00:47 TimToady nothingmuch: thanks
00:47 mst Limbic_Region: is there perl5 code for that?
00:48 nothingmuch 169 packets transmitted, 36 packets received, +1 duplicates, 78% packet loss
00:48 nothingmuch *sigh*
00:48 Limbic_Region mst - yes, let me look
00:49 Limbic_Region mst - actually the p5 version is in the same link - nicholas put it further down
00:50 Limbic_Region or not
00:50 Limbic_Region grrr
00:51 Limbic_Region http://use.perl.org/~nicholas/journal/36270
00:51 lambdabot Title: Journal of nicholas (3034)
00:51 Limbic_Region root of the thread
00:52 * Limbic_Region gives up trying to eat, chat, and look for links at the same time
00:52 REPLeffect joined #perl6
00:52 * Limbic_Region AFK &
00:53 mst hmm
00:55 km2 joined #perl6
01:00 ruoso joined #perl6
01:02 mst hmm
01:02 mst does state initialise on first execution or at compile time?
01:04 kanru joined #perl6
01:06 TimToady first execution
01:07 apeiron_ joined #perl6
01:07 mst hm
01:07 mst that's slightly harder to macroise then
01:07 mst my $bar if 0; BEGIN { $bar = "Pie"; }
01:07 mst works for compile time init, of course
01:08 TimToady what's more, if the closure gets cloned, it gets initialized again
01:08 mst define cloned :)
01:08 Limbic_Region that's the thing I was talking about
01:08 Limbic_Region but couldn't find a link for
01:08 Limbic_Region btw - is state/say the only 5.10 features
01:08 mst I already asked and he said yes
01:08 Limbic_Region or is there also given/when and // and named captures
01:08 * ruoso really thinks we could just force people to use 5.10
01:08 TimToady I don't know for sure
01:08 mst ruoso: you are doing, currently
01:09 TimToady oh, yeah, I use // all over the place
01:09 mst heh
01:09 mst right
01:09 TimToady that's the biggie, not state
01:09 mst fucknuts
01:09 mst I haven't figured out how to add operators to 5.8 yet
01:09 Limbic_Region mst - what, afraid of a little source filter?
01:09 TimToady all my caching depends on //=
01:09 mst Limbic_Region: I Do Not Use Source Filters
01:09 * Limbic_Region goes back to the peanut gallery
01:10 mst well, I do, but mine are written in C and don't change the text
01:10 Limbic_Region that was intended as a joke
01:10 mst it was funny the first few hundred times I heard it
01:10 mst no, wait, no it wasn't
01:10 mst :P
01:12 ruoso TimToady, anyway... I know I'm really boring... but... please consider clarifying the eagerness/lazyness issue in (@a,@b)...
01:12 TimToady been thinking about it all day
01:14 ruoso I'm kinda approaching map again (now in mildew), and it would be nice to do it right at first ;)
01:14 mst TimToady: hmm. is that in the mangling code or the emitted code?
01:14 TimToady mostly in Cursor.pmc
01:15 TimToady and in the emitted code
01:15 * ruoso has ClassHOW.can as the next milestone....
01:16 mst hrmf
01:16 mst TimToady: I really really want emitted code to work on 5.8
01:16 mst wonder how easily I can maintain a branch for that
01:16 TimToady it's possible all my uses of it would work with ||=
01:17 mst well, I'm running 'make testt' atm to verify my build
01:17 TimToady but I'd rather not dilute the semantics that way
01:17 mst sure
01:17 mst but I figure if I change it locally, and testt still passes as much as it did before
01:17 mst then -I'm- probably ok with it
01:17 TimToady just ran testt with YAML::Syck and it ran just as fast, so I'll probably check that in
01:18 TimToady also figured out I could chop about .2 sec from each compile if I remove yaml from the STD.pmc file entirely somehow
01:18 TimToady since it's only used when regenerating the lexers, not when they are already there
01:19 kisu joined #perl6
01:19 TimToady but attaching them to the lexical scope anonyously is difficult with inlining them
01:21 mst er. expand that sentence?
01:22 pmichaud b u t   a t t a c h i n g   t h e m   t o   t h e ....
01:22 pmichaud :-P
01:22 TimToady all of the current instances of yaml attach to a variable called $retree, but it's the lexical location of that var that identifies the yaml in question
01:22 TimToady if I moved the yaml out to a file I'd have to name lexical locations somehow
01:23 TimToady or just generate a list of filenames as we go...
01:23 TimToady it saves about .1 second not to call YAML::Syck::Load, but still use here docs
01:24 TimToady right now it's calling Load even if the lexers are built, which is useless
01:24 TimToady so .1 seconds * 774 tests would still save roughly 80 seconds on testt
01:25 TimToady 80 sec out of 44 minutes
01:25 TimToady YMMV
01:26 TimToady not gonna be completely happy till I get it down to about 4 minutes :)
01:27 TimToady but that won't happen as long as I'm emulating a regex engine in perl 5
01:28 pugs_svn r23044 | ruoso++ | [mildew] a new failing test for "my sub foo($bar) {...}"
01:28 spx2 joined #perl6
01:30 * ruoso sleep &
01:30 mst TimToady: yeah, my strategy is going to be to interleave results into a .pmc and try and minimise how often I need to run the grammar output
01:31 mst then again, I won't have nearly so big a grammar as you do to begin with
01:49 wayland76 ruoso: Now that we're discussing iterators again, I pulled out the iterator code I was working on
01:49 * Limbic_Region 's ears perk up
01:49 Limbic_Region iterators are something I know a fair amount about
01:49 wayland76 My idea was to have a Tree::Axis iterator that could implement one of a variety of tree iteration types
01:50 wayland76 depending on the four parameters passed in
01:50 wayland76 Limbic_Region: Am I right in presuming that you saw the interators discussion above?
01:50 Limbic_Region that would be a bad assumption
01:50 Limbic_Region but I can scroll back
01:50 wayland76 (I've just noticed ruoso sleep&)
01:50 wayland76 Ok
01:51 wayland76 Finishing around 18:40 yesterday
01:51 Limbic_Region my scroll back only goes to when I joined the channel about 2 hrs ago
01:51 wayland76 http://irclog.perlgeek.de/perl6/2008-11-18
01:51 lambdabot Title: IRC log for #perl6, 2008-11-18
01:52 Limbic_Region wayland76 - http://www.perl.com/pub/a/​2005/06/16/iterators.html  # article I wrote on iterators for perl.com - if I can be of any help, let me know
01:52 lambdabot Title: perl.com: Understanding and Using Iterators
01:52 Limbic_Region I don't contribute in very many ways these days
01:52 wayland76 I won't claim to know much about iterators, but I tried to make a tree iterator :)
01:52 Limbic_Region so if there is something I can do - I would be happy to pitch in
01:52 wayland76 But it needs operator overloading and macros, so it doesn't work yet :)
01:53 Limbic_Region operator overloading isn't too much of a problem but macros?
01:53 Limbic_Region this is in SMOP perl 6?
01:53 wayland76 Well, for an eval
01:53 wayland76 I've only tried running it on Rakudo
01:54 wayland76 But I agree with ruoso that we need to work out what Iterators are doing :)
01:54 Limbic_Region ok, well my perl 6 is quite rusty - I stopped playing along at home about the time audreyt had to take a sabbatical and pugs went stagnant
01:54 wayland76 My plan is to have an interface sort of class, and then it gets a different backend to do the actual iterating work depending on its creation parameters (sort of like the DBI/DBD split)
01:55 wayland76 ruoso's notes at http://www.perlfoundation.org/pe​rl6/index.cgi?smop_map_operator are the closest thing we've got to an Iterator specification
01:56 lambdabot Title: SMOP map operator / Perl 6
01:56 wayland76 ...and no-one seems quite sure how they're going to be done, including TimToady, if I interpreted things correctly :)
01:59 wayland76 So I guess it needs people who have their head around iterators to try to figure out what the best ideas are :)
01:59 aindilis joined #perl6
02:05 wayland76 Limbic_Region: Your Perl6 may well still be better than mine.  I haven't written any code yet that worked when complete (ie. I kept building until I ran into a feature that Rakudo didn't have, or a bug in parrot)
02:05 Limbic_Region heh
02:05 Limbic_Region well, my kid's bedtime so...
02:05 * Limbic_Region AFK &
02:11 wayland76 :)
02:12 wayland76 I'm finding the link to the original, on-list discussion quite enlightening too :)
02:19 dukeleto joined #perl6
02:19 wayland76 pmichaud++ (updated ROADMAP!)
02:21 wayland76 @tell pmichaud the ROADMAP still says "Updated: 2008-08-16" :)
02:21 lambdabot Consider it noted.
02:24 ting joined #perl6
02:30 wayland76 Limbic_Region: Also, good to have you back :)
02:47 wayland76 As far as I can see, S02 claims (IIUC; U = Understand) that there are three groups of contexts, void, item(scalar) and list, and then goes on to discuss some of the specific item contexts
02:47 wayland76 I would've expected some discussion of other contexts in there too, specifically slice context
02:48 wayland76 ...and maybe hash context
02:48 aindilis joined #perl6
02:48 wayland76 Are list, slice, and hash all specific versions of the general list context?
02:50 TimToady more or less
02:50 TimToady as are eager and hyper
02:51 wayland76 Ok
02:51 TimToady but the last two function more like real contexts
02:51 TimToady things producing values don't generally care whether they are in slice/list/hash context
02:52 TimToady they just spit out captures that flattened or not later
02:52 wayland76 Ok
02:52 TimToady whereas with eager and hyper it actually affects the semantics of the generation
02:53 TimToady when you say %( 'a', 'b', :c ) it's really just a list context to the args, and % does all the hashification
02:54 wayland76 :)
02:54 TimToady or %foo = 'a', 'b', :c
02:55 wayland76 Is there an equivalent of wantarray() that tells a function something about its context?
02:55 TimToady there's a want() function, and its use is discouraged
02:55 wayland76 Ok :)
02:56 TimToady for instance, @foo = 'a', 'b', :c; %foo = @foo; has the same effect, but the context is Array rather than Hash
02:56 TimToady so want() can't see through indirection, nor can it see through to a lazy binding
02:57 TimToady maybe if we were a language that guarantees type inferencing, but we're not
02:57 wayland76 :)
02:58 TimToady we're much more interested in guaranteeing clean late-as-possible dispatch semantics
02:59 TimToady which means you might not even know the candidate list of bindings till dispatch time
02:59 mst that's half the fun though
02:59 wayland76 I can see how that could be useful :)
02:59 TimToady and any one of those bindings might supply the eventual context
02:59 mst does returning a list to a scalar call do the ref-ification?
03:00 wayland76 (Btw, are the Synopses in the Pugs SVN?)
03:00 TimToady when you write foo(@bar) you can't know whether @bar will be in list or item context, at least not without a proto declaration of foo
03:01 TimToady mst: yes, a list in item context just []-ifies itself
03:01 TimToady if you want the last element, you have to use .[*-1]
03:01 * mst ponders a p5 pragma that does that
03:02 mst combine that and Perl6::Contexts and you could get rid of most of the wantarray-related hate
03:02 TimToady if you're gonna hack on p5, I'd rather you add lazy lists :)
03:03 mst EXPAND
03:03 TimToady emulating lazy lists in p5 is slow, and STD has to work hard to avoid doing so
03:03 TimToady lazy lists (especially gather/take) are particularly useful for implementing backtracking
03:04 mst do you actually mean a -list- or an array?
03:04 TimToady list
03:04 TimToady even when the list is on the stack!
03:04 mst see, writing a pair implementation first makes my life harder
03:04 wayland76 (Btw, found the SVN of the Synopses, don't worry :) )
03:04 mst oh. you mean being able to do "my @foo = bar()" and have @foo be lazily populated?
03:05 TimToady I'm not suggesting you actually tackle lazy lists; you'd have to be mad, or intent on going so...
03:05 mst sure, but answer the question anyway? :)
03:05 TimToady it'll be hard enough in an implementation that is designed with them in mind in the first place
03:06 TimToady maybe not under assignment, since we're thinking even p6 list assignment is eager
03:07 TimToady but to be able to return foo(),bar(),baz() and not call more functions than you need to
03:07 mst oh. well, I'm intending to add the ability to return tied/Variable::Magic'ed arrays from subroutines, anyway
03:07 mst it's not that hard, you just have to look at the return op and have a quick wander around the call site
03:07 TimToady and to be able to pass lazy lists through map and such
03:08 mst yeah, those are interesting as well
03:08 mst fixing map doesn't look that painful
03:08 mst I guess split() already has the relevant magic for the foo(),bar(),baz() case
03:08 mst so it'd just be a question of stealing it
03:08 TimToady if you implement in terms of tie, it will almost certainly be to slow for my purposes...
03:08 TimToady *too
03:09 mst tie is a good start though to get the call site stuff sorted
03:09 TimToady and solving it in general really requires continuations
03:09 TimToady efficient continuations
03:09 mst anyway, if any of this stuff works or your purposes I'll be very happy
03:09 mst but I don't actually -care-, as such
03:10 mst I'm mostly interested in returning lazy arrays for DBIx::Class' nefarious purposes
03:10 mst the return foo(),bar(),baz() case is cute though
03:11 TimToady basically, I need .*?foo to not generate all possible .* matches before it starts matching foo
03:11 mst ahh
03:12 TimToady and a lazy list of potential .* matches is a good way to do that
03:12 TimToady and eager list is not  :(
03:12 mst but as soon as you're invoking a sub call per array fethc, it isn't anymore
03:12 TimToady not a sub, a continuation :)
03:12 TimToady probably just another iteration of a loop somewhere
03:13 mst sure
03:13 mst you don't actually need a full continuation either, since it's single-reinvoke
03:13 mst so a coroutine would probably do
03:13 mst I've seen it done for DBIC resultset iterators that way
03:13 TimToady but the take of a gather/take can be down in any nested dynamic scope, so simple co-routine is not good enough
03:14 TimToady we divorce our co-routines from sub boundaries...
03:14 mst Coro doesn't.
03:14 mst so I don't see why it wouldn't be viable
03:15 TimToady well, it's not such big issue these days, since we avoid lazymaps most of the time now
03:15 mst (and as for being mad, I believe the last thing you said to me in person was "rather you than me" :)
03:16 mst oh, usre
03:16 mst I'm now quite fascinated by the idea of a coro-based gather combined with uvar magic though
03:16 mst that could be rather cute
03:16 mst gah. disadvantages of talking to a language designer: they give you ideas.
03:16 TimToady terrible, ain't it?
03:17 TimToady just think what happens when I start talking to me own self...
03:17 TimToady recursive uglieness ensues
03:18 TimToady *ugliness even
03:18 mst eh. tish and tyops hapne
03:18 TimToady though I kinda like uglie as a word
03:19 mst actually, my problem atm is to write up all the ideas other people want me to give them
03:19 mst which is annoying, because I'd much rather be hacking
03:19 * mst shrugs
03:21 TimToady gee, I'm never in that situation...
03:25 mst there was a reason why I mentioned it, and it wasn't that I was expecting your sympathy ;)
03:29 dukeleto TimToady: I am interested in making complex matrices core datatypes in perl6 and parrot, what are your thoughts about this?
03:29 Patterner1 joined #perl6
03:30 TimToady dukeleto: my thoughts on this are expressed in S09
03:31 TimToady but the short answer is, yes
03:34 mst anyway, I'm running away before I get any more ideas
03:34 mst I'll be back next time I manage to break everything
03:34 mst TimToady: cheers for the bisect assistance
03:34 mst left #perl6
03:35 * TimToady waves belately...
03:35 edenc joined #perl6
03:35 alester_ joined #perl6
03:38 TimToady dukeleto: we could certainly use a lot more tests in t/spec/S09* for such things; that might be a good place to start
03:39 dukeleto TimToady: thanks, that is the direction that I needed
03:39 TimToady and if you wanted to take the PDLish ball and run with it, no one will feel like their turf is being trampled
03:39 TimToady do you have a pugs commit bit yet?
03:39 dukeleto i have recently been hacking on Math::GSL
03:40 dukeleto TimToady: yes, you gave me one at the Portland Parrot Hackathon
03:40 TimToady k, can't keep track of these things...
03:40 dukeleto i was there sitting next to Eric Wilhelm
03:40 dukeleto yep, thanks for asking
03:40 dukeleto I will peek at those tests
03:40 TimToady there really aren't any good multidimension tests yet, and almost nothing on complexes
03:41 dukeleto but I wanted to say that perhaps GSL's matrices are faster for the 80% case of plain "2-dimenstional" matrices
03:41 TimToady mostly S09 will be the resource
03:41 TimToady I'm not familiar with GSL
03:41 wayland76 GNU Scientific Library
03:41 TimToady ah
03:42 wayland76 (just Googled it :)
03:42 dukeleto it is pure C
03:42 dukeleto with a reasonable amount of tests
03:42 TimToady well, it'll be interesting to see how it maps to S09 notions
03:42 dukeleto Math::GSL uses SWIG to generate bindings to most of the extensive GSL library
03:42 TimToady feel free to give feedback on S09 too where it makes your life difficult
03:43 dukeleto TimToady: ok, that sounds like a plan
03:43 TimToady with parrot it'd be more like NCI calls, but I haven't played with it
03:43 dukeleto i ran some stats and found out that roughly 1000 lines of SWIG generates 280,000 lines of XS .
03:44 dukeleto so it is very efficient in that perspective
03:44 dukeleto yes, I have read the parrot NCI rfc, but it still seems vague
03:44 TimToady I'm sure you'll stress their design as well :)
03:44 dukeleto or perhaps I haven't read it recently
03:46 dukeleto I have been fiddling with FFI in the Factor programming language and it is surprising really simple, even simpler than SWIG. I had a GSL binding to Factor in about 1 hours work with some others help. It took years for Math::GSL to actually come together
03:47 pasteling "wayland76" at 118.208.203.186 pasted "Suggested patch to S02" (13 lines, 388B) at http://sial.org/pbot/33265
03:47 dukeleto there is currently no direct maintainer of the SWIG Perl documentation or implementation, so it doesn't get much love
03:47 TimToady If we do this right, we could rewrite GSL in Perl 6. :)
03:47 TimToady and throw away the C code
03:47 dukeleto i am very excited about NCI in Perl6
03:48 TimToady I'm more excited about making Perl 6 powerful enough to not need NCI except for things that really need foreign interfaces
03:48 dukeleto but rewriting some parts of GSL in perl6 would be interesting
03:51 dukeleto quite a large undertaking to do all of GSL (there are almost 50 subsystems), but a small dedicated team could do it
03:51 TimToady anyway, we're hoping to make Perl 6 a respectable language to do scientific computing in, over the long haul
03:51 dukeleto TimToady: that is my primary interest, but in the short term :)
03:52 TimToady which reminds me, some of the sequences in S09 that are 1..*:by(2) should be replaced with 1,3,5...*
03:52 dukeleto TimToady: ok, I will look out for those
03:52 wayland76 ...although I'm reminded of that XKCD cartoon where the gods say "well, ostensibly we created the universe in LISP, but really we hacked most of it together in Perl" :)
03:52 TimToady not that the other doesn't still work, but it's ugly
03:53 TimToady well, it the other xkcd where he says if he had to do it over he'd end with a right paren, I'd like to point out that it's just as easy to end a Perl program with a right paren as a Lisp program...
03:54 wayland76 (s/it/in/, I presume)
03:54 TimToady hai, sou desu.
03:54 dukeleto TimToady: especially if you use a __DATA__ block
03:54 wayland76 (my point in the first one being that respectable or not, Perl gets used :) )
03:55 * TimToady pictures the universe with a DATA block...
03:55 dukeleto hah
03:55 wayland76 Hey, that actually explains the whole universe :)
03:55 wayland76 Because until you have the data block, you don't know what the program is doing :)
03:55 TimToady @universe.pick(1)
03:55 lambdabot Unknown command, try @list
03:55 dukeleto that explains where the big bang kept the little bit of entropy that it needed to start off!
03:56 wayland76 (maybe the __DATA__ block is the Bible :) )
03:56 dukeleto or maybe it just shelled out to csh.....
03:57 wayland76 That explains a lot too -- I just realised that the big bang comes after the big hash
03:57 wayland76 ...and just before the big bin, and the big bash :)
03:57 TimToady well, I happen to think that God is creating the universe sideways like novelist, so what happened at #! is only part of the story...
03:58 wayland76 :)
03:59 TimToady well, bein's it's 20:00 here I should probably decommute and see if my family is still alive...
03:59 wayland76 Don't novelists sometimes have their characters take on a life of their own?
03:59 dukeleto TimToady: thanks for the help
03:59 TimToady you're welcome, and good luck!
04:00 dukeleto much abliged
04:01 TimToady Homeward Bound &
04:03 elmex_ joined #perl6
04:09 wayland76 PARROT PARTY TIME ! :) Parrot 0.8.1 released
04:14 literal <TimToady> which reminds me, some of the sequences in S09 that are 1..*:by(2) should be replaced with 1,3,5...*
04:14 literal how does that work?
04:15 literal does Perl notice the n=n+x pattern? if so, can it notice others?
04:35 jfredett joined #perl6
04:37 kisu joined #perl6
04:39 jfredett joined #perl6
04:39 azawawi joined #perl6
04:39 azawawi good morning
04:39 lambdabot azawawi: You have 1 new message. '/msg lambdabot @messages' to read it.
04:39 azawawi @messages
04:39 lambdabot moritz_ said 20h 48m 54s ago: in principle there's no problem with it, you should just make it clear that it's generated code, and where it comes from. And if there's no license statement in STD.pm,
04:39 lambdabot ask TimToady what's the license
04:53 alc joined #perl6
05:05 kisu_ joined #perl6
05:10 azawawi @tell TimToady what's the license on STD.pm and its generated perl5 code?
05:10 lambdabot Consider it noted.
05:12 kisu__ joined #perl6
05:22 kisu__ joined #perl6
05:50 kisu_ joined #perl6
06:17 meteorjay joined #perl6
06:22 Bzek joined #perl6
06:22 kanru joined #perl6
06:31 azawawi evalbot control version
06:31 p6eval This is evalbot revision 23014
06:31 azawawi evalbot control restart
06:31 p6eval joined #perl6
06:31 azawawi evalbot control version
06:31 p6eval This is evalbot revision 23044
06:32 azawawi highlight: my $foo;
06:32 p6eval Please use /msg p6eval my $foo;
06:38 azawawi @tell moritz_ who's the owner of p6eval (evalbot@timtowtdi.org)? when i try 'highlight:' i get a broken STD_syntax_highlight... maybe needs a crob re-'make clean all'?
06:38 lambdabot Consider it noted.
06:43 kisu joined #perl6
06:50 azawawi @tell TimToady can i safely ignore tokens like routine_declarator__S_114method when comparing trees to identify token change? (e.g. in STD.pm, 'unless' and 'if' have two different trees for the first char and the rest.
06:51 lambdabot Consider it noted.
06:57 ashizawa joined #perl6
07:07 adc_penner joined #perl6
07:25 Jedai joined #perl6
07:25 meteorjay joined #perl6
07:32 flw joined #perl6
07:37 DemoFreak joined #perl6
07:49 Jedai joined #perl6
08:09 pbuetow joined #perl6
08:15 Jedai joined #perl6
08:15 iblechbot joined #perl6
08:46 yahooooo joined #perl6
08:50 moritz_ TimToady: re path to perl in gimme5, would '#!/usr/bin/env perl5.10.0' a good compromise?
08:50 lambdabot moritz_: You have 2 new messages. '/msg lambdabot @messages' to read them.
09:06 [particle]1 joined #perl6
09:08 ejs joined #perl6
09:20 schmalbe joined #perl6
09:57 zamolxes joined #perl6
09:57 [particle] joined #perl6
10:04 kisu_ joined #perl6
10:43 azawawi joined #perl6
10:43 azawawi ping
10:43 moritz_ pong
10:43 moritz_ I've svn up'ped evalbot, and deleted the lex/ cache
10:44 azawawi highlight: my $foo;
10:44 p6eval Please use /msg p6eval my $foo;
10:44 azawawi evalbot control version
10:44 p6eval This is evalbot revision 23044
10:45 azawawi moritz_: strange same problem
10:45 pasteling "azawawi" at 212.38.152.236 pasted "p6eval error" (2 lines, 348B) at http://sial.org/pbot/33267
10:47 moritz_ azawawi: which lex/ dir does the highlighter user?
10:48 azawawi moritz_: i dont know where it lives
10:48 moritz_ azawawi: you shouldn't set up evalbot backends blindly.
10:48 azawawi moritz_: i didnt setup any evalbot
10:49 moritz_ azawawi: no, but you added the highlight backend, right?
10:49 moritz_ that's what I meant
10:49 azawawi moritz_: oh ok
10:49 azawawi moritz_: i used the same code as std
10:49 azawawi ../../src/perl6
10:50 azawawi moritz_: worked on feather1 when i tested it
10:50 moritz_ std: say 'test'
10:50 p6eval std 23044: OUTPUT[00:05 86m␤]
10:51 moritz_ azawawi: on evalbot's server the bot runs under a user that has no write permissions anywhere by default
10:51 azawawi moritz_: hmmm
10:56 azawawi moritz_: so basically with the current evabot configuration 'highlight:' wont work?
10:56 moritz_ azawawi: it won't work unless somebody[tm] takes care of it
10:57 azawawi moritz_: why does std work while STD_syntax_highlight doesnt?
10:57 azawawi moritz_: they are in the same dir
10:57 moritz_ because somedoby took care, probably
10:57 moritz_ (and std: doesn't work reliably as well)
10:59 azawawi oh well at least i tried it ;-)
10:59 moritz_ aye
10:59 moritz_ I'd like to fix that whole stuff, but my diploma thesis takes up too much time :(
11:00 azawawi no problem ;-)
11:00 azawawi things im going to work on: regexp highlighting
11:00 smg joined #perl6
11:01 azawawi highlighting of $+, $? and @+
11:01 azawawi and fix the remaining highlighting bugs...
11:02 azawawi what's ur thesis btw?
11:05 * azawawi lunch + cinema.. later &
11:14 lichtkind joined #perl6
11:45 kisu__ joined #perl6
11:50 kisu__ joined #perl6
11:51 wayland76 @tell azawawi For clues about moritz_'s thesis, see http://moritz.faui2k3.org/en/uni (but I don't know what his thesis is either :) )
11:51 lambdabot Consider it noted.
12:07 moritz_ wayland76: that's a bit out of date
12:07 moritz_ I'm planning to update it, though
12:19 mberends joined #perl6
12:30 xinming joined #perl6
12:33 alexn_org joined #perl6
12:42 zamolxes_ joined #perl6
12:45 sri_kraih_ joined #perl6
12:49 hercynium_ joined #perl6
12:49 smg joined #perl6
12:51 IRSeekBot joined #perl6
12:52 araujo joined #perl6
12:53 kisu__ joined #perl6
13:04 meppl joined #perl6
13:11 Lorn joined #perl6
13:15 meteorjay joined #perl6
13:15 apeiron joined #perl6
13:22 ChrisDavaz joined #perl6
13:28 masak joined #perl6
13:28 meteorjay joined #perl6
13:48 agentzh joined #perl6
13:56 kisu_ joined #perl6
14:09 simcop2387 joined #perl6
14:10 rakudo_svn r32873 | pmichaud++ | [rakudo]:  Update objectref semantics for non-Rakudo objects.
14:28 iblechbot joined #perl6
14:30 rakudo_svn r32875 | pmichaud++ | [rakudo]: spectest-progress.csv update: 220 files, 4578 passing, 41 failing
14:30 rakudo_svn r32875 | pmichaud++ | Failure summary:
14:30 rakudo_svn r32875 | pmichaud++ |     S03-operators/increment.rakudo aborted 41 test(s)
14:34 [particle]1 joined #perl6
14:57 masak what has happened since this table was made? http://www.ozonehouse.com/mark​/blog/code/PeriodicTable.html
14:57 lambdabot Title: Mark Lentczner's Journal
14:58 masak I recognize most things, except for the 'magical whitespace modifier' underscore at the top right.
14:58 PerlJam !!! and ??? aren't there
14:58 PerlJam ??:: is now ??!!
15:00 PerlJam <> for iteration is wrong
15:00 PerlJam heredocs have changed
15:00 masak it's a ceautiful table, so it'd be nice if it were up-to-date.
15:01 masak s/cea/bea/
15:01 masak maybe I should email him and ask?
15:11 PerlJam do it.
15:12 rdice joined #perl6
15:15 * masak does it
15:28 masak what should the behaviour of sign($x) be when $x is complex?
15:29 masak rakudo: say sign($_) for 42, -42, 0+42i
15:29 p6eval rakudo 32877: OUTPUT[1␤-1␤1␤]
15:29 masak somehow, that last one doesn't feel right to me.
15:30 masak I vote for either an error or $x/abs($x)
15:31 PerlJam why would it be an error?
15:31 masak because 'sign' could be argued to only be applicable to real numbers.
15:31 masak i.e. positive numbers, negative numbers, and zero.
15:31 PerlJam but what is it specced to do?  :-)
15:32 masak ah.
15:32 masak it's supposed to return the 'sign' of a number.
15:32 masak i.e. +1, -1 or 0 for the above three groups.
15:32 masak in that way, it's a bit like <=>, except it always compares to 0
15:33 PerlJam oh, it's wrong anyway I think.
15:33 PerlJam rakudo: say sign(-5+3i);
15:33 p6eval rakudo 32877: OUTPUT[1␤]
15:33 rindolf joined #perl6
15:33 PerlJam that can't be right.
15:33 masak it always returns 1 on complex numbers.
15:33 * masak reports a bug
15:41 bacek__ joined #perl6
15:55 ZuLuuuuuu joined #perl6
15:58 Gothmog_ joined #perl6
15:59 PerlJam maybe for complex numbers, sign() should return a complex result?  sign(2+2i) -> 1+1i,  sign(-2+2i) -> -1+1i, sign(2-2i) -> 1-1i,  sign(-2-2i) -> -1-1i
16:00 masak PerlJam: that was what I meant by $x/abs($x) above
16:00 PerlJam oh
16:00 PerlJam well, I vote for that one then :)
16:00 masak note that it's not exactly the same as what you just proposed :)
16:01 masak I proposed to always return something at a distance 1 from 0 (except sign(0) itself, which is 0)
16:04 PerlJam Hmm.  that get's us things like sign(-3+4i) -> -0.6+0.8i
16:05 jhorwitz joined #perl6
16:05 masak exactly.
16:06 PerlJam What advantages are there to being on an imaginary circle?
16:06 masak if we should at all allow sign() on complex values, that is the only reasonable option, as I see it.
16:14 bacek joined #perl6
16:17 ZuLuuuuuu is there a sign concept for complex numbers in mathematics? a complex number's magnitude is either 0 or its magnitude is greater than 0
16:18 masak ZuLuuuuuu: that could be said for real numbers as well.
16:18 masak I don't think there's a sign concept for complex numbers in mathematics.
16:18 ZuLuuuuuu but there is not a "negative complex number"
16:18 ZuLuuuuuu there is negative real number
16:19 ZuLuuuuuu sign of a complex number looks a little weird
16:20 masak ZuLuuuuuu: aye.
16:20 ruoso joined #perl6
16:21 masak and I can't really see the use for it, unless your goal is broken code.
16:21 ruoso Hello!
16:22 kanru joined #perl6
16:22 masak ruoso: saluton!
16:26 Limbic_Region joined #perl6
16:33 ruoso mildew: class Foo {}
16:34 p6eval mildew: RESULT[(null pattern for prefix_circumfix_meta_operator:*) at ../../src/perl6/Cursor.pm line 451.␤unimplemented:  at mildew line 23␤      Mildew::XXX() called at mildew line 252␤  VAST::circumfix::emit_m0ld('VAS​T::circumfix=HASH(0xac62150)') called at mildew line 98␤
16:34 p6eval ..VAST::noun::emit_m0ld('VA...
16:34 spx2 joined #perl6
16:34 ruoso mildew: class Foo { method bar { } }
16:34 p6eval mildew: OUTPUT[m0ld: undeclared register: $void␤]
16:34 ruoso mildew: class Foo { method bar { } }; 1;
16:34 p6eval mildew: OUTPUT[Could not find variable ClassHOW in the lexical scope.␤]
16:34 ruoso cool... it's working...
16:35 masak why didn't the first one work?
16:36 pmurias joined #perl6
16:36 ruoso good question...
16:36 ruoso mildew: class Foo {  }; 1;
16:36 p6eval mildew: OUTPUT[Could not find variable ClassHOW in the lexical scope.␤]
16:36 ruoso interesting... it is parsing {} as different from { }
16:36 ruoso mildew: class Foo { }; 1;
16:36 ruoso mildew: class Foo {}; 1;
16:37 p6eval mildew: OUTPUT[Could not find variable ClassHOW in the lexical scope.␤]
16:37 p6eval mildew: OUTPUT[Could not find variable ClassHOW in the lexical scope.␤]
16:37 masak sounds less than reassuring...
16:37 pmurias ruoso: hi
16:37 lambdabot pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them.
16:37 ruoso hi pmurias
16:37 ruoso well... that wasn't the problem then
16:38 ruoso gah... running svn update on a long-outdated repo is incredibly slow and memory hungry
16:39 stephens joined #perl6
16:41 pmurias ruoso: what's the next thing we should be doing?
16:42 ruoso pmurias, I added a new test for lexical sub
16:42 ruoso I'm working towards ClassHOW.can
16:42 ruoso after that we have 'for'
16:42 ruoso but I'd like to have some clarifications from TimToady before we start that
16:43 pmurias any ideas what cause the memory leak?
16:43 ruoso I'm not sure...
16:45 PerlJam joined #perl6
16:46 spx2 joined #perl6
16:46 dalek joined #perl6
16:47 ruoso I think it's related to the DESTROYALL code in the lowlevel
16:47 pmurias maybe
16:49 ruoso mildew: knowhow ClassHOW { method add_method { $OUT.print("Hey, you're trying to add a method...") } }; class Foo { method bar { } }; 1;
16:49 p6eval mildew: OUTPUT[Hey, you're trying to add a method...]
16:49 ruoso :P
16:50 ruoso mildew: knowhow ClassHOW { method add_method { $OUT.print("Hey, you're trying to add a method...") }; method dispath { $OUT.print("And now you want to call it...."); }; class Foo { method bar { } }; Foo.bar;
16:50 pmurias got to go back to my network less room :( &
16:50 p6eval mildew: OUTPUT[############# PARSE FAILED #############␤Unable to parse knowhow definition␤Unable to parse block; couldn't find final '}' at /tmp/PwfbQzgafR line 1:␤------> [32m; class Foo { method bar { } }; Foo.bar;[31m[0m␤    expecting whitespace␤]
16:50 ruoso mildew: knowhow ClassHOW { method add_method { $OUT.print("Hey, you're trying to add a method...") }; method dispath { $OUT.print("And now you want to call it...."); } }; class Foo { method bar { } }; Foo.bar;
16:50 p6eval mildew: OUTPUT[Could not find method dispatch.␤Hey, you're trying to add a method...]
16:51 ruoso mildew: knowhow ClassHOW { method add_method { $OUT.print("Hey, you're trying to add a method...") }; method dispatch { $OUT.print("And now you want to call it...."); } }; class Foo { method bar { } }; Foo.bar;
16:51 p6eval mildew: OUTPUT[Hey, you're trying to add a method...And now you want to call it....]
16:51 ruoso :P
16:59 hercynium joined #perl6
17:08 Exodist joined #perl6
17:12 hercynium joined #perl6
17:15 kisu_ joined #perl6
17:20 apeiron joined #perl6
17:31 pbuetow joined #perl6
17:32 adc_penner joined #perl6
18:11 simcop2387 joined #perl6
18:12 kisu_ joined #perl6
18:16 adc_penner2 joined #perl6
18:32 ingy TimToady: you summoned?
18:41 TimToady yuval answered :)
18:41 lambdabot TimToady: You have 2 new messages. '/msg lambdabot @messages' to read them.
18:42 TimToady though I don't think the bug is fixed yet...
18:42 TimToady anyway, somewhere in the backlog is a small test case for a utf8 problem
18:54 hellmaster joined #perl6
18:56 hellmaster left #perl6
19:02 mberends joined #perl6
19:07 justatheory joined #perl6
19:08 Lorn_ joined #perl6
19:09 araujo joined #perl6
19:19 ZuLuuuuuu joined #perl6
19:23 kisu_ joined #perl6
19:30 km2 joined #perl6
19:40 rakudo_svn r32901 | pmichaud++ | [rakudo]:  Update test_summary.pl to summarize each synopsis section.
19:40 rakudo_svn r32901 | pmichaud++ | * Also grab plan count from test output if it's available.
19:40 ZuLuuuuuu left #perl6
19:58 kisu__ joined #perl6
20:16 buubot joined #perl6
20:17 buu joined #perl6
20:34 masak joined #perl6
20:46 lichtkind_ joined #perl6
21:06 kisu__ joined #perl6
21:15 jferrero joined #perl6
21:58 zamolxes joined #perl6
21:58 stephens joined #perl6
22:12 ZuLuuuuuu joined #perl6
22:17 kisu__ joined #perl6
22:34 pugs_svn r23045 | moritz++ | [t/spec] added file lexicals-and-attributes.t with tests for RT #58818
22:35 ZuLuuuuuu left #perl6
22:41 rakudo_svn r32905 | moritz++ | [rakudo] add test file for RT #58818 to spectest.data
22:42 pugs_svn r23046 | masak++ | [Spec/Functions.pod] fixed minor typos, added missing arguments to .fmt
23:04 apeiron joined #perl6
23:08 broquaint joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs