pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by Tene on 29 July 2008.
TimToady there will always be those who think Martin Luthor went too far, and those who think he didn't go far enough. :) 00:00
ab5tract nice analogy :)
TimToady well, the postmodern term would be "narrative"...
pmichaud "story" is better. 00:01
TimToady less threatening :)
narrative is a power word for people who think that postmoderns should exercise power over all other power structures
pmichaud that's not a very good story. :-) :-) 00:02
TimToady nevertheless, you're soaking in it. :)
it's the spirit of our age
ab5tract ha. and i thought it was a power word to disentangle and disempower power structures
(yes i'm being both facetious and serious at the same time) 00:03
pmichaud also the spirit of our age. 00:04
ab5tract :)
sarcasm: the cause of and answer to all life's confusion
TimToady that goes without saying/you can say that again
00:05 plash_ left
ab5tract so was there a project to write perl 5 in parrot? i could see it being useful. 00:07
s/write/compile/
wknight8111 There was, "Punie", i think it was called
ab5tract thats perl 1 iirc
wknight8111 whatevs, there was a project for it
I'm too bad with names to remember what it's called
ab5tract yeah, i was thinking it was something like that too. 'ponie' maybe. 00:08
pmichaud ponie 00:09
ab5tract which would make for the following: punie, pynie, and ponie.
pmichaud I keep thinking I might write a p5-like translator for parrot, just to see how far we can get.
(_after_ we're much farther along on p6, though)
ab5tract right. seems like the opposite of necessary atm 00:10
TimToady first concentrate on APL to p6 :) 00:11
(not so farfetched these days...) 00:12
ab5tract p6 is fully unicoded correct? so i could technically use kanji for method names, etc
TimToady certainly
ab5tract nice :) 00:13
TimToady perl6: sub 名前 { say "moshi moshi" }; 名前(); 00:14
p6eval elf 22530, pugs, rakudo 31766: OUTPUT[moshi moshiā¤] 00:15
pmichaud they all seem to agree :-)
TimToady wow, they all worked
00:15 smg left
pmichaud I'm a little shocked, also. 00:15
ab5tract cool. what're those numbers and why does elf have a different one?
pmichaud I was a bit concerned about rakudo.
ab5tract: svn revision numbers
ab5tract smacks head 00:16
TimToady std: sub 名前 { say "moshi moshi" }; 名前();
pmichaud I tend to stick an 'r' in front of the revision numbers :-)
TimToady is there a stdbot?
p6eval std 22530: OUTPUT[parsedā¤]
TimToady ooh, there is
pmichaud we use it a fair bit these days :-)
it tells us what works and what doesn't. For example.... 00:17
std: sub a { say 'oops'; }; say a ~~ Sub;
p6eval std 22530: OUTPUT[parsedā¤]
pmichaud unfortunately, last I checked, that parses as two prefix:<~> operators, though :-) 00:18
TimToady as it should
since a is a listop
pmichaud correct.
it just catches a few people off guard :-)
TimToady but we should probably catch that one with a warning
since there's no good reason to stringify twice 00:19
pmichaud shouldn't be too difficult to catch that.
I even wondered if it's worthwhile to define prefix:<~~> with a warning.
TimToady I'd fix it right now, but I'm still debugging the damage from the new ~
well, that's how I'd probably do it
pmichaud I like the new ~, but the syntax is a little funky 00:20
probably just takes a little getting used to 00:21
I definitely like it better than [ ')' || fail ]
ab5tract whens the next state of the onion? i've been feeling restless 00:23
TimToady probably won't publish this year's since it was a tech talk/demo of STD.pm 00:24
ab5tract awww... maybe video ? 00:25
its not a year without a new onion address
TimToady well, that's how we'll make the deadline of Christmas This Year :) 00:27
ab5tract in that case this will be a Very Good Year
TimToady like the legislatures that stop the clock at 11:59 so they don't violate the law on getting a budget passed by Octember 35th... 00:28
ab5tract haha. diabolic 00:30
00:30 kanru left
ruoso needs to accept the idea of learning haskell... :/... it's a shame that I can't modify M0ld... 00:39
TimToady haskell is easy to learn. I've done it several times already... 00:43
ruoso I look at the code and it's simply meaningless to me... 00:44
00:45 ab5tract left
Kitchy I almost decided to learn Haskell last week. I wanted no oo and good text processing. If it was more mainstream I'd learn it. 00:46
TimToady I can read it, I just can't write it. Well, I can, but I always get into a losing argument with the compiler...
00:48 xuser joined 00:50 ywc joined
ruoso considers workaround'ing haskell... 00:54
TimToady, have you ever thought on a identity test for the representation of the object? 00:55
like... $obj <something> p6opaque
TimToady surely something that could be returned by reflection without a special operator 00:57
Kitchy Am I the only one who misspells variables named "text" as "test" way too often? 00:58
TimToady I can never type "per" without adding the l :)
ruoso hehe
01:12 c1sung_ is now known as c1sung, silug joined 01:24 Kitchy left 01:27 sail0r joined, eternaleye joined 01:29 sail0r left 01:35 alanhaggai joined 01:41 ryanc left 01:45 smg joined 02:03 jhorwitz left 02:07 wknight8111 left 02:11 Chillance left 02:13 cls_bsd joined 02:20 PZt joined 02:31 araujo joined 02:44 BinGOs_ joined 03:03 elmex_ joined 03:06 BinGOs left 03:08 kanru joined 03:12 sri_work left 03:13 xuser left 03:17 xuser joined 03:18 elmex left, elmex_ is now known as elmex 03:20 Ontolog joined 03:25 ywc left 03:29 alester joined 03:31 justatheory joined, silug left, ab5tract joined 03:41 mberends joined 03:43 spinclad_ is now known as spinclad 03:59 justatheory left, justatheory joined 04:14 Ehtyar left 04:20 coke joined 04:21 coke is now known as Coke
Coke moritz_: you didn't just kill my process again, did you? 04:30
PerlJam I don't think he's on feather even. 04:32
Coke I am just very suspicious of tests that die before completion now. :|
PerlJam: how goes? 04:33
PerlJam Good I guess.
Still trying to think of some way to incorporate parrot/perl6 at $work. :-) 04:34
Playing with Moose more and more lately too. It's a nice bridge from perl 5 to perl 6 04:35
04:38 justatheory left 04:47 Bzek joined 04:50 Coke left 04:59 mberends left 05:06 alanhaggai left 05:08 justatheory joined 05:10 Psyche^ joined 05:18 justatheory left 05:21 Patterner left, Psyche^ is now known as Patterner 05:25 Ontolog left 05:40 alester left 05:48 alanhaggai joined 06:05 ab5tract left 06:07 meppl joined 06:19 BinGOs_ is now known as BinGOs
pugs_svn r22531 | lwall++ | [series.t] syntax error, added a few tests for list return 06:33
06:41 ashizawa joined 06:43 cosimo joined
pugs_svn r22532 | lwall++ | [STD] switch to '(' ~ ')' <foo> format for readability and better errors 06:50
r22532 | lwall++ | [gimme5] support for ~ construct and :dba<>
moritz_ @tell Coke re killing processes, I'm innocent your honor! 06:56
lambdabot Consider it noted.
07:06 pmurias joined
pmurias ruoso: hi 07:06
is there anything in m0ld you want modified?
07:17 Kitchy joined
Kitchy Could someone give me a clue about what challenges were posed to Perlmonks in the past regarding Perl 6? 07:19
Someone mentioned that yesterday.
I'd like to look up those posts on Perlmonks. 07:20
moritz_ the only challenges I know of were implementing some piece of code in various languages, including perl 6
maybe google for site:perlmonks.org challenge "perl 6" 07:21
Kitchy I'll try. Here's what I'm talking about from yesterday: colabti.org/irclogger/irclogger_log...5,Sun#l226 07:23
lambdabot Title: #perl6 2008-10-05, tinyurl.com/3pgxj6
moritz_ not quite yesterday, IMHO ;) 07:28
Kitchy: pmichaud's "sure, I've invited that in the past. It'd be good to do it again." was about offering an entry in the CREDITS file, not about previous challenges 07:29
Kitchy Yeah. I found his two posts on Perlmonks and they're not challenges. 07:30
I get my day lengths confused with all this recent Mars stuff.
moritz_ I forgot that colabti.org "stole" my irc logger CSS ;-) 07:31
07:33 iblechbot joined
Kitchy @IBLECHBOT What do you do? 07:34
lambdabot Unknown command, try @list
Kitchy @list 07:36
lambdabot code.haskell.org/lambdabot/COMMANDS
Kitchy I refuse to click that because I just know it will refer me to a phone number or something. 07:37
07:40 pmurias left 08:03 jferrero joined 08:04 Jedai left 08:08 Jedai joined
cognominal Ā§ 08:22
08:24 Jedai left 08:26 Jedai joined 08:27 zamolxes joined 08:33 smtms left 08:39 smtms joined 08:43 Kitchy left 09:04 tomyan joined 09:10 Ontolog joined 09:14 Bzek left, lumi left, viklund left, apeiron left, pugs_svn left, fullermd left, arguile left, baest_ left, yahooooo left, buu left, alech left, Maddingue left, p6eval left, wolverian left, r0bby left, cosimo left, ashizawa left, aindilis left, diakopte1 left, ting left, jfredett left, clkao left, allbery_b left, smtms left 09:15 zamolxes left, literal left, c1sung left, cxreg left, bennymack left, jiing_ left, charsbar_ left, avar left, AzureStone left, meppl left, idemal left, spinclad left, kst left, Tene left, cj left, SamB left, integral left, Patterner left, cls_bsd left, PerlJam left, mtve left, kane_ left, REPLeffect left, jjore left, Jedai left, iblechbot left, xuser left, kanru left, PZt left, ruoso left, Khisanth left, hercynium left, Juerd left, Guest16015 left, meteorja1 left, bsb left, moritz_ left, TimToady left, kolibrie left, falesca left, ilbot2 left, preflex left, sirhc left, buubot left, IRSeekBot left, mj41_ left, hcchien left, elmex left, Caelum left, pjcj left, agentzh left, Guest70230 left, rakudo_svn left, yves left, pasteling left, japhb left, jiing left, zostay left, audreyt left, Ontolog left, tomyan left, alanhaggai left, smg left, pmichaud left, gbacon left, [particle] left, kcwu left, rhr left, Southen left, bennymac1 left, nothingmuch left, dalek left, obra left, sunnavy left, ewilhelm left, BinGOs left, funktio left, jferrero left, araujo left, eternaleye left, szbalint_ left, nnunley_ left, beppu left, jrockway left, Grrrr left, broquaint left, jan_ left, drbean left, felipe left, TreyHarris left 09:17 TimToady joined, apeiron joined, Ontolog joined, tomyan joined, smtms joined, zamolxes joined, Jedai joined, jferrero joined, iblechbot joined, cosimo joined, ashizawa joined, meppl joined, alanhaggai joined, Patterner joined, Bzek joined, xuser joined, kanru joined, elmex joined, BinGOs joined, araujo joined, PZt joined, cls_bsd joined, smg joined, eternaleye joined, ruoso joined, Caelum joined, Khisanth joined, hercynium joined, PerlJam joined, Juerd joined, pmichaud joined, dalek joined, obra joined, sunnavy joined, ewilhelm joined, idemal joined, gbacon joined, Guest16015 joined, pjcj joined, spinclad joined, literal joined, szbalint_ joined, nnunley_ joined, beppu joined, jrockway joined, lumi joined, meteorja1 joined, c1sung joined, viklund joined, bsb joined, irc.freenode.net sets mode: +o TimToady, agentzh joined, aindilis joined, alech joined, [particle] joined, kst joined, kcwu joined, moritz_ joined, diakopte1 joined, Tene joined, cj joined, pugs_svn joined, fullermd joined, jjore joined, integral joined, REPLeffect joined, SamB joined, kane_ joined, mtve joined, rhr joined, cxreg joined, jiing_ joined, avar joined, jfredett joined, allbery_b joined, ting joined, charsbar_ joined, bennymack joined, AzureStone joined, clkao joined, ilbot2 joined, IRSeekBot joined, buubot joined, sirhc joined, falesca joined, kolibrie joined, mj41_ joined, preflex joined, hcchien joined, Grrrr joined, Maddingue joined, arguile joined, buu joined, r0bby joined, baest_ joined, p6eval joined, wolverian joined, yahooooo joined, pasteling joined, Guest70230 joined, rakudo_svn joined, zostay joined, jiing joined, japhb joined, yves joined, audreyt joined, broquaint joined, Southen joined, jan_ joined, nothingmuch joined, bennymac1 joined, drbean joined, felipe joined, TreyHarris joined, funktio joined, orafu joined, StephenPollei joined, speckbot joined, Gothmog_ joined, ingy joined, perlbot joined 09:18 Aisling left, Aisling joined 09:19 c9s left, c9s joined 09:20 cognominal left 09:21 cognominal joined 09:37 pmurias joined
ruoso pmurias, hi... 09:40
pmurias, I was wanting to add a test for the RI of an object... 09:41
pmurias, to test in a signature if the object is a native int
for instance...
09:41 sri_work joined
pmurias so you want to have a compare RI opcode 09:45
?
ruoso yes 09:53
so I can write the ACCEPTS code for a :(int, int) signature
(I know ~~ was supposed to be used, but as this are native types, we can go directly to the RI) 09:54
10:02 pmurias left, agentzh left, agentzh joined 10:28 Ehtyar joined 10:31 ruoso left 11:08 jferrero left, jferrero joined 11:18 agentzh left 11:21 pmurias joined 11:22 agentzh joined
pmurias @tell ruoso i think m0ld should remain RI oblivious as it can't but the knowledge about the internals of a given object to any (good) use, we *could* extend m0ld with generall memory manipulation stuff (like llvm) and make it RI aware but it's a different topic 11:24
lambdabot Consider it noted.
11:25 jferrero left, Ontolog left
pugs_svn r22533 | pmurias++ | [smop] moved adhocsignature to the RI DSL 11:25
11:26 jferrero joined 11:31 iblechbot left 11:32 pmurias left 12:43 masak joined 12:54 Lorn joined 12:55 literal left 12:56 literal joined 12:58 Alias_ left 13:01 ashizawa left 13:10 masak left 13:12 pmurias joined 13:22 iblechbot joined 13:35 pmurias left 13:42 masak joined 13:49 aindilis left 13:52 alanhaggai_ joined 14:00 alanhaggai left, alanhaggai_ is now known as alanhaggai 14:11 Alias_ joined 14:17 [particle]1 joined 14:31 icwiener joined 14:33 eternaleye left 14:35 [particle] left 14:48 zamolxes left 14:49 cosimo left 15:00 alester joined 15:04 Lorn_ joined 15:24 jhorwitz joined 15:29 viklund left 15:31 ispy_ joined 15:32 alanhaggai left 15:36 Exodist joined 15:40 tomyan left 15:47 justatheory joined 15:50 zostay_ joined 16:01 zostay left 16:10 zamolxes joined 16:15 REPLeffect left 16:19 azawawi joined
azawawi hi 16:21
[particle]1 heya 16:22
azawawi thx for committing globals.pir patch
16:22 [particle]1 is now known as [particle]
azawawi rakudo: say [$*OS] 16:23
p6eval rakudo 31789: OUTPUT[linuxā¤]
[particle] sure, i have some more to review from you
azawawi rakudo: say [$*OS,$*OSVER]
p6eval rakudo 31789: OUTPUT[linux ā¤]
masak is there a rationale for spelling 'linux' with a minuscule 'l'? 16:24
[particle] that's what the operating system returns
masak as in 'uname'?
moritz_ uname returns 'Linux' (at least the executable does) 16:25
azawawi moritz: irclog.perlgeek.de/search.pl?channe...=&q="$ 16:26
moritz_: "error on line 53 at column 7: attributes construct error"
moritz_: i cant find things like '$*OS' on IRC logs search 16:27
rakudo: say [$*OS, $*OSVER, $*EXECUTABLE_NAME] 16:28
p6eval rakudo 31789: OUTPUT[linux ./parrotā¤]
azawawi rakudo: say [$*OS, $*OSVER, $*EXECUTABLE_NAME].perl
p6eval rakudo 31789: OUTPUT[["linux", "", "./parrot"]ā¤]
moritz_ azawawi: search is somewhat broken, but I want to wait for the next KinoSearch release to do it properly this tiime
azawawi moritz_: looking forward to it ;-)
16:29 REPLeffect joined
moritz_ too 16:30
[particle] aha. i figured out why osver is blank
vim src/inter_misc.c +451 16:31
azawawi thinks about RT #56226
16:32 Alias_ left
[particle] bug filed. 16:34
azawawi [particle]++ 16:36
azawawi working on RT #59722 16:37
16:38 masak left
pugs_svn r22534 | lwall++ | [STD] improve error messages based on dba 16:39
[particle] dba++
16:41 jferrero left
azawawi pugs: say [$?PERLVER] 16:43
p6eval pugs: OUTPUT[*** Undeclared variable: ("$?PERLVER",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xb5efc0bd>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0xb6634e65>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto = <Array:0xb662...
azawawi pugs: say [$*PERLVER]
p6eval pugs: OUTPUT[ā¤]
azawawi rakudo: say [$*PERLVER]
p6eval rakudo 31789: OUTPUT[ā¤]
moritz_ that is a little more verbose than it needs to be 16:44
(the first error message)
azawawi rakudo: say [$*PERLVER].perl 16:45
p6eval rakudo 31789: OUTPUT[[undef]ā¤]
azawawi $*PERLVER => 'rakudo perl6' ?
moritz_ $*PERLVER => v6.0.0 ? 16:46
azawawi yeah but it is what Perl r u running under...
moritz_ that would be "implementation", not "version" 16:47
azawawi hmmm ok
moritz_: ./perl6 -v => 'This is Rakudo Perl 6, revision 31697 built on parrot 0.7.1-devel for ...' 16:50
moritz_ azawawi: well, -v prints more information than the version 16:51
azawawi moritz_: so 6.0.0 it is...
rakudo: [$?OS] 16:52
p6eval rakudo 31789: OUTPUT[Scope not found for PAST::Var '$OS'ā¤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 151 (src/PCT/HLLCompiler.pir:103)ā¤]
[particle] rakudo doesn't implement $?MAGICALS yet 17:00
TimToady up 17:01
17:08 pmurias joined 17:12 pyrimidine joined
pugs_svn r22535 | lwall++ | [STD] -> not recognized after listop sets goal 17:14
17:17 ruoso joined
ruoso pmurias, hi 17:17
lambdabot ruoso: You have 1 new message. '/msg lambdabot @messages' to read it.
ruoso pmurias, I'm not really sure I understand what you've saud 17:18
pyrimidine perl6: my $i = 0;say 'hello'.trans(/l/ => {ord('A')})
p6eval elf 22535: OUTPUT[Undefined subroutine &GLOBAL::ord called at (eval 119) line 4.ā¤ at ./elf_f line 3861ā¤] 17:19
..rakudo 31791: OUTPUT[he6565oā¤]
..pugs: OUTPUT[*** Not a keyed value: VRule (MkRulePGE {rxRule = "l", rxGlobal = False, rxStringify = False, rxAdverbs = VUndef})ā¤ at Prelude.pm line 476, column 22-60ā¤]
pmurias ruoso: meant put instead of but 17:22
typoes--
moritz_ TimToady: should $0, $1 etc work inside closures of the Str.trans method?
ruoso will try to re-read then 17:23
pmurias, do you think a RI identity operator would mean knowledge about "internals"?
pmurias what i meant is that m0ld can't access the internals of an object in a non-polymorphic way so it has no business of inquiring how are they implemented undearneath 17:24
17:24 Bzek left
pmurias ruoso: it's not very usefull to inquire how an object is implemented withought being able to use that knowledge 17:25
ruoso pmurias, well... it actually is, in the case of signatures...
pmurias, it serves to know if we have the type of objects the code knows how to deal with
(not type, but repr) 17:26
considering it will eventually go to native C code...
checking for the correct repr before going to the native C is a good idea
then the C code can use the knowledge about the internals
pmurias in a mixed C/m0ld scenario it makes some sense 17:27
pmurias is eating his dinner so is not very responsive 17:28
ruoso pmurias, the case here is about &infix:<+> for instance... in the :(int, int) variant, it goes straight to C code 17:29
pmurias ~~ could know about RI's 17:30
ruoso I thought about it, but &infix:<~~> is also a sub... so we need a circuit-braker 17:31
moritz_ ~~ is also a macro (don't know if that matters right now)
17:31 ab5tract joined
pmurias we can use RI.isa or something else but i don't want to use a uncommonly used operation an opcode 17:32
s/uncommonly/one which can be expressed with other opcodes easily/ 17:34
17:34 abra joined
TimToady moritz_: if the match sets the $/ in trans's body and then trans calls the closure, I'd think probably yes 17:35
moritz_ TimToady: ok, thanks 17:36
17:37 mberends joined
pmurias ruoso: a simple &RI_is could be better than a isa method on RI's 17:38
pmichaud TimToady: so, 'foo'.trans(/(.)/ => { ord($0) }) the $0 doesn't refer to the $/ of the surrounding block? (i.e., the block containing the .trans method call itself)? 17:39
ruoso pmurias, well... I even thought about creating an object that would do the test...
but it maybe would be simpler to just test in mold
pmurias i can write &RI_is 17:40
TimToady pmichaud: I think a block's $/ is initialized with it's CALLER::<$/>, not OUTER::<$/>
pmichaud checks. 17:41
ruoso pmurias, you mean create a new object? or as a syntax in mold?
pmurias, I even have the test for it already...
pmichaud ($/ initialized with CALLER::<$/>) I think that's different from what was discussed earlier. so, $_ is from OUTER, but $/ is from CALLER? 17:42
ruoso pmichaud, remember that most of the time where $/ would be used CALLER and OUTER are the same thing... 17:43
pmichaud ruoso: TimToady and I had a very specific discussion about this a few months ago. 17:44
TimToady alternately, when you have a construct like /(.)/ it labels it with the current $/ for it to set.
could be made to work either; not sure which is better
pmichaud TimToady: so, in $foo ~~ $regex we end up setting the $/ of $regex as opposed to the current $/ ?
pugs_svn r22536 | ruoso++ | [smop] sketch for the test on checking RI identity 17:45
ruoso pmurias, check test/38
TimToady maybe. the OUTER solution is likely more efficient, but I may be imagining things
the CALLER solution would propagate inward as long as trans doesn't do its own matching, which is maybe a problem 17:46
17:46 pmurias_ joined
TimToady maybe $foo ~~ $regex can set multiple $/ 17:46
the current one and the closurely one 17:47
ruoso .oO( wasn't $/ declared as "my $/ is context<rw>" on every routine, and regex set it by accessing $+/ ? )
moritz_ S02 says that $/ is always contextual
TimToady basically, /(.)/ is more like {/(.)/} if we go with OUTER
moritz_ so that would default to CALLER::
17:48 pmurias left
TimToady that means that you *can* refer to it via CALLER, not that you must 17:48
OUTER::<$/> is also a valid way to refer to a particular $/
pmurias_ ruoso: something like the test but with 'postcircumfix:( )' instead of 'check'
ruoso yeah... you're probably right... 17:49
TimToady the question is what will be dwimmier
ruoso pmurias_, does the RI DSL knows how to deal with singleton RI's? 17:51
17:51 justatheory_ joined
pmurias_ not yet 17:52
17:52 justatheory left
ruoso pmurias_, should I write it in C? or would you change the DSL to support that? 17:52
pmurias_ i think we should use CCode 17:53
pugs_svn r22537 | lwall++ | [STD] cascaded arglists fail to allow closure as first arg
TimToady pmichaud: what's your feeling about the relative overhead of initializing $/ with CALLER vs OUTER? 17:54
pmichaud they're about the same in Parrot land 17:55
ruoso pmurias_, instead of a singleton specialized RI?
pmichaud the other context and the caller context are basically one pointer reference away -- it just depends on which pointer.
s/other/outer/
TimToady well, a user can always get at caller via $+/ or whatever
pmurias_ ruoso: yes 17:56
TimToady so I'm inclined to go with outer, but that breaks your trans unless we closurize /(.)/ to grab the current $/
ruoso pmurias_, that should be ok...
pmurias_, that means it won't use the RI DSL... 17:57
pmichaud (closurize /(.)/) does that then mean that any use of the regex would affect the $/ of the block where it was defined?
that sounds... icky. I had been thinking that only smart match set $/ 17:58
TimToady I suppose {/(.)/} naturally does the right thing, since it would initialize $/ to OUTER
pugs_svn r22538 | pmurias++ | 38 should use .()
TimToady or {$_~~/(.)/} if that's so
pyrimidine pmichaud: that's how .match is implemented currently (you get a Match object, but $/ is not set)
pmichaud pyrimidine: yes, I know. 17:59
$foo = $bar.match(/whatever/) didn't seem to me to automatically imply setting $/
pmurias_ ruoso: \
sorry typo
TimToady well, that tends to push us toward CALLER init instead 18:00
esp if we want .subst to work as documented
pmichaud I don't have any particular heartburn with $/ as CALLER (but haven't thought about it much)
I had been lumping $/ with $_ and $!, but that doesn't have to be the case. 18:01
and, of course, I had originally misconceived $_ to be based on CALLER.
pmurias_ ruoso: who is supposed to be implementing RI test now?
TimToady well, $! also has CALLER semantics, though not on init
18:02 zamolxes left
TimToady $_ is CALLER if the caller passes it as a param 18:02
and OUTER otherwise
pmichaud right.
ruoso pmurias_, I'm doing it ...
TimToady maybe $/ is similar? not sure how that'd work...
pmichaud so they all somewhat act like CALLER, except that $_ is special in that it's the default for $_
er, for -> $_ = OUTER::<$_> { ... }
TimToady fail sets $! in CALLER, for instance 18:03
pmurias_ stops implementing ri test 18:04
pugs_svn r22539 | pmurias++ | [smop] removed old mildew AST definition 18:06
TimToady or we could just go with straight OUTER and force the user to say $+0, $+1 to get to their caller's $/ on trans. I doubt it would be a FAQ 18:08
but that doesn't help much with .subst
pmichaud it came up with .trans on #parrot, fwiw.
TimToady which probably *would* be a FAQ
the alternative would be for .subst and .trans themselves to tweak CALLER::<$/> which would then be visible as OUTER::<$/> in the closure 18:10
maybe that's the correct solution
and .match (and then ~~ has nothing to do with it)
that feels like the $! solution, and that gives me warm fuzzies 18:11
18:11 wamiks joined
ruoso just hit the "postcircumfix:<( )> signature" issue again! 18:12
TimToady The signature hits back!!! --more-- 18:13
pyrimidine if a transliteration has multiple regexes?
pugs_svn r22540 | ruoso++ | [smop] ritest in place... but now I hit the "postcircumfix:<( )> signature" issue again! 18:14
TimToady the binding of $/ only has to last till the closure is called
moritz_ then the one that matches (the longest token) should set $/
pyrimidine okay
moritz_ (at least that's my limited understanding)
TimToady probably need to compose all the regexen into a single alternation anyway
so the LTM can have at it 18:15
ruoso TimToady, since method is an object, the actual postcircumfix:<( )> cannot have the :(|$capture) signature, because it needs the actual method object as the invocant of that call...
TimToady :($self: |$capture)
moritz_ TimToady: speaking of regexes and captures, I don't think that the current split() semantics are useful... 18:16
ruoso TimToady, hm?
TimToady you can pull off the invocant and then bind the remaining to $capture
pmichaud (subst/trans) - I agree... I came up with the same answer as I stepped away from the desk. So, .trans and .subst set CALLER::<$/> after each match. Clean.
moritz_ TimToady: currently they say that if the regexes has captures, the match objects follow in alternation with the strings between the matches...
ruoso TimToady, right... but on a method, we need a real invocant...
moritz_ TimToady: but the question if a regex has captures isn't determined at (regex) compile time
ruoso if we pull the invocant off, how is it going to find "self" 18:17
moritz_ TimToady: what about having an :preverse named arg that switches between two modes of operation?
pmichaud ....:perverse?
ruoso stands for postcircumfix:<( )> ($capture) instead
moritz_ erm, :preserve
*blush*
TimToady if you call the method as a sub it can just use the next arg as invocant, if you unshifted the method object
moritz_ well, the name isn't good 18:18
TimToady ETOOMANYTHREADS
moritz_ TimToady: should I take it to the list?
TimToady switches context
ruoso TimToady, but that requires transformations in the capture... is there a reason for avoiding the actual capture as the first positional argument for postcircumfix:<( )> ? 18:19
TimToady moritz_: whether a regex has captures *is* determined at compile time
if not, we've botched the design
moritz_ TimToady: (.)* doesn't produce a $0 if it matches with zero count 18:20
TimToady ruoso: that would work too, I suppose
moritz_ TimToady: so it is only determined if it has the *potential* to create captures
ruoso TimToady, but I mean, can I consider adopting it? since my methods and subs are already objects... it's pretty hard to implement the other way... 18:21
TimToady it makes $0 that is an empty array
ruoso: sure, that's fine
ruoso cool
moritz_ oh, right
moritz_ must have confused something very badly 18:22
TimToady: so never mind, thanks for the clarification
pmichaud PGE currently has trouble with /foo || bar (.)*/ in that $0 isn't created as an empty array if we match 'foo'.
speckbot r14589 | larry++ | various tweaks and clarifications 18:23
pugs_svn r22541 | pmurias++ | [mildew] added some ast creation helpers, because the Moose constructors are too verbose 18:24
TimToady ruoso: have revised S13 to $capture
ruoso :D
TimToady, thanks!
TimToady finally back to parsing 100%!!! whew!!! 18:25
18:26 justatheory_ left, justatheory joined 18:32 alester left
pyrimidine Are we leaving .match as is? (not setting CALLER::<$/>) 18:32
moritz_ is there a god reason for 'make' to clean the lex cache *after* compiling itself? 18:33
s/god/good/
TimToady .match will also set CALLER::<$/> 18:34
moritz_: no, was just thinking about that myself
in terms of "if I just want the gimme5 to run, what if I ^C in the middle of the rm?" 18:35
pugs_svn r22542 | pmurias++ | [mildew] added missing file 18:36
TimToady feel free to rearrange
moritz_ allright 18:37
TimToady next thing is to add flags to viv such as --ast and --p6, though I think --p5 is maybe default, since that's the name, vi-v 18:39
maybe we should rename Perl 6 to vi :)
pugs_svn r22543 | ruoso++ | [smop] signature for postcircumfix:<( )> is now :($capture) instead of :(|$capture). All tests pass, ritest works, now lets move to multi sub! :)
TimToady then we could have vi vs Python wars :) 18:40
pmurias_ vi(m) uses ex as it's scripting language which is disgusting
ruoso .oO( on the bright side, at least it's not emacs lisp )
PerlJam pmurias_: as "a" scripting language. You may use others I'm pretty sure. 18:41
Hmm. I wonder if we can get parrot embedded in vim :)
pmurias_ ruoso: ex is worse than emacs lisp
ruoso that's hard to imagine 18:42
TimToady hey, no four-letter words please
ruoso not even "perl"? 18:43
TimToady Perl 6 is a six-letter word, kinda sorta 18:44
pmichaud still only sees four letters, a space, and a digit.
fullermd Well, it's two words. So on average, it's a 2-letter word. 18:47
ab5tract hahaha 18:48
pmichaud or a 3.5-letter word
TimToady or a 2.4-letter word
like the average family 18:49
pmurias_ the vim perl api seems to be better than i remembered 18:50
TimToady Wagner's music is better than it sounds
ruoso .oO( well, at least it is not just my brain that is melted... ) 18:51
TimToady you're melting as a whole? 18:53
18:58 ispy_ left
[particle] Perl 6 is a single utf-256 character 19:04
moritz_ let's hope it neer becomes a wtf-257 char ;)
pmurias_ anyone got a link to Jonathans blog entry on how he implemented mmd? 19:05
[particle] google://rakudo.org ;)
TimToady it's probably an NFG character :)
ruoso TimToady, btw, "Last Modified" in S13 has the wrong year 19:06
speckbot r14590 | larry++ | wrong year, ruoso++ 19:07
TimToady oh wow, got about twice as much hot sauce as usual. and when you're talking 550,000 scovilles, that's a real brain melter 19:09
don't think I'll get anything done the rest of the day, except rewriting Xanadu 19:10
ruoso heh
ab5tract hehe 19:11
TimToady *both* of them
19:11 [particle] is now known as [particle-split]
ruoso perl6: multi foo(Int $a) { say 1 }; multi foo(Num $a) {say 2}; foo(1); foo(1.1); 19:13
p6eval rakudo 31794: OUTPUT[1ā¤2ā¤]
..elf 22543: OUTPUT[2ā¤2ā¤]
..pugs: OUTPUT[1ā¤1ā¤]
ruoso is it sane to think that there's a possible pre-ordering of those variants by the fact that Int ~~ Num? 19:14
[particle-split] that makes me happy 19:15
19:15 silug joined
TimToady I'm so happy you're so happy we're so very happy happy... --bad stepsisters 19:16
ab5tract hmmm. interesting that elf and pugs output opposite 19:18
moritz_ ab5tract: pugs doesn't really do types yet
19:21 abra left
ab5tract i see 19:23
elf maybe has problems relating to ruby's type (non)implementation 19:24
ruoso rakudo: multi foo (Int $a, Num $b) { say 1 }; multi foo (Num $a, Int $b) { say 2 }; foo(1,1); 19:25
p6eval rakudo 31797: OUTPUT[No applicable candidates found to dispatch to.ā¤current instr.: '_block11' pc 31 (EVAL_13:15)ā¤]
ruoso hmm... interesting..
I suppose that is a bug..
ab5tract what is the significance of the ā¤ character? 19:26
ruoso new line
ab5tract unicode is yummy
19:26 azawawi left
ruoso TimToady, is it sane to assume that in dubious cases like the one above, the behavior is undetermined? or is there a left-to-right precedence in multi variant ordering? 19:27
19:29 azawawi joined
pmurias_ ab5tract: elf actually runs on perl5 19:34
19:34 silug left
pmurias_ it uses ruby only for parsing 19:35
ruoso: you get an ambigiouity error 19:36
ruoso by spec? 19:37
pmurias_ think so can find the place where it's specced 19:40
re postcircumfix:<( )>, it's possible to use a subroutine as a method with the invocant being passed as a positional 19:41
ruoso pmurias_, that would require transforming the capture...
pmurias_ S12:278
19:42 pmurias_ is now known as pmurias
pmurias ruoso: that would point to having both postcircumfix:<( )>($capture) (perhaps under a different name as CALL) and postcircumfix:<( )>(|$capture) 19:44
ruoso pmurias, actually... not really 19:45
pmurias, if you look a little bit below, it will show another example...
where it uses an anonymous methdo 19:46
that second example requires postcircumfix:<( )>($capture)
19:46 Lorn__ joined
pmurias read the paragraph underneath? 19:47
ruoso pmurias, I think the upper example counts on method-to-sub fallback
azawawi moritz_: a couple of tests like chomp.t is using is_deeply (Test::More). I cant find it in languages/perl6/Test.pm
pmurias what would my $method = method ($a:$b,$c) {say "a:$a b:$b c:$c 19:48
moritz_ azawawi: yes, that's a problem
pmurias "};$method(1,2,3)
print?
ruoso it would probably fail because of a missing invocant and too many positional arguments 19:49
azawawi scratching his head
moritz_ azawawi: there is quite some confusion at the moment. Some tests seem to assume that is() uses infix:<eqv> comparison, most assume string comparison 19:50
azawawi: so we haven't yet decided what to use. If is() uses eqv, then there's no need for is_deeply, because is() will do that job
ruoso pmurias, it was the method-to-sub fallback that used to transform the capture, moving the invocant to the first positional argument... but that is no longer the case... 19:51
pmurias TimToady: what do you think of having a t/uncertain directory where we could place tests you could give an official verdict on when you have some spare time?
ruoso: so you think it's a relict in the spec?
ruoso maybe...
btw... your example wouldn't fail...
pasteling "azawawi" at 212.38.154.121 pasted "List of tests using is_deeply" (66 lines, 5.3K) at sial.org/pbot/32512 19:52
ruoso actually it would... but just because of too many positional args, not because of missing invocant
azawawi moritz_: so replacing them with is() will do the trick
moritz_ azawawi: only if is() actually should do "smart" compaarison.
azawawi: that's the point that's not yet decided
azawawi moritz_: ok 19:53
moritz_ the ones in hyper.t seem fairly non-sensical to me
is_deeply(~@r, ~@e, "distribution for unary prefix");
ruoso pmurias, but one thing I know for sure... the "turn the invocant into first arg" thingy was part of the "method-to-sub fallback"
pmurias ruoso: As a convenient form of documentation, such a closure may also be written
in the form of an anonymous method
moritz_ why the bloody hell do you first convert to string, and then compare the strings deeply?
PerlJam moritz_: that is craziness. 19:54
ruoso wonders how many dimensions strings has
PerlJam perhaps someone thought ~@a meant ~@a[0], ~@a[1], ~@a[2], ... 19:55
pmurias ruoso: that seems to imply an anonymous method is merely a different way of writting an anonymous sub
ruoso pmurias, not really... it implies that you need to have a method if you want to make a method invocation...
moritz_ PerlJam: probably cargo-culted crazyness 19:56
azawawi looking for something to work on
ruoso pmurias, the key thing here is that "$obj.$method()" requires $method to be a method 19:57
pmurias or a Code
ruoso pmurias, because there isn't a 'method-to-sub' fallback anymore
pmurias, that's the part I thing is relict
*think
19:57 Lorn left
ruoso because it's an anonymous implementation of the 'method-to-sub fallback' 19:58
19:58 alester joined
pmurias it's pointless to discuss it futhermore atm we must now wait for a clarification from TimToady... ;) 19:58
pugs_svn r22544 | moritz++ | [t/spec] tests for Str.trans with regex and closures. One failing on rakudo
r22544 | moritz++ | (RT #59730).
TimToady it really has little to do with fallback, and much to do with the fact that references are untyped, &foo could be either a sub or a method 19:59
ruoso TimToady, so it will send the capture unmodified?
TimToady I think a method object can fake up an invocant if its capture is missing one, and I think a sub can treat an invocant as a first positional if the capture contains an invocant. 20:01
this is independent of whether the dispatchers fallback
but rather the basis for writing dispatchers
ruoso TimToady, so the default signature is different...
TimToady phone &
pmichaud 1 minute. 20:02
(for me)
pugs_svn r22545 | moritz++ | [t/spec] some s/is_deeply/is/ in hyper.t. azawawi++ for noticing
azawawi moritz_: any update on rt.perl.org/rt3/Public/Bug/Display.html?id=56226 20:03
lambdabot Title: #56226: [TODO] implement 'roots' from S29
ruoso later &
azawawi hates who RT keeps logging him out 20:04
20:07 pmurias left
moritz_ azawawi: you're right, the second polar should be unpolar 20:08
azawawi: in that patch... I don't understand how polar works 20:10
azawawi: and what's N1? shouldn't that be $N1 or something? 20:11
azawawi moritz_: n1 = register
moritz_ I think the indirect notation ($N1 instead of N1) is preferred these days
azawawi moritz_: i optimized the polar version from Complex.pir 20:13
moritz_: i expect it to be x+0i 20:14
20:14 icwiener left
moritz_ rakudo: say (1+1i).polar.join(", ") 20:14
p6eval rakudo 31798: OUTPUT[1.4142135623731, 0.785398163397448ā¤]
moritz_ is there anything wrong with that?
azawawi moritz_: my math is a bit rusty ;-) 20:15
fullermd Well, that sounds close enough... 20:16
moritz_ let's ask the other way round - what does the new .polar do that the old one didn't?
1+1i has magnitude sqrt(2) and angle pi/4
looks right, yes
perl6: say pi/4 20:17
p6eval rakudo 31798: OUTPUT[0.785398163397448ā¤]
..pugs: OUTPUT[0.78539816339744825ā¤]
..elf 22545: OUTPUT[Undefined subroutine &GLOBAL::pi called at (eval 119) line 3.ā¤ at ./elf_f line 3861ā¤]
pyrimidine moritz_: I'll take a look at the .trans bug in the next day or two (RT #59730). I think it's an issue in the mapping.
moritz_ pyrimidine: ok, no hurry
pyrimidine rakudo: 20:18
rakudo: say 'hello'.trans( /(l)/ => { ord($_) }, /(h)/ => { $_ });
p6eval rakudo 31798: OUTPUT[he108108oā¤]
pyrimidine say 'hhello'.trans( /(l)/ => { ord($_) }, /(h)/ => { $_ });
azawawi moritz_: btw, there isnt a test that tests x.polar
pyrimidine rakudo: say 'hhello'.trans( /(l)/ => { ord($_) }, /(h)/ => { $_ });
p6eval rakudo 31798: OUTPUT[hhe108108oā¤]
moritz_ azawawi: that needs to be changed ;)
azawawi: but currently rakudo's (or parrot's) complex math is a bit broken anyway, so I wouldn't invest too much energy until that's fixed 20:19
azawawi moritz_: i was struggling learning p6 + pir + math again ;-) 20:20
moritz_ wonders which of these three is the hardest ;)
20:22 ruoso left
azawawi moritz_: the unpolar part at the end was the hardest btw (roots.pl)... learning the semantics for $abs.unpolar(...) and discovering it was not the correct one ;) 20:22
20:22 pyrimidine left 20:25 aindilis joined
azawawi wonders when will he will be able to re-write PIR code in perl6 runtime 20:27
20:45 jferrero joined
pmichaud azawawi: we have to get namespaces and "is export" working. 20:49
at least, that's what we need if we want it done semi-right.
azawawi moritz_: ping 20:55
moritz_ azawawi: pong (but still a bit absent...) 20:56
azawawi moritz_: implemented p5chop on lists... ;-)
moritz_ azawawi: is that even specced?
azawawi moritz_: my Char multi p5chop ( Str *@strings is rw ) is export(:P5) 20:57
moritz_ ah right 20:58
azawawi submitting the patch to RT #59552
21:02 donaldh joined
azawawi moritz_: done... 21:04
21:06 alester left 21:15 mberends left 21:20 sri_work_ joined, wknight8111 joined 21:22 wamiks left 21:30 PZt left 21:34 sri_work left 21:47 donaldh left 21:54 sri_work_ left
azawawi moritz_: ping 21:55
@tell moritz_ any-list.pir p5chop and p5chomp is running all tests now. Patches are on RT. Thanks. 21:58
lambdabot Consider it noted.
azawawi good night 21:59
21:59 azawawi left 22:00 ruoso joined
pugs_svn r22546 | pmichaud++ | t/spec: Regress Rakudo a bit due to Complex PMC errors (RT #59630) 22:00
r22547 | pmichaud++ | [t/spec] Add some ?#rakudo skips after the mmd branch move. 22:09
r22547 | pmichaud++ | Remove the unnecessary #?DOES lines.
22:14 PZt joined 22:16 Lorn joined 22:25 Lorn__ left 22:44 Lorn left
pugs_svn r22548 | ruoso++ | [smop] first sketch on the test for multi subs 22:47
23:02 elmex left 23:06 bjakbot joined
bjakbot test 23:08
23:09 iblechbot left 23:13 bjakbot left 23:14 zamolxes joined, bjakb joined
bjakb test 23:15
register term 23:20
23:22 benzo joined
benzo hello test 23:22
bjakb ciao test
23:24 silug joined
bjakb hi silug 23:25
23:29 alester joined
meppl good night 23:32
bjakb hi, I've problem with a Pugs installation, can somebody help me? 23:34
23:36 meppl left 23:39 bjakb left, silug left 23:54 Exodist left 23:55 Limbic_Region joined