»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 27 June 2009.
00:18 rjbs left 00:23 ibrown joined 00:36 DemoFreak left 00:40 ihrd joined 00:41 scottp joined 00:44 ihrd left 00:46 sri_kraih_ left 00:54 Whiteknight left 00:57 rindolf left 01:13 athomason left 01:14 justatheory_ left 01:29 last joined, FurnaceBoy left 01:31 cls_bsd joined
scottp I was looking at doing the perl6-examples/99-problems - do you think they are worth while? 01:32
01:36 Chillance left
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:37
01:38 icwiener left
pmichaud scottp: +1 01:47
Need a commit bit to the perl6-examples repo? 01:48
scottp that would be grand - github - scottp
pmichaud added. 01:49
scottp ta
pmichaud (afk, errands)
dalek kudo: f59630e | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to current parrot head. Some spectests fail

from the command line. For at least a couple of days we'll accept the failures in hopes that Parrot folks can better track it down.
01:51
02:05 dukeleto joined 02:09 hercynium joined 02:15 agentzh left 02:16 agentzh joined 02:44 last left 02:56 nihiliad joined 03:00 hercynium left 03:05 KyleHa joined 03:08 ihrd joined, ihrd left 03:38 blackdog joined, hercynium joined, blackdog left, skids left
pugs_svn r27373 | kyle++ | [t/spec] Added a few tests I don't completely understand based on an IRC 03:52
r27373 | kyle++ | conversation with jnthn++
04:01 Limbic_Region left
pugs_svn r27374 | kyle++ | [t/spec] Test ranges for immutability, remove tests that assume mutabiity. 04:12
04:22 rfordinal left, jaldhar joined 04:28 nacho_ joined 04:32 KyleHa left, nacho_ left 04:47 rfordinal joined 04:50 rfordinal3643 joined 04:53 caso joined 04:57 rfordinal36432 joined, rfordinal36432 left 05:11 rfordinal left 05:12 rfordinal3643 left 05:14 caso left 05:32 cotto left 05:41 ejs joined 05:42 dukeleto left 05:50 xinming_ is now known as xinming 06:01 frew_ joined 06:09 pjcj_ joined 06:16 iblechbot joined 06:17 ejs left 06:18 finanalyst joined 06:25 pjcj left 06:29 justatheory joined 06:36 scottp left 06:39 justatheory left, frew_ left, justatheory joined
Matt-W Morning 06:51
06:53 ejs joined 07:00 iblechbot left 07:06 ejs left 07:15 meppl joined 07:16 DemoFreak joined 07:37 mberends joined
mikehh make fulltest PASS, also pre/post config, smolder at r39869 - Ubuntu 9.04 amd64 07:38
sorry that should be in #parrot
07:48 M_o_C joined 07:53 dukeleto joined 07:54 DanielC joined
DanielC I hate moving. 07:54
Matt-W urgh
me too
have to think of the end result though
07:54 ejs joined
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
Matt-W Hmm
there's a GC bug that seems to call succ on things when it shouldn't
might be that
sjohnson how's it going Matt?
08:04 ejs1 joined 08:11 ejs left 08:16 payload left
Matt-W sjohnson: oh not too bad, although my hayfever's insane this morning 08:16
sjohnson ya no kidding 08:19
been there
keep a few anti-hystamine pills in my desk for those times at work
08:19 sri_kraih joined 08:24 pmurias joined
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:26
08:28 iblechbot joined 08:34 payload joined 08:56 lichtkind joined 08:58 payload left 09:00 eMaX joined
mberends DanielC: hi! 09:01
DanielC mberends: o/
mberends there are some updates to parrot-module-lib, and a few additions to push tonight :) 09:02
DanielC great
Ah, yes, I see some commits from you.
Can you bring me up to speed? Where is the project right now?
lichtkind good morning gents 09:03
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
DanielC hm 09:05
mberends DanielC: will you be online to chat this evening?
DanielC mberends: Yes, I should be. 09:06
mberends ok, because now is not a good time, but there is a lot in the HOWTO to discuss 09:08
DanielC Yeah, I'm in the middle of something too :-) I'll look at your changes later today and we can chat later. 09:09
09:15 payload joined 09:37 agentzh left, icwiener joined 09:39 agentzh joined
lichtkind mberends: it really isnt that much :) 09:45
sjohnson Perl! 09:46
jnthn hi all 09:48
sjohnson hey 09:49
mberends lichtkind: ;-)
jnthn: OH HAI
09:52 masak joined
Matt-W o/ masak 09:53
09:53 rjh left, rjh joined
masak Matt-W: oh hai 09:53
mberends good lunchtime, masak
Matt-W wish it was lunchtime
jnthn yay is masak 09:54
Matt-W yay it's jnthn++
masak mberends: I'm having a sleep cycle malfunction at present. I just had breakfast.
jnthn Heh, I've only been concious for 45 minutes or so.
mberends masak: ouch, sry 2 hr tht
masak oh cool. the whole gang is here. Matt-W, mberends and jnthn.
mberends: it's Peter F. Hamilton's fault.
(and the warmth and the light, of course)
Matt-W masak: also known as the 'Crazy Europeans'? 09:55
masak Matt-W: not sure I understood that reference.
Matt-W: I'm no more a European than you are. :)
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.
just said that I'm not more of a European than that.
Matt-W Aaah semantics 09:57
mberends lunch & :)
masak but seriously, what did you mean?
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.
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
and also, you left out moritz_
masak ah. now I see. "Crazy Europeans" referred to us as a group. yes, that might be fitting. 10:01
yes, I left out moritz_, but not out of malice. where is he?
masak hasn't backlogged yet
Matt-W @seen moritz_ 10:02
lambdabot moritz_ is in #perl6. I last heard moritz_ speak 13h 47m 39s ago.
Matt-W ah, he's still in yesterday
masak maybe moritz_ has a sleep cycle malfunction too.
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?
jnthn masak: It's because they're magical. 10:05
;-)
masak: I suspect it's that PGE recognizes #= a bit differently from just #somethingelse though.
masak does no-one have a problem with them being magical? just curious.
I mean, it was never meant to be that way.
Matt-W I don't like the syntax
because they look like comments
masak they _are_ comments. 10:06
the spec is very clear on that.
Matt-W I'd prefer something that's syntactically attached to the {*}
jnthn They are mentioned explicitly in S05.
masak looks
Matt-W but we're relying on them so heavily
jnthn So it's not just something Rakudo-specific.
Matt-W yeah they are specced
I've not liked them in here before but someone persuaded me it was okay
can't remember how though
pmurias masak: #= are specced 10:07
Matt-W wonders what speccing {*('thing')} would do to the parsing of *
horrendous things, probably 10:08
jnthn std: {*('thing')}
p6eval std 27374: OUTPUT«ok 00:02 36m␤»
jnthn Guess it parses already?
yes
pugs_svn r27375 | pmurias++ | [re-smop] prefix:<!>,prefix:<not>,&not,&infix:<and>
jnthn Just a term with a postcircumfix
pmurias masak: *('thing') is ugly
pugs_svn r27376 | pmurias++ | [re-smop] started working on making m0ld emit LOST
masak pmurias: ok. :) 10:09
pmurias walk
10:09 pmurias left
masak I don't find the reference to #= in S05. 10:09
10:09 synth left 10:11 cls_bsd left
Matt-W and comment content suddenly coming alive and appearing as parameters to action methods isn't ugly? 10:12
I guess with embedded closures working, we could just call the methods directly and pass in extra params
jnthn masak: Huh? 10:13
"The tag is supplied via a C<#=> comment later
on the same line as the C<{*}>. There must be whitespace between the C<#=>
and the tag, but the tag itself may contain spaces.
"
masak jnthn: thanks.
jnthn masak: Search fail ;-)
masak oh, I had my git pointing to the past. :/ 10:14
Matt-W time travel failure
first rule: always know when you are
10:15 Chillance joined 10:16 amoc left
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
10:17 amoc joined
Matt-W it does bug me 10:18
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.
it's very unlike Perl 6.
Matt-W but it's become quite important to the use of action methods
masak that doesn't make it right.
Matt-W no 10:20
but it does mean that it can't just be taken away
an alternative solution is required
masak oh, of course.
Matt-W one that's so good that everyone will say 'gosh, why didn't we do it like that already'
masak yeah.
{*} 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
but you just need a variant that says 'here, have this extra parameter list'
jnthn std: {*:foo} # probably two terms in a row 10:22
p6eval std 27376: OUTPUT«ok 00:02 36m␤»
jnthn oh, not.
masak it's hard to keep the parameters close to the [*} without breaking its visual-pill-ness. 10:25
with all their flaws, #= comments do that.
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:28
Matt-W only just 10:31
{*:foo} looks nice, although might prove problematic for whitespacey things 10:33
lichtkind can someone explain if char level of strings is more closely to grapheme or codepoints? 10:34
10:35 last joined
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:36
lichtkind: S32/Str says chars are usually graphemes. 10:39
lichtkind masak: thanks 10:40
jnthn masak: Oh, for sure, I was coming more from a "how they look" angle.
masak I don't have a problem with how they look. I agree with you there. 10:43
but they're semantic stowaways.
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
masak too bad we haven't found the Obvious Replacement yet. :) 10:48
it needs to be something that the surrounding rule blithely ignores, just like the comment. 10:49
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.
but it preferably shouldn't destroy the pillness of {*} itself. 10:50
jnthn _and_ it should look a bit like a pony.
;-)
masak maybe we're too tied to the * thing. 10:51
it's awesome and all, but it doesn't really mean anything.
jnthn I agree semantically it's curious though.
masak maybe it'd be better if it were {.act}
it's still not too long, and it says what it is.
jnthn Well, {...} is a closure, and * is "whatever" so together it's like "run whatever code"
"you work out what to run"
etc.
masak yes, I know, I know. 10:52
but that's just rationalization, when it comes down to it.
without the magic, a {*} is a no-op.
Matt-W yes but Perl runs on magic 10:55
I'm quite happy with {*} meaning 'whatever it is you're supposed to run here'
10:55 payload left
Matt-W which is then known to be the method from thea ctions object with the same name as the current rule 10:55
but it'd be nice to give it a parameter list right there :)
DanielC I'm having trouble following the discussion. What is {*} ? 11:08
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.
I remember that in a rule {*} means "run the action with the same name as this rule" 11:12
and an action is basically a sub... yes?
masak a method, but yes.
it's a method, because all actions are collected into a class.
DanielC: seems to me you already know what {*} is. :) 11:13
11:15 DanielC_ joined, DanielC_ left 11:17 eMaX left 11:21 pmurias joined 11:24 amoc left 11:29 KyleHa joined, DanielC left 11:39 jaldhar left
Matt-W And there I was hoping you'd have solved all the problems over lunch 12:00
12:05 payload joined 12:14 masak left, masak` joined 12:21 rfordinal joined 12:23 elmex_ joined, alanhaggai joined, takadonet joined
takadonet morning everyone 12:23
Matt-W afternoon :) 12:25
masak` doesn't know what time of day it is
takadonet Afternoon then :)
12:25 masak` is now known as masak
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
pmurias ruoso: hi 12:28
ruoso hi 12:29
pmurias instead of pursuing adhoc optimalisation i'm adding LOST emitting to m0ld 12:30
Matt-W what's LOST?
masak hm, LOw-level something... 12:32
LOw-level STate machine. 12:33
Matt-W Lightweight Object-oriented Syntactic Tribulator
pmurias LOw-level SomeThing
masak Matt-W: according to ruoso: irclog.perlgeek.de/perl6-soc/2009-0...#i_1281806
Matt-W okay 12:34
so it's a state machine engine or soemthing?
pmurias a C switch statement with a fancy api 12:35
masak :)
Matt-W lol
hopefully slightly more intelligent than that
12:37 elmex left, elmex_ is now known as elmex, cls_bsd joined
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:39 PZt left
pmurias masak: i'm doing it on the opcode stage so it's quite fun 12:43
12:43 eternaleye_ joined
masak pmurias: what's the goal of LOST? 12:43
pmurias the idea is that by putting a block of C code in a switch statement it implement the SMOP continuation API 12:48
12:48 skids joined 12:49 ejs2 joined
ruoso masak, in other words, make C code preemptive, and non recursing in the C stack 12:50
12:50 synth joined
masak sounds handy. 12:51
pugs_svn r27377 | pmurias++ | [re-smop] m0ld --lost emits more instructions
12:52 eternaleye left, KyleHa left
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 ejs1 left
masak is doing some Hitomi hacking right now 12:58
jnthn needs to stop parsing that as Hitonmi (Hit on me) 12:59
takadonet also accidentally played with Rakudo all day yesterday
jnthn :-)
It's strangely addictive. 13:00
takadonet I know
I been working on a very large perl 5 application.... that I want to rewrite in perl 6
skids ruoso, pmurias: you may be interested in the stuff WhiteKnight is researching for Parrot WRT runloops.
masak jnthn: you should try writing it. :) 13:01
Matt-W thinks that L1 thing looks very interesting
masak jnthn: half of the time it's Hitmo, half of the time it's Himoti. 13:02
that's what I get for picking a cool japanese name for my software. :P
rakudo: class A { has @!a; method new() { self.bless(*, :a[1,2,3]) }; method list { @!a } }; say @(A.new()).perl # as expected
p6eval rakudo f59630: OUTPUT«[1, 2, 3]␤»
Matt-W one day, when japanese goes out of fashion, you're going to look back on that and wince
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?
p6eval rakudo f59630: OUTPUT«[1]␤»
masak Matt-W: Japanese will never go out of fashion. don't be silly.
13:03 Eevee left
masak they have ninjas. 13:03
Matt-W skids: of course, everything could be done wrongly
13:04 mizioumt joined
skids Well, you can find my full opinion in the various comments on his blog. 13:04
At any rate this post is of interst to any prospective VM runloop author: wknight8111.blogspot.com/2009/06/un...patch.html 13:05
pugs_svn r27378 | pmurias++ | [re-smop] refactored the normal C and LOST backends of m0ld into 13:06
r27378 | pmurias++ | seperated modules
pmurias skids: i've seen that blog post already it's a cool one
13:07 M_o_C left
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:10
(just seems right now there's loop to get it going, and goto to steer it, but no brakes :-) 13:12
13:13 FurnaceBoy joined
pmurias $interpreter.goto(false) stops the interpreter 13:17
skids Thanks.
pmurias feel free to update the docs ;) 13:18
skids That's why I asked :-)
pmurias good ;)
13:18 finanalyst left 13:19 lichtkind left
pmichaud good morning, #perl6 13:23
13:24 last left
takadonet morning pmichaud 13:24
Matt-W hey pmichaud 13:25
masak morning, pm. 13:26
today's bug:
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
p6eval rakudo f59630: OUTPUT«OH NOES!␤»
masak what in the world is going on there?
13:27 eternaleye_ left, norbi joined
pmichaud I strongly suspect it's TT #536. 13:28
But in particularly, you're overloading the .list method
*particular
masak I know.
but for A, not for G.
pmichaud .list is a base method on Object.
norbi hi, can i contact the www.rakudo.org webmasters here?
masak pmichaud: but G is not subclassing A. 13:29
norbi first issue is that the RSS feed (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 (www.rakudo.org/community#comment-66) - i didn't verify that
pmichaud masak: TT #536 means that your list method is overriding the "list" function.
masak ...which calls Object.list? :/ 13:30
pmichaud the "for" statement calls list()
(to impose list context)
masak oh.
masak works around
thanks for the explanation. 13:31
pmichaud I'll bump the ticket up a notch in priority.
13:32 Whiteknight joined
TimToady masak: re {*} #=, STD has very few of them anymore, and viv ignores them in any case 13:32
they were originally a bootstrap hack for using a preprocessor
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
and there's no need for a tag there
masak what's an implicit reduction? 13:34
TimToady if you look into rakudo's grammar, each rule ends with a {*}, iirc
that's redundant
masak aye.
TimToady if you look at STD, there's no {*}
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".
pugs_svn r27379 | skids++ |
r27379 | skids++ | [re-mildew] mildew: add -fPIC to BOILERPLATE CFLAGS
TimToady and if you want finer grained actions, you just factor into multiple rules
masak I like that.
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
*though.
TimToady from viv's autoloader:
return if @_; # not interested in tagged reductions
pugs_svn r27380 | pmurias++ | [re-smop] m0ld --lost emits calls 13:37
13:37 payload left
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?
TimToady that's what STD does
it's just basically $*ACTIONS.rulename(@tags) in p6ish 13:39
well, $*ACTIONS.rulename(@tags) if $*ACTIONS
done by _REDUCE in Cursor.pmc 13:40
13:40 Chillance left
masak what's in @tags? 13:40
TimToady and _REDUCE also happens to be called by _MATCHIFY for the whole rule
for the rule as a whole, nothing 13:41
ah, |@tags in p6
so just () for whole rule
Matt-W hmm 13:42
Matt-W wonders if he could refactor his grammars to not require tags 13:43
Matt-W thinks probably yes
masak given a string and a position in that string, how do I turn the position into a line number?
TimToady rakudo doesn't support implicit end-tags yet, afaik
masak I guess that's the same as asking "how do I count the number of newlines before a certain position in a string"?
s/"\?/?"/ 13:44
Matt-W TimToady: I'm thinking if it did
pmurias skids: so mildew fully works for you with the -fPIC option (or you still don't have Coro?)
pmichaud ..."implicit end-tags"?
avar masak: Combine regex match with .substr ?:)
masak avar: yes, something like that.
avar: or comb. 13:45
pmichaud +$foo.substr(0, $pos).split(/\n/)
or yes
+$foo.substr(0,$pos).comb(/\n/)
TimToady STD builds a table once and reuses it 13:46
in the lineof method
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?
masak pmichaud: I arrived at the same; thanks. :)
13:47 hatseflats left
masak avar: optimizer. 13:47
TimToady would have to know that Str is a closed class
and final
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:48
but perhaps it's only frequent in the problem domains where I happen to be working (compilers and parsers) 13:49
masak :)
pmichaud: sounds like a module to me.
TimToady STD just attaches line info to its memos array that it has to keep per-position anyway 13:51
13:51 exodist joined, exodist left
TimToady since it just does it once, it doesn't have to keep substring and splitting repeatedly 13:52
*substr'ing
trades memory for it, of course 13:53
13:53 stepnem left 13:56 Chillance joined
pmurias TimToady: re final we can always check if it's a known Str class 13:57
Whiteknight Infinoid: ping 13:58
(oops, wrong room)
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
pmichaud does fixing a Rakudobug count? 14:00
masak I'll go with "yes".
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:01
the rss feed is still pointing to the movable type installation that existed prior to converting to drupal 14:02
14:02 mberends left
literal masak: I'll be mostly away this weekend, going camping 14:05
masak literal: have the appropriate amount of fun.
literal will do
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:06
literal cool 14:07
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
plus the overhead of calling memcpy repeatedly to perform the inlining
norbi pmichaud: ok, thanks (unfortunately i don't know drupal at all, so i cannot offer my help) 14:12
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.
Whiteknight pmurias: then that might be pretty speedy, again assuming cache performance doesn't fall off a cliff 14:16
14:24 ruoso left 14:31 lucs left 14:34 amoc joined 14:39 rfordinal left 14:40 molaf joined 14:45 KyleHa joined
KyleHa I tried writing tests for this ticket: 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
KyleHa I'm confused about whether 'sub List::a { 1 }' should work. 14:49
The ticket says 'class List is also { method a { a} }' works, but the original bug report uses the 'sub' form.
masak it probably shouldn't work.
KyleHa In Rakudo, the latter works, and the former gives a not found error.
masak: So Rakudo is right now? If so, I can commit what I have. 14:50
masak I think it is.
KyleHa thanks! 14:51
masak KyleHa++ # turning tickets into tests
KyleHa *bow* 14:52
pugs_svn r27381 | kyle++ | [t/spec] Test for RT #62836 14:53
14:57 pmurias left, pmurias joined 14:59 KyleHa left
pugs_svn r27382 | kyle++ | [t/spec] fix the plan I b0rked 15:01
15:04 ejs2 left
pugs_svn r27383 | pmurias++ | [re-smop] tools/ri understands %lost_mold blocks - they don't compile yet 15:04
dalek kudo: 6a4d66a | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 412 files, 11546 passing, 90 failing

   S05-grammar/parse_and_parsefile.t aborted 6 test(s)
   S05-metasyntax/regex.rakudo aborted 17 test(s)
   S12-enums/basic.rakudo 27 - short name of the enum without parenthesis is an enum
   S16-filehandles/io.rakudo aborted 62 test(s)
   S32-num/rand.rakudo aborted 4 test(s)
ok: 8777062 | (Hinrik Örn Sigurðsson)++ | M (2 files):
Make use of Module::Install::AuthorRequires
15:10
ok: 471efbf | (Hinrik Örn Sigurðsson)++ | (2 files):
Use PAGER environment variable if set
pugs_svn r27384 | pmichaud++ | [t/spec]: Correct named argument to srand(), fudge it for rakudo.
jnthn pmichaud: Are all but the enum and the rand one GC/segfault related?
pmichaud well, the rand one is now no longer an error. :-)
at least, it's an error we know about (binding positional parameters to named args) 15:11
15:11 rfordinal joined
jnthn Ah, ok 15:11
pmichaud I'm not sure about the enum one.
jnthn The enum one I think is not related to those issues.
pmichaud but I suspect that one is not GC/segfault related
jnthn I don't know exactly what cuased the regression yet. 15:12
Anyway, I guess wait and see if Parrot gets a real solution for a couple of days.
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.
I did one round of permission first already. ;-)
15:13 pmurias left
jnthn Well, I'm running them with the 16 patch applied locally. 15:14
So I can see what I've actually broken.
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
i.e., we get lots of false bug reports
jnthn True.
pmichaud right now, the most reliable way to avoid that is to run with gc disabled.
t/spec/S05-grammar/parse_and_parsefile.t passes on my x86 box but gives the .succ error on x86_64 15:16
it runs fine on x86_64 when run from parrot as opposed to fakecutable 15:17
jnthn Yeah but if the spectests are running into it, then people's programs are going to be too. 15:18
pmichaud Sure, but I don't see how leaving it enabled in spectests provides us any benefit. 15:19
jnthn True. 15:20
15:21 ibrown left
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.
jnthn In that case, let's patch the workaround into Parrot? 15:23
I only didn't do it because I thought there was a chance that we may get it fixed soon.
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.
jnthn And it's a one-line change for anybody who wants to continue debugging.
pmichaud I'm mainly interested in making sure that 1.4 is stable, though.
masak is there a way to set $! from within a sub? 15:30
15:32 SmokeMachine left 15:33 rindolf joined
jnthn rakudo: sub foo { $! = "omfg"; say $! }; foo() 15:33
p6eval rakudo f59630: OUTPUT«omfg␤»
masak no, that's not what I meant. :/
jnthn Well, you're just complicated. ;-)
What is it you were wanting?
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:34
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.
masak tries subclassing Failure
jnthn hopes masak gets the Failure he wnats. 15:36
;-)
masak rakudo: class SomeError is Failure {}; sub foo { return SomeError }; say foo ~~ SomeError
pmichaud What we have here is a Failure to communicate.
p6eval rakudo f59630: OUTPUT«SomeError()␤»
masak yep, seems to work.
I see jokes about Failure are becoming more popular. must be a wave of schadenfreude or something. 15:37
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.
TimToady apparently :)
pmichaud TimToady: I even felt ashamed for repeating it just now.
TimToady: but it fit slightly better in today's thread than yesterday's.
15:39 kborer joined
TimToady Cool Hand Patrick... 15:39
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?
masak goes off to check some tests
pmichaud masak: probably not.
masak :/
pmichaud but worth checking
masak actually, I don't need much right now. a simple try {} would probably work.
but reporting _which_ exception occurred would be nice, too. 15:42
15:42 kborer left
pmichaud $! should be properly set in the try. 15:43
of course, "return SomeError" doesn't throw an exception. 15:44
er, a catchable exception
er, a .... you get the point. It's not the same as fail()
15:44 stepnem joined
pmichaud I mean it's not the same as die() 15:44
arggggh.
FAIL.
masak not sure I follow. :) 15:45
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:46
15:46 stepnem left
masak ah, no; test 18 in t/spec/S04-statements/try.t fails in Rakudo. 15:47
it would have been what I wanted.
jnthn M_o_C: I'm using git on Windows with only occasional bouts of swearing at it.
masak but nvm; I'll just use a vanilla try statement for the time being.
M_o_C the msys git version I suppose?
jnthn M_o_C: Yes.
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
(As long as I don't plan to commit that is)
lisppaste3 skids pasted "64bit mess pmurias/ruoso question" at paste.lisp.org/display/82959 15:50
jnthn M_o_C: Ah, OK. I just used the installer and it Just Worked. But I wasn't using msys previously. 15:51
skids ruoso, pmurias: and of course the above paste would have to pad out for 32bit... 15:53
15:54 rfordinal left, rfordinal3643 joined, stepnem joined 15:56 stepnem left 16:02 |MoC| joined 16:05 Limbic_Region joined 16:07 mikehh left 16:10 cls_bsd left
jnthn OK, time for some Rakudo hacking! 16:10
takadonet nice
16:11 ibrown joined
jnthn rakudo: multi trait_mod:<is>($declarand, :$rw!) { say "ok" }; trait_mod:<is>(42, :rw) 16:11
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)
p6eval rakudo 6a4d66: OUTPUT«ok␤»
jnthn pmichaud: It doesn't matter to me right now, but I think the first one is a Rakudo parse bug. 16:14
16:21 M_o_C left, |MoC| is now known as M_o_C
masak hm, time to head home and secure some nom. 16:21
Hitomi hacking has been productive today; I hope to be able to blog about it tonight. 16:22
16:23 stepnem joined 16:24 eMaX joined 16:27 [1]Limbic_Region joined 16:28 masak left
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)␤»
pmichaud rakudo: say &infix:<+>(3,4); 16:33
p6eval rakudo 6a4d66: OUTPUT«7␤»
pmichaud jnthn: known bug.
jnthn pmichaud: OK.
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. :-|
jnthn :-S
16:35 eMaX left
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:36
16:37 Psyche^ joined
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:37
pmichaud what is very interesting is that I'm getting completely different results on x86 versus x86_64 16:39
16:39 Patterner left, Psyche^ is now known as Patterner
skids Well, when your structs have different alignment relationships internally, that's to be expected. 16:40
16:41 [1]Limbic_Region left, Limbic_Region left
pmichaud yes. But in the past I used to get errors on 64-bit (but not 32) or vice-versa 16:42
This is the first time I've seen errors on both platforms (albeit different errors in each platform)
skids On the upside, by the time the bug gets found, lots of developers will be MUCH more familiar with the internals :-/ 16:44
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'
r27385 | moritz++ |
r27385 | moritz++ | TimToday++ changed that in S03 a while back, and forgot to update it here too.
skids pmichaud: just set INITIAL_BUCKETS in src/hash.c to a power of 2
pugs_svn r27386 | moritz++ | [t/spec] whitespaces 16:49
skids AFAICT nobody has tried 8 with the heisenbug
pmichaud skids++ thanks
pugs_svn r27387 | moritz++ | [t/spec] merge slurpy-params{-2,}.t
r27388 | moritz++ | [t/spec/TODO] more tasks and some cleanup
r27389 | moritz++ | [t/spec] constant declarator scopes like our
16:50 Whiteknight left
jnthn pmichaud: Exactly what skids said 16:50
pmichaud okay. I'm waiting for my current batch of spectests to finish 16:51
then I'll add those results to my message, then I'll retry with INITIAL_BUCKETS at 16
(on both x86 and x86_64)
16:52 pmurias joined
pmurias skids: re paste, i just wanted to convert a pointer into a unique stringish representation 16:54
skids So the length can vary as long as it's unique? 16:55
Or does it have to be 1:1 mapping the other way? 16:56
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. (?)
pmurias oops
jnthn TimToady: For trait_mod:<does>, is there any reason not to require a pre-declared type name there?
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?
Also, do you see class Foo does SomeRole[Int,Str] { } as boiling down to either: 16:59
a) trait_mod:<does>($metaclass, SomeRole, Int, Str)
or
b) trait_mod:<does>($metaclass, SomeRole[Int, Str])
17:00 stepnem left
jnthn (the second falls out more naturally if we parse a pre-declared typename there) 17:00
17:00 mkfort left
pmurias skids: why didn't it die at link time? 17:01
17:04 ruoso joined 17:05 eternaleye joined
pmurias skids: should i commit the PTR2SV fix or did you already fix it? 17:05
17:06 icwiener_ joined 17:09 arnsholt left
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
still killing warnings.
oh the link time thing wasn't smop. had me wondering. 17:10
erm, nevermind 17:11
(staying away from anything "lost" since you seem active on that at the moment)
pmurias (killing warnings)++
skids (though killing warnings is more useful if the make system can detect single file modifications) 17:12
pmurias can't scons do it? 17:13
17:13 icwiener_ left
pmurias skids: you mean if i change a file on it gets recompiled? 17:14
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
17:15 stepnem joined
pmurias if i change a single file only it gets recompiled here 17:16
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:18 hercynium left
pmichaud okay, running spectests with a new hash bucket size.... and heading off to lunch. 17:20
17:21 icwiener left 17:23 stepnem left 17:29 eternaleye left 17:30 stepnem joined 17:34 SmokeMachine joined 17:40 arnsholt joined 17:46 stepnem left 17:53 eternaleye joined 17:56 stepnem joined 17:57 stepnem left 18:04 alanhaggai left
TimToady jnthn: I'd think the parser would see Type[] as an instantiating typename in any case 18:04
18:04 mberends joined
TimToady and if the MD enforces the typeness, I don't think the parser would necessarily have to 18:05
unless you want a more specific message, I suppose...
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. ;-)
TimToady in STD, typename includes the [] 18:06
jnthn Yes.
My handling of typename includes building a node that knows what to do with the []
So I was just after avoiding the duplication.
TimToady is it not using the typename rule to parse the trait? 18:07
hmm
jnthn STD currently says
token trait_mod:does { :my $PKGDECL is context = 'role'; <sym>:s <module_name>
}
Thus my question.
I expected it to say <typename> rather than <module_name> there. 18:08
And wondered if there was a reason that it didn't.
18:08 Chillance left, Chillance joined
TimToady I was probably thinking typename didn't include :ver and such, but it looks like longname allows that 18:09
18:11 Chillance left
TimToady but module_name also parses a trailing [] 18:11
18:11 Chillance joined
TimToady so it's more of a needless redundancy, perhaps 18:11
the can perhaps be merged 18:12
jnthn That might be sensible.
TimToady *they
but I have 3 things hanging design fire at the moment, so can't really deal with it 18:13
jnthn OK, no hurry. 18:14
But your answer has given me enough to move forward in Rakudo.
Which is what I was after. :-)
takadonet greedy jnthn 18:16
jnthn is now going to be greedy for food and cook himself lots fo dinner 18:17
*of
Back to hacking on traits in a bit. :-)
TimToady takadonet: is that ta kado or taka do? 18:18
or something else?
takadonet TimToady:No idea, I just made up this name when I was a kid 18:19
TimToady :)
18:21 nihiliad left
eternaleye TimToady: Way of the Hawk Networks would be an awesome name for an ISP 18:22
takadonet: ( 'taka' being 'hawk' in Japanese, and 'do' being 'way' ) 18:23
TimToady well, "dou" is way 18:24
but yes, that's often shortened to "do" in eigo
ta kado would of course be the corner of the field :)
takadonet hehe
I rather have my name mean 'hawk way' then corner of the field 18:25
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:26
TimToady or if you want to decide on looks, 田角 vs 鷹道 18:27
18:27 dukeleto_ joined
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
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 ruoso left
TimToady wa is topic, ga is subject, wo is object 18:28
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
yeah
18:30 norbi left
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
*and
TimToady it can function as the subject because the Japanese are very clever about intuiting missing info :)
eternaleye TimToady: Factory-based OO usually distinguishes subject/object, IIRC 18:31
TimToady: Agreed
TimToady and, in fact, you don't sound Japanese if you say that
eternaleye How come?
TimToady since watashi would be assumed for an indicative statement anyway
eternaleye Ah
TimToady hon wo yomimasu is sufficient
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
TimToady that's still formal
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
takadonet TimToady: The first set of Japanese characters are for 'hawk way'?
TimToady the subject is not something you can leave out in English
(generally)
though you can sometimes get away with "went to the store today."
Tene That happens a lot for english speakers learning lojban, too.
eternaleye Yeah. Japanese is a fun language, and the etymology is doubly interesting 18:34
TimToady well, lojban doesn't even exactly have nouns
eternaleye Mmmm, tasty predicate grammar
Tene More like noun phrases.
TimToady indeed, Japanese has been "proven" to be closely related to just about every other language group at one time or another
araujo wonders how would be a spoken perlish-like language
TimToady probably sound a lot like lolspeak 18:35
araujo :D
moritz_ araujo: with less sigils ;-)
Tene I've often thought that lojban was very perlish, but that could certainly be attributed to overactive pattern-matching on my part.
araujo moritz_, haha, yeah, i mainly wonder because of the sigils
18:35 justatheory left 18:36 justatheory joined
TimToady I actually dislike predicates with positionals 18:36
they're not at all consistent across the language, last I checked
much prefer a case grammar
(more like named parameters)
pmurias araujo: wouldn't the sigils be pronounced as swear words? 18:37
eternaleye pmurias: Oh, _that_ might be a fun language to create
araujo pmurias, omg
:D
perl - the adult language
18:38 Pismire joined
TimToady std: class F'ing {...} 18:38
p6eval std 27389: OUTPUT«ok 00:02 35m␤»
araujo :) 18:41
18:42 zamolxes joined 18:45 dukeleto left
pmichaud jnthn: ping 18:45
18:46 jlaire joined
jnthn pmichaud: pong 18:49
pmichaud switching INITIAL_BUCKETS to 16 doesn't solve the -g problems for me. 18:50
-G
jnthn Oh?
pmichaud it gives different errors instead
jnthn Well, it was always a "hides it" rather than "solves it".
pmichaud it does fix them on x86, though.
jnthn Ah, OK. I'm on x86.
pmichaud where "fix" is probably "hide"
jnthn Right.
It's a workaround, not a solution.
18:51 stepnem joined
pmichaud It might not even be a workaround. 18:51
(for non-x86 platforms, at least)
jnthn Well, evidently not for all platforms, no.
Needs a Real Solution I guess.
pmichaud I'm re-running my test now just to make sure I didn't do anything bizarre
18:52 stepnem left
pmichaud oh, hmm. 18:56
I must have not rebuild properly.... or perhaps there's a Parrot dependency involved somewhere.
18:56 icwiener joined
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 mizioumt left, Pismire left
pmichaud Something happened in S04-declarations/constant.t that is causing rakudo to start failing those tests, though. 18:58
I'm guessing they weren't fudged. 18:59
Tene icwiener: no, not yet. maketext is on my list of libraries to port, though.
icwiener Tene: Ok, thanks for the iinformation.
... and for the work. :)
19:01 ruoso joined
Tene icwiener: it's currently queued behind a port of Curses::UI and something kinda like POE 19:02
so it might be a little while before I get to it.
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:03
Tene icwiener: a basic Maketext implementation would be pretty short... :) 19:06
19:10 kborer joined
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:15
Tene heh 19:16
I know what that's like.
19:20 rfordinal3643 left
pugs_svn r27390 | skids++ | [re-smop] Tidy up a bunch of warnings 19:22
r27390 | skids++ | [re-smop] A few more PTR2IV fixes for 64bit
19:24 pmurias left, pmurias joined
skids If the day had 30 hours I'd sleep in. 19:28
19:29 mizioumt joined
FurnaceBoy +1 19:38
19:40 sri_kraih left 19:46 sri_kraih joined
jnthn back 19:46
19:48 rindolf left
takadonet welcome back jnthn 19:50
cya everyone 19:52
sjohnson bye
19:52 takadonet left 20:06 particle-sugaros left 20:17 amoc left
pmichaud results of switching INITIAL_BUCKETS to 16: gist.github.com/140287 20:18
jnthn pmichaud: Heh. Very limited hiding of the issue then. 20:19
(on 64-bit) 20:20
pmichaud oops, I pasted the wrong one. Corrected: gist.github.com/140288
(still has issues) 20:21
jnthn Tells a similar story.
20:21 huf left, mikehh joined
pugs_svn r27391 | kyle++ | [t/spec] Test for RT #67122 20:23
r27392 | kyle++ | [t/spec] Test for RT #67024 20:24
20:34 kane__ joined 20:49 rfordinal joined 20:50 kane_ left
jnthn Phew, I get through the build again with the traits refactor. 20:55
20:55 ruoso left 21:00 masak joined
masak evening. 21:00
I have a Web.pm 'weekly' post coming up. 21:01
mberends wahey, so it was worth waiting up :) 21:02
masak just need to find a suitable Bible quote...
21:16 frew_ joined
masak here we go: use.perl.org/~masak/journal/39224 21:19
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
r27394 | pmurias++ | [re-smop] fixing some bugs in yeast - doesn't work yet
r27395 | pmurias++ | [re-smop] added yeast.setr
r27396 | pmurias++ | [re-smop] use mold untill yeast is tested
masak mberends: ah, right, here: irclog.perlgeek.de/perl6/2009-06-29#i_1274439
jnthn I lieks tihs booze! :-D 21:21
masak jnthn: some bible quotes get so much more pointed when translated to lolspeak. :)
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.
jnthn masak: oh noes, you revealed my sick mind to all! :-P
masak: I'm curious, what does hitonm^Whitme^Whitomi mean in Japanese? 21:23
21:23 Chillance left
masak jnthn: 'doubly beautiful', or so I've read. 21:23
I think I wrote that in the post too...
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 :-)
masak by the way, today was the first time I felt I really had the upper hand on grammars and Match objects.
it was a nice feeling. 21:25
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.
jnthn scratches his head and ponders what on earth is wrong with his traits refactor...
21:26 M_o_C left
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.
jnthn rakudo: multi foo(Object $a, Object $b) { say 1 }; multi foo(Code $a, $arg?, :$export!) { say 2 }; foo(1,2); foo({ "x" }, :export)
masak M_o_C: that's a nice thought, but no.
p6eval rakudo 6a4d66: OUTPUT«1␤2␤»
21:26 pmurias left 21:27 huf joined
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␤»
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
jnthn hmm...so fi that works...
masak mberends: I suspected that you were still in the process/aftermatch of relocating. hope it's going well. 21:28
mberends moderately, neither wonderful nor terrible :/ 21:29
masak I guess moving house is always a bit of a chore. 21:35
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.
it's going to be difficult to leave this town. 21:39
mberends while moving, possessions are not assets, they're liabilities :( 21:40
masak especially heavy possessions. 21:41
21:41 rfordinal left
mberends somnia & 21:44
masak ah, but for a bit of that... 21:45
jnthn slowly loses hope that he'll complete this refactor this evening. 21:46
on the up side, I just passed all of the sanity tests.
...but segfault in the test harness. Ouch. 21:47
masak :/ 21:48
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)
p6eval rakudo 6a4d66: OUTPUT«2␤»
masak people who say we'll reach the technological singularity in a few decades must not be programmers...
jnthn ponders why on earth this works here, but not in the setting... 21:50
(Granted, that signature isn't really right, but still...)
rakudo: class Foo { }; say Foo ~~ Abstraction 21:51
p6eval rakudo 6a4d66: OUTPUT«0␤»
jnthn :-(
masak rakudo: say Abstraction ~~ Abstraction 21:52
p6eval rakudo 6a4d66: OUTPUT«1␤»
masak std: Abstraction
p6eval std 27396: OUTPUT«ok 00:02 35m␤»
masak std: NoneSuch 21:53
p6eval std 27396: OUTPUT«Undeclared name:␤ NoneSuch used at 1 ␤ok 00:02 35m␤»
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.
masak a simple ack for 'Abstraction' yields nothing. 21:55
hm, but that's because ack has its own ideas about where to look... :/ 21:56
CORE.setting seems to be it.
hehe, I'm still a bit curious about that 'class KitchenSink'... :) 21:57
jnthn std: KitchenSink 21:58
p6eval std 27396: OUTPUT«ok 00:02 35m␤»
jnthn buubot: spack KitchenSink 21:59
buubot Couldn't match input.
masak the spec doesn't mention it, I think. but it's been in STD.pm for quite some time.
jnthn *sigh* 22:00
jnthn is so close, yet so far, to making this work.
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 '
p6eval std 27396: OUTPUT«ok 00:02 35m␤»
jnthn oh hmm
masak std: trim_start ' example ' 22:02
p6eval std 27396: OUTPUT«ok 00:02 35m␤»
masak trim_start and trim_end are in CORE.settings, but also not mentioned in S\d\d
jnthn file specbug!
;-) 22:03
masak :)
sjohnson bugs
masak sjohnson: why, hello there! 22:04
sjohnson hey
how's it goin
masak sjohnson: fine. today has been a day of Perl 6 coding, so I'm happy. :)
sjohnson: how's with you? 22:05
22:05 Psyche^ joined
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
so far it is coming along nicely
masak I like when things are coming along nicely. 22:06
sjohnson masak: what irc client did you use again 22:07
irssi?
or KDE irc
masak sjohnson: ERC.
it's an Emacs plugin. I'm a very satisfied customer. 22:08
sjohnson neet
masak I use vim for coding, but Emacs for IRC and writing prose.
sjohnson i use vim for coding as well 22:09
i have "pimped out" my .vimrc quite a bit
masak as you should. :)
sjohnson whenever i go to a new machine, i can hardly stand to use vim without a .vimrc that i can call my own
for some reason, i always type :Q to quit by accident
somehow i keep pressing the shift key
masak that's where a tarball of settings files and a USB stick come in. 22:10
or (even better) keep your settings under distributed version control. 22:11
sjohnson yeah, for sure
i also have my own binutils that i wrote in perl
to do very common things
22:11 icwiener left
sjohnson probably the most is the "abs" command 22:11
which returns the absolute path of args or STDIN
god that is handy
masak :)
22:19 Chillance joined 22:20 Patterner left, Psyche^ is now known as Patterner 22:22 stepnem joined
jnthn Ah! Cracked it. 22:34
I think.
masak jnthn++ 22:35
jnthn OK, half cracked it. 22:36
No more segfaults, sanity tests run, etc.
masak yay.
jnthn But I may have broken exporting a bit.
(the is export) 22:37
Aye
Test.pm's plan etc don't export properly. Hmm.
oh, I see now 22:39
multi sub plan(Whatever $plan) is export(:DEFAULT) { 22:40
normal is export works, just not the argument version.
masak oh.
22:42 mizioumt left
jnthn Well, it's a trait, which is the stuff I've been messing with, so only marginally surprising. ;-) 22:43
After this, we should be about at the point where you can start writing custom traits. 22:44
masak sounds nice. 22:45
jnthn Yeah
It's another one of those get-closer-to-the-spec and feature winning refactors. 22:46
ok, fixed that one. 22:47
\o
o/
sjohnson >_>
masak what is this, a disco? :P
jnthn \o/ /\o/\ o< /o\
masak that second one looks like a spider. 22:48
jnthn :-P
If you look closely, it's a reference to a bad disco song. :-)
masak do I want to know? :)
jnthn en.wikipedia.org/wiki/Y.M.C.A._(son..._and_dance 22:50
masak oh, of course.
jnthn en.wikipedia.org/wiki/File:YMCA_dance.jpg
Well, I did the best I could in ASCII. :-P
jnthn does a spectest run to see how wide-spread the damage is. 22:51
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:52 iblechbot left
jnthn Going to do that bit tomorrow though. 22:53
When I've had time to sleep on it a bit.
Whatever I do is going to make a fairly make-shift-ish solution anyway.
masak nice that you didn't get as stuck as you thought tonight. 22:54
jnthn Wasn't so bad once I got the C-debugger out. 22:56
22:56 nacho_ joined
jnthn What's really nice 22:57
Is that all the traits are defined in the setting now.
Apart from the compiler handled ones.
of course, there's some inline PIR, but I think we can reduce that too somewhat.
I didn't attempt to re-write that which already existed, just surrounded it a Perl 6 body. 22:58
That includes the traits as fundemental as inheritance and role composition though.
Another upshot is a bunch of custom trait-y dispatch code has now disappeared. 22:59
masak wohoo! 23:01
best code is no code.
23:04 DemoFreak left
jnthn so check this out 23:06
gist.github.com/140363
This now works, locally. 23:07
masak imressive. 23:08
s/im/imp/ 23:09
so, I've been trying out potion, why_'s cute functional language. hackety.org/potion/ 23:10
ten minutes into some lazy coding, I find a bug. :/
now, where's the potionbug email address?
jnthn Yeah, unfortunately, though some of the S14 tests went explodey so I'll have some debugging to do tomorrow.
23:13 frew_ left
masak yawns 23:14
je čas na spanie.
pmichaud fwiw, I think I would prefer to get rid of the :DEFAULT in Test.pm 23:15
23:15 eternaleye left
jnthn masak: ano, je to pravda. 23:15
masak :)
23:15 cotto joined
masak too true. 23:15
jnthn pmichaud: Aye, I agree they're not needed. 23:16
OK, I fail quite a bit, but not as bad as it coulda been.
And almost entirely concentrated in S12 and S14. 23:17
I'll work on that tomorrow.
And try and get this traits refactor pushed.
Then I should probably try and blog a little. 23:18
23:18 eternaleye joined 23:20 justatheory_ joined, Chillance left, Chillance joined 23:21 drbean left 23:26 justatheory left 23:27 xomas joined 23:29 kborer_ joined
masak emailed _why explaining the Potion bug 23:29
23:30 beggars joined 23:38 nihiliad joined 23:39 nihiliad left 23:44 kborer left 23:46 masak left 23:53 justatheory joined