»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
00:04 sundar left 00:07 rgrau left 00:13 clintongormley left
lue rakudo: say "test" 00:21
p6eval rakudo 8f7d29: ( no output )
lue
.oO(darn, still broken)
00:24 mberends left 00:27 TiMBuS left
lichtkind hello lue 00:27
lue hi lichtkind o/ 00:29
lichtkind lue: i just finished regex modifier
pugssvn r30233 | lue++ | [t/spec] added test for RT #73836 (Z infix operator) 00:31
lue \o/
lichtkind++
lichtkind lue: thank but i dont write code like you 00:32
lue what do you mean?
lichtkind lue: i didnt wrote any test nor implemented something just wrote in wiki.perl-community.de/Wissensbasis...felAnhangA 00:34
lue ah, I see :) 00:36
I personally think it's great somebody is willing to document Perl 6 :) 00:37
lichtkind lue: thank you did you read my blog posts? 00:38
lue I don't believe I have (been gone for a few days)
lichtkind lue: its just releasing to me because german is almost in sync with english version again
lue: just wanted to ask if its boring written or too braging
especially since latest 2 post on planetsix.org are mine :) 00:39
snarkyboojum planetsix.org? 00:40
ah planetsix.perl.org
snarkyboojum is a bit slow this morning
lichtkind snarkyboojum: and i was too lazy to write full name :) 00:41
snarkyboojum :)
lichtkind i would be glad for any feedback 00:43
00:43 yinyin joined
snarkyboojum lichtkind: from memory you mentioned the grok tool 00:43
what's the status of that do you know? 00:44
lue lichtkind: good posts!
lichtkind snarkyboojum: i never touched that project, it just takes something from me as input
lue .u thumb
phenny lue: Sorry, no results for 'thumb'.
lue .u hand
phenny U+270C VICTORY HAND (✌)
lue .u 270D
phenny U+270D WRITING HAND (✍)
lue .u 270B
phenny U+270B (No name found)
lichtkind snarkyboojum: it also uses another project of mine 00:45
snarkyboojum: as far as i know it was a GSOC project and since soc 2009 was over i dint heard much of it 00:46
snarkyboojum: but i had a issue and hinrik responded 00:47
so i would tell he is still bit commited to that
snarkyboojum lichtkind: would be cool to start using grok 00:50
lichtkind snarkyboojum: for you ? :)
snarkyboojum lichtkind: yeah 00:51
you using it?
00:51 lestrrat is now known as lest_away
snarkyboojum is this it? github.com/hinrik/grok/ 00:51
lichtkind yes 00:58
snarkyboojum: never did
snarkyboojum lichtkind: sounds cool - I'll have to give it a try :)
lichtkind yes i would say its good, so far i have seen 01:01
the sources ive seen looked good
lue alpha: my @a=1,2,3; @a[3]:=@a[1]; @a[1]=4;say @a[3]; @a[3]=5; say @a[1] 01:04
01:05 dalek left
lue bye dalek! o/ 01:05
if things like @a[1]:=@a[2] are NYI, that would likely be my next project. (Alas, my vacation is nearing completion :( ) 01:06
p6eval alpha 30e0ed: ( no output )
01:07 dalek joined
pugssvn r30234 | lwall++ | [STD] de-LTA messages on malformed pairs for moritz_++ 01:14
01:21 lest_away is now known as lestrrat 01:22 vamped joined
lichtkind good night fellas 01:35
01:35 lichtkind left 01:41 molaf_ joined
lue night o/ (ETOOLATE) 01:43
01:45 molaf left 01:50 alester joined 01:55 Psyche^ joined, wknight8111 left 01:59 Patterner left, Psyche^ is now known as Patterner 02:30 jhuni joined 02:58 pausenclown joined
pausenclown rakudo: "blah foo blah" ~~ / foo { make 'bar' } /; say $/; 02:58
p6eval rakudo 8f7d29: ( no output ) 02:59
lue akf 03:00
OOPS afk
pausenclown rakudo: "4" ~~ / (\d) { make $0.sqrt } /; say $/ 03:02
p6eval rakudo 8f7d29: ( no output )
pausenclown pugs: "4" ~~ / (\d) { make $0.sqrt } /; say $/
03:03 gfx joined
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat… 03:03
03:06 meppel joined 03:10 meppl left 03:19 molaf_ left 03:31 p6eval left, p6eval joined 03:35 pausenclown left 03:38 christine left 03:42 synth left, synth joined 03:47 p6eval left, p6eval joined 03:49 diakopter joined
diakopter p6eval can't resurrect itself currently. 03:51
rakudo segfaulting
03:53 mrsaturn joined
diakopter meanwhile, Darmok and Jalad at Tanagra 03:54
rakudo: say 'riding the clouds with abandon' 03:55
p6eval rakudo 534afd: OUTPUT«riding the clouds with abandon␤»
diakopter o goodie.
Tene: yer back in biznus 03:56
03:57 ChanServ sets mode: +o diakopter, diakopter was kicked by diakopter (phonebooths are too cramped for outfit changing, anyway))
spinclad thx diakopterKICKED++ 03:59
04:00 mrsaturn left
lue yay! p6eval is back 04:00
perl6: say "oh happy day"
p6eval elf 30234, pugs, rakudo 534afd: OUTPUT«oh happy day␤»
04:08 christine joined
sjohnson diakopters been really rough on himself as of late 04:14
lue seems that way :) 04:16
sorear perl6 = elf? 04:17
lue that's just one implementation of P6 04:19
elf: say "hello"
p6eval elf 30234: OUTPUT«hello␤»
sorear perl6: say 42
is it random?
p6eval elf 30234, pugs, rakudo 534afd: OUTPUT«42␤»
sorear oh, it always does elf, pugs, rakudo 04:20
lue .u foot 04:27
phenny U+23CD SQUARE FOOT (⏍)
pugssvn r30235 | vamped++ | Perl 5 thinko - changed to bash for first regex match 04:30
vamped darn, that interpolated my message. Should have said "changed $1 to $0" 04:31
lue oh well 04:33
darn perl-like Bourne Again SHell :) 04:35
anybody here? 04:47
vamped nope 04:48
lue :/ nobody's ever here when I ask [ :) ]
if you have firefox, you login to and use the RT frequently, then try this: addons.mozilla.org/en-US/firefox/addon/116888/ 04:49
vamped it's too late US time and too early European time
lue As of now, you need to be logged in to rt.perl.org to use it, but still, it's the first version.
vamped who made it - you? 04:50
lue yes, which is why it's not that good :) 04:52
vamped I'll look into it, and congrats on creating your first (?) firefox add-on.
04:53 synth left
lue I plan on creating a P6 sidebar at some point, which takes care of the "has to be logged in" problem (among other things of course) 04:55
rakudo: say (<a b c> Z [1,*]).perl 04:56
p6eval rakudo 534afd: OUTPUT«GatherIterator.new()␤»
05:00 colomon left 05:04 colomon joined
lue hi colomon o/ 05:04
afk
05:18 ash_ left
lue upon review, it seems that searching the Public interface works if you are either logged in or not... 05:30
good night 05:57
colomon o/ 05:58
rakudo: say (<a b c> Z [1,*]).eager.perl
p6eval rakudo 534afd: OUTPUT«("a", 1, "b", !whatever_dispatch_helper)␤»
colomon rakudo: say (<a b c> Z 1...*).eager.perl
p6eval rakudo 534afd: OUTPUT«("a", 1, "b", 2, "c", 3)␤» 05:59
06:02 rv2733 joined, alester left 06:03 rv2733 left 06:11 colomon left, christine left, sbp left, nsh left, justatheory left, elmex left, cognominal left, LionMadeOfLions left, eiro left, c1sung left, BinGOs left, meppel left, felipe left, sunnavy left, Trey left, bkeeler left, PZt left, constant left, yves left, mdxi_ left, buu left, s1n left, ewilhelm left, tomaw left, astinus left, Khisanth left, hicx174_ left, jnthn left, sorear left, renormalist left, f00li5h left, gfx left, yahooooo left, jql left, niros left, mj41 left, jrockway left, rhr left 06:19 uniejo joined 06:28 mtve joined 06:30 colomon joined, christine joined, meppel joined, gfx joined, yahooooo joined, jql joined, niros joined, astinus joined, felipe joined, sbp joined, nsh joined, Khisanth joined, sunnavy joined, elmex joined, hicx174_ joined, jnthn joined, sorear joined, mj41 joined, cognominal joined, Trey joined, jrockway joined, renormalist joined, bkeeler joined, LionMadeOfLions joined, f00li5h joined, PZt joined, eiro joined, constant joined, yves joined, mdxi_ joined, rhr joined, BinGOs joined, c1sung joined, buu joined, s1n joined, ewilhelm joined, tomaw joined, card.freenode.net sets mode: +o jnthn
moritz_ good morning 06:34
06:37 thowe left 06:48 gabiruh left 07:00 REPLeffect joined, gabiruh joined 07:06 rgrau joined, vamped left 07:12 Trashlord left, Su-Shee joined 07:13 Trashlord joined, Trashlord is now known as Guest86159 07:20 jaldhar left 07:21 Guest86159 left, Guest86159 joined, Guest86159 is now known as Trashlord
mathw Morning 07:30
moritz_ rakudo: say 1 07:39
p6eval rakudo 534afd: OUTPUT«1␤»
moritz_ std: 1
p6eval std 30235: OUTPUT«ok 00:01 107m␤»
mathw has pleasant daydreams of slowly eviscerating one of his colleagues who's made a mess in the SVN repo
I should write a song 07:41
In which someone checks in some build products and some code that doesn't compile
And suffers a horrible consequence 07:42
moritz_ std: :!$foo
p6eval std 30235: OUTPUT«===SORRY!===␤Malformed False pair at /tmp/4haUnosNxz line 1:␤------> :!⏏$foo␤FAILED 00:01 105m␤»
moritz_ had to look up eviscerate
it's a lovely word. 07:43
hejki eviscerate reminds me too much of wow 07:44
depressing word :>
mathw it's a good word for certain situations that don't come up all that often in real life 07:46
but we've got windows-specific code in something that's supposed to be cross-platform 07:47
and that's not on at all
hejki i'm usually less discreet and use more .. depicting/descriptive words :) 07:49
like 'disembowel'
mathw I tend to find 'disembowel' is something that's hard to imagine doing slowly
'eviscerate' sounds slower 07:50
hejki well disembowelment is pretty close to evisceration
disembowelment usually involves ripping out guts too
en.wikipedia.org/wiki/Disembowelmen...isceration 07:51
mathw yes
wikipedia truly does have everything 07:57
hejki yes :> 07:58
only thing i'm not thinking about is that and rule #34
s/not// :>
07:59 mikehh left
mathw probably wise to not think about that too much 08:00
let's think about Perl instead
08:01 gfx left
moritz_ speaking of which 08:01
I've made some commits to the book yesterday night
somebody with more English skillz than I could review them 08:02
mathw I can do that 08:06
just... not today
08:12 pnate joined, dakkar joined 08:15 iblechbot joined 08:20 cotto joined 08:22 [particle] left 08:23 zibri joined 08:24 [particle] joined 08:26 proller joined 08:32 proller left, proller joined
moritz_ to all lurkers: If you are a student, Google might pay you to hack on fun Perl 6 projects 08:38
we participate in this year's "Summer of Code" project
if you're interested, raise your hand... erm, voice, and we'll think of a cool project 08:39
08:45 [particle]1 joined 08:46 [particle] left 08:48 payload joined
hejki a student 08:51
:<
i could've raised my hand otherwise :>
moritz_ hey, you can still hack on interesting things 08:52
just the payment part might be problematic
08:52 jaldhar joined
hejki well i really don't need payment (in case the things i'm involved in doesn't require full-time attention either :)) 08:52
also i've already contributed to the rakudo pre-ng 08:53
so payment isn't really an issue
my gf studies tho.. so i could sign up with her name? :)
moritz_ "Google defines a student as an individual enrolled in or accepted into an accredited institution including (but not necessarily limited to) colleges, universities, masters programs, PhD programs and undergraduate programs."
:-)
hejki btw.. does google retain ownership of the code or is it GPLed? 08:54
i'm not giving anything to google for free
moritz_ it needs to be open-sourced
but you retain ownership
hejki i prefer full GPL 08:55
hejki works in a company exploiting BSD/MIT-license :> 08:56
08:56 rgrau left
hejki licenses* 08:56
moritz_ (but that's again if you participate in SOC, in which case google pays you anyway )
hejki: there's no exploiting in using software under the terms it was published under
hejki moritz_: by exploitation i refer to the fact software is chosen by licenses in certain situations 08:57
moritz_: and ofc the free for commercial-use licenses are the most appealing for a company offering services on a open source setup
also there are some border-cases where GPL is interpreted as badly as it can be :) 08:58
moritz_ I also find that legitimate
hejki ofc it's legitimate, i just don't like it
moritz_ now that's not so nice
hejki i think this stuff should be GPLized
or at least parts of it
at least our transparent SMTP tagging proxy
i wouldn't GPLize the perl code tho.. it's so awfully ugly :D 08:59
moritz_ :-)
hejki well imagine compilation of 15k+ rows with no strict/no warnings
that's what i work with on daily basis :P 09:00
but the SoC sounds nice, how do i sign up? :>
(also this is something i might benefit from on my future career ;))
after all google is making unit in finland, i could work there :> 09:01
09:01 alanhaggai joined
moritz_ well, there are two ways to participate 09:01
either as student or as a mentor
09:02 alanhaggai left
hejki s/mentor/project manager/; ? :) 09:02
moritz_ as a student, you have to be a student (see <socghop.appspot.com/document/show/g.../faqs>) somewhere
yes, that's basically it
hejki well i'm alreadya BEng so participating as a student isn't really the eligible option for me :P
moritz_ :(
I'm going to be a PHD student soonish
so I actually could participate as a student :-) 09:03
hejki heh.. if i ever get Ph.D it's since i'm going to be a teacher :>
how's the mentor role in SoC? i guess they have some sort of requirements
09:03 huf joined
moritz_ well, if a student choses a project that's interesting for you, and you want to mentor, you should have experience with the development of that project 09:04
so that you can give the student directions (settiing up a development environment, introducing to other developers, organizing commit bits etc.)
hejki oh 09:05
i don't want that.. i want to code
:D
moritz_ prefers coding to managing too 09:06
but OTOH if it helps to get work done, I also do managing
hejki if i couldn't code, i'd be a consult/specialist/analyst :> 09:08
moritz_ :-) 09:10
09:11 payload left
hejki well.. i'm a software specialist atm, but i do lots of coding too :P 09:11
but everytime we need something other, like new software/solutions i'm the guy going google frenzy ;>
09:12 Helios left 09:13 Helios joined 09:14 rgrau joined 09:20 snarkyboojum left 09:27 pnate left 09:38 yinyin left 09:42 agentzh joined 09:46 jhuni left 09:56 clintongormley joined 09:57 ruoso left 10:06 Trashlord left
hejki hmm.. i found myself a suitable coding table www.ergoquest.com/computer_table_7_ezg_1.jpg 10:08
10:19 clintongormley left 10:24 clintongormley joined 10:32 agentzh left 10:35 Helios left 10:36 Helios joined 10:54 lestrrat is now known as lest_away 10:58 niros left
sorear prods jnthn at the latest blizkost commit 11:04
11:05 eternaleye joined 11:24 xomas left, xomas joined 11:31 nadim joined 11:34 cotto_w0rk joined, cotto_work left
jnthn oh hai, 6folk. 11:37
m6locks hai 11:40
lunch time, bbl
11:44 renormalist left, renormalist joined 11:46 nadim left 11:55 payload joined 11:59 bluescreen joined 12:03 Trashlord joined, lest_away is now known as lestrrat, Trashlord is now known as Guest63559, envi^home joined 12:06 masak joined
masak oh hai, #perl6 12:06
jnthn yayitsmasak!
hejki rakudo: class Greet { has $.name is rw; method ohai { say "ohai $.name"; } }; my $g = Greet.new(name => 'masak'); $g.ohai();
p6eval rakudo 534afd: OUTPUT«ohai masak␤» 12:07
masak wow :)
12:11 mikehh joined
mathw we haz a masak! 12:11
frettled \o/ 12:12
masak so... whoz op today?
frettled masakfest!
jnthn := op
jnthn Ja...jag har en kanelbrulle! 12:13
jnthn shares
12:13 jnthn sets mode: +oo frettled masak
masak '-bulle' :) 12:13
(thanks)
jnthn Aww!
At least it's closer than kamelbullar.
frettled I just got back from Gran Canaria (two-week cycling training camp), and read about pmichaud's woes. Ow, that hurts. :( I really hope for the best for you, your wife and family! 12:14
mathw masak does Op;
jnthn
.oO( The whirlpool approach to Swedish )
frettled jnthn: kamelbrillar!
masak jnthn: I'm not 100% sure, but it wouldn't surprise me if sv:'bulle' and en:'bun' were related.
12:14 frettled sets mode: +o mathw
masak jnthn: probably arnsholt can answer that. :) 12:14
12:15 frettled sets mode: +o colomon
jnthn :-) 12:20
I believe bap has Scottish origins, but not sure about bun.
masak lichtkind, snarkyboojum: [backlogging] grok is a nice application. it's used in Padre AFAIK. I'm always on the verge of providing content for it in the form of interlinked Pod articles. I will surely let myself be inspired at lichtkind++'s work when doing that. 12:22
12:22 ruoso joined 12:23 pausenclown joined
pausenclown rakudo: "" ~~ / { make 'bar' } /; say $/ 12:24
p6eval rakudo 534afd: OUTPUT«␤»
pausenclown rakudo: "" ~~ / { $0 = 'bar' } /; say $/ 12:25
p6eval rakudo 534afd: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 17189 (src/builtins/Junction.pir:399)␤»
jnthn rakudo: "" ~~ / { make 'bar' } /; say $/.ast
pausenclown darn
p6eval rakudo 534afd: OUTPUT«␤»
jnthn Oh.
That one probably should work. :-/
rakudo: "" ~~ / { make 'bar' } /; say ?$/
p6eval rakudo 534afd: OUTPUT«1␤»
pausenclown rakudo: "123" ~~ / \d* :: \d /; say $/ 12:26
p6eval rakudo 534afd: OUTPUT«:: not yet implemented at line 11, near " \\d /; say"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
moritz_ alpha: "123" ~~ / \d* :: \d /; say $/ 12:27
p6eval alpha 30e0ed: OUTPUT«␤»
moritz_ (that's correct)
pausenclown i have a question regarding my xml parse regarding parsed entities. 12:29
in xml, the parse shall treat parsed entities as if their values (which can contain other markup). 12:30
are noted where that entity occurs. that makes it a little tricky. 12:31
masak why? 12:32
do you have a concrete example?
moritz_ doesn't grok the question
pausenclown for instance i have <!ENTITY wt "<foo />"> which gets referred later as &wt; 12:33
the parser will have to creat a start tag event for foo, once it reads &wt; 12:34
moritz_ so you need to store an entity table 12:35
probably with a code reference that you call in the action method
(except for normal entities, which just contain a Str)
pausenclown i'm not sure how to do that. my idea is to apply the grammar from within a closure when i have read an entity, feed its value to the grammar and assign the resulting parse tree to $0 12:36
moritz_ and this code ref triggers the start event for foo
pausenclown: there's a slight problem with that: $/.from and $/.to will be totally unrelated to the original XML if you do a re-parse 12:37
12:38 TiMBuS joined
pausenclown why should something i do in a closure affect it's outside? or is a grammar a singleton? 12:39
moritz_ rakudo: sub foo { 1 }; sub foo($x) { 1; } 12:41
p6eval rakudo 534afd: ( no output )
pausenclown interesting. which one wins? 12:42
moritz_ rakudo: sub foo { 1 }; sub foo($x) { 1; }; say foo() 12:43
p6eval rakudo 534afd: OUTPUT«1␤»
moritz_ rakudo: sub foo { 1 }; sub foo($x) { 1; }; say foo(3)
p6eval rakudo 534afd: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: 'foo' pc 222 (EVAL_1:89)␤»
moritz_ the first one
actually it should error out
RT #71810
masak p6l email starting with 'It may not have any practical use, but [...]' -- masak stops reading :)
jnthn The answer to that thread is, "All of these belong in modules." 12:44
moritz_ aye
that's what we have multi dispatch for
so that you can write your on infix:<cmp>(Complex, Complex)
colomon Actually TimToady discussed an ordering for Complex with me a month ago, and I've already got plans to extend it to all Numerics. ;) 12:45
afk --> noms
12:49 ignacio_ joined
masak good post by mst++ -- www.shadowcat.co.uk/blog/matt-s-tro...hole-code/ 12:54
mathw he always sets off my irc highlighter 12:55
masak something in me wants to get up and cry, 'at least you have line numbers! :<'
mathw why are people allowed to have the same first namea s me
pausenclown rakudo: grammar G { rule TOP { 1 }; method parse { 0; } } G.parse("1");
moritz_ if anyone wants a LHF to write tests for: RT #64606 should be pretty simple
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "grammar G "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
mathw masak: that's a great link to poke people with when they argue about whether an extensible grammar is better than a source filter :) 12:57
masak I like how all the details in that post conspire to give the client the wrong impression. 12:58
and only a pro like mst can diagnose it and stay sane. :)
er, stay on the same sanity level. :P
13:01 riffraff joined
mathw only somebody who's already tussled with Switch.pm 13:04
pausenclown i dont get how to call up the inheritance chain. 13:07
jnthn nextsame and friends. 13:08
masak last time I looked, 'nextsame' and friends did three different things in different contexts.
inheritance chain, multi dispatch, and wrapping.
13:08 PacoLinux joined
jnthn True; it's a general abstraction for "next best candidate". 13:08
13:09 PerlJam joined
masak it would be interesting to see what difficulties arise when these three are combined in different ways. 13:09
let's say I want to go to the next MMD candidate while wrapping a method, for example. 13:10
jnthn When you're in the wrapper of the wrappee? 13:11
13:11 nadim joined
masak the wrapper. the one where 'nextsame' means 'go into the wrappee'. 13:11
jnthn Well, then you're probably screwed... 13:12
moritz_ so you need an adverb to nextsame() that tells you in which direction to walk... -)
jnthn callnext(:pub);
moritz_ (smiley with eyes closed)
jnthn Won't really work with 13:14
er, with with
moritz_ callnext($pos, :$named):pub 13:15
masak I mean, if you usify three concepts, you have to be prepared to waterbed the places where they're *not* like each other. 13:16
jnthn Aye 13:18
I don't know what the answer is there.
moritz_ our new meme: "waterbed" as a verb
jnthn I waterbeded the whole Perl 6.
PerlJam jnthn: does that mean you pushed something down in Perl 6 and it popped up somewhere else? (like Ruby :)? 13:31
13:31 rgrau` joined
pausenclown rakudo: grammar G { has $.callback is rw; rule TOP { .+ { say .callback; } } }; G.callback = { say "got" }; G.parse("123"); 13:39
p6eval rakudo 534afd: OUTPUT«Type objects are abstract and have no attributes, but you tried to access ␤current instr.: 'perl6;Attribute;accessor_helper_rw' pc 3559 (src/gen/Attribute.pir:423)␤»
pausenclown is there any way to communicate to the outside from a grammar closure? 13:43
13:43 dalek left 13:45 dalek joined
pausenclown nah forget that q. makes no sense. 13:45
masak pausenclown: declare a lexical outside, assign to it inside. 13:46
for some reason, people also like to declare dynamicals in this situation. 13:47
perhaps it has something to do with TimToady's quote (paraphrasing) "a lexical nesting in the thing being parsed corresponds ot a dynamical nesting in the parser" 13:48
s/ot/to/ 13:49
13:54 pmurias joined
pmurias ruoso: ping 13:55
13:56 colomon left
pausenclown didnt mst promised to blog about perl6 regularly? 13:58
pmurias mst?
masak not that I know.
pausenclown ah no, that was catalyst =)
13:59 pmurias left 14:01 Abraka joined
pausenclown is the alpha branch RC for the * release? 14:01
oh and by the way, do we have an idea of the actual release date of *? 14:03
14:03 Lorn left
masak no, the alpha branch is the branch we used to call 'master' before we made the newer 'ng' branch master. 14:04
mathw there is no branch for the * release 14:05
masak we haven't pinned down the Rakudo * release date, but we're leaning towards "after April" right now. April used to be the preliminary target month, but it isn't anymore.
pausenclown too bad, cause it supports :: in regex
what do you mean "there is no branch for the * release"? 14:06
14:06 Abraka left
masak there's no separate branch for the first Rakudo * release. 14:07
pausenclown masak: good news (somehow). leaves me time to finish XML::Parser =)
jnthn pausenclown: What's in master now is what we're hacking into shape to become Rakudo *.
pausenclown that's what i meant. 14:08
jnthn pausenclown: Yes, there's some things in the alpha branch that dodn't work in master yet, but they shoudl by Rakudo *.
pausenclown who is working on the grammars?
jnthn bkeeler++ and moritz_++ have both done some bits of late, with guidance from pmichaud++. 14:12
14:12 Lorn joined
pausenclown k. tx 14:14
14:16 justatheory joined 14:19 am0c joined
masak ooh, bkeeler++ # rt.perl.org/rt3/Ticket/Display.html?id=73862 14:21
jnthn BTW, does anybody know what the "build with distutils" patch is all about that's on the perl6-compiler list? 14:22
bkeeler++ !!! :-D 14:25
ruoso hmm... everytime I'll pong to pmurias, he already left the channel 14:28
14:30 sorear left 14:31 sorear joined, ash_ joined
moritz_ jnthn: it's about removing the perl 5 dependency from the Rakudo build 14:33
jnthn moritz_: Does it also replace the use of makefiles? 14:34
14:35 mikehh left, mikehh joined
moritz_ jnthn: yes 14:36
14:36 nihiliad joined
jnthn Oh. 14:39
I'm...not sure how I feel about that.
moritz_ not either 14:40
jnthn My initial reaction is "no".
But would be good to see what pmichaud++ makes of it.
14:40 abra joined
moritz_ it might get rid of some of our platform specific limitations in Makefile 14:41
jnthn Specifically? 14:42
14:42 uniejo left
ash_ it should be possible to make everything with platform independent makefiles and config files 14:42
jnthn Makefiles may not be perfect, but they're a known quantity, and I wouldn't say they've been a particular pain point for Rakudo.
ash_ not saying you need to change that, but its 'possible' lots of other projects can do it, i see no reason rakudo and parrot cant 14:43
14:43 dj_goku left, dj_goku_ joined, colomon joined
moritz_ jnthn: for example for splitting the compilation of core files, both mberends++ and I wanted some substitution rules 14:43
ash_ parrot is the more scary one, since it does so much code generation with perl
14:44 pmurias joined
jnthn moritz_: Ah, OK. 14:44
moritz_ jnthn: or for example generic rules like "this is how you compile a .pm to a .pir file"
jnthn *nod*
14:46 TiMBuS left
moritz_ it seems that when compilation of the core files is splitted up, the next bottleneck will be compiling the actions 14:47
which also takes up about 500M 14:48
jnthn On 64-bit?
jnthn was getting more like 300M for that.
moritz_ jnthn: aye
jnthn Aye, I'm 32, so...
Well, my PC is...as for me... :-) 14:49
moritz_ :-)
ash_ i wonder how bad that is on non x86 platforms... like ppc or something 14:50
moritz_ std: EMPTY 14:52
p6eval std 30235: OUTPUT«ok 00:01 107m␤»
14:53 molaf joined 14:55 ignacio_ left 14:56 proller left
masak I'd just like to report that the stacktraces in Rakudo are back to being insanely long. 15:00
I think they're even longer than when people were complaining about them being far too long last time, and someone fixed it.
moritz_ and are also back to be totally useless
masak yes.
masak submits rakudobug
jnthn I could make them shorter, but unless the Parrot folks hand chance to unbreak some bits yet, I can't see them being awesomely useful. :-/ 15:01
15:01 nacho joined
jnthn To give you an idea of how bad current state is, unless it improved very recently: the PIR line numbers are useless because they point to the start of the sub. 15:01
15:02 Guest63559 left
colomon I was just wondering how hard it would be to buy a small PPC box. 15:02
I was thinking for my work, but it would be good to have Rakudo tested there regularly too, if it's not already... 15:03
15:03 TiMBuS joined 15:05 patspam1 joined, patspam1 left 15:06 am0c left
jnthn afk for a little bit 15:07
moritz_ phenny, tell mberends that I made some small progress on the separate compilation of core files, but accidentally pushed it to branch split-setting (which seemed to be identical to split-gen-setting-2 branch...) 15:10
phenny moritz_: I'll pass that on when mberends is around.
masak the new Rakudo master doesn't support <?{{ ... }}> assertions anymore, does it? 15:11
moritz_ that was... what? PIR interpolation? 15:13
masak yes, with a boolean return which said whether to continue or not.
rakudo: say "working yet?" 15:16
p6eval rakudo 534afd: OUTPUT«working yet?␤»
masak \o/
rakudo: regex foo { (\d+) <?{ $0.chars > 4 }> '!' }; say $_ ~~ /<foo>/ for '1234!', '123456!' 15:18
p6eval rakudo 534afd: OUTPUT«You can not add a regex to a module; use a class, role or grammar ␤current instr.: 'perl6;Perl6;Compiler;Module;methods' pc 29118 (src/gen/package_pm.pir:448)␤»
masak scowls
rakudo: grammar G { regex foo { (\d+) <?{ $0.chars > 4 }> '!' } }; say $_ ~~ /<G::foo>/ for '1234!', '123456!'
p6eval rakudo 534afd: OUTPUT«regex assertion not terminated by angle bracket at line 11, near "::foo>/ fo"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
moritz_ masak: G::foo NYI 15:19
TimToady std: grammar G { regex foo { (\d+) <?{ $0.chars > 4 }> '!' } }; say $_ ~~ /<G::foo>/ for '1234!', '123456!'
masak submits TODO rakudobug
p6eval std 30235: OUTPUT«ok 00:02 111m␤»
TimToady std: $42foo(43) 15:20
std: :42foo(43)
TimToady wonders whether he crashed feather... 15:21
moritz_ p6eval doesn't run on feather :-)
p6eval std 30235: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/x2RisKbAgL line 1:␤------> $42⏏foo(43)␤»
std 30235: OUTPUT«===SORRY!===␤Extra argument not allowed; pair already has argument of 42 at /tmp/LcNIZovOFK line 1:␤------> :42foo⏏(43)␤FAILED 00:01 105m␤»
masak rakudo: grammar G { regex TOP { (\d+) <?{ $0.chars > 4 }> '!' } }; say G.parse($_) for '1234!', '123456!'
p6eval rakudo 534afd: ( no output )
masak :( 15:22
moritz_ rakudo: grammar G { regex TOP { (\d+) <?{ Bool::True }> '!' } }; say G.parse($_) for '1234!', '123456!' 15:25
p6eval rakudo 534afd: OUTPUT«1234!␤123456!␤» 15:26
moritz_ rakudo: grammar G { regex TOP { (\d+) <?{ Bool::False }> '!' } }; say G.parse($_) for '1234!', '123456!'
p6eval rakudo 534afd: OUTPUT«␤␤»
moritz_ masak: I suspect the problem is really $0 or $/
masak how so? 15:27
moritz_ you see, it does matter if you return a true or false value
rakudo: grammar G { regex TOP { (\d+) <?{ say $/ }> '!' } }; say G.parse($_) for '1234!', '123456!'
p6eval rakudo 534afd: OUTPUT«1234␤1234!␤123456␤123456!␤»
15:27 alester joined
moritz_ rakudo: grammar G { regex TOP { (\d+) <?{ say $0 }> '!' } }; say G.parse($_) for '1234!', '123456!' 15:27
p6eval rakudo 534afd: OUTPUT«1234␤1234!␤123456␤123456!␤» 15:28
moritz_ rakudo: grammar G { regex TOP { (\d+) <?{ say $0.chars }> '!' } }; say G.parse($_) for '1234!', '123456!'
p6eval rakudo 534afd: OUTPUT«4␤1234!␤6␤123456!␤»
moritz_ hurm
but $/ seems to be just fine
15:40 molaf left
masak senses pmichaud++'s presence through email 15:43
[particle]1 the force is strong in this one. 15:45
15:45 nihiliad left, stepnem joined
[particle]1 for some reason, i can't switch my nick to [particle] 15:48
pugssvn r30236 | lwall++ | [STD] be a bit more explicit on what was expected after :!
15:49 pmurias is now known as [particle]
[particle] [particle]1: i can ;) 15:49
15:50 [particle] is now known as pmurias
[particle]1 interesting.... 15:50
moritz_ bought an USB cable today to get that freakin' printer working... and now can't find the cable anywhere 15:51
TimToady where did you put it?
[particle]1 is it plugged into the printer? 15:52
pmurias [particle]1: what happens when you \nick [particle]
moritz_ ISTR in my pocket.. might have lost it on the bike ride home
[particle]1: not that easy :)
[particle]1 pmurias: nothing, no response
pmurias \nick [particle]
TimToady the most typical hiding places in our house: under something, in something, at eye-level, or where-it-belongs... 15:53
moritz_ if you use irssi, change to window 1 after the attempted nick change
[particle]1 i'm using pidgin
maybe time to quit freenode and reattach
ah, heck, i'll just restart pidgin
TimToady or on any random horizontal surface...
moritz_ found the cashier's receipt for the cable 15:54
[particle]1 ah, good, now you can return the missing cable and get one you can find.
TimToady I sense a disturbance in the farce...
15:55 [particle]1 left, [particle] joined
moritz_ finds a round tuit in his pocket 15:56
somebody handed those out in Copenhagen
TimToady maybe you should have used a cable tie
15:56 pyrimidine joined
TimToady
.oO(What has it got in its pocketses? Cable or nothing...)
15:57
moritz_ don't punic!
16:05 nacho left 16:07 clintongormley left 16:10 nihiliad joined
pyrimidine moritz_: regarding GSoC, if anyone out there is interested in implementing some bioinformatics-based work in perl6 we (BioPerl and OBF) might have a slot available: 16:10
blogs.perl.org/users/pyrimidine/201...-code.html
masak ooh. 16:11
TimToady isn't it about time to start coming up with April Fools jokes? 16:12
masak dunno, people seem to think Perl 6 is funny enough as it is :P 16:13
16:14 JimmyNeutron joined
TimToady Polish government to donate $78M to Perl 6 project if they'll use .pl extension 16:14
masak :P 16:15
That joke probably needs some polish...
jnthn
.oO( Can we get Saint Pierre to join Poland in a bidding war? :-) )
16:16
TimToady they might just both decide to cooperatively hire assassins instead :)
hejki "Microsoft buys Perl6 for $88M to use in future projects"
TimToady that one is more likely to be swallowed whole 16:17
given that Microsoft probably has more money than the Polish government... 16:18
pausenclown sad but true.
TimToady s/future projects/new Microsoft phone platform/ 16:20
masak rakudo: class A { multi method new() { |%_ } }'
p6eval rakudo 534afd: OUTPUT«Placeholder variables cannot be used in a method at line 11, near "}'"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤» 16:21
masak submits rakudobug
pausenclown Redmond: Microsoft to support Perl6.NET. Larry Wall now a member of the board. Stallman: "It was 'bout time, sweetie."
masak rakudo: class A { method f() { |%_ } }'
p6eval rakudo 534afd: OUTPUT«Placeholder variables cannot be used in a method at line 11, near "}'"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
jnthn D'oh. 16:22
TimToady std: class A { method f() { |%_ } }'
jnthn It's right, but obviously wrong. :_)
p6eval std 30236: OUTPUT«===SORRY!===␤Placeholder variable %_ cannot override existing signature () at /tmp/MGNBaqm09z line 1:␤------> class A { method f() { |%_⏏ } }'␤ expecting any of:␤ POST␤ postfix␤ postfix_prefix_meta_operator␤FAILED 00:01 109m␤»
jnthn sorta prefers Rakudo's message. 16:23
TimToady why can't they be used in methods?
jnthn When it's legitimate that is.
Well, %_ is already defined in a method anyway.
masak oh, is it the parens?
jnthn But basically because a method already has a signature.
TimToady std: class A { method f { |%_ } }'
p6eval std 30236: OUTPUT«===SORRY!===␤Missing punctuation (semicolon or comma?) after block at /tmp/xW0rYBO7Tu line 1:␤------> class A { method f { |%_ } }⏏'␤ expecting any of:␤ POST␤ bracketed infix␤ horizontal whitespace␤ infix or meta-infix␤
..postfix␤ postfix_prefi…
jnthn The invocant implies it.
masak rakudo: class A { method f(*%_) { |%_ } }'
p6eval rakudo 534afd: OUTPUT«Placeholder variables cannot be used in a method at line 11, near "}'"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
jnthn That's certainly a bug 16:24
16:24 clintongormley joined
TimToady std: class A { method f(*%_) { |%_ } }' 16:24
p6eval std 30236: OUTPUT«===SORRY!===␤Missing punctuation (semicolon or comma?) after block at /tmp/i9MIpYULG6 line 1:␤------> class A { method f(*%_) { |%_ } }⏏'␤ expecting any of:␤ POST␤ bracketed infix␤ horizontal whitespace␤ infix or meta-infix␤
..postfix␤ postfix_…
masak thought the invocant always implied it.
TimToady stdbug, I guess
masak yay! two in one!
pausenclown Larry is always right, except when he isnt't =)
TimToady but the invocant doesn't imply a sig to me 16:25
jnthn Oh
Well, patches welcome. :-)
16:25 clintongormley left
TimToady the stdbug to which I refer is the "Missing punctuation" 16:25
std: class A { method f(*%_) { |%_ } };'
p6eval std 30236: OUTPUT«===SORRY!===␤(Possible runaway string from line 1 to line 2)␤Bogus statement at /tmp/7Nt2v2xuSW line 1:␤------> class A { method f(*%_) { |%_ } };⏏'␤FAILED 00:01 108m␤»
16:25 clintongormley joined
TimToady oh, it's the ' 16:26
std: class A { method f(*%_) { |%_ } }
p6eval std 30236: OUTPUT«ok 00:01 107m␤»
TimToady not a stdbug then
std: method f { say $^a }
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
TimToady std is fine with methods using placeholders
jnthn Yeah, but std just has to parse. :-P 16:27
TimToady in the case, no, it's analyzing the sig 16:28
or lack thereof
jnthn Well, as I said, patches welcome, or I'll get to it at some point.
TimToady "patches welcome" doesn't work on me, when the whole point from the beginning was to kick me out of the Implementors Guild. :) 16:29
ash_ all classes (without being explicit?) inherit from Any, right? but could you do class Foo is Mu ? and skip any?
TimToady sure, that's what Junctions do 16:30
jnthn TimToady: It wasn't specifically to you, more a "I'd appreciate it if someone != me could look at it" :-)
TimToady yeah, sure, ignore the pragmatics of "patches welcome" :)
jnthn ;-)
TimToady reminds me of the *plonk* discussion
jnthn I...never quite understood that meme. 16:31
PerlJam blames tchrist
ash_ anyone silly question, all objects have a HOW, but custom ones have a ClassHOW, is (for instance) Mu.HOW eqv Mu? and Str.HOW eqv Str?
TimToady that...could well be true...
PerlJam (only because I haven't heard from him in a long while and he was the king of *plonk*) 16:32
ash_ s/aynone/another/
TimToady there there are any number of good candidates for having invented *plonk*
PerlJam google probably knows :) 16:33
ash_ > say Str.HOW.WHAT;
Str()
TimToady that's just wrong
Str.HOW is a metaclass, and should say it's a type object
s/metaclass/metaclass instance/ 16:34
jnthn Yeah, that does look a tad dubious...
TimToady grr
ash_ so... thats wrong?
TimToady s/should/shouldn't/
ash_ k
jnthn Probaly should say ClassHOW.
ash_ > say Str.HOW.blah;
Method 'blah' not found for invocant of class 'ClassHOW'
it does do that...
so its really a ClassHOW?
jnthn It is.
ash_ hm, k 16:35
jnthn I guess ClassHOW but define WHAT. :-/
TimToady rakudo: say ClassHOW.WHAT
p6eval rakudo 534afd: OUTPUT«ClassHOW()␤»
jnthn heh.
ash_ and all (probably all) Str's have the same instance of ClassHOW for WHAT?
jnthn Color me confused.
TimToady rakudo: say ClassHOW.HOW.fofof
p6eval rakudo 534afd: OUTPUT«Method 'fofof' not found for invocant of class ''␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
jnthn Heh
ash_ rakudo: say Mu.HOW.WHAT;
p6eval rakudo 534afd: OUTPUT«Mu()␤»
TimToady also wrong 16:36
jnthn rakudo: say ClassHOW.HOW.HOW
p6eval rakudo 534afd: ( no output )
jnthn rakudo: say ClassHOW.HOW.HOW.WHAT
p6eval rakudo 534afd: OUTPUT«P6metaclass()␤»
ash_ rakudo: say Mu.HOW.HOW.HOW.WHAT;
p6eval rakudo 534afd: OUTPUT«P6metaclass()␤»
jnthn Heh. Now we've reached the guts. :-)
ash_ :p
16:37 payload1 joined
jnthn The answer to ClassHOW.HOW may well want to be implementation specific, though. 16:37
ash_ is trying to figure out the guts, so i can put as little as possible of them in my nqp
masak yayiblogged! use.perl.org/~masak/journal/40280 16:38
ash_ so... $a = Mu.HOW ... later in the program ... $b = Mu.HOW; ($a eqv $b) eqv True?
masak goes swimming
16:39 masak left
jnthn Woulda thought so. 16:39
ash_ kk, just checking
pausenclown rakudo: grammar G { rule TOP { <test(one)> }; rule one { 1 }; rule test($x) { $x }; }; say G.parse("1");
p6eval rakudo 534afd: OUTPUT«␤» 16:40
pausenclown rakudo: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { $x }; }; say G.parse("1");
p6eval rakudo 534afd: OUTPUT«␤»
pausenclown mmh
16:41 payload left
TimToady class A { method f() { |%_ } }' 16:41
oops
pausenclown rakudo: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { <x> }; }; say G.parse("1");
p6eval rakudo 534afd: OUTPUT«Method 'x' not found for invocant of class 'G'␤current instr.: 'perl6;G;test' pc 1210 (EVAL_1:0)␤»
16:41 payload1 left
TimToady middle mouse button doesn't open a link in another irssi tab :) 16:41
pausenclown rakudo: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { <$x> }; }; say G.parse("1"); 16:42
p6eval rakudo 534afd: OUTPUT«Malformed regex at line 11, near "test($x) {"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:43 payload joined
pausenclown i think i've read somewhere about passing a rule to another rule. 16:43
16:43 ash_ left
TimToady std: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { <$x> }; }; say G.parse("1"); 16:45
p6eval std 30236: OUTPUT«ok 00:01 110m␤»
pausenclown nooooooooooooo 16:46
=)
TimToady mind you, <test('one')> would work as well, nothing magically assertive about <one> as an expression
16:46 mssm joined
PerlJam TimToady: I was going to ask about how that <one> was parsed 16:46
TimToady inside of () is normal Perl expression 16:47
pausenclown You mean '1' would work (as in matching successfully).
16:47 riffraff left
TimToady std: grammar G { rule TOP { <test(-e ** (-i * pi))> }; rule one { 1 }; rule test($x) { <$x> }; }; say G.parse("1"); 16:47
p6eval std 30236: ( no output ) 16:48
PerlJam Hmm. What do <0> and <1> mean in regex?
TimToady to do a symbolic call you might need <::($x)> 16:49
16:49 ignacio_ joined
TimToady otherwise it's going to compile into /0/ or /1/ 16:49
<$x> is biased towards interpreting $x as regex
$x is biased towards literal string 16:50
but if $x contains a Regex, it's the same as <$x>
however, 'one' is not a regex
'&one' might be
er, just bare &one 16:51
pausenclown rakudo: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { { say $x } }; }; say G.parse("1"); 16:53
p6eval rakudo 534afd: OUTPUT«one␤␤»
16:53 diakopter joined
pausenclown rakudo: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { { say $x.WHAT } }; }; say G.parse("1"); 16:53
p6eval rakudo 534afd: OUTPUT«Str()␤␤»
PerlJam I don't see a rule (pardon the pun) for a leading numeric char in S05 16:54
(e.g. <1>)
TimToady std: /<1>/
p6eval std 30236: OUTPUT«===SORRY!===␤Unrecognized regex assertion at /tmp/Hk8qH6a9nD line 1:␤------> /<⏏1>/␤ expecting any of:␤ assertion␤ name␤FAILED 00:01 106m␤»
TimToady there's your rule :)
PerlJam yeah, but I'm wondering if their might be some other use
diakopter std: /<<>>/
pausenclown rakudo: grammar G { rule TOP { <test(one)> }; rule one { 1 }; rule test($x) { { say $x.WHAT } }; }; say G.parse("1");
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
rakudo 534afd: OUTPUT«␤» 16:55
PerlJam <1> might be another way to write $1
TimToady channels MJD
diakopter std: /<<<>>>/
p6eval std 30236: OUTPUT«===SORRY!===␤Unrecognized regex assertion at /tmp/JCws7sBUEv line 1:␤------> /<<<⏏>>>/␤ expecting any of:␤ assertion␤ name␤FAILED 00:01 106m␤»
16:55 pmurias left
diakopter std: /<<<a>/ 16:56
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
pausenclown rakudo: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { { say $x.WHAT } }; }; say G.parse("1");
p6eval rakudo 534afd: OUTPUT«Str()␤␤»
pausenclown shouldnt that say "Regex" or so?
TimToady no, I just said that <> was special around the one 16:57
wasn't
PerlJam the only "advantage" I can see to that might be when you're writing code like pausenclown is attempting
TimToady grr, my n't key is sticking again this morning...
diakopter std: /<< < a>/
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
PerlJam pausenclown: <> is being used as quote-words inside of the ()
16:58 envi^home left
TimToady PerlJam: thanks for being clear :) 16:58
diakopter std: /<< < /d/a>/
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
pausenclown so i dont pass a regex but its name and refer to that via <$x> which calls the regex
TimToady which *doesn't* call the regex 16:59
PerlJam heh
TimToady <$x> has no freaking clue that $x contains the name of a regex
PerlJam pausenclown: <@TimToady> to do a symbolic call you might need <::($x)>
pausenclown oh, i overread that. sry 17:00
TimToady std: <::($_)>
p6eval std 30236: OUTPUT«ok 00:01 107m␤»
diakopter std: /<< < ///////////a>/
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
pausenclown rakudo: grammar G { rule TOP { <test(<one>)> }; rule one { 1 }; rule test($x) { <::($x)> }; }; say G.parse("1");
p6eval rakudo 534afd: OUTPUT«Malformed regex at line 11, near "test($x) {"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady std: <."$x"()>
p6eval std 30236: OUTPUT«ok 00:01 105m␤»
TimToady or...
std: my $x; /<."$x"()>/; 17:01
PerlJam diakopter: trying to trick the parser?
p6eval std 30236: OUTPUT«ok 00:01 107m␤»
diakopter PerlJam: what else do I ever do
PerlJam std: /< ///////////)>/ 17:02
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
PerlJam parser too smart
TimToady std: my $x; / { $¢ = $¢."$x"() } /; #same thing
p6eval std 30236: OUTPUT«ok 00:01 107m␤»
pausenclown heh. nice.
diakopter std: / sub foo { 3 } /
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
17:03 Guest63559 joined
TimToady the diafuzzer is broken 17:03
pausenclown
.oO( don't ask, your head will explode )
17:07
TimToady std: my $x; /<.[0]>/; 17:09
p6eval std 30236: OUTPUT«ok 00:01 109m␤» 17:10
TimToady std: my $x; /<.++>/;
p6eval std 30236: OUTPUT«ok 00:01 106m␤»
TimToady though I doubt $¢ will take kindly to being incremented
or to being subscript in the absence of a current $0 17:11
*ed
diakopter std: / die() / 17:12
p6eval std 30236: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/jPZt8hlrOK line 1:␤------> / die(⏏) /␤FAILED 00:01 106m␤»
17:13 Chillance joined
PerlJam need more syntax to convert that into an actual call 17:13
the parser is still not so easily fooled. 17:14
TimToady I suspect he knows that; he's just trying to get unhelpful error messages out of it. :)
it should say, "Missing braces around Perl code" or some such... :) 17:15
PerlJam that would make the parser preternaturally smart ;) 17:16
TimToady "You aren't programming in the language you think you're programming in, dufus!" --MJDish
"It's *you* that is confused at line 42" 17:17
PerlJam there should be a "use snark" option to Perl 6 that should make it actually say these things
TimToady it would actually be possible to make a parser that preternaturally smart with speculative parsing 17:18
17:19 mikehh left
TimToady but that only works if something actually goes wrong; it's even harder to catch the case where it parses right wrong, as in diakopter++'s first sub foo example 17:20
PerlJam TimToady: then it should go interactive ... "Are you writing a parser in Perl 6? (Y/n)" 17:21
TimToady in that case, the best it could do is report an ambiguity
or yes, ask that. :)
however, the "Useless use of 3 in sink context" should eventually help there. 17:22
calculating side effects or lack thereof is on my short list of things to do next to STD
17:24 dakkar left
diakopter bwahaha 17:24
17:29 riffraff joined
jnthn TimToady: Ooh, does that mean we'll be able to steal sink context detection from STD? :-) 17:32
17:37 p6eval left 17:38 p6eval joined
diakopter ok, who bounced p6eval 17:42
17:43 justatheory left
diakopter oh. server error. 17:45
irc server, that is. 17:46
whatevs
17:49 pausenclown left 17:50 JimmyNeutron left 18:03 hercynium left
moritz_ returns and finds a huge backlog 18:10
18:13 justatheory joined 18:20 Guest63559 is now known as Trashlord, Trashlord left, Trashlord joined, TiMBuS left 18:23 mberends joined, flity_ joined
diakopter std: #`[/ . /␤a#`[a]] 18:25
p6eval std 30236: OUTPUT«ok 00:01 104m␤»
diakopter std: #`[/ . /␤a#`[a]
p6eval std 30236: OUTPUT«===SORRY!===␤(Possible runaway string from line 1)␤Couldn't find terminator ] at /tmp/aHgEdJgPSc line 2 (EOF):␤------> a#`[a]⏏<EOL>␤FAILED 00:01 103m␤»
diakopter std: #`[/ . /␤a#[a]
p6eval std 30236: OUTPUT«===SORRY!===␤(Possible runaway string from line 1)␤Couldn't find terminator ] at /tmp/sFqzTGz3Zl line 2 (EOF):␤------> a#[a]⏏<EOL>␤FAILED 00:01 103m␤»
diakopter std: #`[/ . /␤a[a]
p6eval std 30236: OUTPUT«===SORRY!===␤(Possible runaway string from line 1)␤Couldn't find terminator ] at /tmp/eFL9H1XHiP line 2 (EOF):␤------> a[a]⏏<EOL>␤FAILED 00:01 103m␤»
diakopter std: #`[/ . /␤a[]a]
p6eval std 30236: OUTPUT«ok 00:01 104m␤»
diakopter std: #`[/ . /␤a[]]a]
p6eval std 30236: OUTPUT«===SORRY!===␤(Possible runaway string from line 1)␤Confused at /tmp/yays4NAhyi line 2:␤------> a[]]a⏏]␤ expecting any of:␤ argument list␤ statement modifier loop␤Undeclared routine:␤ 'a' used at line 2␤FAILED 00:01 105m␤»
diakopter std: #`[/ . /␤#a[]]a]
p6eval std 30236: OUTPUT«===SORRY!===␤(Possible runaway string from line 1)␤Confused at /tmp/9GoTvHjUpc line 2:␤------> #a[]]a⏏]␤ expecting any of:␤ argument list␤ statement modifier loop␤Undeclared routine:␤ 'a' used at line 2␤FAILED 00:01 105m␤»
18:26 ChanServ sets mode: +o diakopter, diakopter was kicked by diakopter (CEILING CAT WILL FIND YOU))
mberends diakopter++ # spectacular exits 18:27
phenny mberends: 15:10Z <moritz_> tell mberends that I made some small progress on the separate compilation of core files, but accidentally pushed it to branch split-setting (which seemed to be identical to split-gen-setting-2 branch...)
mberends thanks moritz_. The separate compilation will resume after proto gets into some kind of workable state. Right now that is beginning to get on with Win32/Strawberry Perl :) 18:33
18:33 clintongormley left 18:34 clintongormley joined
moritz_ \o/ 18:35
anyway, all setting files now compile
mberends \o/ 2
moritz_ it was just a matter of telling the files that Whatever is a type 18:36
mberends its sounds so easy ...afterwards :) 18:37
moritz_ :-) 18:38
jnthn Yeah, whatever. 18:43
;-)
mberends++ # win32 support!
mberends trying, anyway. (mingw32 isn't *really* win32) ;) 18:44
the M$ toolchain deserves a look as well, for people using ActiveState instead of Strawberry
jnthn eww, minging! 18:45
I use ActiveState on this machine.
So I can try it there.
18:45 masak joined
mberends there is a kinda possibility of starting with just a single Perl 5 script called proto, that uses LWP and friends to download everything else. 18:46
masak oh hai, mberends :)
mberends masak: hi!
jnthn yaytismasak! 18:47
masak I noticed today that proto got an external CPAN dependecy :)
mberends external?
masak well, one that needs to be downloaded.
18:48 abra left
mberends actually I don't knwo what's external and what isn't 18:48
18:48 frettled sets mode: +oo masak mberends
frettled good afterdusk 18:48
mberends hi frettled
masak File::Homedir, it was.
18:49 hercynium joined
masak I'm not saying we shouldn't depend on it. maybe that's what it takes to make Windows play nice with proto. 18:49
18:49 sbp is now known as jeffarch
masak if so, I think it's worth it. 18:49
mberends masak: sorry about that, we can probably workaround
masak no worries.
I'm assuming there were reasons behind it :)
mberends it was for Windows portability 18:50
masak right. I guessed so.
the gradient we've backed down a bit along is the One Click Shopping gradient.
mberends heh
frettled one click vulnerability gradient! 18:51
mberends masak: we'll drop the File::HomeDir dependency, it's an unwelcome barrier 18:52
masak I'm not even arguing for that, but sure :P
we've backed down along it at other times, for what we considered to be good reasons. 18:53
mberends practicality is more important, and it's a trivial piece to substitute using environment variables
masak the 'oh hai I configured you, run me again to really get going' was one example. I really like that one.
mberends: yes. all CPAN dependencies can -- at least theoretically -- be removed by inlining. :) 18:54
not that that's always a good idea.
18:56 alester left
arnsholt If you want no external deps you could bundle it as well 18:58
masak oh, indeed.
mberends: your call.
moritz_ rakudo: return True if 1
p6eval rakudo 534afd: OUTPUT«No exception handler and no message␤current instr.: '&return' pc 17244 (src/builtins/Junction.pir:420)␤»
19:00 jeffarch is now known as sbp, ShaneC joined
moritz_ rakudo: my $a; my @b; ($a, @b) = <1 2 3>; say @b.perl 19:02
p6eval rakudo 534afd: OUTPUT«[["2", "3"]]␤»
moritz_ rakudo: say 6 >== 2 19:04
p6eval rakudo 534afd: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 17189 (src/builtins/Junction.pir:399)␤»
masak LTA. 19:05
19:05 molaf joined
masak std: 6 >== 2 19:05
p6eval std 30236: OUTPUT«===SORRY!===␤Can't make assignment out of >= because chaining operators are diffy at /tmp/tYk8vryGt4 line 1:␤------> 6 >==⏏ 2␤FAILED 00:01 108m␤»
jnthn std: 6 >== 2
p6eval std 30236: OUTPUT«===SORRY!===␤Can't make assignment out of >= because chaining operators are diffy at /tmp/wODTcjnrYm line 1:␤------> 6 >==⏏ 2␤FAILED 00:01 106m␤»
19:06 lichtkind joined
lichtkind moritz_: i will read it today again and write you 19:11
mberends: hai
pyrimidine rakudo: my $a; my @b; ($a, @b) = <1 2 3>; say @b.perl 19:12
p6eval rakudo 534afd: OUTPUT«[["2", "3"]]␤»
mberends hi lichtkind, what was that wiki page you wanted me to review?
pyrimidine moritz_: is that correct?
moritz_ nope
there's a ticket in RT for it
pyrimidine okay, that one bit me already, just making sure. 19:13
lichtkind mberends: in a moment i opened it currently 19:15
19:16 alester joined 19:22 eiro left
lichtkind shouldnt o in Ordered endpoints be a small o? 19:23
19:25 pyrimidine left
lichtkind if yes then i found a typo in S02 19:27
19:28 eiro joined 19:31 masak left
lichtkind mberends: www.perlfoundation.org/perl6/index....dex_tablet 19:43
mberends: tablet B is still open
mberends oki
lichtkind mberends: please tell me if your ready :9
19:45 clintongormley left 19:46 tri1 joined
mberends lichtkind: if you mean proofread the *whole* index, I would prefer to do that in the train tomorrow morning, and continue developing proto this evening :) 19:47
lichtkind mberends: no just check the diff :)
what changend in last 3,4 edits
mberends ok 19:48
lichtkind mberends: thanks but you dont have to :) 19:49
19:49 bluescreen left 19:56 molaf left
mberends lichtkind: so it's mainly BEGIN, CATCH, CHECK etc closure traits. They are all very clear. The linked closure traits list also looks very useful, short and sweet :) 20:00
lichtkind mberends: thanks but its all about control statements and regex modifier but it was mainly in german version :) 20:01
mberends: its index , longer explanation you get in chapters :) 20:04
20:04 bluescreen joined 20:05 molaf joined
mberends agreed, that's why this is good :) 20:05
20:06 molaf left 20:10 molaf joined 20:14 molaf left, pmurias joined
pmurias ruoso: ping 20:14
20:15 moritz_ sets mode: +oo pmurias ruoso
pmurias has to stay in the channel long enough 20:15
20:32 mssm left 20:33 dual left 20:38 dual joined 20:48 Chillance left 20:50 REPLeffect left 20:53 riffraff left 20:55 ruoso left, eternaleye left 20:59 sundar joined 21:03 REPLeffect joined 21:05 wknight8111 joined 21:07 sundar left 21:08 payload left, payload joined 21:10 mberends left 21:16 ignacio_ left 21:18 payload left, tri1 left
PerlJam *yawn* 21:24
jnthn PerlJam: I've felt like that all day. :-/ 21:25
21:26 doublec left, bluescreen left
PerlJam I've been feeling like that since Friday. I spent all day Friday and half the day Saturday moving furniture and such. Then I helped a friend with a BBQ for his mother until about 8:00pm. And then I drove to Austin (about 3.5 hours). I spent all day Sunday in a state of perpetual motion it seems and just now finished about half a day moving computer stuff from one building to another at work. 21:27
I'm a little wired from the exercise, but also a little tired. 21:28
21:29 mberends joined 21:32 mikehh joined
mberends hmm, Windows-- 'C:\Documents' is not recognized as an internal or external command, 21:34
operable program or batch file.
Died at Configure.pl line 119.
arnsholt Well, C:\Documents isn't a comment =) 21:35
mberends sorry to share that, it just *had* to come out ;)
21:36 ash_ joined
mberends copies and pastes lots of " inside strings 21:36
21:37 Su-Shee left
jnthn heh. 21:41
mberends: Yes, that one bites me now and then too.
PerlJam: That sounds exhausting. 21:42
mberends jnthn: if patching proto for "C:\Documents and Settings" breaks it on Unix/Linux, the blame goes indirectly to *you* 21:46
jnthn :-P 21:47
ash_ lol
as weird as it sounds, more people use windows than unix/linux... but do more perl 6 developers? :P
mberends more Rakudo newbies do, we must roll out the welcome mat. Brainwa^W helping them become more productive can happen later :P 21:49
m6locks i'm kinda hoping for a working windows edition of rakudo 21:50
right now, parrot won't work in this machine
dunno why
jnthn Odd, I run it fine on Windows.
What're you trying to build with?
m6locks i tried the precompiled binaries ;P 21:51
jnthn Ah
I've heard they work out for some people and not for others.
ash_ jnthn does work in visual studio, so he can help i am sure
jnthn Yeah. I build with the MS VC++ compiler.
m6locks aye 21:52
colomon what perl do you use?
m6locks how about parrot, you build it yourself too?
jnthn Had to patch things up for Win7 a couple of months back, but should be good there now too.
m6locks: Yeah, just --gen-parrot
colomon: Got the ActiveState one on this machine, have also had Strawberry, but I think there was some oddities there.
m6locks hmm ok
colomon guess I can try building it again and see what happens.... 21:53
jnthn colomon: Since it's built with mingw and I was trying to build with the MS VC++ toolchain.
And Parrot's configure takes some info from the way Perl was configured.
ash_ yeah, that doesn't sound good, telling the ms vc++ a mingw compiler option 21:55
jnthn Right.
Thus the ActiveState Perl seems to work out better when building with that toolchain.
colomon okay, I've got active state and ms vc++ on 64-bit vista. just got a fresh rakudo clone... 21:56
21:56 diakopter joined
ash_ can you build normal perl with ms vc++? 21:56
mberends jnthn: do you have download URLs for ms vc++ toolchain?
ash_ just wondering, more out of curiosity 21:57
jnthn ash_: I think so, not tried it.
21:57 envi^home joined
jnthn mberends: Not to hand, no, sorry. 21:57
lichtkind i have an perl 6 quastion :) 21:58
diakopter O__O
ash_ mberends: www.microsoft.com/express/downloads/ visual C++ 2008 express has the compiler in it
lichtkind diakopter: ?
colomon jnthn: perl Configure --gen-parrot just died.
mberends ash_: thanks, hoping to add that to proto as well :) 21:59
diakopter also the windows platform sdk has all the compilers without the gui, but it's a much bigger download, due to all the libs/headers
colomon 'parrot_install' is not recognized as an internal or external command, operable program or batch file.
Died at Configure.pl line 119.
ash_ what the whole download? thats just silly, :P /sarcasm
diakopter lichtkind: I wasn't replying to you; I was just O__O 22:00
lichtkind ahh
jnthn colomon: Oh. :-/
lichtkind can i build in perl 6 a complex data structure and some other variable points deep into the structure?
jnthn colomon: Can you paste what you had up until there?
I'm kinda curious. 22:01
ash_ lichtkind: define complex data structure?
colomon jnthn: looks like Parrot didn't build, actually.
lisppaste3 colomon pasted "Parrot configure failure?" at paste.lisp.org/display/97043 22:02
lichtkind ash_: something like HoHoA
ash_ lichtkind: short answer, i don't see why not, long answer for a sane value of complex data structure you should be good, but i am sure there are edge cases that may be more difficult to build than others 22:03
jnthn colomon: Is cl in your path?
mberends lichtkind: to point deep into a structure, use := to bind another variable
jnthn colomon: Also try the Visual Studio Command Prompt shortbut.
er, cut
colomon jnthn: cl and devenv both work. 22:04
from the command line, I mean.
22:04 nihiliad left, nihiliad joined
ash_ lichtkind: you mean like my %a = { key => { array => [1, 2, 3] } }; say %a<key><array>[2]; # prints 3 22:04
rakudo: my %a = { key => { array => [1, 2, 3] } }; say %a<key><array>[2]; # prints 3 22:05
p6eval rakudo 534afd: OUTPUT«3␤»
diakopter jnthn: the dir of parrot's parrot_install is not in colomon's PATH ?
colomon jnthn: probably not in my default path, however, so maybe it could be spawning another shell that doesn't know about them?
lichtkind mberends: yes when the complex structure is build first, but in perl 5 you could compose a complex thing and include references of smaller var. haw you do thatt in perl 6 without references?
diakopter child shells inherit parent shell's env
lichtkind ash_: its deeper than that please see my post to mberends 22:06
TimToady it's not really true that Perl 6 doesn't have references; it's more like everything is a reference
ash_ rakudo: my %a; my $b = 5; %a<key> := 5; say %a<key>; $b = 6; say %a<key>;
p6eval rakudo 534afd: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 17189 (src/builtins/Junction.pir:399)␤»
lichtkind TimToady: yes but i cant use it as reference
colomon diakopter: that's a fine theory, but I'm not sure I'd want to count on it working in the hateful Windows Vista. 22:07
ash_ alpha: my %a; my $b = 5; %a<key> := 5; say %a<key>; $b = 6; say %a<key>;
p6eval alpha 30e0ed: OUTPUT«rtype not set␤in Main (file <unknown>, line <unknown>)␤»
ash_ hmm
i think i have that right...
pugs: my %a; my $b = 5; %a<key> := 5; say %a<key>; $b = 6; say %a<key>;
p6eval pugs: OUTPUT«5␤5␤»
ash_ oops
doh, stupid me
pugs: my %a; my $b = 5; %a<key> := $b; say %a<key>; $b = 6; say %a<key>; 22:08
p6eval pugs: OUTPUT«5␤6␤»
ash_ lichtkind: you mean like that?
so %a<key> points to $b, so when you update $b it updates what %a<key> is pointing to
lichtkind ash_: exactly
ash_ (as an example), same principle applies to other variables and the := operator 22:09
diakopter colomon: I can't tell whether you're kidding.
22:09 payload joined
lichtkind ash_: but i would be even more happy doing that during composing the structure, because maybe i want to weave much more vars into it 22:09
jnthn diakopter: Well, given we aren't getting so far as having a parrot_config, that's not the issue here... :-) 22:10
colomon: OK...I only remember when I saw that one it was some path fail.
ash_ lichtkind: you can do that too, in theory, i don't know if its implemented yet though
jnthn diakopter: It doesn't need to be in the path with --gen-parrot too, fwiw.
lichtkind ash_: and how you do it in theory? .)
diakopter oh.
ash_ pugs: my $b = 5; my %a = { key => \$b }; say %a<key>; $b = 6; say %a<key>;
p6eval pugs: OUTPUT«5␤5␤»
ash_ rakudo: my $b = 5; my %a = { key => \$b }; say %a<key>; $b = 6; say %a<key>; 22:11
p6eval rakudo 534afd: OUTPUT«Capture()<0x2b128d102fa0>␤Capture()<0x2b128d102fa0>␤»
ash_ alpha: my $b = 5; my %a = { key => \$b }; say %a<key>; $b = 6; say %a<key>;
colomon jnthn: I agree path fail seems likely, I just don't know how to explain it.
p6eval alpha 30e0ed: ( no output )
diakopter ok; why would it try to run parrot_install if parrot didn't even succeed to build
ash_ \$b captures the variable, its similar in function to := 22:12
colomon jnthn: It seems like this sort of nonsense is always happening in Vista, which is why I bought the MacBook Pro...
ash_ lichtkind: perlcabal.org/syn/S08.html talks about captures
lichtkind ash_: thank you very much but i do that later i just wanted solve that head problem, but im currently on immutable types 22:13
jnthn colomon: Ah, looking at my laptop (Win 7)...I was indeed always using the Visual Studio Command Prompt rather than just the standard one. I guess that must set us up the everything.
diakopter: Well, it's software, so it sucks. 22:14
diakopter: I guess either missing or failed check for success of the Parrot build though.
colomon jnthn: wait, there's a visual studio command prompt? as in a shell?
jnthn colomon: It's the same shell but it runs a batch file that sets a bunch of environment up.
colomon jnthn: how do you get at it? 22:15
jnthn colomon: For me, it's in the programs menu; Visual Studio 2008 => Tools.
Ends up running vcvarsall.bat 22:16
colomon and gets the exact same error. :(
ash_ is there a difference between := $a and \$a ? other than implementation details?
i am not sure what the difference is, if there is one 22:17
jnthn colomon: Aww. :-(
colomon Generating Parrot ...
C:\Perl64\bin\perl.exe build/gen_parrot.pl --prefix=C:/tools/rakudo/parrot_install
The system cannot find the path specified.
Hadn't noticed that before, it seems to happen very early in the attempt to install parrot.
22:19 nihiliad left
ash_ TimToady: is there a difference between := $a and \$a ? other than implementation details? 22:20
TimToady not really, they're both capturizers 22:21
except := usually uses up the capture immediately 22:22
22:22 rgrau` left
ash_ got ya, they seemed kinda similar, just wanted to make sure i didn't explain things wrong to lichtkind 22:22
22:23 iblechbot left
jnthn [OT-ish, though it's for Perl 6] If anyone's ever given a tech talk and had somebody interpreting into another language, and has any tips, please pm me. I've not done it before and any input on how to not epic fail it would be welcome. :-) 22:27
22:27 pmurias left
mberends jnthn: just. talk. really. 22:28
jnthn: slowly.
jnthn mberends: That advice holds for both simultaneous and consecutive interpretation? 22:30
mberends jnthn: try to enable consecutive to occur, simultaneous is very lossy and requires more redundant repetition to avoid fail 22:32
some repetition is good though, all listeners innocently stop listening occasionally 22:33
jnthn mberends: I've actually got one talk where I'm told it'll be simultaneous, and another where it'll be consecutive. :-) 22:34
mberends if you know several ways to state the same thing, use that to make the repetition less obvious/boring/insulting 22:35
jnthn I figure the consecutive way is kinda easier in that there's some feedback loop to the speaker.
If the interpreter is breaking out into a sweat, it's time to slow down. :-)
Anyway, yes, well-managed repetition is a nice tip. 22:36
mberends jnthn: I would suggest largely ignoring the simultaneous process, otherwise it may trip your delivery up
jnthn nod
22:39 snarkyboojum joined 22:42 envi^home left
lue hello! .oO(who doesn't love a high wind warning, with max. gusts expected at ~ 65 mph?) 22:42
colomon o/ 22:43
pugssvn r30237 | lwall++ | [Cursor] new <suppose X> rule that traps all warnings and errors 22:47
r30237 | [STD] use suppose in place of custom try blocks in 2-terms and unexpected infix checkers
r30237 | [STD] use suppose to soften the warning about backtick-less embedded comments
r30237 | [STD] de-dup warnings
ash_ lue: its time to pull out the old kite and see if the string is graded for 65 mph gusts 22:48
lue That's just the worst for the county, I checked in my city, and it's only ~ 41 (relative phew) 22:49
I created a simple RT search engine for Firefox, let me change it to search the public interface (it preserves login if you are logged in) 22:50
addons.mozilla.org/en-US/firefox/addon/116888/ should make life easier for those who search the RT a lot :) 22:57
22:58 pausenclown joined, mberends left
ash_ after an object has been created, would you ever need to call 'bless' again? 22:59
i am just wondering why its a method on all objects...
pausenclown rakudo: say [+] 1,2,3 23:01
p6eval rakudo 534afd: OUTPUT«6␤»
pausenclown rakudo: sub ff(@a) { say [+] @a }; ff(1,2,3); 23:02
p6eval rakudo 534afd: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Int instead␤current instr.: 'ff' pc 182 (EVAL_1:77)␤»
pausenclown rakudo: sub ff(*@a) { say [+] @a }; ff(1,2,3); 23:03
p6eval rakudo 534afd: OUTPUT«6␤»
pausenclown rakudo: sub ff(*@a) { ( [+] @a ) / @a.elems }; ff(1,2,3); 23:04
p6eval rakudo 534afd: ( no output )
pausenclown rakudo: sub ff(*@a) { ( [+] @a ) / @a.elems }; say ff(1,2,3);
p6eval rakudo 534afd: OUTPUT«2␤»
pausenclown rakudo: sub ∅(*@a) { ( [+] @a ) / @a.elems }; say ∅(1,2,3);
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "sub \u2205(*@a)"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown rakudo: my $∅ = 1;
p6eval rakudo 534afd: OUTPUT«Malformed my at line 11, near "$\u2205 = 1;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown std: my $∅ = 1; 23:05
p6eval std 30237: OUTPUT«===SORRY!===␤Confused at /tmp/UOayfWotnB line 1:␤------> my $⏏∅ = 1;␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ shape definition␤ statement modifier
..loop␤ trait␤ twigil␤FAILED 00:01 …
ash_ invalid $
hmmm, wait no sorry
pausenclown i thought unicode names are supported
ash_ thats a weird error, must be something with unicode
rakudo: my $∑ = 5;
p6eval rakudo 534afd: OUTPUT«Malformed my at line 11, near "$\u2211 = 5;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue std: my $ĉ = 3; 23:06
p6eval std 30237: OUTPUT«ok 00:01 106m␤»
lue std: my $∅ = 3;
ash_ maybe its p6eval?
p6eval std 30237: OUTPUT«===SORRY!===␤Confused at /tmp/QxHjkFrDbe line 1:␤------> my $⏏∅ = 3;␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ shape definition␤ statement modifier
..loop␤ trait␤ twigil␤FAILED 00:01 …
arnsholt If it's not alphanumeric, it's not a valid identifier I think
ash_ ah, good point
lue rakudo: my $ĉ=3;
p6eval rakudo 534afd: ( no output )
arnsholt std: my $æøå = 1;
p6eval std 30237: OUTPUT«ok 00:01 106m␤»
arnsholt Yeah. Probably due to those characters not being alnums 23:07
lue no bug, as far as I can tell (unless the spec specifically says "unicode is allowed as variable names")
pausenclown too bad. no APL in Perl6.
23:07 stepnem left
arnsholt You could always define your own syntax though =D 23:07
lue rakudo: my $ĥoro = "good"; say "Mia ĥoro estas $ĥoro." # my choir is [variable] 23:08
p6eval rakudo 534afd: OUTPUT«Mia ĥoro estas good.␤»
lue s/good/bona/ # i think 23:09
23:11 stepnem joined 23:12 ruoso joined
lue rakudo: grammar G { regex foo { (\d+) <?{ $0.chars > 4 }> '!'} }; say $_ ~~ /<G::foo>/ for '1234!', '123456!' 23:12
p6eval rakudo 534afd: OUTPUT«regex assertion not terminated by angle bracket at line 11, near "::foo>/ fo"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown rakudo: multi sub postfix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say (1,2,3) ∅; 23:13
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "say (1,2,3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown rakudo: multi sub postfix:<∅> (*@a) { ( [+] @a ) / @a.elems };
p6eval rakudo 534afd: ( no output )
arnsholt rakudo: multi sub postfix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say((1,2,3) ∅); 23:14
p6eval rakudo 534afd: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
pausenclown multi sub postfix:<!>(Int $n) { [*] 1..$n; }; say 3!;
rakudo: multi sub postfix:<!>(Int $n) { [*] 1..$n; }; say 3!; 23:15
p6eval rakudo 534afd: OUTPUT«6␤»
TimToady a postfix may not have whitespace before it
pausenclown rakudo: multi sub postfix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say (1,2,3)∅;
arnsholt Aha. That explains it
pausenclown heh, i broke the bot.
lue The brot boke itself (wait...) 23:16
p6eval rakudo 534afd: ( no output )
ash_ it times out eventually
then you normally get the " ( no output ) "
arnsholt > multi sub postfix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say (1,2,3)∅;
2
On a couple of days old copy of Rakudo. So it should work =) 23:17
pausenclown rakudo: multi sub prefix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say ∅(1,2,3);
lue that is the once-there-never-gone way of thinking. It doesn't work here :) 23:18
p6eval rakudo 534afd: OUTPUT«2␤»
pausenclown how to omit the parens?
rakudo: multi sub prefix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say ∅ 1,2,3;
p6eval rakudo 534afd: ( no output ) 23:19
lue rakudo: multi sub prefix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say ∅1,2,3
p6eval rakudo 534afd: OUTPUT«123␤» 23:20
pausenclown also: ugly
std: multi sub prefix:<∅> (*@a) { ( [+] @a ) / @a.elems }; say ∅ 1,2,3;
p6eval std 30237: OUTPUT«ok 00:01 111m␤» 23:21
lue rakudo: multi sub prefix:<∅> (*@a) { ( [+] @a ) / @a.elems }; my @a=1,2,3; say ∅@a
23:21 ash_ left
p6eval rakudo 534afd: OUTPUT«2␤» 23:21
pausenclown anyway. conclusion is: APL in Perl6 is possible. 23:22
lue of course it is! According to God, Lisp was hacked together with Perl! [see xkcd]
pausenclown According to Larry, that's just a rumour =) 23:23
( just kidding )
lue The Perl of Great Price :) 23:25
pausenclown but how do you import such a language enhancement? 23:27
i think i need to read up the sub export mechanism.
23:27 Helios left 23:28 Helios joined 23:29 ascent__ left
pausenclown rakudo: say 3!3 23:32
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "say 3!3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown rakudo: say 3 ! 3
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "say 3 ! 3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown rakudo: say ! 3
p6eval rakudo 534afd: OUTPUT«0␤»
lue rakudo: multi sub infix:<!jnthn!> ($a,$b) { say $a**$b;}; 3!jnthn!2 # should say 9 23:37
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "3!jnthn!2 "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: multi sub infix:<!jnthn!> ($a,$b) { say $a**$b;}; 3 !jnthn! 2 # should say 9 23:38
p6eval rakudo 534afd: OUTPUT«9␤»
jnthn rakudo: multi sub infix:<!jnthn!> ($a,$b) { say $a**$b;}; my $a = 3; $a !jnthn!= 2; say $a;
p6eval rakudo 534afd: OUTPUT«Null PMC access in invoke()␤current instr.: '!assign_metaop' pc 17030 (src/builtins/Junction.pir:319)␤» 23:39
jnthn Aww!
rakudo: our multi sub infix:<!jnthn!> ($a,$b) { say $a**$b;}; my $a = 3; $a !jnthn!= 2; say $a;
p6eval rakudo 534afd: OUTPUT«9␤1␤»
jnthn Grr.
23:40 ascent_ joined
pausenclown rakudo: multi sub Int foo { 1 }; multi sub Str foo ( 'one' ); var Str $s = foo; say $s 23:41
p6eval rakudo 534afd: OUTPUT«Malformed multi at line 11, near "sub Int fo"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown rakudo: multi sub Int foo() { 1 }; multi sub Str foo() ( 'one' ); var Str $s = foo; say $s 23:42
p6eval rakudo 534afd: OUTPUT«Malformed multi at line 11, near "sub Int fo"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
pausenclown huh?
rakudo: sub Int x { 1 }
p6eval rakudo 534afd: OUTPUT«Symbol '$ss_SS_S_S__S_S_s' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
pausenclown std: sub Int x { 1 } 23:43
p6eval std 30237: OUTPUT«===SORRY!===␤Malformed block at /tmp/oBQadhrU7f line 1:␤------> sub Int ⏏x { 1 }␤ expecting any of:␤ block␤ routine_def␤ trait␤FAILED 00:01 107m␤»
lue jnthn: hai! 23:44
TimToady you can't put a type there
jnthn Try our Int sub x() { }
or sub x() returns Int { }
or...there's a third...
<brain whirring>
oh
sub x(--> Int) { }
TimToady std: sub x (--> Int) { 1 }
p6eval std 30237: OUTPUT«ok 00:01 106m␤»
pausenclown rakudo: Int multi sub foo() { 1 }; Str multi sub foo() ( 'one' ); var Str $s = foo; say $s 23:45
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "Int multi "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue std: Int multi sub foo() { 1 }
p6eval std 30237: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/8yaKQ4wnzv line 1:␤------> Int ⏏multi sub foo() { 1 }␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤FAILED 00:01 107m␤»
jnthn TimToady: regex Foo { lolz }; # Currently in Rakudo, gives the "can only add a regex to a grammar" error.
TimToady: IIUC...
lue only the "third" one works
jnthn ...it shouldn't be an error, just a warning? 23:46
23:46 ascent_ left
jnthn And it's supprssed by doing our or my before it? our regex ..., my regex ...? 23:46
jnthn notices this is getting in the way a lot and should probably try and fix it tomorrow.
pausenclown so i cannot have a multi which dispatches taking the return type. 23:47
jnthn Sure you can. 23:48
lue I'm not a C/C++ guy (yet), so I must ask what the use of something like Int sub [etc.] is. 23:49
jnthn The type-first syntax just always needs a scope declarator first.
pausenclown rakudo: multi sub foo() { --> Int }; Str multi sub foo( --> Str ) ( 'one' ); var Str $s = foo; say $s
jnthn var? :-)
p6eval rakudo 534afd: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤» 23:50
lue (p6eval is intermittently efficient it seems)
jnthn pausenclown: You need my Str multi foo etc
pausenclown: Putting the Str out fornt and inside may be an error though...
pausenclown typo
sorry 23:51
jnthn No worries. :-)
TimToady std: my Str sub x (--> Int) {...}
pausenclown rakudo: multi sub foo() { --> Int }; multi sub foo( --> Str ) { 'one' }; var Str $s = foo; say $s
TimToady jnthn: yes, any method should warn if 'has' can't install a ref into a metaobject 23:52
pausenclown: we don't dispatch on return type
pausenclown ah too bad. but wouldnt it be neat? 23:53
TimToady no, not in a language where context is lazy
p6eval std 30237: ( no output )
rakudo 534afd: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
jnthn pausenclown: YOu run into problems pretty quick. Consider foo(bar()) where foo is a multi and bar is expected to dispatch on expected return type.
TimToady: OK, so people who wrote a plain "regex foo" should expect to have to add a scope declarator? 23:54
TimToady std: my Str sub x () returns Int {...}
pausenclown true
p6eval std 30237: OUTPUT«===SORRY!===␤Extra 'of' type; already declared as type Str at /tmp/XpwOdWt1Bg line 1:␤------> my Str sub x () returns Int ⏏{...}␤FAILED 00:01 107m␤»
TimToady jnthn: correct
jnthn TimToady: Thanks.
23:55 Trashlord left
jnthn Will try and deal with that tomorrow. Seems to be blocking masak++. 23:55