Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-07-03

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:18 rjbs left #perl6
00:23 ibrown joined #Perl6
00:40 ihrd joined #perl6
00:41 scottp joined #perl6
00:44 ihrd left #perl6
01:29 last joined #perl6
01:31 cls_bsd joined #perl6
01:32 scottp I was looking at doing the perl6-examples/99-problems - do you think they are worth while?
01:37 scottp Ahhh... I see they are already done in Spec tests, but not examples. Perhaps I will move them to examples with comments as tutorials.
01:47 pmichaud scottp: +1
01:48 pmichaud Need a commit bit to the perl6-examples repo?
01:48 scottp that would be grand - github - scottp
01:49 pmichaud added.
01:49 scottp ta
01:49 pmichaud (afk, errands)
01:51 dalek rakudo: f59630e | pmichaud++ | build/PARROT_REVISION:
01:51 dalek rakudo: Bump PARROT_REVISION to current parrot head.  Some spectests fail
01:51 dalek rakudo: on -G related errors, but we gain the ability to have utf8 arguments
01:51 dalek rakudo: from the command line.  For at least a couple of days we'll accept
01:51 dalek rakudo: the failures in hopes that Parrot folks can better track it down.
01:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f59630e67843f3d44d439706e6bedf33de410b7b
02:05 dukeleto joined #perl6
02:09 hercynium joined #perl6
02:16 agentzh joined #perl6
02:56 nihiliad joined #perl6
03:05 KyleHa joined #perl6
03:08 ihrd joined #perl6
03:08 ihrd left #perl6
03:38 blackdog joined #perl6
03:38 hercynium joined #perl6
03:38 blackdog left #perl6
03:52 pugs_svn r27373 | kyle++ | [t/spec] Added a few tests I don't completely understand based on an IRC
03:52 pugs_svn r27373 | kyle++ | conversation with jnthn++
04:12 pugs_svn r27374 | kyle++ | [t/spec] Test ranges for immutability, remove tests that assume mutabiity.
04:22 jaldhar joined #perl6
04:28 nacho_ joined #perl6
04:47 rfordinal joined #perl6
04:50 rfordinal3643 joined #perl6
04:53 caso joined #perl6
04:57 rfordinal36432 joined #perl6
05:41 ejs joined #perl6
06:01 frew_ joined #perl6
06:09 pjcj_ joined #perl6
06:16 iblechbot joined #perl6
06:18 finanalyst joined #perl6
06:29 justatheory joined #perl6
06:39 justatheory joined #perl6
06:51 Matt-W Morning
06:53 ejs joined #perl6
07:15 meppl joined #perl6
07:16 DemoFreak joined #perl6
07:37 mberends joined #perl6
07:38 mikehh make fulltest PASS, also pre/post config, smolder at r39869 - Ubuntu 9.04 amd64
07:38 mikehh sorry that should be in #parrot
07:48 M_o_C joined #perl6
07:53 dukeleto joined #perl6
07:54 DanielC joined #perl6
07:54 DanielC I hate moving.
07:54 Matt-W urgh
07:54 Matt-W me too
07:54 Matt-W have to think of the end result though
07:54 ejs joined #perl6
07:55 mikehh I am getting - Method 'succ' not found for invocant of class 'Method' in tests including t/00-parrot/04-op-cmp.t  and t/01-sanity/04-if.t  using parrot r39869
07:55 sjohnson i hear ya
07:55 Matt-W Hmm
07:55 Matt-W there's a GC bug that seems to call succ on things when it shouldn't
07:55 Matt-W might be that
07:55 sjohnson how's it going Matt?
08:04 ejs1 joined #perl6
08:16 Matt-W sjohnson: oh not too bad, although my hayfever's insane this morning
08:19 sjohnson ya no kidding
08:19 sjohnson been there
08:19 sjohnson keep a few anti-hystamine pills in my desk for those times at work
08:19 sri_kraih joined #perl6
08:24 pmurias joined #perl6
08:26 Matt-W sjohnson: yeah mine have only just started working, which is about half an hour slower than normal. At least my eyes don't feel like they're full of grit anymore
08:28 iblechbot joined #perl6
08:34 payload joined #perl6
08:56 lichtkind joined #perl6
09:00 eMaX joined #perl6
09:01 mberends DanielC: hi!
09:01 DanielC mberends: o/
09:02 mberends there are some updates to parrot-module-lib, and a few additions to push tonight :)
09:02 DanielC great
09:02 DanielC Ah, yes, I see some commits from you.
09:02 DanielC Can you bring me up to speed? Where is the project right now?
09:03 lichtkind good morning gents
09:04 lichtkind moritz_: read your post, so codepointer is closer to char or is the grapheme?
09:04 mberends the handling of bytecode as data is a little bit blocked, and Rakudo's implementation of use threatens to change for other reasons real soon
09:05 DanielC hm
09:05 mberends DanielC: will you be online to chat this evening?
09:06 DanielC mberends: Yes, I should be.
09:08 mberends ok, because now is not a good time, but there is a lot in the HOWTO to discuss
09:09 DanielC Yeah, I'm in the middle of something too :-)  I'll look at your changes later today and we can chat later.
09:15 payload joined #perl6
09:37 icwiener joined #perl6
09:39 agentzh joined #perl6
09:45 lichtkind mberends: it really isnt that much :)
09:46 sjohnson Perl!
09:48 jnthn hi all
09:49 sjohnson hey
09:49 mberends lichtkind: ;-)
09:49 mberends jnthn: OH HAI
09:52 masak joined #perl6
09:53 Matt-W o/ masak
09:53 rjh joined #perl6
09:53 masak Matt-W: oh hai
09:53 mberends good lunchtime, masak
09:53 Matt-W wish it was lunchtime
09:54 jnthn yay is masak
09:54 Matt-W yay it's jnthn++
09:54 masak mberends: I'm having a sleep cycle malfunction at present. I just had breakfast.
09:54 jnthn Heh, I've only been concious for 45 minutes or so.
09:54 mberends masak: ouch, sry 2 hr tht
09:54 masak oh cool. the whole gang is here. Matt-W, mberends and jnthn.
09:54 masak mberends: it's Peter F. Hamilton's fault.
09:54 masak (and the warmth and the light, of course)
09:55 Matt-W masak: also known as the 'Crazy Europeans'?
09:55 masak Matt-W: not sure I understood that reference.
09:55 masak Matt-W: I'm no more a European than you are. :)
09:56 Matt-W Since I reside in a country considered to be part of Europe, and indeed hold citizenship of an EU member state (and a member of the council of europe), I think I'm entitled to call myself a European
09:56 masak didn't say you weren't.
09:57 masak just said that I'm not more of a European than that.
09:57 Matt-W Aaah semantics
09:57 mberends lunch & :)
09:57 masak but seriously, what did you mean?
09:58 Matt-W So, if a library says it'll build with Sun's compilers, do you think its included libtool should be trying to pass them GCC-specific options?
09:58 masak probably not.
10:00 Matt-W I didn't mean anything in particular by the way, I just thought if you're referring to us as 'the whole gang' we should have a name
10:00 Matt-W and also, you left out moritz_
10:01 masak ah. now I see. "Crazy Europeans" referred to us as a group. yes, that might be fitting.
10:01 masak yes, I left out moritz_, but not out of malice. where is he?
10:01 * masak hasn't backlogged yet
10:02 Matt-W @seen moritz_
10:02 lambdabot moritz_ is in #perl6. I last heard moritz_ speak 13h 47m 39s ago.
10:02 Matt-W ah, he's still in yesterday
10:02 masak maybe moritz_ has a sleep cycle malfunction too.
10:04 Matt-W or $day_job
10:04 masak can someone explain to me how, if comments are whitespace and essentially ignored, the contents of the magical comments in action-calling rules get passed to the action methods?
10:05 jnthn masak: It's because they're magical.
10:05 jnthn ;-)
10:05 jnthn masak: I suspect it's that PGE recognizes #= a bit differently from just #somethingelse though.
10:05 masak does no-one have a problem with them being magical? just curious.
10:05 masak I mean, it was never meant to be that way.
10:05 Matt-W I don't like the syntax
10:05 Matt-W because they look like comments
10:06 masak they _are_ comments.
10:06 masak the spec is very clear on that.
10:06 Matt-W I'd prefer something that's syntactically attached to the {*}
10:06 jnthn They are mentioned explicitly in S05.
10:06 * masak looks
10:06 Matt-W but we're relying on them so heavily
10:06 jnthn So it's not just something Rakudo-specific.
10:06 Matt-W yeah they are specced
10:06 Matt-W I've not liked them in here before but someone persuaded me it was okay
10:06 Matt-W can't remember how though
10:07 pmurias masak: #= are specced
10:08 * Matt-W wonders what speccing {*('thing')} would do to the parsing of *
10:08 Matt-W horrendous things, probably
10:08 jnthn std:  {*('thing')}
10:08 p6eval std 27374: OUTPUT«ok 00:02 36m␤»
10:08 jnthn Guess it parses already?
10:08 jnthn yes
10:08 pugs_svn r27375 | pmurias++ | [re-smop] prefix:<!>,prefix:<not>,&not,&infix:<and>
10:08 jnthn Just a term with a postcircumfix
10:08 pmurias masak: *('thing') is ugly
10:08 pugs_svn r27376 | pmurias++ | [re-smop] started working on making m0ld emit LOST
10:09 masak pmurias: ok. :)
10:09 pmurias walk
10:09 masak I don't find the reference to #= in S05.
10:12 Matt-W and comment content suddenly coming alive and appearing as parameters to action methods isn't ugly?
10:12 Matt-W I guess with embedded closures working, we could just call the methods directly and pass in extra params
10:13 jnthn masak: Huh?
10:13 jnthn "The tag is supplied via a C<#=> comment later
10:13 jnthn on the same line as the C<{*}>.  There must be whitespace between the C<#=>
10:13 jnthn and the tag, but the tag itself may contain spaces.
10:13 jnthn "
10:13 masak jnthn: thanks.
10:13 jnthn masak: Search fail ;-)
10:14 masak oh, I had my git pointing to the past. :/
10:14 Matt-W time travel failure
10:14 Matt-W first rule: always know when you are
10:15 Chillance joined #perl6
10:17 masak I was going to argue that the spec as a whole is inconsistent, but I think the most that can be said is that this is a case where whitespace is significant. we have a few such cases, but this is one I don't really like.
10:17 amoc joined #perl6
10:18 Matt-W it does bug me
10:19 Matt-W have to train yourself to see them as significant to the behaviour of the code, no matter how much they look like comments
10:19 masak well, it's essentially an accidental feature.
10:19 masak it's very unlike Perl 6.
10:19 Matt-W but it's become quite important to the use of action methods
10:20 masak that doesn't make it right.
10:20 Matt-W no
10:20 Matt-W but it does mean that it can't just be taken away
10:20 Matt-W an alternative solution is required
10:20 masak oh, of course.
10:20 Matt-W one that's so good that everyone will say 'gosh, why didn't we do it like that already'
10:20 masak yeah.
10:21 masak {*} has the advantage that it's short, and it calls the 'same' method in the Action class. that's cool.
10:21 Matt-W yeah
10:21 Matt-W but you just need a variant that says 'here, have this extra parameter list'
10:22 jnthn std: {*:foo} # probably two terms in a row
10:22 p6eval std 27376: OUTPUT«ok 00:02 36m␤»
10:22 jnthn oh, not.
10:25 masak it's hard to keep the parameters close to the [*} without breaking its visual-pill-ness.
10:25 masak with all their flaws, #= comments do that.
10:28 jnthn I think they look visually curious enough (you don't normally start a comment with a =) to shout "lol hai I'm not quite a comment"
10:31 Matt-W only just
10:33 Matt-W {*:foo} looks nice, although might prove problematic for whitespacey things
10:34 lichtkind can someone explain if char level of strings is more closely to grapheme or codepoints?
10:35 last joined #perl6
10:36 masak jnthn: the spec doesn't say they're not quite comments. taxonomically, they're ordinary comments. S02 doesn't mention them as a special case.
10:39 masak lichtkind: S32/Str says chars are usually graphemes.
10:40 lichtkind masak: thanks
10:40 jnthn masak: Oh, for sure, I was coming more from a "how they look" angle.
10:43 masak I don't have a problem with how they look. I agree with you there.
10:43 masak but they're semantic stowaways.
10:44 masak we usually have higher standards in Perl 6.
10:44 Matt-W I have a problem with something looking so much like a comment carrying so much semantic value
10:48 masak too bad we haven't found the Obvious Replacement yet. :)
10:49 masak it needs to be something that the surrounding rule blithely ignores, just like the comment.
10:49 masak it should have some connection to the {*}, preferably even more of one than the #= comment has -- being on the same line is quite a weak connection.
10:50 masak but it preferably shouldn't destroy the pillness of {*} itself.
10:50 jnthn _and_ it should look a bit like a pony.
10:50 jnthn ;-)
10:51 masak maybe we're too tied to the * thing.
10:51 masak it's awesome and all, but it doesn't really mean anything.
10:51 jnthn I agree semantically it's curious though.
10:51 masak maybe it'd be better if it were {.act}
10:51 masak it's still not too long, and it says what it is.
10:51 jnthn Well, {...} is a closure, and * is "whatever" so together it's like "run whatever code"
10:51 jnthn "you work out what to run"
10:51 jnthn etc.
10:52 masak yes, I know, I know.
10:52 masak but that's just rationalization, when it comes down to it.
10:52 masak without the magic, a {*} is a no-op.
10:55 Matt-W yes but Perl runs on magic
10:55 Matt-W I'm quite happy with {*} meaning 'whatever it is you're supposed to run here'
10:55 Matt-W which is then known to be the method from thea ctions object with the same name as the current rule
10:55 Matt-W but it'd be nice to give it a parameter list right there :)
11:08 DanielC I'm having trouble following the discussion. What is {*} ?
11:11 masak DanielC: you know about grammars and actions?
11:11 DanielC I know enough to write an RPN calculator, and you showed me a bit about actions.
11:12 DanielC I remember that in a rule {*} means "run the action with the same name as this rule"
11:12 DanielC and an action is basically a sub... yes?
11:12 masak a method, but yes.
11:12 masak it's a method, because all actions are collected into a class.
11:13 masak DanielC: seems to me you already know what {*} is. :)
11:15 DanielC_ joined #perl6
11:21 pmurias joined #perl6
11:29 KyleHa joined #perl6
12:00 Matt-W And there I was hoping you'd have solved all the problems over lunch
12:05 payload joined #perl6
12:14 masak` joined #perl6
12:21 rfordinal joined #perl6
12:23 elmex_ joined #perl6
12:23 alanhaggai joined #perl6
12:23 takadonet joined #perl6
12:23 takadonet morning everyone
12:25 Matt-W afternoon :)
12:25 * masak` doesn't know what time of day it is
12:25 takadonet Afternoon then :)
12:26 Matt-W masak: it's 14:25 or so where you are
12:26 masak Matt-W: ah, that's why it's so bright outside.
12:27 ruoso joined #perl6
12:28 pmurias ruoso: hi
12:29 ruoso hi
12:30 pmurias instead of pursuing adhoc optimalisation i'm adding LOST emitting to m0ld
12:30 Matt-W what's LOST?
12:32 masak hm, LOw-level something...
12:33 masak LOw-level STate machine.
12:33 Matt-W Lightweight Object-oriented Syntactic Tribulator
12:33 pmurias LOw-level SomeThing
12:33 masak Matt-W: according to ruoso: http://irclog.perlgeek.de/perl6-soc/2009-07-01#i_1281806
12:34 Matt-W okay
12:34 Matt-W so it's a state machine engine or soemthing?
12:35 pmurias a C switch statement with a fancy api
12:35 masak :)
12:35 Matt-W lol
12:35 Matt-W hopefully slightly more intelligent than that
12:37 cls_bsd joined #perl6
12:38 pmurias Matt-W: what it means is that i'm compiling Perl 6 code to a C switch statement
12:38 masak for some reason, that sounds very painful.
12:43 pmurias masak: i'm doing it on the opcode stage so it's quite fun
12:43 eternaleye_ joined #perl6
12:43 masak pmurias: what's the goal of LOST?
12:48 pmurias the idea is that by putting a block of C code in a switch statement it implement the SMOP continuation API
12:48 skids joined #perl6
12:49 ejs2 joined #perl6
12:50 ruoso masak, in other words, make C code preemptive, and non recursing in the C stack
12:50 synth joined #perl6
12:51 masak sounds handy.
12:51 pugs_svn r27377 | pmurias++ | [re-smop] m0ld --lost emits more instructions
12:58 jnthn OK, one more thingy to sort out, and then I can get into some Rakudo hacking. :-)
12:58 * jnthn accidentally spent all of yesterday doing Rakudo.
12:58 * masak is doing some Hitomi hacking right now
12:59 * jnthn needs to stop parsing that as Hitonmi (Hit on me)
12:59 * takadonet also accidentally played with Rakudo all day yesterday
12:59 jnthn :-)
13:00 jnthn It's strangely addictive.
13:00 takadonet I know
13:00 takadonet I been working on a very large perl 5 application.... that I want to rewrite in perl 6
13:00 skids ruoso, pmurias: you may be interested in the stuff WhiteKnight is researching for Parrot WRT runloops.
13:01 masak jnthn: you should try writing it. :)
13:01 * Matt-W thinks that L1 thing looks very interesting
13:02 masak jnthn: half of the time it's Hitmo, half of the time it's Himoti.
13:02 masak that's what I get for picking a cool japanese name for my software. :P
13:02 masak rakudo: class A { has @!a; method new() { self.bless(*, :a[1,2,3]) }; method list { @!a } }; say @(A.new()).perl # as expected
13:02 p6eval rakudo f59630: OUTPUT«[1, 2, 3]␤»
13:02 Matt-W one day, when japanese goes out of fashion, you're going to look back on that and wince
13:03 skids Matt-W: I think it has potential, but could also be done wrongly.
13:03 masak rakudo: class A { has @!a; method new() { self.bless(*, :a(1,2,3)) }; method list { @!a } }; say @(A.new()).perl # shouldn't that yield the same?
13:03 p6eval rakudo f59630: OUTPUT«[1]␤»
13:03 masak Matt-W: Japanese will never go out of fashion. don't be silly.
13:03 masak they have ninjas.
13:03 Matt-W skids: of course, everything could be done wrongly
13:04 mizioumt joined #perl6
13:04 skids Well, you can find my full opinion in the various comments on his blog.
13:05 skids At any rate this post is of interst to any prospective VM runloop author: http://wknight8111.blogspot.com/2009/06/understanding-opcode-dispatch.html
13:06 pugs_svn r27378 | pmurias++ | [re-smop] refactored the normal C and LOST backends of m0ld into
13:06 pugs_svn r27378 | pmurias++ | seperated modules
13:06 pmurias skids: i've seen that blog post already it's a cool one
13:10 skids So a goto on an interpreter will cause it to start the goto'd continuation at the next opcode breakpoint, and if you wanted to stop that interpreter (from a different one) and resume it you goto what?  NULL? and then goto the resumed continuation when you are ready?
13:12 skids (just seems right now there's loop to get it going, and goto to steer it, but no brakes :-)
13:13 FurnaceBoy joined #perl6
13:17 pmurias $interpreter.goto(false) stops the interpreter
13:17 skids Thanks.
13:18 pmurias feel free to update the docs ;)
13:18 skids That's why I asked :-)
13:18 pmurias good ;)
13:23 pmichaud good morning, #perl6
13:24 takadonet morning pmichaud
13:25 Matt-W hey pmichaud
13:26 masak morning, pm.
13:26 masak today's bug:
13:26 masak rakudo: grammar G { regex TOP { <foo>+ }; regex foo { foo } }; class A { method list() { return ["OH NOES!"] }; method bar { G.parse("foo"); .say for $/<foo>.list } }; A.new.bar
13:26 p6eval rakudo f59630: OUTPUT«OH NOES!␤»
13:26 masak what in the world is going on there?
13:27 norbi joined #perl6
13:28 pmichaud I strongly suspect it's TT #536.
13:28 pmichaud But in particularly, you're overloading the .list method
13:28 pmichaud *particular
13:28 masak I know.
13:28 masak but for A, not for G.
13:28 pmichaud .list is a base method on Object.
13:28 norbi hi, can i contact the http://www.rakudo.org webmasters here?
13:29 masak pmichaud: but G is not subclassing A.
13:29 norbi first issue is that the RSS feed (http://www.rakudo.org/rss.xml) seems to be stuck around Mar 2009, the other issue is that some guy states that there's spam on the site (http://www.rakudo.org/community#comment-66) - i didn't verify that
13:29 pmichaud masak: TT #536 means that your list method is overriding  the "list" function.
13:30 masak ...which calls Object.list? :/
13:30 pmichaud the "for" statement calls list()
13:30 pmichaud (to impose list context)
13:30 masak oh.
13:30 * masak works around
13:31 masak thanks for the explanation.
13:31 pmichaud I'll bump the ticket up a notch in priority.
13:32 Whiteknight joined #perl6
13:32 TimToady masak: re {*} #=, STD has very few of them anymore, and viv ignores them in any case
13:32 TimToady they were originally a bootstrap hack for using a preprocessor
13:33 masak TimToady: I'll interpret that as "It's still not to late to hatch a better idea".
13:33 TimToady viv already uses the implicit reductions at the end of the rule instead
13:33 TimToady and there's no need for a tag there
13:34 masak what's an implicit reduction?
13:34 TimToady if you look into rakudo's grammar, each rule ends with a {*}, iirc
13:34 TimToady that's redundant
13:34 masak aye.
13:34 TimToady if you look at STD, there's no {*}
13:35 TimToady because a call to the appropriate action is already implied there
13:35 masak ok, now I hear "you don't need to send parameters to action methods anyway".
13:35 pugs_svn r27379 | skids++ |
13:35 pugs_svn r27379 | skids++ | [re-mildew] mildew: add -fPIC to BOILERPLATE CFLAGS
13:35 TimToady and if you want finer grained actions, you just factor into multiple rules
13:35 masak I like that.
13:36 pmichaud I haven't quite figured out how to get PGE to catch up to the implicit reductions without breaking existing code, those.
13:36 pmichaud *though.
13:36 TimToady from viv's autoloader:
13:36 TimToady return if @_;   # not interested in tagged reductions
13:37 pugs_svn r27380 | pmurias++ | [re-smop] m0ld --lost emits calls
13:38 ruoso the coolest part of using lost, is that the code in the shared object will actually be shared, while with mold the code was actually resident in the program
13:38 Matt-W TimToady: so if you give the grammar an actions object, it should implicitly call it after each rule matches?
13:38 TimToady that's what STD does
13:39 TimToady it's just basically $*ACTIONS.rulename(@tags) in p6ish
13:39 TimToady well, $*ACTIONS.rulename(@tags) if $*ACTIONS
13:40 TimToady done by _REDUCE in Cursor.pmc
13:40 masak what's in @tags?
13:40 TimToady and _REDUCE also happens to be called by  _MATCHIFY for the whole rule
13:41 TimToady for the rule as a whole, nothing
13:41 TimToady ah, |@tags in p6
13:41 TimToady so just () for whole rule
13:42 Matt-W hmm
13:43 * Matt-W wonders if he could refactor his grammars to not require tags
13:43 * Matt-W thinks probably yes
13:43 masak given a string and a position in that string, how do I turn the position into a line number?
13:43 TimToady rakudo doesn't support implicit end-tags yet, afaik
13:43 masak I guess that's the same as asking "how do I count the number of newlines before a certain position in a string"?
13:44 masak s/"\?/?"/
13:44 Matt-W TimToady: I'm thinking if it did
13:44 pmurias skids: so mildew fully works for you with the -fPIC option (or you still don't have Coro?)
13:44 pmichaud ..."implicit end-tags"?
13:44 avar masak: Combine regex match with .substr ?:)
13:44 masak avar: yes, something like that.
13:45 masak avar: or comb.
13:45 pmichaud +$foo.substr(0, $pos).split(/\n/)
13:45 pmichaud or yes
13:45 pmichaud +$foo.substr(0,$pos).comb(/\n/)
13:46 TimToady STD builds a table once and reuses it
13:46 TimToady in the lineof method
13:46 avar (I don't know p6) Is it possible for split() to know that it's in numeric context there so it doesn't actually have to do the split work?
13:46 masak pmichaud: I arrived at the same; thanks. :)
13:47 masak avar: optimizer.
13:47 TimToady would have to know that Str is a closed class
13:47 TimToady and final
13:48 pmichaud computing the line number in a string is a frequent enough operation that I sometimes wonder if we should have a builtin method for it.
13:49 pmichaud but perhaps it's only frequent in the problem domains where I happen to be working (compilers and parsers)
13:49 masak :)
13:49 masak pmichaud: sounds like a module to me.
13:51 TimToady STD just attaches line info to its memos array that it has to keep per-position anyway
13:51 exodist joined #perl6
13:52 TimToady since it just does it once, it doesn't have to keep substring and splitting repeatedly
13:52 TimToady *substr'ing
13:53 TimToady trades memory for it, of course
13:56 Chillance joined #perl6
13:57 pmurias TimToady: re final we can always check if it's a known Str class
13:58 Whiteknight Infinoid: ping
13:58 Whiteknight (oops, wrong room)
13:59 masak Whiteknight: pinging in the wrong channel is akin to mis-tabbing. now you have to write one cool Perl 6 script as punishment. :)
13:59 takadonet hehe
14:00 pmichaud does fixing a Rakudobug count?
14:00 masak I'll go with "yes".
14:01 pmichaud norbi: (rakudo.org RSS feed) -- yes, we know it's currently broken.  I just got admin privs to the site last week, but I don't yet have enough drupal knowledge to know how to fix it.
14:02 pmichaud the rss feed is still pointing to the movable type installation that existed prior to converting to drupal
14:05 literal masak: I'll be mostly away this weekend, going camping
14:05 masak literal: have the appropriate amount of fun.
14:05 literal will do
14:06 masak literal: if my Web.pm task list suddenly runs out or stalls, I'll take a look at u4x and plan a little.
14:07 literal cool
14:11 pmurias Whiteknight: your blog posts suggests that compiling opcodes to their inlined definition is slower than executing them via a runloop?
14:11 Whiteknight pmurias: can be, especially if your inline versions trash the processor's cache
14:11 Whiteknight plus the overhead of calling memcpy repeatedly to perform the inlining
14:12 norbi pmichaud: ok, thanks (unfortunately i don't know drupal at all, so i cannot offer my help)
14:13 pmurias Whiteknight: i'm compiling the opcodes beforehand to C
14:14 pmichaud norbi: I've removed the comment spam -- thanks for pointing that out.
14:16 Whiteknight pmurias: then that might be pretty speedy, again assuming cache performance doesn't fall off a cliff
14:31 lucs left #perl6
14:34 amoc joined #perl6
14:40 molaf joined #perl6
14:45 KyleHa joined #perl6
14:48 KyleHa I tried writing tests for this ticket:  http://rt.perl.org/rt3/Public/Bug/Display.html?id=62836
14:48 phenny KyleHa: 02 Jul 20:12Z <moritz_> tell KyleHa there was a test already for multi(::T $a, T $b) which I now unfudged (S05-multi/type-based.t)
14:49 M_o_C joined #perl6
14:49 KyleHa I'm confused about whether 'sub List::a { 1 }'  should work.
14:49 KyleHa The ticket says 'class List is also { method  a { a} }' works, but the original bug report uses the 'sub' form.
14:49 masak it probably shouldn't work.
14:49 KyleHa In Rakudo, the latter works, and the former gives a not found error.
14:50 KyleHa masak: So Rakudo is right now?  If so, I can commit what I have.
14:50 masak I think it is.
14:51 KyleHa thanks!
14:51 masak KyleHa++ # turning tickets into tests
14:52 KyleHa *bow*
14:53 pugs_svn r27381 | kyle++ | [t/spec] Test for RT #62836
14:57 pmurias joined #perl6
15:01 pugs_svn r27382 | kyle++ | [t/spec] fix the plan I b0rked
15:04 pugs_svn r27383 | pmurias++ | [re-smop] tools/ri understands %lost_mold blocks - they don't compile yet
15:04 dalek rakudo: 6a4d66a | pmichaud++ | docs/spectest-progress.csv:
15:04 dalek rakudo: spectest-progress.csv update: 412 files, 11546 passing, 90 failing
15:04 dalek rakudo: Failure summary:
15:04 dalek rakudo:     S05-grammar/parse_and_parsefile.t aborted 6 test(s)
15:04 dalek rakudo:     S05-metasyntax/regex.rakudo aborted 17 test(s)
15:04 dalek rakudo:     S12-enums/basic.rakudo 27 - short name of the enum without parenthesis is an enum
15:04 dalek rakudo:     S16-filehandles/io.rakudo aborted 62 test(s)
15:04 dalek rakudo:     S32-num/rand.rakudo aborted 4 test(s)
15:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6a4d66a94a5ee901454069a918e4fa825a905f9d
15:10 dalek grok: 8777062 | (Hinrik Örn Sigurðsson)++ | M (2 files):
15:10 dalek grok: Make use of Module::Install::AuthorRequires
15:10 dalek grok: review: http://github.com/hinrik/grok/commit/8777062b7864a352cffe0a352724c8ff83fa791d
15:10 dalek grok: 471efbf | (Hinrik Örn Sigurðsson)++ |  (2 files):
15:10 dalek grok: Use PAGER environment variable if set
15:10 dalek grok: review: http://github.com/hinrik/grok/commit/471efbf0ec83a1981dbc7f06ac5d1f7663208b74
15:10 pugs_svn r27384 | pmichaud++ | [t/spec]:  Correct named argument to srand(), fudge it for rakudo.
15:10 jnthn pmichaud: Are all but the enum and the rand one GC/segfault related?
15:10 pmichaud well, the rand one is now no longer an error.  :-)
15:11 pmichaud at least, it's an error we know about (binding positional parameters to named args)
15:11 rfordinal joined #perl6
15:11 jnthn Ah, ok
15:11 pmichaud I'm not sure about the enum one.
15:11 jnthn The enum one I think is not related to those issues.
15:11 pmichaud but I suspect that one is not GC/segfault related
15:12 jnthn I don't know exactly what cuased the regression yet.
15:12 jnthn Anyway, I guess wait and see if Parrot gets a real solution for a couple of days.
15:13 pmichaud I'm thinking that perhaps we run spectests with gc turned off.
15:13 jnthn And if not, I'll apply the patch to bump the buckets up to 16 from 4 and then get forgiven.
15:13 jnthn I did one round of permission first already. ;-)
15:14 jnthn Well, I'm running them with the 16 patch applied locally.
15:14 jnthn So I can see what I've actually broken.
15:15 pmichaud I'm more concerned about what happens when people get the latest version of rakudo and see all of these spectest failures.
15:15 pmichaud i.e., we get lots of false bug reports
15:15 jnthn True.
15:15 pmichaud right now, the most reliable way to avoid that is to run with gc disabled.
15:16 pmichaud t/spec/S05-grammar/parse_and_parsefile.t  passes on my x86 box but gives the .succ error on x86_64
15:17 pmichaud it runs fine on x86_64 when run from parrot as opposed to fakecutable
15:18 jnthn Yeah but if the spectests are running into it, then people's programs are going to be too.
15:19 pmichaud Sure, but I don't see how leaving it enabled in spectests provides us any benefit.
15:20 jnthn True.
15:21 jnthn I just don't like disabling GC wholesale.
15:21 pmichaud I don't like it either, but I'm less than optimistic about it being fixed soon.
15:23 jnthn In that case, let's patch the workaround into Parrot?
15:23 jnthn I only didn't do it because I thought there was a chance that we may get it fixed soon.
15:24 jnthn And tbh, if somebody immediately goes and reverts it, well, fine, we still have a revision of Parrot to build Rakudo against with the latest fixes you want and that doesn't explode.
15:24 pmichaud Sure, I'd prefer the Parrot workaround to disabling gc in spectests.
15:24 jnthn And it's a one-line change for anybody who wants to continue debugging.
15:24 pmichaud I'm mainly interested in making sure that 1.4 is stable, though.
15:30 masak is there a way to set $! from within a sub?
15:33 rindolf joined #perl6
15:33 jnthn rakudo: sub foo { $! = "omfg"; say $! }; foo()
15:33 p6eval rakudo f59630: OUTPUT«omfg␤»
15:33 masak no, that's not what I meant. :/
15:33 jnthn Well, you're just complicated. ;-)
15:33 jnthn What is it you were wanting?
15:34 masak the situation is this: a called sub might fail. is there a way to check for the type of failure after it has finished?
15:35 jnthn Without explicitly checking the failure that is returned by the sub?
15:35 masak oh, maybe that's what I'll have to do.
15:35 * masak tries subclassing Failure
15:36 * jnthn hopes masak gets the Failure he wnats.
15:36 jnthn ;-)
15:36 masak rakudo: class SomeError is Failure {}; sub foo { return SomeError }; say foo ~~ SomeError
15:36 pmichaud What we have here is a Failure to communicate.
15:36 p6eval rakudo f59630: OUTPUT«SomeError()␤»
15:36 masak yep, seems to work.
15:37 masak I see jokes about Failure are becoming more popular. must be a wave of schadenfreude or something.
15:38 TimToady nobody notices when I make that joke; I guess some people can tell 'em, and some people can't...
15:38 pmichaud TimToady:  I noticed.
15:38 TimToady apparently :)
15:38 pmichaud TimToady: I even felt ashamed for repeating it just now.
15:38 pmichaud TimToady: but it fit slightly better in today's thread than yesterday's.
15:39 kborer joined #perl6
15:39 TimToady Cool Hand Patrick...
15:41 pmichaud besides, all the great orators plagiariz.... er, re-use existing material, so I'm just trying to imitate them.  :-)
15:41 masak waitwait, is the CATCH mechanism sufficiently evolved in Rakudo yet?
15:41 * masak goes off to check some tests
15:41 pmichaud masak: probably not.
15:41 masak :/
15:41 pmichaud but worth checking
15:41 masak actually, I don't need much right now. a simple try {} would probably work.
15:42 masak but reporting _which_ exception occurred would be nice, too.
15:43 pmichaud $! should be properly set in the try.
15:44 pmichaud of course,   "return SomeError"  doesn't throw an exception.
15:44 pmichaud er, a catchable exception
15:44 pmichaud er, a .... you get the point.  It's not the same as fail()
15:44 stepnem joined #perl6
15:44 pmichaud I mean it's not the same as die()
15:44 pmichaud arggggh.
15:44 pmichaud FAIL.
15:45 masak not sure I follow. :)
15:46 M_o_C github++ for offering a clean url which returns a current snapshot of the repo. makes creating a git replacement much easier :) (Using git is not that easy when you're on windows...)
15:47 masak ah, no; test 18 in t/spec/S04-statements/try.t fails in Rakudo.
15:47 masak it would have been what I wanted.
15:47 jnthn M_o_C: I'm using git on Windows with only occasional bouts of swearing at it.
15:47 masak but nvm; I'll just use a vanilla try statement for the time being.
15:47 M_o_C the msys git version I suppose?
15:47 jnthn M_o_C: Yes.
15:49 M_o_C I thought about installing that, too. But since I already have a MSYS environment and don't really want to set up another one I'll probably stick with my workaround.
15:49 M_o_C (As long as I don't plan to commit that is)
15:50 lisppaste3 skids pasted "64bit mess pmurias/ruoso question" at http://paste.lisp.org/display/82959
15:51 jnthn M_o_C: Ah, OK. I just used the installer and it Just Worked. But I wasn't using msys previously.
15:53 skids ruoso, pmurias: and of course the above paste would have to pad out for 32bit...
15:54 rfordinal3643 joined #perl6
15:54 stepnem joined #perl6
16:02 |MoC| joined #perl6
16:05 Limbic_Region joined #perl6
16:10 jnthn OK, time for some Rakudo hacking!
16:10 takadonet nice
16:11 ibrown joined #perl6
16:11 jnthn rakudo: multi trait_mod:<is>($declarand, :$rw!) { say "ok" }; trait_mod:<is>(42, :rw)
16:12 p6eval rakudo 6a4d66: OUTPUT«Statement not terminated properly at line 2, near ":<is>(42, "␤in Main (src/gen_setting.pm:3279)␤»
16:12 jnthn rakudo: multi trait_mod:<is>($declarand, :$rw!) { say "ok" }; &trait_mod:<is>(42, :rw)
16:12 p6eval rakudo 6a4d66: OUTPUT«ok␤»
16:14 jnthn pmichaud: It doesn't matter to me right now, but I think the first one is a Rakudo parse bug.
16:21 masak hm, time to head home and secure some nom.
16:22 masak Hitomi hacking has been productive today; I hope to be able to blog about it tonight.
16:23 stepnem joined #perl6
16:24 eMaX joined #perl6
16:27 [1]Limbic_Region joined #perl6
16:32 pmichaud rakudo:  say infix:<+>(3,4);
16:32 p6eval rakudo 6a4d66: OUTPUT«Statement not terminated properly at line 2, near ":<+>(3,4);"␤in Main (src/gen_setting.pm:3279)␤»
16:33 pmichaud rakudo:  say &infix:<+>(3,4);
16:33 p6eval rakudo 6a4d66: OUTPUT«7␤»
16:33 pmichaud jnthn: known bug.
16:33 jnthn pmichaud: OK.
16:34 jnthn pmichaud: It's no a blocker for me at all. Just noticed it.
16:34 pmichaud this "plea for parrot memory corruption fixes" is proving to be a very interesting message.  :-|
16:34 jnthn :-S
16:36 skids I tried to dig after it last night, to try bacek's experiment on trunk by preventing COW when a key is made from a string, but I got lost somewhere around the 5th indirection in SETATTR
16:37 Psyche^ joined #perl6
16:37 skids I did get as far as to see SETATTR on a string uses string_copy, which of course doesn't actually copy a string, just COWs it :-)
16:39 pmichaud what is very interesting is that I'm getting completely different results on x86 versus x86_64
16:40 skids Well, when your structs have different alignment relationships internally, that's to be expected.
16:42 pmichaud yes.  But in the past I used to get errors on 64-bit (but not 32) or vice-versa
16:42 pmichaud This is the first time I've seen errors on both platforms (albeit different errors in each platform)
16:44 skids On the upside, by the time the bug gets found, lots of developers will be MUCH more familiar with the internals :-/
16:48 pmichaud jnthn: what's the patch you're using to increase the bucket size to 16?  I might try that here while I'm out at lunch
16:48 pugs_svn r27385 | moritz++ | [S04] 'constant' now scopes like 'our'
16:48 pugs_svn r27385 | moritz++ |
16:48 pugs_svn r27385 | moritz++ | TimToday++ changed that in S03 a while back, and forgot to update it here too.
16:48 skids pmichaud: just set INITIAL_BUCKETS in src/hash.c to a power of 2
16:49 pugs_svn r27386 | moritz++ | [t/spec] whitespaces
16:49 skids AFAICT nobody has tried 8 with the heisenbug
16:49 pmichaud skids++ thanks
16:49 pugs_svn r27387 | moritz++ | [t/spec] merge slurpy-params{-2,}.t
16:49 pugs_svn r27388 | moritz++ | [t/spec/TODO] more tasks and some cleanup
16:49 pugs_svn r27389 | moritz++ | [t/spec] constant declarator scopes like our
16:50 jnthn pmichaud: Exactly what skids said
16:51 pmichaud okay.  I'm waiting for my current batch of spectests to finish
16:51 pmichaud then I'll add those results to my message, then I'll retry with INITIAL_BUCKETS at 16
16:51 pmichaud (on both x86 and x86_64)
16:52 pmurias joined #perl6
16:54 pmurias skids: re paste, i just wanted to convert a pointer into a unique stringish representation
16:55 skids So the length can vary as long as it's unique?
16:56 skids Or does it have to be 1:1 mapping the other way?
16:57 pmurias the length can vary
16:57 skids Oh, and while you are here, when you cleaned up the (IV) in two places you used PTR2IV and two other seemingly identical places PTR2SV. (?)
16:57 pmurias oops
16:57 jnthn TimToady: For trait_mod:<does>, is there any reason not to require a pre-declared type name there?
16:58 skids I can fix.  I figured the PTR2SV was bad.
16:58 jnthn That is, is there a valid use for the does modifier other than declaring that a role is done?
16:59 jnthn Also, do you see class Foo does SomeRole[Int,Str] { } as boiling down to either:
16:59 jnthn a) trait_mod:<does>($metaclass, SomeRole, Int, Str)
16:59 jnthn or
16:59 jnthn b) trait_mod:<does>($metaclass, SomeRole[Int, Str])
17:00 jnthn (the second falls out more naturally if we parse a pre-declared typename there)
17:01 pmurias skids: why didn't it die at link time?
17:04 ruoso joined #perl6
17:05 eternaleye joined #perl6
17:05 pmurias skids: should i commit the PTR2SV fix or did you already fix it?
17:06 icwiener_ joined #perl6
17:09 skids pmurias: I'm guessing because IV and SV are the same size... if you want I have not edited that file in my lastest round.
17:09 skids still killing warnings.
17:10 skids oh the link time thing wasn't smop.  had me wondering.
17:11 skids erm, nevermind
17:11 skids (staying away from anything "lost" since you seem active on that at the moment)
17:11 pmurias (killing warnings)++
17:12 skids (though killing warnings is more useful if the make system can detect single file modifications)
17:13 pmurias can't scons do it?
17:14 pmurias skids: you mean if i change a file on it gets recompiled?
17:15 skids Well, I have to make clean to get a rebuild currently, I think probably due to the copying/hardlinking of c files into build/  Haven't looked into it much.
17:15 stepnem joined #perl6
17:16 pmurias if i change a single file only it gets recompiled here
17:17 pmurias ruoso: is it ok if i make LOST mold specific that is make SMOP__LOST__Frame contain registers and similiar things?
17:17 ruoso pmurias, you could simply define a binary-compatible structure with lost frame that defines additional things
17:20 pmichaud okay, running spectests with a new hash bucket size.... and heading off to lunch.
17:30 stepnem joined #perl6
17:34 SmokeMachine joined #perl6
17:40 arnsholt joined #perl6
17:53 eternaleye joined #perl6
17:56 stepnem joined #perl6
18:04 TimToady jnthn: I'd think the parser would see Type[] as an instantiating typename in any case
18:04 mberends joined #perl6
18:05 TimToady and if the MD enforces the typeness, I don't think the parser would necessarily have to
18:05 TimToady unless you want a more specific message, I suppose...
18:05 jnthn TimToady: It wouldn't have to, it's just going to make the code a little simpler if it parsed a <typename> there, that's all. ;-)
18:06 TimToady in STD, typename includes the []
18:06 jnthn Yes.
18:06 jnthn My handling of typename includes building a node that knows what to do with the []
18:06 jnthn So I was just after avoiding the duplication.
18:07 TimToady is it not using the typename rule to parse the trait?
18:07 TimToady hmm
18:07 jnthn STD currently says
18:07 jnthn token trait_mod:does { :my $PKGDECL is context = 'role'; <sym>:s <module_name>
18:07 jnthn }
18:07 jnthn Thus my question.
18:08 jnthn I expected it to say <typename> rather than <module_name> there.
18:08 jnthn And wondered if there was a reason that it didn't.
18:08 Chillance joined #perl6
18:09 TimToady I was probably thinking typename didn't include :ver and such, but it looks like longname allows that
18:11 TimToady but module_name also parses a trailing []
18:11 Chillance joined #perl6
18:11 TimToady so it's more of a needless redundancy, perhaps
18:12 TimToady the can perhaps be merged
18:12 jnthn That might be sensible.
18:12 TimToady *they
18:13 TimToady but I have 3 things hanging design fire at the moment, so can't really deal with it
18:14 jnthn OK, no hurry.
18:14 jnthn But your answer has given me enough to move forward in Rakudo.
18:14 jnthn Which is what I was after. :-)
18:16 takadonet greedy jnthn
18:17 * jnthn is now going to be greedy for food and cook himself lots fo dinner
18:17 jnthn *of
18:17 jnthn Back to hacking on traits in a bit. :-)
18:18 TimToady takadonet: is that ta kado or taka do?
18:18 TimToady or something else?
18:19 takadonet TimToady:No idea, I just made up this name when I was a kid
18:19 TimToady :)
18:22 eternaleye TimToady: Way of the Hawk Networks would be an awesome name for an ISP
18:23 eternaleye takadonet: ( 'taka' being 'hawk' in Japanese, and 'do' being 'way' )
18:24 TimToady well, "dou" is way
18:24 TimToady but yes, that's often shortened to "do" in eigo
18:24 TimToady ta kado would of course be the corner of the field :)
18:24 takadonet hehe
18:25 takadonet I rather have my name mean 'hawk way' then corner of the field
18:26 eternaleye Japanese reminds me a _lot_ of Perl. I learned Perl 5 a year before I started on Japanese, and I was like "oh, 'ga' is like 'given { }'" and "Wow, the adjectives system makes so much sense"
18:27 TimToady or if you want to decide on looks, 田角 vs 鷹道
18:27 dukeleto_ joined #perl6
18:27 eternaleye The particles system is just really neat. It makes parsing a sentence way easier than other languages for me.
18:27 TimToady well actually, wa is more given, and ga the actual subject of the sentence
18:28 TimToady yes, it's easier to parse if you can think in reverse polish :)
18:28 eternaleye TimToady: My teacher called it the 'topic marker', where 'wa' is subject and 'wo' is object
18:28 TimToady wa is topic, ga is subject, wo is object
18:29 eternaleye So given {} sets the ting you're doing stuff to, but you may be inside a method for a class, which is the subject
18:29 TimToady generally you use wa when you want to introduce a new topic
18:29 TimToady yeah
18:30 TimToady but OO typically doesn't distinguish subject from object
18:30 eternaleye TimToady: But that doesn't explain why 'watashi wa hon wo yomimasu' is set up that way - 'watashi' is clearly subject nad 'hon' (book) is clearly object
18:30 eternaleye *and
18:30 TimToady it can function as the subject because the Japanese are very clever about intuiting missing info :)
18:31 eternaleye TimToady: Factory-based OO usually distinguishes subject/object, IIRC
18:31 eternaleye TimToady: Agreed
18:31 TimToady and, in fact, you don't sound Japanese if you say that
18:31 eternaleye How come?
18:31 TimToady since watashi would be assumed for an indicative statement anyway
18:31 eternaleye Ah
18:31 TimToady hon wo yomimasu is sufficient
18:32 TimToady and hon wo yomimasu ka? defaults to "you"
18:32 eternaleye My teacher taught us a semester and a half of formal Japanese before she started us on informal
18:32 TimToady that's still formal
18:33 eternaleye TimToady: Well, she wanted us practicing the pronouns a lot early on, and it kinda stuck for most of us
18:33 TimToady it tends to for English speakers
18:33 takadonet TimToady: The first set of Japanese characters are for 'hawk way'?
18:33 TimToady the subject is not something you can leave out in English
18:33 TimToady (generally)
18:33 TimToady though you can sometimes get away with "went to the store today."
18:33 Tene That happens a lot for english speakers learning lojban, too.
18:34 eternaleye Yeah. Japanese is a fun language, and the etymology is doubly interesting
18:34 TimToady well, lojban doesn't even exactly have nouns
18:34 eternaleye Mmmm, tasty predicate grammar
18:34 Tene More like noun phrases.
18:34 TimToady indeed, Japanese has been "proven" to be closely related to just about every other language group at one time or another
18:34 * araujo wonders how would be a spoken perlish-like language
18:35 TimToady probably sound a lot like lolspeak
18:35 araujo :D
18:35 moritz_ araujo: with less sigils ;-)
18:35 Tene I've often thought that lojban was very perlish, but that could certainly be attributed to overactive pattern-matching on my part.
18:35 araujo moritz_, haha, yeah, i mainly wonder because of the sigils
18:36 justatheory joined #perl6
18:36 TimToady I actually dislike predicates with positionals
18:36 TimToady they're not at all consistent across the language, last I checked
18:36 TimToady much prefer a case grammar
18:36 TimToady (more like named parameters)
18:37 pmurias araujo: wouldn't the sigils be pronounced as swear words?
18:37 eternaleye pmurias: Oh, _that_ might be a fun language to create
18:37 araujo pmurias, omg
18:37 araujo :D
18:37 araujo perl - the adult language
18:38 Pismire joined #perl6
18:38 TimToady std: class F'ing {...}
18:38 p6eval std 27389: OUTPUT«ok 00:02 35m␤»
18:41 araujo :)
18:42 zamolxes joined #perl6
18:45 pmichaud jnthn: ping
18:46 jlaire joined #perl6
18:49 jnthn pmichaud: pong
18:50 pmichaud switching INITIAL_BUCKETS to 16 doesn't solve the -g problems for me.
18:50 pmichaud -G
18:50 jnthn Oh?
18:50 pmichaud it gives different errors instead
18:50 jnthn Well, it was always a "hides it" rather than "solves it".
18:50 pmichaud it does fix them on x86, though.
18:50 jnthn Ah, OK. I'm on x86.
18:50 pmichaud where "fix" is probably "hide"
18:50 jnthn Right.
18:50 jnthn It's a workaround, not a solution.
18:51 stepnem joined #perl6
18:51 pmichaud It might not even be a workaround.
18:51 pmichaud (for non-x86 platforms, at least)
18:51 jnthn Well, evidently not for all platforms, no.
18:51 jnthn Needs a Real Solution I guess.
18:51 pmichaud I'm re-running my test now just to make sure I didn't do anything bizarre
18:56 pmichaud oh, hmm.
18:56 pmichaud I must have not rebuild properly.... or perhaps there's a Parrot dependency involved somewhere.
18:56 icwiener joined #perl6
18:57 pmichaud make realclean and rebuild seems to have resolved it (at least for the tests that were failing) -- running a full spectest now.
18:57 icwiener Is it already possible to write perl6 apps that can be l10n'ed using gettext?
18:58 pmichaud Something happened in S04-declarations/constant.t that is causing rakudo to start failing those tests, though.
18:59 pmichaud I'm guessing they weren't fudged.
18:59 Tene icwiener: no, not yet.  maketext is on my list of libraries to port, though.
18:59 icwiener Tene: Ok, thanks for the iinformation.
18:59 icwiener ... and for the work. :)
19:01 ruoso joined #perl6
19:02 Tene icwiener: it's currently queued behind a port of Curses::UI and something kinda like POE
19:02 Tene so it might be a little while before I get to it.
19:03 icwiener Tene: Sure. :) I just have to write a little script that needs l10n, so I wondered if I could write it in Perl 6 already.
19:06 Tene icwiener: a basic Maketext implementation would be pretty short... :)
19:10 kborer joined #perl6
19:15 icwiener Tene: If the day had 30 hours. :D I have to be careful not to add more stuff to my queue. I almost got kicked from univerity for not having enough credit points. ;)
19:16 Tene heh
19:16 Tene I know what that's like.
19:22 pugs_svn r27390 | skids++ | [re-smop] Tidy up a bunch of warnings
19:22 pugs_svn r27390 | skids++ | [re-smop] A few more PTR2IV fixes for 64bit
19:24 pmurias joined #perl6
19:28 skids If the day had 30 hours I'd sleep in.
19:29 mizioumt joined #perl6
19:38 FurnaceBoy +1
19:46 sri_kraih joined #perl6
19:46 * jnthn back
19:50 takadonet welcome back jnthn
19:52 takadonet cya everyone
19:52 sjohnson bye
20:18 pmichaud results of switching INITIAL_BUCKETS to 16:  http://gist.github.com/140287
20:19 jnthn pmichaud: Heh. Very limited hiding of the issue then.
20:20 jnthn (on 64-bit)
20:20 pmichaud oops, I pasted the wrong one.  Corrected:  http://gist.github.com/140288
20:21 pmichaud (still has issues)
20:21 jnthn Tells a similar story.
20:21 mikehh joined #perl6
20:23 pugs_svn r27391 | kyle++ | [t/spec] Test for RT #67122
20:24 pugs_svn r27392 | kyle++ | [t/spec] Test for RT #67024
20:34 kane__ joined #perl6
20:49 rfordinal joined #perl6
20:55 jnthn Phew, I get through the build again with the traits refactor.
21:00 masak joined #perl6
21:00 masak evening.
21:01 masak I have a Web.pm 'weekly' post coming up.
21:02 mberends wahey, so it was worth waiting up :)
21:02 masak just need to find a suitable Bible quote...
21:16 frew_ joined #perl6
21:19 masak here we go: http://use.perl.org/~masak/journal/39224
21:20 masak btw, mberends: how are the Yarn plans going? I had someone come and ask me the other day about Yarn.
21:20 pugs_svn r27393 | pmurias++ | [re-smop] added yeast which is a specialistation of LOST frames for compiling down molds
21:20 pugs_svn r27394 | pmurias++ | [re-smop] fixing some bugs in yeast - doesn't work yet
21:20 pugs_svn r27395 | pmurias++ | [re-smop] added yeast.setr
21:20 pugs_svn r27396 | pmurias++ | [re-smop] use mold untill yeast is tested
21:20 masak mberends: ah, right, here: http://irclog.perlgeek.de/perl6/2009-06-29#i_1274439
21:21 jnthn I lieks tihs booze! :-D
21:21 masak jnthn: some bible quotes get so much more pointed when translated to lolspeak. :)
21:22 mberends masak: zilch, zilch yarn, sorry to have to admit
21:22 masak mberends: you seem to have been busy lately. I haven't felt your online presence a lot.
21:22 jnthn masak: oh noes, you revealed my sick mind to all! :-P
21:23 jnthn masak: I'm curious, what does hitonm^Whitme^Whitomi mean in Japanese?
21:23 masak jnthn: 'doubly beautiful', or so I've read.
21:23 masak I think I wrote that in the post too...
21:24 masak half of the beauty comes from the Genshi heritage, with the nice Streams model. the other half is because it's Perl 6. :)
21:24 jnthn :-)
21:25 masak by the way, today was the first time I felt I really had the upper hand on grammars and Match objects.
21:25 masak it was a nice feeling.
21:25 masak I still don't really get along with action methods, mostly because the order they do things in doesn't match the order I want things in.
21:25 * jnthn scratches his head and ponders what on earth is wrong with his traits refactor...
21:26 pmurias @tell ruoso i hope i didn't break anything with my commits, they are a bit rought and untested and i'm a bit sleepy
21:26 lambdabot Consider it noted.
21:26 jnthn rakudo: multi foo(Object $a, Object $b) { say 1 }; multi foo(Code $a, $arg?, :$export!) { say 2 }; foo(1,2); foo({ "x" }, :export)
21:26 masak M_o_C: that's a nice thought, but no.
21:26 p6eval rakudo 6a4d66: OUTPUT«1␤2␤»
21:27 huf joined #perl6
21:27 jnthn rakudo: multi foo(Object $a, Object $b) { say 1 }; multi foo(Code $a, $arg?, :$export!) { say 2 }; foo(1,2); foo({ "x" }, 42, :export)
21:27 p6eval rakudo 6a4d66: OUTPUT«1␤2␤»
21:27 mberends masak: relocating is a huge time sink, offline, and still ongoing :(  there was an opportunity to study some PIR and think about parrot-module-lib
21:27 jnthn hmm...so fi that works...
21:28 masak mberends: I suspected that you were still in the process/aftermatch of relocating. hope it's going well.
21:29 mberends moderately, neither wonderful nor terrible :/
21:35 masak I guess moving house is always a bit of a chore.
21:38 jnthn Indeed. I did it twice within the space of six months and then decided I wanted to stay put for a bit!
21:38 masak I've stayed put, more or less, for seven years now. I've forgotten what it's like to be on the move.
21:39 masak it's going to be difficult to leave this town.
21:40 mberends while moving, possessions are not assets, they're liabilities :(
21:41 masak especially heavy possessions.
21:44 mberends somnia &
21:45 masak ah, but for a bit of that...
21:46 * jnthn slowly loses hope that he'll complete this refactor this evening.
21:46 jnthn on the up side, I just passed all of the sanity tests.
21:47 jnthn ...but segfault in the test harness. Ouch.
21:48 masak :/
21:49 masak software is hard!
21:49 jnthn rakudo: multi trait_mod:<is>(Object $child, Object $parent) { say 1 }; multi trait_mod:<is>(Code $block, $arg?, :$export!) { say 2 }; sub foo { }; &trait_mod:<is>(&foo, :export)
21:49 p6eval rakudo 6a4d66: OUTPUT«2␤»
21:49 masak people who say we'll reach the technological singularity in a few decades must not be programmers...
21:50 * jnthn ponders why on earth this works here, but not in the setting...
21:50 jnthn (Granted, that signature isn't really right, but still...)
21:51 jnthn rakudo: class Foo { }; say Foo ~~ Abstraction
21:51 p6eval rakudo 6a4d66: OUTPUT«0␤»
21:51 jnthn :-(
21:52 masak rakudo: say Abstraction ~~ Abstraction
21:52 p6eval rakudo 6a4d66: OUTPUT«1␤»
21:52 masak std: Abstraction
21:52 p6eval std 27396: OUTPUT«ok 00:02 35m␤»
21:53 masak std: NoneSuch
21:53 p6eval std 27396: OUTPUT«Undeclared name:␤      NoneSuch used at 1 ␤ok 00:02 35m␤»
21:54 masak used to be STD.pm kept pre-declared types in STD.pm itself, but seems no more. where are they now?
21:54 jnthn I wondered that too.
21:55 masak a simple ack for 'Abstraction' yields nothing.
21:56 masak hm, but that's because ack has its own ideas about where to look... :/
21:56 masak CORE.setting seems to be it.
21:57 masak hehe, I'm still a bit curious about that 'class KitchenSink'... :)
21:58 jnthn std: KitchenSink
21:58 p6eval std 27396: OUTPUT«ok 00:02 35m␤»
21:59 jnthn buubot: spack KitchenSink
21:59 buubot Couldn't match input.
21:59 masak the spec doesn't mention it, I think. but it's been in STD.pm for quite some time.
22:00 jnthn *sigh*
22:00 * jnthn is so close, yet so far, to making this work.
22:01 jnthn I've managed to get all of the traits defined in the setting (yes, inline PIR occurs, but still...no fudging signatures together)
22:01 masak std: trim ' example '
22:01 p6eval std 27396: OUTPUT«ok 00:02 35m␤»
22:01 jnthn oh hmm
22:02 masak std: trim_start ' example '
22:02 p6eval std 27396: OUTPUT«ok 00:02 35m␤»
22:02 masak trim_start and trim_end are in CORE.settings, but also not mentioned in S\d\d
22:02 jnthn file specbug!
22:03 jnthn ;-)
22:03 masak :)
22:03 sjohnson bugs
22:04 masak sjohnson: why, hello there!
22:04 sjohnson hey
22:04 sjohnson how's it goin
22:04 masak sjohnson: fine. today has been a day of Perl 6 coding, so I'm happy. :)
22:05 masak sjohnson: how's with you?
22:05 Psyche^ joined #perl6
22:05 * jnthn gets himself some ice cream while his Rakudo re-builds
22:05 sjohnson pretty good, i am writing a plugin for weechat in Perl 5
22:05 sjohnson so far it is coming along nicely
22:06 masak I like when things are coming along nicely.
22:07 sjohnson masak: what irc client did you use again
22:07 sjohnson irssi?
22:07 sjohnson or KDE irc
22:07 masak sjohnson: ERC.
22:08 masak it's an Emacs plugin. I'm a very satisfied customer.
22:08 sjohnson neet
22:08 masak I use vim for coding, but Emacs for IRC and writing prose.
22:09 sjohnson i use vim for coding as well
22:09 sjohnson i have "pimped out" my .vimrc quite a bit
22:09 masak as you should. :)
22:09 sjohnson whenever i go to a new machine, i can hardly stand to use vim without a .vimrc that i can call my own
22:09 sjohnson for some reason, i always type :Q to quit by accident
22:09 sjohnson somehow i keep pressing the shift key
22:10 masak that's where a tarball of settings files and a USB stick come in.
22:11 masak or (even better) keep your settings under distributed version control.
22:11 sjohnson yeah, for sure
22:11 sjohnson i also have my own binutils that i wrote in perl
22:11 sjohnson to do very common things
22:11 sjohnson probably the most is the "abs" command
22:11 sjohnson which returns the absolute path of args or STDIN
22:11 sjohnson god that is handy
22:11 masak :)
22:19 Chillance joined #perl6
22:22 stepnem joined #perl6
22:34 jnthn Ah! Cracked it.
22:34 jnthn I think.
22:35 masak jnthn++
22:36 jnthn OK, half cracked it.
22:36 jnthn No more segfaults, sanity tests run, etc.
22:36 masak yay.
22:36 jnthn But I may have broken exporting a bit.
22:37 jnthn (the is export)
22:37 jnthn Aye
22:37 jnthn Test.pm's plan etc don't export properly. Hmm.
22:39 jnthn oh, I see now
22:40 jnthn multi sub plan(Whatever $plan) is export(:DEFAULT) {
22:40 jnthn normal is export works, just not the argument version.
22:40 masak oh.
22:43 jnthn Well, it's a trait, which is the stuff I've been messing with, so only marginally surprising. ;-)
22:44 jnthn After this, we should be about at the point where you can start writing custom traits.
22:45 masak sounds nice.
22:45 jnthn Yeah
22:46 jnthn It's another one of those get-closer-to-the-spec and feature winning refactors.
22:47 jnthn ok, fixed that one.
22:47 jnthn \o
22:47 jnthn o/
22:47 sjohnson >_>
22:47 masak what is this, a disco? :P
22:47 jnthn \o/ /\o/\ o< /o\
22:48 masak that second one looks like a spider.
22:48 jnthn :-P
22:48 jnthn If you look closely, it's a reference to a bad disco song. :-)
22:48 masak do I want to know? :)
22:50 jnthn http://en.wikipedia.org/wiki/Y.M.C.A._(song)#Origin_of_hand_movement_and_dance
22:50 masak oh, of course.
22:50 jnthn http://en.wikipedia.org/wiki/File:YMCA_dance.jpg
22:50 jnthn Well, I did the best I could in ASCII. :-P
22:51 * jnthn does a spectest run to see how wide-spread the damage is.
22:51 jnthn So far, the only thing I've regressed on is some type constraint stuff which I know I need to put back in place anyway.
22:53 jnthn Going to do that bit tomorrow though.
22:53 jnthn When I've had time to sleep on it a bit.
22:53 jnthn Whatever I do is going to make a fairly make-shift-ish solution anyway.
22:54 masak nice that you didn't get as stuck as you thought tonight.
22:56 jnthn Wasn't so bad once I got the C-debugger out.
22:56 nacho_ joined #perl6
22:57 jnthn What's really nice
22:57 jnthn Is that all the traits are defined in the setting now.
22:57 jnthn Apart from the compiler handled ones.
22:57 jnthn of course, there's some inline PIR, but I think we can reduce that too somewhat.
22:58 jnthn I didn't attempt to re-write that which already existed, just surrounded it a Perl 6 body.
22:58 jnthn That includes the traits as fundemental as inheritance and role composition though.
22:59 jnthn Another upshot is a bunch of custom trait-y dispatch code has now disappeared.
23:01 masak wohoo!
23:01 masak best code is no code.
23:06 jnthn so check this out
23:06 jnthn http://gist.github.com/140363
23:07 jnthn This now works, locally.
23:08 masak imressive.
23:09 masak s/im/imp/
23:10 masak so, I've been trying out potion, why_'s cute functional language. http://hackety.org/potion/
23:10 masak ten minutes into some lazy coding, I find a bug. :/
23:10 masak now, where's the potionbug email address?
23:10 jnthn Yeah, unfortunately, though some of the S14 tests went explodey so I'll have some debugging to do tomorrow.
23:14 * masak yawns
23:14 masak je čas na spanie.
23:15 pmichaud fwiw, I think I would prefer to get rid of the :DEFAULT in Test.pm
23:15 jnthn masak: ano, je to pravda.
23:15 masak :)
23:15 cotto joined #perl6
23:15 masak too true.
23:16 jnthn pmichaud: Aye, I agree they're not needed.
23:16 jnthn OK, I fail quite a bit, but not as bad as it coulda been.
23:17 jnthn And almost entirely concentrated in S12 and S14.
23:17 jnthn I'll work on that tomorrow.
23:17 jnthn And try and get this traits refactor pushed.
23:18 jnthn Then I should probably try and blog a little.
23:18 eternaleye joined #perl6
23:20 justatheory_ joined #perl6
23:20 Chillance joined #perl6
23:27 xomas joined #perl6
23:29 kborer_ joined #perl6
23:29 * masak emailed _why explaining the Potion bug
23:30 beggars joined #perl6
23:38 nihiliad joined #perl6
23:53 justatheory joined #perl6

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

Perl 6 | Reference Documentation | Rakudo