Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-01-11

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:43 Chillance joined #perl6
00:50 colomon ng: say (0 + 1i)**2
00:50 p6eval ng 3f06c7: You can only coerce a Complex to Num if the imaginary part is zero␤current instr.: 'perl6;Perl6Exception;throw' pc 12510 (src/builtins/Code.pir:110)␤
01:05 cognominal joined #perl6
01:17 dugg joined #perl6
01:23 pugs_svn r29514 | diakopter++ | [sprixel] fix lots o' bugs and begin work on a parser-generator-generator
01:27 pugs_svn r29515 | diakopter++ | [sprixel] there went two hours.  but I finally found the real bug.
01:28 mj41_ joined #perl6
01:48 Tarquin joined #perl6
01:48 Tarquin left #perl6
02:00 pugs_svn r29516 | diakopter++ | [sprixel] implemented positive lookahead
02:14 ihrd joined #perl6
02:14 ihrd joined #perl6
02:15 ihrd left #perl6
02:18 orafu joined #perl6
02:22 agentzh joined #perl6
02:23 astinus joined #perl6
02:27 diakopter looking at Regex/P6Regex/Grammar.pm
02:27 diakopter in nqp-rx
02:27 diakopter I don't get what this does (in token atom):  \w [ \w+! <?before \w> ]?
02:36 TimToady think about foo*
02:38 diakopter I don't see how <?before \w> would ever match
02:38 TimToady ! is not ratchet, it's greedy
02:38 ashizawa joined #perl6
02:41 diakopter nqp: say('hihi' ~~ / \w [ \w+! <?before \w> ]? /)
02:41 p6eval nqp: hih␤
02:41 TimToady don't need the ! in that, since :ratchet isn't on
02:43 diakopter oh.
02:43 diakopter I keep misremembering :ratchet as 'does backtrack' (as in ratchet-back).
02:44 diakopter but now that I realize the link with 'ratchet wrench', I get it.
02:46 TimToady bbl # delayed family christmas...ho ho ho
02:58 * diakopter ponders how to unify the notions of ratchet mode and LTM mode
02:59 ashizawa joined #perl6
03:08 mj41 joined #perl6
03:08 am0c joined #perl6
03:08 elmex joined #perl6
03:08 nbrown joined #perl6
03:08 cotto_work joined #perl6
03:08 renormalist joined #perl6
03:08 zamolxes joined #perl6
03:08 go|dfish joined #perl6
03:08 mtve joined #perl6
03:08 akl joined #perl6
03:08 dukelet0 joined #perl6
03:08 RichiH joined #perl6
03:09 Tene joined #perl6
03:09 ashizawa joined #perl6
03:09 tylerni7 joined #perl6
03:09 gju joined #perl6
03:09 simcop2387 joined #perl6
03:09 Exodist joined #perl6
03:09 Khisanth joined #perl6
03:09 bloonix joined #perl6
03:09 LionMadeOfLions joined #perl6
03:09 cj joined #perl6
03:09 kcwu joined #perl6
03:09 mdxi joined #perl6
03:09 Infinoid joined #perl6
03:09 pugs_svn joined #perl6
03:09 hugme joined #perl6
03:13 sunnavy joined #perl6
03:25 cognominal joined #perl6
03:39 InfiniteLoop joined #perl6
03:47 jaldhar joined #perl6
03:55 skingsbu joined #perl6
04:11 Baggiokwok joined #perl6
04:19 pugs_svn r29517 | diakopter++ | [sprixel] implemented protoregexes and negative lookahead.  Translated
04:19 pugs_svn r29517 | about half of pmichaud's src/Regex/P6Regex/Grammar.pm from today's nqp-rx.
04:19 pugs_svn r29517 | It takes around 50ms to compile the P6Regex grammar to JavaScript, and
04:19 pugs_svn r29517 | another 50ms to run the first parse (I assume V8 is JITing it then), and
04:19 pugs_svn r29517 | 2-5ms for each parse thereafter (of a 13-char test input).
04:21 diakopter extremely unoptimized (since it's all fully-backtracking, no ratchet mode or LTM)
04:23 diakopter heh. the resulting parser function in JS is 71766 chars long.
04:26 diakopter http://perl6.pastebin.com/m6f6196b3
04:27 diakopter if JavaScript had a proper 'goto', there wouldn't be all those 'break' statements. :D
04:30 diakopter alllllllrighty then.
04:31 tylerni7 joined #perl6
05:00 hiye joined #perl6
05:05 gfx joined #perl6
05:12 Patterner Rakudo was added to Gentoo :)
05:17 galf joined #perl6
05:18 mberends joined #perl6
05:21 mberends wow, diakopter's been busy
05:21 justatheory joined #perl6
05:26 Baggiokwok joined #perl6
05:41 saschi moin
05:41 jaldhar joined #perl6
05:43 diakopter brain
05:54 PZt joined #perl6
05:54 diakopter parrot 2.0 in 6 days
05:57 saschi nice
05:58 yves joined #perl6
06:04 jack___ joined #perl6
06:04 jack___ test
06:05 jaldhar joined #perl6
06:07 Chillance_ joined #perl6
06:17 dj joined #perl6
06:17 dbrock joined #perl6
06:52 kaare joined #perl6
07:14 Intensity joined #perl6
07:24 mberends joined #perl6
07:44 soupdragon joined #perl6
08:10 iblechbot joined #perl6
08:15 agentzh joined #perl6
08:27 Baggiokwok joined #perl6
08:56 colomon___ joined #perl6
09:05 Baggiokwok joined #perl6
09:10 dakkar joined #perl6
09:16 meppl joined #perl6
09:23 renormalist joined #perl6
09:32 jnthn Morning, #perl6
09:32 Mantis joined #perl6
09:36 mathw o/ jnthn
09:37 * mathw has barely even thought about Perl 6 lately :(
09:37 Mantis any php heads in here?
09:38 * mathw hides
09:38 Mantis no answers in the channel
09:38 Mantis figured i'd ask here
09:39 Mantis pretty basic question, you probably dont need an expert understanding
09:39 jnthn mathw: Same, needed a break. :-)
09:39 mathw Well I can try...
09:40 mathw I used to be a PHP head, but I've been trying to forget about it
09:40 mathw jnthn: Sometimes you need a break... sometimes you're busy learning to knit. I went for the latter.
09:40 jnthn mathw: Knitting would seem a useful skill with currently weather conditions...
09:41 mathw jnthn: I made myself a scarf, a hat for my sister, and then a dice bag for me
09:41 mathw My sister said she liked the hat, but that it lacked a pompom on the top
09:42 mathw Fortunately although she's not a very good knitter she is perfectly capable of making pompoms
09:42 Tene you need the pompom
09:42 mathw I haven't seen the result, but I believe that it would have improved that hat significantly
09:42 mathw It's the kind which demands a pompom
09:43 Mantis well im just trying to figure out where the URL variables come from on this certain website, (they look like &var=value, usually come from a post or get invocation) they dont seem to show up in the actual page source
09:43 mathw Mantis: those parameters show up in global associative arrays usually
09:43 mathw unless register_globals is on, which it shouldn't be
09:44 Mantis but i dont think i can view that php script
09:44 Mantis it must be somewhere else
09:44 Mantis well, the array isnt in the page source
09:44 Mantis i can tell you that much
09:46 mathw the page source being the PHP script, or what gets sent to the browser? Because it won't be in the latter...
09:48 Mantis the source in the browser
09:48 Mantis yeah i forget that php is server side sometimes
09:48 Mantis mathw: so all hope is lost?
09:48 Mantis all i want to do is go over all the results and scrape with a perl script
09:48 szabgab http://ideone.com/
09:49 Mantis just return 1 page and ill be happy
09:49 szabgab anyone knows if there is a chance to package Rakudo for Gentoo ?
09:49 szabgab Then we could have Perl 6 support on the web  IDE
10:07 Su-Shee joined #perl6
10:07 Su-Shee good morning
10:08 JohnDoe365 joined #perl6
10:15 jferrero joined #perl6
10:24 fukawi2 joined #perl6
10:25 fukawi2 moritz_ - may I PM you about ilbot?
10:26 ezito joined #perl6
10:34 moritz_ good morning
10:34 moritz_ fukawi2: sure
10:34 jnthn morning, moritz_
10:39 ezito joined #perl6
10:42 ezito_ left #perl6
10:44 fukawi2 left #perl6
10:58 pleasurer joined #perl6
10:59 ezito_ joined #perl6
11:03 nadim joined #perl6
11:08 jogla_ joined #perl6
11:09 jogla joined #perl6
11:11 jogla joined #perl6
11:11 Baggiokwok joined #perl6
11:12 IllvilJa Hello all!  o/
11:23 riffraff joined #perl6
11:23 rgrau joined #perl6
11:40 Baggiokwok joined #perl6
11:45 Su-Shee time for the third coffee!
11:48 xinming joined #perl6
11:56 SmokeMachine joined #perl6
11:56 moritz_ std: :!foo<bar>
11:56 p6eval std 29517: [31m===[0mSORRY![31m===[0m␤Argument not allowed on negated pair at /tmp/sDNORSbCgG line 1:␤------> [32m:!foo<[33m⏏[31mbar>[0m␤FAILED 00:01 106m␤
12:06 pmurias joined #perl6
12:08 Baggiokwok joined #perl6
12:14 JohnDoe365 left #perl6
12:20 bluescreen joined #perl6
12:20 PZt joined #perl6
12:40 ezito_ left #perl6
12:44 ruoso joined #perl6
12:56 ignacio_ joined #perl6
13:04 colomon_ joined #perl6
13:05 plainhao joined #perl6
13:06 vorner joined #perl6
13:11 takadonet joined #perl6
13:11 takadonet morning all
13:13 moritz_ tach
13:15 cognominal joined #perl6
13:24 colomon_ o/
13:27 bluescreen joined #perl6
13:28 dalek rakudo/ng: f790e5a | (Solomon Foster)++ | src/Perl6/Grammar.pm:
13:28 dalek rakudo/ng: Make exponentiation right associative, as per STD.pm.
13:28 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/f790e5a25b578372375675378c1bc3a5c09310d8
13:29 takadonet colomon_++
13:29 moritz_ colomon_++ indeed
13:30 * colomon_ blushes
14:04 pmurias joined #perl6
14:07 cognominal joined #perl6
14:11 ruoso joined #perl6
14:20 payload joined #perl6
14:32 colomon__ joined #perl6
14:46 colomon_ joined #perl6
14:58 payload joined #perl6
15:03 kensanata joined #perl6
15:07 PacoLinux joined #perl6
15:07 rblasch joined #perl6
15:08 KyleHa joined #perl6
15:08 diakopter szabgab: someone said yesterday that rakudo was already packaged/included in gentoo
15:10 diakopter Patterner: ^^
15:11 vorner Hm, I guess it wouldn't in the official portage (can't test now), but it might be in some layman repository
15:12 diakopter http://gentoo-portage.com/dev-lang/rakudo/Dep#ptabs
15:12 Psyche^ joined #perl6
15:13 vorner hm, nice one, I no longer need to compile it manually :-)
15:14 diakopter http://packages.gentoo.org/package/dev-lang/rakudo
15:15 tlb joined #perl6
15:17 rgrau joined #perl6
15:19 slavik is debian/ubuntu getting any love?
15:20 diakopter http://packages.debian.org/experimental/rakudo
15:26 slavik sweet
15:26 slavik now, which rakudo is it? ng or the older one?
15:26 diakopter older
15:27 slavik k
15:27 iblechbot joined #perl6
15:28 szabgab diakopter, are you using Gentoo then?
15:28 diakopter szabgab: never have
15:28 diakopter I'm Feeling Lucky, though
15:29 szabgab someone should talk to these people http://ideone.com/ who has more understanding of Rakudo than I do
15:29 szabgab to make it available on their ineterface
15:30 szabgab s/should/it would be nice if/
15:35 bigmill joined #perl6
15:40 * diakopter works on giving grammars access to their own IR so they can mutate
15:40 diakopter o wait, they already have it.
15:40 * diakopter goes back to translating pmichaud's nqp-rx grammars
15:41 * mberends goes to the train to de-commute
15:42 mberends left #perl6
15:55 pugs_svn r29518 | diakopter++ | [sprixel] more nqp-rx grammar translation. halfway through g.addPattern('cclass_elem')
15:55 diakopter commute&
15:58 pugs_svn r29519 | kyle++ | [t/spec] Test for RT 71958: array type constraint leaks
16:01 moritz_ could somebody please tell me the IP of svn.pugscode.org?
16:01 moritz_ I can't resolve it here
16:02 uniejo joined #perl6
16:02 jnthn moritz_: fwiw, it ain't just you :-(
16:03 takadonet jnthn!!
16:03 jnthn hi, takadonet :-)
16:04 nihiliad joined #perl6
16:04 KyleHa svn.pugscode.org has address 193.200.132.135
16:05 BinGOs Looks like the DNS1.NAME-SERVICES.COM
16:05 BinGOs erm
16:05 BinGOs those DNS servers aren't responding.
16:05 soupdragon joined #perl6
16:05 moritz_ KyleHa: thanks
16:06 moritz_ BinGOs: right; good that some DNS servers have it cached
16:08 meneldor joined #perl6
16:11 justatheory joined #perl6
16:15 SmokeMachine joined #perl6
16:17 alester joined #perl6
16:24 pugs_svn r29520 | kyle++ | [t/spec] Test for RT 71754: callsame used in multi sub
16:27 * KyleHa commits crud to the test suite.
16:28 moritz_ KyleHa: you learned that from me :-)
16:28 KyleHa I learn from the best.  8-)
16:29 * moritz_ bows
16:29 moritz_ oh wait - you couldn't have meant me :-)
16:31 riffraff joined #perl6
16:32 KyleHa Pretty sure that's who I meant.
16:32 cdarroch joined #perl6
16:33 KyleHa The last couple of weeks, I've done phone interviews with Yahoo! that eventually went nowhere because it turns out I don't want to move to California.
16:33 KyleHa I talked to people from four different departments.  Every one of them brought up the "Perl 6" on my resume.
16:34 moritz_ wow
16:34 moritz_ what did they ask?
16:34 Su-Shee KyleHa: yeah, in what way did they bring it up? ;)
16:34 KyleHa It came up various ways.
16:34 KyleHa "I guess there aren't too many of those."  "Actually, the AUTHORS file is pretty big..."
16:35 KyleHa One guy said he'd been reading the P6 Advent Calendar, and it seems like a whole different language.  I confirmed, it's a different language in the same family, based on the same concepts.
16:35 Su-Shee here it was mostly "ah, read about it - it still exists?! No we already switched to java.."
16:36 KyleHa Anyway, I thought I'd share that I think it has or would pay off to be part of the project here.
16:37 REPLeffect_ joined #perl6
16:38 KyleHa I wasn't sure how to list it in my experience, but a friend said I should put it on like any other paid position, so that's what I did.  It's at the top, right above my current paying job.
16:39 moritz_ I have a whole section "Open Source" in my CV
16:40 KyleHa Maybe someday I'll be able to do that.  8-)
16:40 moritz_ actually it's not that impressive
16:41 moritz_ Perl 6 test suite, specs, Rakudo, parrot, CPAN
16:41 riffraff joined #perl6
16:41 dalek rakudo/ng: a4d72c7 | moritz++ | t/spectest.data:
16:41 dalek rakudo/ng: enable 3 more tests in t/spectest.data
16:41 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/a4d72c7419d0e08e2eea6e078ee88a92e0c8c6b1
16:48 KyleHa rakduo: say (grep { $^a == $^b }, (1, 1, 2, 3, 4, 4)).perl;
16:49 KyleHa rakudo: say (grep { $^a == $^b }, (1, 1, 2, 3, 4, 4)).perl;
16:49 p6eval rakudo 3867ff: Not enough positional parameters passed; got 1 but expected 2␤in Main (file src/gen_setting.pm, line 324)␤
16:49 KyleHa rakudo: say (map { $^a == $^b }, (1, 1, 2, 3, 4, 4)).perl;
16:49 p6eval rakudo 3867ff: [Bool::True, Bool::False, Bool::True]␤
16:50 moritz_ ng: say (grep { $^a == $^b }, 1, 1, 2, 3, 4, 4).perl;
16:50 p6eval ng a4d72c: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;perl' pc -1 ((unknown file):-1)␤
16:50 KyleHa RT 71544 calls it a bug that grep doesn't work the way map does.  I'm wondering what the grep should return in that case.
16:51 KyleHa Maybe it returns (1, 1, 4, 4) ?
16:53 moritz_ either it has arity DWIM built-in, then it retunrs (1, 1, 4, 4)
16:53 moritz_ or not, then it returns a friendly error
16:53 KyleHa OK.
16:53 KyleHa I'll test toward the first one.
16:53 SmokeMachine joined #perl6
16:58 ignacio_ joined #perl6
16:59 colomon__ joined #perl6
17:01 pugs_svn r29521 | kyle++ | [t/spec] Test for RT 71754: grep arity sensitivity different from map
17:05 uniejo joined #perl6
17:15 tylerni7 joined #perl6
17:18 nihiliad joined #perl6
17:23 gbacon joined #perl6
17:36 jackyf joined #perl6
17:50 rblasch joined #perl6
17:54 cognominal joined #perl6
17:57 stephenlb joined #perl6
18:00 Chillance joined #perl6
18:05 Slug1 joined #perl6
18:10 Chillance joined #perl6
18:12 cottoo joined #perl6
18:14 c0tt0 joined #perl6
18:19 ive joined #perl6
18:19 uniejo joined #perl6
18:26 gbutler__ joined #perl6
18:28 Slug1 left #perl6
18:34 hercynium joined #perl6
18:37 gbutler__ left #perl6
18:40 IllvilJa joined #perl6
18:45 bluescreen joined #perl6
18:50 skingsbu joined #perl6
18:53 ShaneC joined #perl6
18:54 pugs_svn r29522 | kyle++ | [t/spec] fix mislabeled fudge
18:58 kst joined #perl6
19:09 rgrau joined #perl6
19:21 rblasch_ joined #perl6
19:27 KyleHa Hmmm.  Exception.pod is a lot shorter than I expected.
19:28 payload joined #perl6
19:34 jnthn KyleHa: In a "looks like it's missing stuff" kinda way?
19:34 * jnthn gropes his way around Rakudo
19:36 jnthn ng: sub foo(::T) { say T }; foo(Int)
19:36 p6eval ng a4d72c: Lexical 'T' not found␤current instr.: '&foo' pc 111 (EVAL_1:50)␤
19:36 PerlJam Hmm.  What does it say about me that I thought 2 things when I read jnthn's message just now:  "oh no! jnthn has been struck blind!"  and "jnthn: get a room!"
19:37 diakopter ng: sub foo(::T) { say ::T }; foo(Int)
19:37 p6eval ng a4d72c: Lexical 'T' not found␤current instr.: '&foo' pc 111 (EVAL_1:50)␤
19:38 Tene joined #perl6
19:38 jnthn PerlJam: I didn't mean *that* kind of groping. :-P
19:39 PerlJam IRC has insufficient bandwith  to make such distinctions without extra verbosity  :)
19:39 huf alternatively, we just type/read too slow compared to how fast we do IO via speech/facial expressions/gestures
19:40 jnthn You could have just gone on my normal completely innocent nature...erm...maybe...
19:41 jnthn Type parametricism...what a nice easy point to dig back into Rakudo after a break.
19:41 lmc joined #perl6
19:41 cherio joined #perl6
19:42 cherio left #perl6
19:50 KyleHa jnthn: I'd say it's incomplete.
19:57 ash_ joined #perl6
20:01 Exodist joined #perl6
20:05 Z3vil joined #perl6
20:05 Z3vil hi!
20:05 KyleHa Hello, Z3vil.
20:07 Z3vil how are you?
20:07 Z3vil i have a Question! if you want ?
20:07 KyleHa Feel free to ask.
20:09 Z3vil thank you ^_^, i have reading in rakudo.org about Perl6 and in Parrot web site, but i want know if any one can join Perl6 project ? and what's skill needed ?
20:10 PerlJam Z3vil: writing is a good skill
20:10 PerlJam Z3vil: programming in Perl (either 5 or 6) is a good skill
20:10 PerlJam Z3vil: programming in Parrot is a good, but less needed lately skill
20:11 jnthn And yes, anyone who is interested can join the fun. :-)
20:12 PerlJam Z3vil: indeed, all are welcome
20:13 cognominal ho, jnthn is back,  lately there was no bus factor but clearly an eggnog factor
20:13 Z3vil PerlJam: thank you very mush
20:13 Z3vil jnthn: yes,i have reading Perl 6 is my MMORPG
20:13 jnthn cognominal: Yes, I needed some rest. :-)
20:18 Z3vil PerlJam: if we want to join you, what's us roles, and wha'ts tasks or mission we can do it ? etc ... (without docs writing)
20:22 jnthn Z3vil: It depends on your skills and interests. Many people start out by hacking on the test suite, others by working on Perl 6 modules and in the course of working on those finding/reporting bugs, there are also opportunities for digging into helping with an implementation (e.g. Rakudo). All of these are valuable tasks.
20:23 jnthn Really, it's finding something you'll enjoy and working on it. :-)
20:26 Z3vil yes, ok!
20:26 Tene Z3vil: another significant help is identifying and categorizing failures and filing bugs, if that's interesting to you.
20:27 jnthn ng: say 4.2 ~~ Num
20:27 p6eval ng a4d72c: 0␤
20:27 jnthn ng: say 4.2 ~~ Rat
20:27 p6eval ng a4d72c: 1␤
20:29 pugs_svn r29523 | jnthn++ | [t/spec] s/Num/Rat/ in a test that got behind with the spec.
20:29 dalek rakudo/ng: 4639926 | jonathan++ | src/Perl6/ (2 files):
20:29 dalek rakudo/ng: Fix up type captures in signatures, which is one step on the way to getting parametric roles working again.
20:29 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/4639926460556d86320e867c7dd788981010656c
20:30 Z3vil thx!
20:30 ash_ so, jnthn i have a question about ng/src/Perl6/Actions.pm method_def, so, it parses the method name with specials (! ^) but currently does do anything with the '^' special, when you add methods with a ^ should it just grab the HOW of the current object and add it to that instead of the current object that being defined?
20:30 ash_ s/does do/does not do/
20:31 jnthn ash_: Sort of.
20:31 ash_ well, it wouldn't know the HOW of the object till it actually finishes making the object
20:31 ash_ but the basic concept i guess is what I am asking
20:31 jnthn ash_: Right, it's a bit...tricky...I can't remember exactly how I did it in master.
20:31 jnthn I think it's something like though...
20:32 jnthn a kind of mix-in to the meta-object.
20:32 jnthn I think that's the cleanest way to support it, and what I ended up doing.
20:33 jnthn And we should be able to do it cleaner in ng too, thanks to the metamodel being saner. :-)
20:33 jnthn I think I viewed it as collecting the ^foo methods into an anonymous role and then arranging for that to get mixed into the metaclass though.
20:34 ash_ shouldn't you be able to do Foo.HOW.HOW.add_method(...)
20:34 solarion joined #perl6
20:34 jnthn Maybe.
20:34 jnthn You're adding a method to the metaclass of the metaclass then though.
20:35 ash_ does each class get its own instance of the metaclass? (IE Foo.HOW  !== Bar.HOW)
20:35 jnthn Which will implement the HOW API, but probably will not be a ClassHOW.
20:35 jnthn Well, that's up to an individual metaclass really.
20:35 jnthn In Rakudo's implementation of ClassHOW though, the answer is a certainly yes.
20:35 jnthn Same for GrammarHOW, RoleHOW, etc.
20:36 ash_ I would think that should be speced out somewhere, is it talked about in your ng/docs/metamodel.pod?
20:36 uniejo joined #perl6
20:36 jnthn Depends which "that" you're talking about?
20:36 jnthn :-)
20:36 jnthn The "it's up to the metaclass" I think is.
20:36 jnthn The "what happens with method ^foo" I'm almost certain isn't.
20:37 jnthn But we can make it so. :-)
20:37 ash_ well ClassHOW, GrammarHOW, and RoleHOW since those are standard meta objects i think that are in the perl 6 spec
20:37 ash_ any other i would assume is up to whoever implements the metamodel
20:37 jnthn Right.
20:40 jnthn Only concern is that I'm not sure if the smop folks share my view on the "metaclass instance per class" thing.
20:40 jnthn OTOH, Rakudo's metamodel proposal already diverges from theirs a bit in some other areas (especially the approach to roles).
20:40 mariano__ joined #perl6
20:40 jnthn I think we do what makes sense for now and look to unify them further down the line when things are a bit more concrete.
20:41 ash_ how has it diverged? do they not have a meta instance perl class object?
20:42 jnthn *per?
20:42 ash_ yeah, per sorry
20:42 jnthn I'm not completely sure, my impression is that they are somehow storing the class info inside the objects or something though.
20:42 jnthn And treating it in a much more prototype-ish way.
20:43 jnthn That doesn't make much sense to me though.
20:43 jnthn I mean, yes, knowhows should be prototype based.
20:43 jnthn And we should certainly allow for prototype OO implementations to happen.
20:44 soupdragon left #perl6
20:44 jnthn But S12 describes the standard model as being class based, and having a metaclass instance holding the knowledge about the class feels rather more natural to me.
20:44 jnthn Which points to instances.
20:44 soupdragon joined #perl6
20:45 jnthn Smalltalk creates an actual separate derived metaclass per class and has instances of those, and handles our method ^foo style "meta-methods" that way, fwiw.
20:45 jnthn I guess the "put 'em in a role and mix it in" approach is more along the lines of only doing that on demand. :-)
20:47 ash_ i know ruby follows the instance approach to class meta methods, ruby is kinda my fallback language as i know it better than most other programming languages
20:47 PerlJam smalltalk > ruby
20:48 ash_ vim <=> emacs ?
20:48 ash_ rw!
20:49 cognominal yi implements vim and emacs so it is better than both  :)
20:50 ash_ *bows down to my new yi masters*
20:50 PerlJam padre is written in perl by perl people for perl code.  padre is best  ;)
20:50 cognominal padre padrone
20:51 ash_ but it uses wx, which is in c, and perl 5 is written in c, does c win? </rhetorical>
20:52 ash_ so, if perl 6 is supposed to let you role your own prototype based OO system, would a single instance ClassHOW get in the way of that?
20:52 jnthn .oO( I could declare my love for Visual Studio, and at least then everyone else can unite against me rather than having a vi/emacs war ;-) )
20:52 jnthn ash_: No, but it does cause you issues with method ^foo
20:52 PerlJam ew, gross
20:53 jnthn mwaha.
20:53 ash_ hmm yes, if the parser is singling out ^methods then i can see issues there
20:53 jnthn Well it's more about when you mix in.
20:54 jnthn If it's a singleton and you mix into it...well hey, you just gave that meta-method to every class. :-)
20:54 arnsholt joined #perl6
20:54 jnthn Which I think is Do Not Want.
20:54 jnthn ng: sub foo(::T $x) { say T }; foo(Int); foo(42);
20:54 p6eval ng 463992: Int()␤Int()␤
20:55 * PerlJam would just look to the Moose/CMOP people for prior art and do whatever they do  :)
20:55 jnthn PerlJam: Heh, I did that for roles, amongst other things. :-)
20:55 PerlJam then it must be correct!  :)
20:57 jnthn eek, getting all of S06-signature/type-capture.t to pass again is...tricky.
20:58 ash_ well, does Moose/CMOP properly implement things according to the perl6 spec? that, i am not sure of :P, finding a way for class based OO to not interfere with prototype based oo sounds tricky to me
20:59 jnthn I think that method ^foo will always be a bit funky for those doing prototype OO.
21:00 jnthn But I don't think it's a huge deal.
21:00 PerlJam ash_: since I don't know the answer to that question, I'd read the docs and probably go have a conversation with the folks on irc.perl.org:#moose  (if I were jnthn :)
21:00 jnthn PerlJam: Oh, I've talked some with (moose folks)++ :-)
21:00 jnthn That's been helpful.
21:01 PerlJam jnthn: I know. But maybe ash_ needs to now  :)
21:01 jnthn Moose is a good guide - it doesn't do everything the same way (traits are quite different).
21:03 ash_ jnthn: would it make sense to delegate the adding of '^' methods to the add_method method? or is that silly?
21:04 ash_ it could easily check if it has a '^' and if not send it off to the current object's HOW
21:04 cognominal just got tripped by naming a instance variable by the same name as a method. rakudo says the method signature is wrong instead of pointing to the problem. I don't know what rakudo-ng does
21:06 jnthn cognominal: Got a small example?
21:07 jnthn ash_: No, I don't think add_method should have to deal with this.
21:07 jnthn Off hand anyway.
21:07 cognominal I guess I can produce one.
21:07 jnthn It's really syntactic sugar, imo, so should reduce down to something we already have.
21:07 cognominal ...but I prefer you to work on rakudo-ng :)
21:07 japhb joined #perl6
21:07 jnthn cognominal: It may already be fixed in ng. ;-)
21:08 moritz_ ng: class A { has $.b; method b($x) { } };
21:08 p6eval ng 463992: A method named 'b' already exists in class 'A'. It may have been supplied by a role.␤current instr.: 'perl6;Perl6;Metamodel;ParrotBackend;add_method' pc 3108 (src/gen/Attribute.pir:441)␤
21:09 cognominal (grammar {  has $a; method a { say 'a'; } }).new.a
21:09 cognominal hum wrong example
21:10 ash_ the only reason i'd leave it up to the add_method method is if you were rolling your own OO object you can define an add_method and have it handle what you need, having all methods pass through that one method might be nice
21:12 jnthn Maybe we should have add_meta_method as well as add_method.
21:12 jnthn That feels cleaner, if we're going to go down the "metaclass decides" route.
21:12 jnthn Which I guess may be good.
21:12 ash_ is it currently syntactic sugar for say: class A { method ^foo { ... }}  === class A::HOW { method foo { ... }} ?
21:12 jnthn Then a prototype model could just outright bad it.
21:13 jnthn ash_: I think it makes a forwarder too.
21:13 jnthn It's not quite that
21:13 jnthn It's more like
21:13 jnthn A.HOW does anon role { method foo { ... } }
21:15 ash_ okay, i see what you mean, so thats an anon role not an augment? (is there a difference between those btw?)
21:16 pugs_svn r29524 | kyle++ | [t/spec] Test for RT 71112: Cannot assign to readonly variable.
21:16 jnthn does is an infix operator there.
21:16 jnthn The anon role is it's right hand side argument.
21:16 jnthn A.HOW is its LHS
21:16 jnthn It's the same as $foo does SomeRole
21:16 jnthn For mixing in.
21:16 jnthn I figure that add_meta_method may be the neatest way to go though.
21:17 jnthn I prefer it over adding a flag to add_method
21:17 cotto_work joined #perl6
21:17 jnthn And metaclasses that want to be singletons can say "no can do" easily if they like by throwing an exception in that method.
21:18 jnthn And ClassHOW can still just do it as a metaclass mix-in. Should be quite easy to implement.
21:18 jnthn And cleaner I guess than doing it elsewhere, and more control for the meta-programmer.
21:18 jnthn So I'm kinda leaning towards that.
21:18 ash_ sorry, i was confusing adding methods to an instance vs adding methods to a class
21:18 jnthn Yes, does operator mixes in to the instance.
21:19 jnthn does trait mod composes a role into a class.
21:19 jnthn Anyway, maybe let's try having method ^foo call add_meta_method instead of add_method
21:19 ash_ whats the difference in doing: augment class Foo vs Foo does A_Role; ?
21:20 jnthn The first adds methods to the class, and all instances get them.
21:20 ash_ or even, Foo does anon role { ... }
21:20 jnthn The second mixes in to the type object, so only the type object gets the methods in A_Role.
21:20 jnthn Same for that.
21:20 jnthn Foo is a type object, not a class object.
21:21 cognominal_ joined #perl6
21:21 jnthn There's no class object; just the type object which is the "empty instance" and the meta-object.
21:21 cognominal_ (class {  has $.a is rw ; method a($/) { say 'a' } ; method b() {  $.a++  } }).new.b; # Not enough positional parameters passed; got 1 but expected 2
21:21 jnthn So mixing into a type object is just like mixing into any other object - it only affects that one object.
21:22 cognominal_ jnthn, does not even complain if I omit the $.a++
21:22 jnthn cognominal_: oh, interesting :-)
21:23 jnthn ng: class Foo {  has $.a is rw ; method a($/) { say 'a' } }
21:23 ash_ jnthn: so, to add stuff after the class is instantiated you'd have to go through the meta object or augment the class?
21:23 p6eval ng 463992: A method named 'a' already exists in class 'Foo'. It may have been supplied by a role.␤current instr.: 'perl6;Perl6;Metamodel;ParrotBackend;add_method' pc 3108 (src/gen/Attribute.pir:441)␤
21:23 jnthn ash_: Correct.
21:23 jnthn the does infix operator is always about individual objects.
21:23 ash_ got ya, I am used to ruby's OO system where I can just grab the object instance and mess with it and it updates all instances of the object
21:24 cognominal_ mng rules :)
21:24 PerlJam ash_: with Perl you have that as an option :)
21:24 jnthn If you want that, you need to twiddle the meta-object.
21:24 ash_ s/object instance/class object instance/
21:24 jnthn But yes, I think we're understanding it the smae-ish now :-)
21:25 ash_ yeah
21:34 Mantis joined #perl6
21:37 ash_ i guess, add_meta_method would live in the ParrotBackend.pir ?
21:39 jnthn No
21:39 jnthn In ClassHOW.pir
21:39 jnthn IMO
21:40 jnthn ParrotBackend.pir will likely vanish soon - I think only ClassHOW uses it now.
21:40 jnthn Or at least, it will be, I think.
21:41 Mantis http://paste.lisp.org/+1ZYH
21:41 Mantis its perl5 sorry im banned from #perl
21:42 PerlJam Mantis: why are you banned from #perl?  Have you tried #perlhelp?
21:42 ash_ jnthn: RoleHOW still uses it
21:42 Mantis well i asked for help and they decided to be smartasses
21:42 jnthn ash_: Ah, OK
21:42 ash_ GrammarHOW is based off ClassHOW so it doesn't directly use it
21:43 jnthn ash_: I couldn't quite remember how far I'd got with RoleHOW's divorce from Parrot roles. :-)
21:43 Mantis and theres only 1 person in #perlhelp
21:43 jnthn ash_: Most of the way though. :-)
21:43 ash_ jnthn: no worries, just trying to help some if i can figure this out
21:43 Mantis i was just wondering if thats a correct way to iterate over a website
21:44 Mantis the $n variable controls the page counter in the url
21:44 moritz_ Mantis: maybe you're in the #perlhelp on the wrong server
21:44 PerlJam Mantis: #perl is *always* full of smartasses.  Just don't antagonize them and you'll eventually get help
21:44 Mantis well i've been banned every since
21:44 moritz_ there's irc.perl.org and irc.freenode.org
21:44 jnthn ash_: Feel free to tweak method_def.
21:44 jnthn ash_: So method ^foo calls add_meta_method instead of add_method
21:44 ash_ so, should, eventually, they not use ParrotBackend? it only seems to contain 1 method of worth, the add_method method, and an init
21:44 jnthn ash_: That'll be a nice start.
21:45 jnthn ash_: Oh, it's just that *one*?!
21:45 ash_ yup, thats all thats in it
21:45 ash_ http://github.com/rakudo/rakudo/blob/ng/src/metamodel/ParrotBacked.pir
21:45 jnthn ash_: In that case, copy it into ClassHOW and RoleHOW, then toss it, I think.
21:46 ash_ sure, i'll do that
21:46 jnthn We'll likely end up with less lines of code, and RoleHOW's add_method will need to change in the future.
21:46 jnthn ash_++
21:46 jnthn Then feel free to have a crack at implementing add_meta_method. I guess start off with a "not yet implemented" stub.
21:47 jnthn And make sure it's getting called when you write a class Foo { method ^bar() { } }
21:47 cognominal_ >  (grammar { token TOP { $<s>=s }; }).parse('s'); say $/<s>
21:47 cognominal_ s
21:47 cognominal_ >  (grammar { token TOP { $<s>= s }; }).parse('s'); say $/<s>
21:47 cognominal_ Use of uninitialized value
21:47 ash_ i'm working on it as we speak, i'll email a patch to the bug tracker
21:47 cognominal_ should the results any different?
21:47 jnthn Thanks, and feel free to bug me about applying that if I don't spot it.
21:48 moritz_ std: /$<a>= 3/
21:48 p6eval std 29524: ok 00:01 109m␤
21:48 cognominal_ rakudo-ng: (grammar { token TOP { $<s>=s }; }).parse('s'); say $/<s>
21:48 moritz_ cognominal_: I think it's an error
21:48 moritz_ cognominal_: (try just ng:)
21:48 cognominal_ oops
21:48 moritz_ because you don't have a capture
21:48 moritz_ try $<s>=(s)
21:49 cognominal_ moritz_, I have a capture in the first case
21:49 moritz_ and I think that's wrong
21:49 * PerlJam idly wonders if putting all of the stuff that does Q:PIR and pir::foo into Perl6::Backend::Parrot would be useful when we want  Perl6::Backend::Javascript or Perl6::Backend::Lisp or Perl6::Backend::LLVM or Perl6::Backend::mono or <use your imagination>
21:49 jnthn ng: my Int $x = "lol"
21:49 p6eval ng 463992:  ( no output )
21:49 cognominal_ I don't :)
21:49 patspam joined #perl6
21:50 cognominal_ I think the second line should behave as the first
21:50 cognominal_ parentheses should be necessary of one want to capture many atoms
21:50 jnthn PerlJam: I'm very open to Rakudo evolving towards multi-backend, though ng has priority for me for now. :-)
21:50 cognominal_ *if
21:51 ash_ jnthn: i emailed 1 patch already: its in the bug tracker, ticket #71554
21:51 sjohnson hi
21:52 jnthn hi sjohnson
21:52 cognominal_ ng: (grammar { token TOP { $<s>=s }; }).parse('s'); say $/<s>
21:52 p6eval ng 463992: Method 'isa' not found for invocant of class 'Undef'␤current instr.: 'perl6;Perl6;Actions;_block956' pc 144909 (src/gen/perl6-actions.pir:34)␤
21:52 jnthn ash_: Thanks, just got that up in my browser. :-)
21:54 ash_ jnthn: just thought i'd bring it up, its only a small patch so no big deal
21:55 dalek rakudo/ng: cc5d534 | jonathan++ | src/Perl6/Actions.pm:
21:55 dalek rakudo/ng: Need to thunk in things like sub foo(::T $x, T $y) { ... }. This gets all but one of type-capture.t passing (which only fails now due to lack of variable type checking).
21:55 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/cc5d534c845f6245c3f07c24c1f89c2ab205bb87
22:00 mberends joined #perl6
22:01 sjohnson yo jnthn
22:01 payload joined #perl6
22:03 sjohnson jnthn: do you use Windows 7 for your Windows desktop use?  i've switched from XP, and am kind of happy with it
22:03 jnthn sjohnson: On my desktop, no.
22:04 jnthn sjohnson: My new laptop that I got last month came with Windows 7.
22:04 jnthn And I like it.
22:04 jnthn Tempted to switch my desktop at some point...when I can be bothered with the hassle. :-)
22:05 cognominal_ jnthn, are you happy of your new laptop?
22:05 jnthn cognominal_: Aye, it's faster, probably about a kilo lighter once the lighter power supply is facotred in, and I can get the best part of six hours out of the battery.
22:06 wayland76 joined #perl6
22:06 sjohnson jnthn: ya i used XP since 2000 !  pretty decent win32 OS
22:06 sjohnson or 2001, whichever year it was out
22:07 jnthn Yeah, XP is fine. Vista I avoided.
22:07 jnthn Big mess.
22:07 jnthn OK, scalar assignment type checking seems to work again locally. \o/
22:08 sjohnson agreed
22:08 jnthn And all of S06-signature/type-capture.t passes now. :-)
22:08 jnthn Oh gah, a test is has a fail...
22:08 jnthn not ok 41 - can assign string "2" to Int variable
22:08 zaphar_ps joined #perl6
22:08 jnthn ...um.
22:09 moritz_ um.
22:09 Mantis joined #perl6
22:10 KyleHa Did I write that?  It kinda looks like my crud.
22:10 jnthn lol
22:10 jnthn S03-operators\numeric-context.rakudo
22:10 jnthn The comment is worse than the test. :-) Phew!
22:11 KyleHa Yup, I wrote that.
22:11 moritz_ this looks so b0rked
22:12 moritz_ wait
22:12 moritz_ not quite
22:12 jnthn wait, is this failing already?
22:12 jnthn Or did I break it just by putting in the type checking?
22:12 moritz_ I can't remember that it ever worked
22:12 jnthn Because the error ain't a type check fail.
22:12 jnthn Ah
22:13 moritz_ ng: say (+"2").WHAT
22:13 jnthn In that case I guess I'll commit away then. :-)
22:13 p6eval ng 463992: Num()␤
22:13 moritz_ perl6: say (+"2").WHAT
22:13 p6eval rakudo 3867ff: Num()␤
22:13 p6eval ..pugs: Num␤
22:13 p6eval ..elf 29524: Str␤
22:13 moritz_ elf is ... creative
22:14 KyleHa I can't assign an integer Num to an Int just because other values of Num can't be Int?
22:15 jnthn KyleHa: In that case, I think prefix:<+> should be handing back an Int.
22:15 moritz_ you can't assign Num to Int because Num !~~ Int
22:15 jnthn iirc anyway...
22:15 moritz_ right, what jnthn said
22:15 moritz_ that's the real problem
22:17 KyleHa So Int ~~ Num and Num !~~ Int.  and (my Int $x) = (my Num $y) = 3   is impossible?
22:17 jnthn I forget if Int ~~ Num by spec now.
22:17 jnthn I kinda lost track of the numerical shake-up.
22:17 moritz_ it used to be
22:17 moritz_ but it isn't anymore
22:18 jnthn Aye, I knew it used to be...
22:18 moritz_ Int ~~ Numeric and Num ~~ Numeric
22:18 jnthn Aha.
22:18 jnthn Where Numeric is a role?
22:18 dalek rakudo/ng: 73bcc80 | jonathan++ | src/ (2 files):
22:18 dalek rakudo/ng: Get type checking on scalar assignments working again.
22:18 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/73bcc80463184f1e5fea1f16874d88e8cfc79e68
22:18 dalek rakudo/ng: f9eb8e2 | jonathan++ | t/spectest.data:
22:18 dalek rakudo/ng: S06-signature/type-capture.t now fully passes.
22:18 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/f9eb8e2a3632865d19865c467324050fd4074643
22:18 moritz_ so if you want a numeric value, use Numeric, not Num as type constraint
22:18 moritz_ jnthn: yes
22:18 KyleHa Maybe Num could have a Int method that returns failure if the Num happens to have a non-Int in it.
22:19 moritz_ that's very error-prone due to floating point precision limits
22:19 PerlJam truncation to Int is generally popular
22:21 Exodist joined #perl6
22:21 jnthn OK, I didn't get parametric roles back in today, but I'd forgotten I needed to fix type captures.
22:21 jnthn So, para roles tomorrow, with some luck. :-)
22:23 ash_ joined #perl6
22:23 ash_ jnthn: well... i have a conundrum. Its parsing and calling add_meta_method now, but i am sorta of confused how to add the method to the instance ClassHow
22:23 dalek rakudo/ng: f2d5c76 | jonathan++ | src/builtins/ (3 files):
22:23 dalek rakudo/ng: Another s/Object/Mu/.
22:23 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/f2d5c76759283ca7035a8e6ac1a2790892a09abf
22:23 jnthn ash_: :-)
22:24 jnthn ash_++ for getting this far though
22:24 jnthn ash_: My suggestion is that you do something like this:
22:25 jnthn 1) Add a hash attribute called something like %!metamethods to the metaclass.
22:25 jnthn 2) add_meta_method just makes an entry in here.
22:26 jnthn 3) In the final compose, check if that hash contains anything. If so, create an anonymous role (equiv of my $mr = RoleHOW.new; for %!metamethods.kv -> $name, $code { $mr.add_method($name, $code) }; my $r = $mr.compose; self does $r;)
22:27 jnthn erm, create an anoymous role *and mix it in to the current metaclass instance*, I meant.
22:27 jnthn That's what the pseudo-ish code I shows does, only thing is you'll ned to write it in PIR since the rest of ClassHOW also is for the moment. :-/
22:28 jnthn But essentially, you can construct the anonymous role using RoleHOW and then use the does operator to do the mixing in for you.
22:28 jnthn ERm, I probably meant meta rather than self in the does statement there.
22:28 pugs_svn r29525 | moritz++ | fudge numeric-context.t for ng; correct some test descriptions
22:28 jnthn In PIR it'd be like '&infix:<does>'(meta, r) where r is the constructed role.
22:29 jnthn You could OTOH do it "immediately" in add_meta_method.
22:29 jnthn But then if there's loads of methods, you end up doing loads of generated roles and mix-ins...
22:29 jnthn Not that that's likely, but still...
22:30 jnthn Anyway, that's what I'd do as a first cut.
22:30 jnthn We can take any forwarding method that we need to generate later on after getting this bit working, anyways.
22:31 ash_ i did 1 and 2, but for 3 i added a method to classhow, add_meta_method and did was trying to implement it in pir, but i see your approach, i'll changed it to construct an anon role
22:31 ash_ in the package finalize
22:32 jnthn That will do what master does, I guess.
22:32 jnthn And it feels rightish.
22:32 ash_ here, one sec, i can show you what I am doing, let me make a gitpatch
22:32 jnthn ok
22:33 jnthn Though I need to go rest in a little bit. :-)
22:35 ash_ jnthn: thats fine, if your busy i can do this later
22:35 jnthn ash_: Feel free to paste it now.
22:35 ash_ http://gist.github.com/274680 is a copy of my current patch btw
22:35 rachelBROWN joined #perl6
22:35 jnthn It's not that I'm busy, just a tiny bit under the weather.
22:36 jnthn <- walked around in beautiful Prague for 5 hours on Saturday while it was snowing, and has a much slighter cold that he deserves for doing so.
22:36 mathw lucky you
22:36 ash_ jnthn: well, if you need to rest, thats perfectly understandable
22:37 jnthn mathw: After spending the previous week in Sweden, and the previous month in the UK, I was excited to be back in central Europe again. :-)
22:37 jnthn ash_: Looking now.
22:38 ash_ so, my problem is that functions right, it calls add_meta_method right, but within meta_method, i am trying to figure out how to add it to the meta model properly, line 109 of my patch, or line 437 of ClassHOW.pir if you apply the patch
22:38 jnthn ash_: +    #p6meta.'compose_role'(classhowproto, parrotbacked)
22:38 jnthn Don't comment, just rip out. ;-)
22:38 ash_ this, btw, is not making an anon role, so you know
22:38 ash_ well, i was going to before i submited it to the bug tracker :P
22:39 ash_ this is a rough patch
22:39 * mathw -> bed
22:39 ash_ i'll clean it up before really submitting it
22:40 jnthn ash_: OK, yeah. So in .sub 'add_meta_method' :method you want to be adding the methods to a hash attribute.
22:40 jnthn What you've done in Package.pm looks very right though.
22:41 jnthn For now, don't worry about add_meta_method for roles - I'm not quite sure what that means yet...
22:41 ash_ k
22:41 jnthn (Just die with some Not supported...)
22:42 ash_ will do
22:42 jnthn Anyway, it looks like you're going in the right direction. :-)
22:42 jnthn Thanks for hacking on this. It's nice to have help on metamodel bits. :-)
22:43 ash_ no worries, i'll try to get it functional
22:44 PerlJam ash_++
22:44 pmurias joined #perl6
22:52 thowe joined #perl6
23:11 cj any utf-8 heros here?  I want to add both a caron and an accent to a c... how do I?
23:11 ash_ çÇ ?
23:12 ash_ no, lol, on my keyboard i just hit alt + character, if thats not it i have no idea
23:14 moritz_ rakudo: say "\c[COMBINING ACCENT ACUTE]\c[LATIN SMALL LETTER C WITH CARON]"
23:14 p6eval rakudo 3867ff: perl6regex parse error: Unrecognized character name COMBINING ACCENT ACUTE at offset 18, found 'C'␤in Main (file <unknown>, line <unknown>)␤
23:14 moritz_ rakudo: say "\c[COMBINING ACUTE ACCENT]\c[LATIN SMALL LETTER C WITH CARON]"
23:14 p6eval rakudo 3867ff: ́č␤
23:15 ash_ thats awesome
23:15 ash_ moritz_++
23:15 moritz_ rakudo: say "\c[COMBINING ACUTE ACCENT]\c[COMBINING CARON]c"
23:15 p6eval rakudo 3867ff: ́̌c␤
23:16 moritz_ both firefox and xterm mess that up
23:16 cj my gnome-terminal has been broken WRT utf-8 for a couple weeks.  woe.
23:17 * moritz_ would be lost without a working terminal
23:18 ash_ i haven't really had issues with unicode on OS X, since in OS X's objective C all strings default to utf-8, most programs don't screw it up, unless they try to do freaky things with strings internally, which isn't really happened to me yet
23:20 ash_ although i have heard some crazy bug repots, like in Colloquy, an IRC client, if you put unicode in your name and join a channel it crashes colloquy in the current beta of the next version, so something weirds happening there
23:21 cj hurm... gedit didn't combine both chars with the c... oh, well...
23:26 diakopter rakudo: say "c\c[COMBINING ACUTE ACCENT]\c[COMBINING CARON]"
23:26 diakopter rakudo: say "C\c[COMBINING ACUTE ACCENT]\c[COMBINING CARON]"
23:26 p6eval rakudo 3867ff: ć̌␤
23:26 p6eval rakudo 3867ff: Ć̌␤
23:27 ash_ woot, i got it working, but it working with the HOW object, but its not being forwarded from the instance objects
23:27 ash_ ie: Foo.HOW.bar works, but Foo^bar doesn't
23:27 diakopter cj: ^^
23:28 ash_ s/Foo^bar/Foo.^bar/
23:28 sjohnson yo dia
23:29 cj diakopter: looks like it might look right on a terminal other than mine ;)
23:29 * cj checks his gnome-terminal preferences
23:31 diakopter sjohnson: hi
23:32 TimToady moritz_: combining chars always come after in Unicode
23:41 ash_ jnthn: i got it working for all of my primitive examples, i am going to look through S12 to see if it has any more tests i can run to make sure this is working
23:41 diakopter hum. I wonder what funky stickmen can be formed with all these combining chars
23:41 diakopter probably all kinds of scenes
23:47 ash_ so... Foo.^bar is sugar for Foo.HOW.bar(Foo); right?
23:47 ash_ so, what happens when you do Foo.bar; that calls the forwarder, correct? but won't bar still be expecting 1 param at least?
23:48 diakopter rakudo: say ".\c[COMBINING GREEK YPOGEGRAMMENI]"
23:48 p6eval rakudo 3867ff: .ͅ␤
23:51 ash_ well my changes didn't make rakudo fail any tests, hopefully i can find some new tests it passes

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

Perl 6 | Reference Documentation | Rakudo