»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by moritz on 25 December 2014.
00:03 jack_rabbit joined
[Coke] pmichaud: I'm focusing on RT/impl tickets, not github/spec tickets. We have too many to say "all of these are required to fix before our RC release." 00:06
(but someone needs to own those github tickets, as well)
00:14 kaare_ left 00:15 kaare_ joined 00:23 adu joined 00:32 apv_ joined
apv_ Perl6 n00b enjoying rakudo brew. Anyone active right now who might indulge me on some p5->p6 questions? 00:34
pmichaud I'm here.
apv_ (also IRC n00b, please forgive any accidental /monkeybiz.)
tony-o also here
apv_ Hey there.
__FILE__ - I use this idiom with File::Spec and friends to let a script determine its lib. What's the right, or a good, idiom for p6. 00:35
For example, with Path::Class: my $self_file = file( File::Spec->rel2abs(__FILE__) );
pmichaud m: say $?FILE 00:36
camelia rakudo-moar 5b4907: OUTPUT«/tmp/2i1w2ozcPf␤»
pmichaud $?FILE is what you're looking for, I think.
apv_ Ah, nice. Thanks.
pmichaud doc.perl6.org/language/variables#Co...nstants%22 00:37
apv_ Better still.
That is a constant and not an object I take it? What kind of idiom or package to get the File::Spec->rel2abs(...) behavior? I have panda installed and working fine. 00:41
(Is sri doing a mojolicious for p6?) 00:42
pmichaud m: say ($?FILE).WHAT
camelia rakudo-moar 5b4907: OUTPUT«(Str)␤»
pmichaud m: say $?FILE 00:43
camelia rakudo-moar 5b4907: OUTPUT«/tmp/XoCZgRl8af␤»
Mouq methinks that could probably be an IO
pmichaud yes, that's what I was checking.
Mouq Although perl6 -e'say $?FILE' => '-e'
pmichaud m: say IO::Path.new($?FILE).abspath 00:44
camelia rakudo-moar 5b4907: OUTPUT«IO::Path is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in method new at src/RESTRICTED.setting:32␤ in block <unit> at /tmp/KT_gvEBueu:1␤␤»
pmichaud hmmm, weird.
apv_ github.com/labster/p6-IO-Path-More...th/More.pm interesting in there… 00:45
Mouq m: say $?FILE.IO.abspath
camelia rakudo-moar 5b4907: OUTPUT«/tmp/tcagcZsaKo␤»
pmichaud Anyway, IO::Path might be the answer you're looking for
apv_ Fabulous! IO.abspath works for me.
I figured there would be something like that.
How's interest these days? I haven't played with p6 much and it's been quite awhile. rakudobrew/panda made it interesting and productive to jump back in. Quite exciting so far. 00:46
pmichaud Interest is way up. :)
apv_ Great. 00:47
pmichaud On Sunday we had this: fosdem.org/2015/schedule/event/get..._to_party/
apv_ Is there anything like mojolicious in the works? I saw Bailador already. 00:50
Oh, of course. I forgot the talk already happened.
pmichaud I'm not familiar with the latest modules / ecosystem items, so someone else would have to chime in on that.
_sri apv_: once perl6 is production ready (my definition of it)
Mouq I feel that both #120916 and #122613 are misinterpretations of what `...` means in the given context... Perl 6 really has a lot of different ways to say "Yeah, whatever," and they're all stuffed into the spellings "*" or "..." 00:51
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120916
apv_ _sri++
Anyone have a good tut/advent entry to read for multi methods/subs? 00:52
Mouq apv_: github.com/tadzik/Template-Mojo/ is a recent addition
apv_ Goals might help so I'm not XY'ing everyone. I want to do request method based dispatch with the method corresponding to URI. Just messing around now. So it would be multi user GET multi user PUT, etc. 00:55
pmichaud apv_: this one is a bit old, but may help: perl6advent.wordpress.com/2011/12/...ulti-ples/ 00:58
I'm afk again, be back tomorrow 01:02
b2gills apv_: I've thought about having a module that you would use by defining `multi method GET ( 'user', %params, *% ){ ... }; multi method GET ( /<[0-9]>+/, %params, *% ){ ... }` etc 01:10
TimToady well, in current syntax would have to be Str where /<[0..9]>+/ 01:16
01:22 Klaudioh joined
apv_ Thanks much, all. I have to go too. I'll experiment with that stuff. 01:24
01:24 apv_ left
TimToady well, actually, needs ^ and $ too... 01:25
flussence There was that one thing that routed URIs by just throwing them straight into a grammar... sounds crazy but it's a pretty cool idea. Is it a module? I can't find it...
TimToady what you probably don't want to do is Foo."$insecure"() 01:26
01:34 Mouq left 02:07 yeahnoob joined 02:08 yeahnoob left 02:16 yeahnoob joined 02:19 colomon left 02:22 jack_rabbit left 02:24 colomon joined 02:52 muraiki_ left 03:10 chenryn joined 03:14 skids joined 03:17 espadrine joined 03:19 Mouq joined 03:23 chenryn left, chenryn joined 03:29 noganex joined 03:30 coffee` left 03:32 noganex_ left 03:33 Mouq left 03:55 Mouq joined 04:12 anaeem1 joined 04:14 kjs_ joined 04:15 chenryn left 04:21 telex left 04:22 telex joined 04:29 kaleem joined 04:30 kjs_ left 04:35 stux|RC-only joined 04:39 nige joined 04:54 kaleem left 04:55 silvest joined 04:57 chenryn joined 04:58 mr-foobar left 04:59 silvest left 05:34 kjs_ joined 05:44 silvest joined 05:46 silvest left 05:51 telex left
TimToady Perl 6 Ant, Perl 6 Bee, Perl 6 Cicada, Perl 6 Dragonfly, Perl 6 Earwig, Perl 6 Fruitfly, Perl 6 Gnat or so 05:51
just an idea to differentiate standards from implementations 05:54
05:55 Mouq left
TimToady feel free to bikeshed systems of names (trees, flowers, musical instruments, authors) 05:55
but insects seemed appropriate for some reason :)
especially since they have 6 legs :) 05:56
05:57 adu left
TimToady this would completely decouple standards from years and numbers, but be very easy to determine order 05:58
probably need something shinier than "ant" and "bee" 06:00
and dragonfly is a bit long
06:03 telex joined
JimmyZ Perl 6 Duke 06:04
TimToady Perl 6 Half
Perl 6 Grand 06:05
Perl 6 Final :) 06:06
JimmyZ well, Per 6 Duke will be good to the first implementation :P
and Perl 6 Forever 06:07
06:07 adu joined 06:09 firefish5000 left 06:10 [Sno] left
TimToady Perl 6 Arsenic, Boron, Chlorine, Dubnium, ,,, 06:10
06:13 kjs_ left
flussence could play along with the perl 5 dinosaur theme... it'd be kinda fitting to name p6 after dragons :) 06:15
06:16 BenGoldberg left 06:18 alini left 06:19 alini joined 06:22 spider-mario left
TimToady zzz & 06:24
06:32 firefish5000 joined
raydiak adu: ping 06:38
adu hey 06:39
b2gills I think the name could be from a name generator
raydiak hey! I have something stating to make a zmq.pm6
but cast (3?) has brokenness
adu uh oh
raydiak if I parse w/cdump it works with just a few warnings, but if I use C::Parser and then .parse (so it uses cast instead of cdump's default 'nil' or whatever)...then errors 06:40
b2gills I know there was a name generator used for the Parallel Realities game named Project Starfighter 06:41
raydiak adu: so I have my script hacked to parse the raw parse tree from C::Parse::Grammer...but I'd really like to use that C::AST you've worked so hard on :) 06:42
adu raydiak: oh, so does it pass with the grammar but fail with the AST?
06:43 kaleem joined
raydiak yes, the grammar does work now! very awesome, I actually have a working model for zmq now 06:43
adu nice
raydiak though I have differences of opinion about how pointers are handled :) 06:44
in the grammar I mean...on the cast level may be different, idk yet
adu raydiak: cast level? 06:45
what is cast 3?
oh C::AST
duh
raydiak I mean idk how you handle pointers with c::ast since I'm not using it yet, I'm just talking about the ouput from the grammar itself 06:46
raydiak thinks of * as part of the type more than part of the name
06:47 chenryn_ joined
adu raydiak: that's true, that's exactly what I was talking about semantic AST vs syntactic AST 06:47
06:48 chenryn left
raydiak ah, I see...I have a couple places where I have to check in my script for .<pointer> specially because it isn't automatically part of the type where I do all the other checks 06:48
dalek c: 0aeeca3 | paultcochrane++ | lib/Language/classtut.pod:
Minor typographical etc. corrections to classtut.pod
c: 7a992e3 | paultcochrane++ | lib/Language/classtut.pod:
Wrap paragraphs in classtut.pod consistently
c: 8ca4e59 | paultcochrane++ | / (12 files):
Merge branch 'master' of github.com:perl6/doc
raydiak and depending on where it occurs, where you check for that is different (return type on a function vs param to a function)
adu the syntactic AST for c is decl=(spec+, (ptr, name, designators, inits)), but the semantic AST for c is decl=[(complete type, name, init)] 06:49
raydiak so you probably smooth all that over with c::ast, if I had to guess, but I'm wondering if you wouldn't benefit from that change on the grammar level
hm I see
adu I actually stayed with the syntactic AST, and was planning another layer for conversion for the semantic AST, but I tried to design the AST so that it could encode both layers 06:50
so, for example TyKind::pointer_declarator would be converted to TyKind::pointer_type 06:51
raydiak I'm starting to catch up to what you were specifically looking at...sometimes I need a working model, like us thick-headed people do from time to time :) 06:52
adu also, I found an obscure part of the standard that gives nice names for things 06:53
so "x[4]" is a declarator
and "[4]" is a designator
so those are the names you see in TyKind
maybe once I get the AST sorted out, I'll write some documentation about it 06:54
raydiak I think im(somewhat)ho, a semantic ast would be best, given that the goal of your module is to separate users of your module from C syntactic concerns 06:55
adu well, if I can do it all in one pass, then you can buy me a beer :)
raydiak well...okay deal :) 06:56
adu I've heard there are C compilers that have a single pass, but I'm pretty sure the popular ones today don't 06:57
raydiak hm 07:00
07:03 Sqirrel left 07:04 FROGGS joined
raydiak I'm honestly still wrapping my head around the single-pass parsing thing and how it's different from ordinary approaches...I come to these things from a more mundane web development background, in large part 07:04
adu webdev is fun 07:06
moritz ... except when it's not :-) 07:07
raydiak not profess...what moritz said :)
adu oh, the IE6 kind? 07:08
n/m
raydiak it's a lot less horrifying than it used to be, kinda...except now you have phones and tablets
adu yeah, I just use bootstrap for everything 07:09
no more headaches
07:09 konsolebox joined 07:10 Tux__ joined
raydiak I'll bet that helps...the main thing about web stuff is just that you have to write one thing that works in so many different "everywhere"s, that you're nearly trying to polyglot, or at least were in the old days of, like you said, IE6 07:10
07:10 |Tux| left, Rounin joined
adu modernizr helps with that 07:11
moritz jquery also helps a lot (for the JS part) 07:12
raydiak yeah jquery is awesome 07:13
adu I only use jquery when I have to
I actually prefer Sizzle 07:14
raydiak but I's been doing web stuff professionally since half a decade before jquery's first release, and did things by hand for several years after still...so I have some special hate for JS :) 07:15
adu because Sizzle is jQuery, minus the dom and plugin and ajax stuff
07:15 fhelmberger joined
moritz so not much left, eh? :-) 07:15
raydiak ( or ECMAScript as they like to call it these days, to feel less dirty than the terrible association everyone got with "javascript" after the first 5 or 10 years of it ) 07:17
raydiak has not read about Sizzle...adds it to the lizt
07:20 fhelmberger left
El_Che ll bet that helps...the main thing about web stuff is just that you have to write one 07:20
thing that works in so many different "everywhere"s, that you're nearly trying to
raydiak El_Che: yes exactly! :) 07:21
07:28 denis_boyun joined
raydiak adu: btw, it doesn't look much like it would with the c::ast errors fixed, but here's how my zmq test looked at this point: gist.github.com/raydiak/4af7a883df58886c5763 07:28
adu moritz: github.com/jquery/jquery/blob/mast...zzle.js#L6
moritz: so Sizzle is about 15% of jQuery 07:29
07:29 Alina-malina left 07:30 Alina-malina joined 07:33 muraiki_ joined
adu raydiak: yikes 07:35
raydiak: ouch
07:35 coffee` joined
adu raydiak: you might also try C::Parser::Utils::get_declarator_name() 07:36
raydiak well, I think I'm supposed to be a C::Parser consumer, not a C::Parser::Grammar consumer, so I didn't worry about it much :)
ah, will look at that
adu github.com/andydude/p6-c-parser/bl...ls.pm6#L23 07:37
raydiak mainly I think the parts you could improve to start, would be the places where I have to call .trim (you can probably just s/token/rule/ in some places), and the pointer thing I already mentioned
adu oh, right
07:38 rindolf joined
raydiak but even more primarily, of course...just the C::AST errors which I assume you can already reproduce since you mentioned you tried zmq on your last pass of fixes and testing 07:40
adu I only tried zmq with the grammar, I haven't tried it with the AST
raydiak yeah it blew up...the first one was just that "name => " thing I think I brought up before, but something else after that was slightly less obvious but you'll see it whenever you have time to look again 07:43
dalek kudo/birdless: 0f7a0b9 | moritz++ | src/Perl6/World.nqp:
Fix error reporting of undeclared symbols in the setting

for ab5tract++
07:44
kudo/birdless: 5916b85 | moritz++ | INSTALL.txt:
Excise parrot from INSTALL.txt
kudo/birdless: 946c413 | moritz++ | README.md:
no more parrot in README.md
kudo/birdless: 7d85749 | moritz++ | docs/glossary.pod:
remove outdated glossary items
kudo/birdless: f67ba35 | moritz++ | / (4 files):
Remove more parrot legacy
kudo/birdless: cbd059e | moritz++ | t/spectest.data:
Get rid of "# icu" markers in t/spectest.data
kudo/birdless: e755c6e | moritz++ | t/spectest.data:
remove # conc markers from t/spectest.data
FROGGS birdless O.o
raydiak ...ooh
07:46 coffee` left
FROGGS moritz: what exactly is that about? 07:46
I guess I should backlog 07:47
moritz FROGGS: it's a branch with parrot support dropped 07:48
raydiak afk
adu raydiak: how do I filter out Nil's from a list?
FROGGS moritz: but the intent to let it catch up is still there?
moritz FROGGS: I never understood the lagging support / catch up narrative 07:49
FROGGS: things don't catch up by themselves 07:50
raydiak adu: just Nil? maybe .grep(* !=== Nil)
adu oh
FROGGS moritz: that's true
adu I didn't think it would be called grep
moritz FROGGS: and for parrot support to stay viable, somebody would need to invest quite some energy to fix leaky abstractions in NQP first, so that we'd need fewer #?if's in rakudo's core 07:51
FROGGS: ... and if somebody wants to do that, all the code is still in the git history
FROGGS: fwiw this branch isn't in any way officially sanctioned or so; so far it's an experiment and an RFC by me 07:52
FROGGS I see
moritz it's fun to delete code :-) 07:53
FROGGS yeah, I know :o) 07:54
07:55 _mg_ joined 07:58 prime left 08:00 _mg_ left 08:01 prime joined
raydiak un-afk 08:06
ven moritz: github.com/rakudo/rakudo/compare/n...921d11R296 typo, should probably be "jvm" 08:07
moritz ven: no, we never git-clone the JVM :-) 08:08
ven moritz: I
Day #231: I still hate that keyboard
08:08 muraiki_ left
ven moritz: Imoritz: I'd say you're on the wrong line, because it says "--backends=vm,moar" here, which seems to be a mistake 08:09
moritz ven: oh, sorry, indded
dalek kudo/birdless: e8b36e0 | moritz++ | Configure.pl:
Fix typo in help message, ven++
08:10
08:11 darutoko joined 08:15 trone joined, fhelmberger joined 08:18 nige left
[Tux] ping nine 08:19
08:21 denis_boyun left
JimmyZ will nqp will still support parrot? 08:21
s:2nd/will// 08:22
[Tux] gist.github.com/Tux/6520a23f118908ae8237 <= Anyone with Inline::Perl5 knowledge. I've now got it working but want more 08:23
08:24 [Sno] joined 08:26 DrForr_ joined
DrForr_ sighs and pokes his nose in. 08:27
08:28 andreoss` joined 08:29 nige joined
raydiak wonders what happened to the cartilage in DrForr_'s nose 08:29
08:29 andreoss left
moritz JimmyZ: if/when rakudo drops parrot support, I don't see why nqp should keep it 08:31
08:33 Boris left
raydiak g'night #perl6 o/ 08:35
adu raydiak: night 08:36
raydiak: wait, did you leave yet?
08:39 adu left 08:40 virtualsue joined 08:42 KPTN joined, KPTN left
FROGGS moritz: I don't see a reason to remove the parrot support in nqp... it would just make it difficult to get it back in 08:44
08:45 Alina-malina left
moritz FROGGS: ... until it becomes a pain to maintain 08:45
FROGGS moritz: aye 08:46
but please let it in until then
08:47 espadrine left 08:48 telex left, Alina-malina joined, Alina-malina left, Alina-malina joined 08:53 nige left 08:54 virtualsue left 08:58 firefish5000 left 09:00 jluis left, abraxxa joined 09:01 telex joined 09:02 coffee` joined, salv0 joined, pmurias joined 09:03 zakharyas joined 09:04 Alina-malina left 09:05 Alina-malina joined
dalek c: 03aeec6 | paultcochrane++ | lib/Language/containers.pod:
Minor typographical etc. corrections to containers.pod
09:05
c: aed0041 | paultcochrane++ | lib/Language/containers.pod:
Wrap paragraphs in containers.pod consistently
p-js: 48d088b | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Implement nqp::bindattr_i, nqp::bindattr_n, nqp::bindattr_s.
09:07
p-js: 7be108b | (Pawel Murias)++ | t/nqp/58-attrs.t:
Add tests for nqp::bindattr_i, nqp::bindattr_n, nqp::bindattr_s, nqp::bindattr.
pmurias .tell jnthn how do I do pipe stuff to a process in nqp? 09:08
yoleaux pmurias: I'll pass your message to jnthn.
09:10 pdcawley joined
masak good antenoon, #perl6 09:14
FROGGS pmurias: grep for openpipe in rakudo or nqp 09:15
pmurias masak: good antenoon 09:17
how do we portably test openpipe?
timotimo www.heise.de/newsticker/meldung/Ver...34683.html - just saw this headline 09:18
FROGGS nqp-m: my $fh := nqp::openpipe('ls', nqp::cwd(), nqp::getenvhash(), ''); say(nqp::readallfh($fh)); say(nqp::closefh_i($fh))
camelia nqp-moarvm: OUTPUT«Perlito␤bin␤evalbot␤evalbot.log␤log␤mbox␤niecza␤p1␤p2␤perl5␤rakudo-inst␤rakudo-inst-1␤rakudo-inst-2␤rakudo-star-2014.12␤rakudo-star-2014.12.tar.gz␤rakudo1␤rakudo2␤star␤star-2014.09␤std␤test␤ugexe-was-here␤␤0␤»
FROGGS pmurias: ^^
pmurias: not sure about testing it portably 09:19
that's always tricky
09:22 telex left
pmurias is it possible to do two way piping using that? 09:22
dalek c: 2d0bb11 | paultcochrane++ | lib/Language/variables.pod:
Rename compile-time "constants" -> compile-time variables

This is in response to #GH46. In the ticket, it is recommended to remove the quotes around the word "constants", since this causes a link to not work. Also, it is recommended that the word "variables" is a better choice. Thus "variables" was chosen since the values aren't really constants (which is the sense, the quotes were trying to convey before).
09:23
[Tux] If I do nine++ for makeing Inline::Perl5 PASS, will he become ten?
09:24 telex joined 09:26 jluis joined 09:28 espadrine joined
woolfy I am personally in favor of Perl 6.0.0 as the name for what is going to be released later this year. I think it as appropriate a version name as Perl 5.22.0 is for the newest release for Perl 5 in May. 09:32
I am not afraid of any anger from people from Perl 5. I think Perl 5 is strong enough to handle this. Perl 5.22 will be strong enough. Any confusion is in my eyes deliberate by people who don't want Perl 6 to be a success. 09:33
I think naming Perl 6 anything else than Perl 6.0.0 will weaken any potentional success of Perl 6.
moritz m: $_ = '[Tux]'; $_++; .say
camelia rakudo-moar 5b4907: OUTPUT«[Tuy]␤»
woolfy s/potentional/potential/
Marketing Perl is difficult enough, calling it something like Perl 6 version 1.0 or Perl6 2015a is making marketing a futile exercise. 09:34
How are we going to explain "Perl6 1.0" to people. I think it is quite silly.
09:34 jluis left
timotimo these comments on the heise article are absolutely worthless 09:34
woolfy And that only to make the Perl 5 people less angry? 09:35
dalek p-js: 0f36631 | (Pawel Murias)++ | src/vm/js/ (2 files):
Add a --beautify option to nqp-js.
moritz timotimo: which heise article?
pmurias FROGGS++ # find the right nqp opcode
woolfy And I really am not afraid of any smacking by mst or whoever.
09:36 molaf__ joined
ab5tract woolfy: fwiw, i completely agree 09:36
woolfy Explaining Perl 6.0.0 is easy. It is what it is. It is beyond "Rakudo Perl 6 beta development whatever". It is "the first release version of Perl 6."
timotimo moritz: the one i linked to above, "Vermutlich kein Scherz: Perl 6 könnte zu Weihnachten erscheinen"
andreoss` how this issue was handled in time of Perl 4?
DrForr_ The version was bumped because ORA wanted to release a new book. 09:37
moritz DrForr_: wasn't that the 3 -> 4 version change?
huf what if it's perl 6.0.0 but -v reports it as perl 6, version 0, subversion 0? :D 09:38
woolfy If naming Perl 6.0.0 makes it more difficult for Perl 5 people to hire new people, to get new products, it means they should put more effort in explaining and marketing.
pmurias woolfy: it's not that easy to explain, Perl 6.0.0 implies it's a new major version of Perl 5
El_Che woolfy: the explanation "easiness" cuts always one side of the equation. What make easy to explain about 6.0.0 make it pretty awkward explaining for 5. I plan to expend time using both languages instead of explaining the versions numbering.
09:39 molaf_ left
woolfy And as Perl 6 people do not recomment naming conventions for Perl 5, I think naming conventions for Perl 6 releases should be up to Larry Wall, Patrick Michaud and others who put a lot of work in Perl 6. 09:39
huf how does acknowledging that the number has become part of the name of the language hurt anyone?
moritz I don't reall see the advantage of 6.0.0 "first version of Perl 6" vs. Perl 6 2015a "2015 version of Perl 6"
*really
f3ew Just name it P6 1.0.0. 09:40
woolfy Perl 6.0.0 does not imply the new major version of Perl 5. It has nothing to do with Perl 5. I do not see a 5 in Perl 6.0.0. Anybody suggesting this, is making a joke out of this.
huf woolfy: so how does calling it "Perl 6 1.0" hurt perl6 then?
woolfy "2015 version of Perl 6" is like "the 2015 version of the BMW 3". 09:41
09:41 yeahnoob left
woolfy "Perl 6 1.0" is unpronouncable. How will we be able to explain this to big companies, universities? 09:41
huf same thing everyone's been saying for years? 09:42
woolfy What the hell would Perl 6 1.0 mean? Take away some spaces and we have Perl 61.
huf this is perl 6. not perl 5. this is v1.0 of perl6.
done.
masak agrees with woolfy
moritz woolfy: it's common pratice to use years in language versions, see C and Fortran, for example
[ptc] maybe Perl 6-1.0?
masak I'm all for not pissing off fivers, but not at the cost of eternal version confusion.
andreoss` m: say 6-1.0
camelia rakudo-moar 5b4907: OUTPUT«5␤» 09:43
FROGGS :P
El_Che woolfy: personaly, I find 1.0 a *lot* clearer that 6.0.0 (even ignoring the wish to make the 5 and 6 parts of the community happy)
[ptc] :D
woolfy Perl 6.0.0 would be the version of 2015 of Perl 6. Just like Perl 5.22 is the 2015 version of Perl 5. I don't see any problems with that.
masak Perl 6 is 5! QED.
DrForr_ Besides, wasn't there already a change in the documentation to change perl 5 to perl5 to make room for perl 6?
El_Che I find 6.0.0 confusing as hell
for a first release, at least
osfameron won't naming 6.0.0 force the hand of 5 - e.g. to become Perl 5 v.22 (precisely to clarify that 6.0.0 isn't the next version) ?
huf i dont actually have strong feelings either way, because it doesnt fucking matter.
woolfy I find Perl 5.22.0 as clear as Perl 6.0.0.
huf i just dont like this trend of people making up shit reasons to back up their feelings
timotimo woolfy: not clear at all? :P 09:44
woolfy When Perl 6 has to be called Perl 6 1.0 2015, I think we should call the next version of Perl 5 "Perl 5 version 22 of 2015" or something silly like that.
huf as long as it's an actual version number and not some ubuntu-like name that's impossible to remember or compare, i'm fine :)
Grrrr Perl 6.1.0; there, everybody's side of the argument accounted for
huf woolfy: guess what perl5 calls itself.
This is perl 5, version 16, subversion 2 (v5.16.2) # some ancient version i found 09:45
DrForr_ Yes, but perl6 feels almost orthogonal to perl5 to me. So perl5 v22 and perl6 v1.o (bowing to Java for leading the way) feels perfectly natural.
huf the usual ostrich game of "written 5.16.2, pronounced "perl 5, version 16, yada yada"
DrForr_: yeah, but the actual version number could still be 6.1.0 :D 09:46
woolfy When we use the same naming conventions as Perl 5, we will have Perl 6.0.0 as the very first release of Perl 6. The first minor update will be Perl 6.0.1, the next one Perl 6.0.2. The new development version will be Perl 6.1.0. The next major release of Perl 6 will be Perl 6.1.0. I have no idea why this is difficult.
andreoss` This is perl, v5.8.8 built for x86_64-linux
huf andreoss`: yeah, perl 5 is ready for perl 6 now :)
wasnt back in the stone age
DrForr_ andreoss`: yes, that was before the documentation change was made.
I should know, I was listening to the conversation :) 09:47
nwc10 This is perl, version 5.000
woolfy Modern Perl: 2014 Edition. Updated for 5.18. onyxneon.com/books/modern_perl/mp_cover_full.png
nwc10 please everyone, also try perl -e 'use v20';
and perl -e 'no 6'
huf call it perl 6 version 6.0.0
YAAAY
woolfy Well, everybody is entitled to my opinion. There you have it.
huf only one more six needed to summon santa 09:48
09:48 dj_goku_ joined, dj_goku left
El_Che anyway, it's important to find a way to make the perl5 and 6 people happy to stay one community. Emotions run high, when it could be a chance for both sister languages to reposition themselves. 09:48
confusion will hurt perl5 and 6.
[ptc] how was version 1 of perl 5 labelled? was it 5.1.0? (just interested) 09:49
timotimo i've read all of the ~120 commens on that article and it turns out only two came from people who've apparently already touched perl6 in any sort of fashion at all ... all the others were about perl5, python, php, ruby ...
nwc10 [ptc]: see above.
woolfy I will try do do marketing for Perl 6. And marketing for Perl 6 will go on for many many years. Calling it Perl 6.0 instead of Perl 6 1.0, instead of Perl 6 2015a, instead of Rakudo 1.0 or Camelia Perl 1.0, I am convinced is the easiest for marketing.
[ptc] nwc10: yeah, it wasn't clear to me, that's why I was asking 09:50
El_Che woolfy: not if it turns perl5 users off. Perl 5 needs space to grow and Perl 6 needs perl5's popularity/userbase as a start
nwc10 [ptc]: I'm not near the machine with perl 4 built on it, so I can't offhand report what it says
masak woolfy: I agree, but I'll also note that I'm less convinced of the simple truth of that today than I was yesterday.
nwc10 but it's something stranger than 4.036, I think. 09:51
FROGGS woolfy: there are two different things to put a version stamp on: the spec (=testsuite) and the compilers like rakudo
[ptc] nwc10: ah, ok. thanks :-)
masak FROGGS: pretty sure woolfy is aware of this :)
nwc10 woolfy: I also agree that there needs to be something bloody clear for marketing. I think that Pm has been thinking about all of this, and is close(r) to coming up with a sane plan. 09:52
FROGGS well, it was just treated equally in her sentence
nwc10 woolfy: it is unfortunate that he's not in your timezone
09:53 _mg_ joined
masak there is lots of interesting backlog from yesterday. 09:53
woolfy Perl 5.18 and Perl 5.20 and Perl 5.22 are perfectly good names for Perl 5 (for the years 2013, 2014 resp. 2015). So are Perl 6.0, Perl 6.2 and Perl 6.4 (for 2015, 2016 resp. 2017). 09:54
huf btw, are a lot of recruits expected from perl5 land? 09:55
woolfy If anybody is going to look for a job in the future, things will happen just like now for Perl 5: if you are not capable of doing Perl 5.18 but are stick with 5.6, you have less of a chance of finding a Perl job. Now Perl 6.0 comes in. At the moment, not many jobs are available for Perl 6.0 capable people.
huf otherwise none of this even matters much...
[ptc] huf: one would hope so...
woolfy But I am quite sure that will change in the future.
masak huf: we're not pinning our hopes on it, I'd say.
nine [Tux]: pong
09:55 Humbedooh joined
pmurias nqp-m: sub slurpy(*%slurpy) {for %slurpy -> $key, $value {}};slurpy(:pivo<1>) 09:56
camelia nqp-moarvm: OUTPUT«(signal SEGV)»
pmurias nqp-j: sub slurpy(*%slurpy) {for %slurpy -> $key, $value {}};slurpy(:pivo<1>)
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007fc394007c90 ***␤*** Error in `java': double free or corruption (out): 0x00007fc39401a8d0 ***␤*** Error in `java': double free or corruption (!prev): 0x00007fc39401a8d0 ***␤#␤# There…»
nwc10 huf: I believe the answer is (1) assume "que sera sera" (2) it would not be diplomatic to actively try to undermine any other language
pmurias nqp-j: say(1)
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007fa12c007c40 ***␤»
huf nwc10: true 09:57
nwc10 campaign on the awesome, not negatively
moritz pmurias: I don't think -> $key, $value works in NQP
nwc10 also, please notice, the Raspberry Pi just went multicore, still for $35
can $other-language actually use more than one core?
pmurias moritz: it segfaults
09:58 _mg_ left
masak nwc10: I believe so. 09:58
woolfy FROGGS: I think we are past the "Perl 6 is just the specification". By now, Perl 6 is a working programming language. Did the Perl 6 people work 14 years on this to get dictated by other people how they should name their programming language? Just because of fear for their anger? Aw, come on...
moritz pmurias: that's less than awesome :-)
nwc10 (not obvious when pypy STM reaches Christmas, and I've no idea whether there's an easy way to get Rubinus for it"
masak woolfy: I think you misunderestimate what "Perl 6 is just the specification" means...
andreoss` woolfy: should perl.org, cpan.org and etc. be reclaimed by Perl 6 in the future as well?
moritz woolfy: fwiw I agree that we shouldn't let other people dictate our versioning scheme
masak +1 09:59
woolfy masak: no, I think it has been an irritating sentence for years...
FROGGS woolfy: I am just saying that "Perl 6" is the language like Perl 5 is the language the perl5 interpreter implements
woolfy andreoss: I have no idea why you say that.
masak woolfy: that's why I think you've got it on the wrong foot...
moritz woolfy: but it's not obvious to me that 6.0.0 is indeed best for us, or easiest to market
pmurias huf: re recruits from perl5, for me the Perl 5 legacy is one of the main reasons I'm working on Perl 6
btyler but it would be (to put it mildly) inconsiderate to do something openly damaging to perl5, if there's another way.
woolfy Perl 6 is just Perl. Like Perl 5 is Perl. And Perl 4 was/is Perl too.
moritz woolfy: pmichaud++ wrote something to similar effect in yesterday's backlog
FROGGS so, "Rakudo Perl 6" implements the "Perl 6" language
nwc10 FROGGS: whoa, "Perl 5" is not *one* language, by that way of defining it 10:00
which version of the interpreter?
huf pmurias: i suppose. it just feels like a church schism to me
nwc10 they are all subtly different
masak which platform and OS of the interpreter?
btyler I'd very much like to continue being a happy user of all the modern perls -- there are loads of really talented people in both 'camps' that have a ton to contribute in both directions
woolfy So perl.org is for Perl 4 and for Perl 5 and for Perl 6 and in the future, when Perl 6 has become a success, I hope there will be a Perl 7.0.0.
huf pmurias: with increasingly less hope of reconciliation. but let's hope
btyler but it seems to me that there needs to be some awareness here around what the stakes feel like for people really invested in perl5 10:01
nwc10 I rather hope there won't be a need for a 7.0.0
El_Che Whatever happens, if no positive consensus is found, the python 2/3 drama would look like peanuts compare to this. And we'll all loose.
masak woolfy: sorear and I have called dibs on Perl 7. we will design it while journeying to the stars in a generation ark.
btyler indeed El_Che
FROGGS nwc10: Perl 5 is one language, of course evolution happened and will happen
huf masak: why not a generational ork?
would be much better. 10:02
pmurias or a generation awk?
masak you people aren't taking generation arks seriously enough.
moritz huf: how many good languages do you know that were designed by orks? :-)
woolfy I don't see why all of this seems to sensitive for people. With Inline::Perl5, all (almost all) of Perl 5 will run in Perl 6. nine++ is working on Inline::Perl6 to have all (almost all?) of Perl 6 run in Perl 5. The two versions are so near for the untrained eye, that they are more than sister languages.
10:02 chenryn_ left
huf moritz: ... all of them? :D 10:02
moritz: hint: the orcs are within us all!
10:03 chenryn_ joined
woolfy The term sister languages was just used in the past to keep the Perl 5 people happy. Which did not work very well, seeing (hearing) all the snide remarks from so many Perl 5 people. 10:03
pmurias moritz: that's not funny, I'll be writing php in < 2 weeks :(
btyler woolfy: here is some discussion yesterday in #mojo. awesome people who have (and continue to make) awesome things in perl 5, who deserve tons of respect, who are generally excited and positive on perl 6: irclog.perlgeek.de/mojo/2015-02-03#i_10052178
DrForr_ btyler: Indeed. That means that people doing support and writing new modules for perl5 code will be dealing with perl5.22, 5.24, 5.30, 5.70 and so on. While there may be amazing progress going on, it won't be seen that way from the outside. And participation will suffer just because of the perceived (yet incorrect) lack of progress. 10:04
moritz pmurias: sorry to hear that
woolfy "Job opening for programmer able to work with Perl 5.16 or newer, preferrably Perl 5.22. " "This presentation will be about Perl 6.0.". I think explaining the difference will be easy.
nwc10 pmurias: sigh, why have you taken a PHP job? :-( 10:05
[ptc] woolfy: that sounds good imo
DrForr_ "Job opening for perl5.16 or higher" "Wow, a perl6 opening! Cool! ... Oh, crap." 10:07
nine My personal goal is to make this whole naming discussion obsolete. There's a Perl 5 part of Perl and a Perl 6 part of Perl. And when you invoke perl it will be smart enough to figure out which part to use and you are free to mix and match them as you like. Who will then care all that much? Damnit, they can even be released together!
masak woolfy: "[sister languages meme] did not work very well" -- sorry, that's wrong. it saved us an outright civil war.
10:07 krunen joined
nine And the technical part of this can be done _this_ year. 10:07
huf postponed it perhaps :D
drove it underground, certainly.
El_Che nine:
masak woolfy: I find the idea that *this* is the moment for Perl 6 to assert itself as no longer believing in the sister languages message ridiculous and disruptive. 10:08
woolfy masak: I've been called plenty of bad names for supporting Perl 6. So that "sister languages" did not do me any good.
moritz huf: I haven't seen many jibes towards Perl 6 from Perl 5 folks in the last one or two years, with the exception from a few known trolls
El_Che nine: the inline stuff is amazingly cool, but there are many usecases wher /usr/bin/perl is the only option (sysadmin stuff, speed foor cli, etc)
huf moritz: no, instead it's treated as a nonentity
moritz: which is not better imho
nine El_Che: and how would unifying the Perls be a problem for that usecase?
moritz huf: it is
masak woolfy: I'm sorry you've been called bad names for supporting Perl 6. I didn't say it fixed everything.
woolfy I think Perl 5.22 and Perl 5.24 and Perl 5.26 and so on will live happily next to Perl 6.0.0 and Perl 6.2 and Perl 6.4 and so on.
10:09 pecastro joined
huf moritz: but i'll be the first to say i'm not the most optimistic person :) 10:09
El_Che nine: it won't. It would be fantastic. My point is that it will not cover 100% of use cases.
dalek href="https://perl6.org:">perl6.org: b8f7fe0 | moritz++ | / (3 files):
Replace "spefication" by "language design"

Also remove outdated link
huf "this is perl 5.98.4+6.8.2"... 10:10
by our powers combined...
nine El_Che: haven't found one where the theory breaks down. The perl binary does not have to load the Perl 6 part if it detects only Perl 5 code.
woolfy The message for the world should be: "Perl 5 will exist for a very long time, so new products and new projects can be started anytime." Any manager that does not understand this, is throwing away precious money.
nine El_Che: thus it's no different from now except for some lines of code for transparent Perl 6 support.
masak woolfy: as Perl 6 people we're essentially arguing from a *privileged* position of the higher version number. 10:11
woolfy: "Poor people should just accept that we're richer."
woolfy: "I don't understand why women get so upset about gender roles in society." 10:12
huf to which the other side says "rich people have no concept of real life, they just do their weird rich people things"
woolfy masak: anybody who talks bad of Perl 6 because it would mean that it is better than Perl 5, is in my eyes being nasty. Having a higher version number does not mean it is better. It is the next type of Perl. Perl 6 still has to prove it is better than Perl 5. Just like Perl 5 had to prove it was better than Perl 4.
huf except everyone covers it in prettier words so they can pretend they're not passive aggressive about it :D
El_Che nine: e.g. Linux distro's where only perl5 is installed is a use case. 10:13
nine woolfy: which is absolutely true. But unfortunately laypeople tend to simplify such things.
DrForr_ This naming by fiat guarantees there will never be a new major release of perl5. I understand that this community sees perl6 as the logical successor (in the perl 5++ sense), there are still lots of people in the perl5 community that would love to release a new shinier perl5 as 6, but that's been taken away by fiat, 15+ years ago.
woolfy Perl 6 was started to fix several problems in Perl 5. Perl 5 has fixed some of those problems themselves and can be proud of that. Perl 6 will have its own problems and will try to fix those.
masak woolfy: let's assume you're right. even so, you're *still* being unnecessarily bellicose about how you present the p5-p6 relation. 10:14
nwc10 I'm going to be blunt
nine El_Che: the language detection code does not have to depend on Perl 6 being installed. Just like right now it tells you, that you'd need Perl 6.0.0. Perl 6 can then be loaded dynamically (if installed) just like Inline::Perl6 does.
nwc10 there are lots of people who want a new Perl 5, but have no FUCKING CLUE what should be in it (that is actually acchievable) because none of them have the skills to actually do it.
10:14 Ugator joined
woolfy DrForr: the next major release of Perl 5 will be Perl 5.22. rjbs++ already gave a very nice talk of that at FOSDEM. The next one will be in 2016 and will be called 5.24. What is the problem here? 10:14
[ptc] has to look up the word bellicose...
huf DrForr_: most things in the world are named by historical accident, which we eventually just learn to accept ;) 10:15
woolfy I am trying to be very clear (and not bellicose) about not naming Perl 6 as "Perl 6 1.0" or "Camelia Perl 1.0" or "Perl 6 2015a". Those names are marketing nightmares. Perl 5 is what it is, and Perl 5.22 is on its way. That has its own merits.
[ptc] nwc10: the bar is set very high in Perl 5 to be able to make contributions to it 10:16
nwc10: basically all of the low-hanging fruit are pretty high up...
nwc10 [ptc]: this is a side effect of well, history
pugs went that way too - the low hanging fruit vanished
DrForr_ huf: Yes, and in that sense the damage has been done. But this issue comes up after every convention, and we *still* bitch about it. Every time. 10:17
[ptc] nwc10: which makes it hard for newcomers to get a toehold and make a contribution
nwc10: just saying...
huf DrForr_: yes, hence my despair
woolfy By the way, did you see these beautiful pictures of FOSDEM by Chris Jack? plus.google.com/photos/10459831816...929?sort=1
El_Che woolfy: perl 5.22 is a nightmare when a 6.0 is there, according to a marketing logic
huf DrForr_: the issue itself is almost too small to see compared to the damage it's doing
El_Che woolfy: that's what I mean by trying to find a positive compromise
huf or rather, the unending bikeshed around it
nwc10 [ptc]: there is no good way to fix this. 10:18
El_Che perl5 renaming itself as perl v 22 would be a markering nightmare to perl 6 release (hey it's 16 versions behind!)
woolfy El_Che: I really don't see that. Perl 5.22 is the newest version of Perl 5 and will have a tremendous amount of users. Perl 6 will have Perl 6.0.0 and will have less users (for now). The naming makes clear which is which. Perl 6.0 will not be the newest version of Perl 5, and is not meant to replace Perl 5. Just like Perl 5.22 is not meant to replace 5.20, many people will keep on using Perl 5.20 for a while. 10:19
nwc10 [ptc]: may of the people whom I helped to get to the point of being comitters haven't (obviously) stuck around enough to help the generation beyond
[ptc] nwc10: I know :-/
El_Che so, no compromise == we all loose (certainly those people that like to use and promote both versions)
DrForr_ So is it fair to say that this debate was lost in the last *millennium* and we should simply deal with the consequences? 10:20
woolfy El_Che: I think this is almost evil. Not allowing Perl 6 to call itself Perl 6.0 is forcing Perl 6 to give itself a name that will be a marketing disaster for Perl 6. That way, all the work on Perl 6 will become useless.
huf DrForr_: yeah. and talking about perl marketing seriously is a bit weird to me too. apart from people already in the know, the marketing of perl for the last 15 years has been ... sad. 10:21
DrForr_: i'm sure lots of great people tried, but the "brand" isnt in a good way
[ptc] nwc10: yeah, I know. It's a pity really.
woolfy "Let's call it Camelia 1.0 and get it over with" is my nightmare. Perl 6 will loose all connection to Perl, the fame of the brand name. And just like Perl 5 was Perl next to Perl 4, Perl 6 is Perl next to Perl 5.
btyler woolfy: I don't think that's quite fair. perl 5 has a pretty clear "these are the supported releases" policy. older versions are openly and deliberately left behind 10:22
[ptc] nwc10: I'm guessing we discussed this in Salzburg?? (If I have decifered the nick properly...)
woolfy I've been doing a lot of sad stuff in the last year. I've done marketing for Perl 5 and Perl 6. Nobody ever noticed me. I was so sad.
nwc10 It was me in Salzburg
but I can't remmeber what I discussed there
[ptc] :-)
nwc10 as I was somewhat sleep deprived, stressed, and $other
woolfy btyler: people are still using Perl 5.6.
El_Che the choice is between making shure bot languages florish or both languages confusing the world outside the echochamber and being ignored. I have perl hackers here at work (outside of the community) that really have trouble understanding the perl 5 and 6 thing (6 is the new major release of perl that never came out, right? We'll use whatever old version RHEL supplies) 10:23
[ptc] nwc10: well, we had some good chats :-)
nwc10 most of those are close to resolving themselves, I'm pleased to say
huf woolfy: i didnt mean to minimize what you've done, only to say that the brand "perl" usually brings on a million idiots crying saying stupid things. and perhaps one or two people who've actually tried the language.
[ptc] nwc10: yay!
btyler woolfy: right, for various reasons. but perlpolicy is pretty clear that "we consider releases older than X to be unsupported and you should stop using them if you can"
huf woolfy: we all know how perl acquired this image, we can rehash it endlessly, doesnt change a thing.
woolfy huf: so, if we take into account what millions of idiots say about Perl, if that would be the guiding line of our life with Perl, maybe we should just all roll over and die. No thank you. 10:24
huf you are the one bringing up marketing, that's exactly about convincing those millions of idiots.
btyler I just mean that drawing a comparison between perl 5.20/5.22 and perl 5/6 is maybe a bit complicated from that perspective
woolfy btyler: and at the moment, the oldest version of Perl 5 that is actively supported is Perl 5.8.1. Which was released a long time ago.
10:25 virtualsue joined
woolfy El_Che: I think it is not that difficuly. Maybe many people do NOT want to understand the difference. 10:25
nine huf: no, we don't have to convince the idiots. We have to convince the silent majority.
woolfy nine++
huf is there some way to make a decision about the perl6 version number thing that'll stick and nobody will ever bring it up again? :D
woolfy huf: no, I am afraid not. 10:26
DrForr_ The problem isn't the perl version, it's the distribution the perl version is running on. Changing a distribution is scary, especially if you don't have a good test suite for your application. And what application has 8taht* robust of a test suite?
huf god dammit.
pmurias nwc10: seems to be a decent place to work (they use other languages for their other projects), and if the PHP get too annoying (I haven't tried using it ever before), I'll try to just relocate to a different city and get a perl job
nine There is a solution!
Share the version number :)
El_Che woolfy: I am talking about people that like perl a lot as a chainsaw, that don't troll the language, but are not in touch with the community. A lot of (positive) people are in that space.
DrForr_ huf: It was made last millennium.
huf let's rename perl5 to camelia!
10:26 alini left
nine By unifying the languages on a technical level 10:26
huf and perl6 can be 6.0.0
nwc10 pmurias: sounds like some good reasons. I hope they turn out to be a nice, sane environment
tadzik what was the problem with 6.0.0 again? 10:27
nwc10 pmurias: and good luck subverting their language choices :-)
woolfy El_Che: and for them, nothing changes, they can happily ever after use Perl 5.20, Perl 5.22, Perl 5.24 and so on. No problem there.
nine Perl 6.1.3 will support both the language we now know as "Perl 6" and the language we know as "Perl 5"
DrForr_ nine: perl5 is already getting dropped from distros for having too much crap in core, perl5+6 runtime would probably blow that out of the water.
El_Che woolfy: it will. They think that perl6 obsoletes 5 and they have zero interest in invest in learning 6.
woolfy nine: well volunteered. :-)
DrForr_ This is also a reason why we're pulling stuff like CGI.pm out. As it is, distributions pull documentation because it's too much space. 10:28
El_Che woolfy: they they will move to something else installed on RHEL.
nine woolfy: I volunteered for that months ago. Just trying to convince people that all this energy spent in this discussion might actually be wasted :)
woolfy El_Che: press release: Perl 6 does not obsolete Perl 5. Please continue to work with Perl 5. If you have some spare time, try out Perl 6 too and see if you can use it too."
huf DrForr_: too much space? what. what. what are people running these distros on?
dish towels?
tadzik from this discussion I liked the link to G+ pictures :P
woolfy++
El_Che woolfy: *I* know that. I am talking about a big part our intended audience.
huf "perl 5 and perl 6 together turn the perl up to eleven..." 10:29
[ptc] tadzik: agreed, the photos are good :-) woolfy++
huf because spinal tap is sooooo popular
El_Che woolfy: and sadly, version numbering is a very logical choice to draw -in our case- false conclusions
woolfy nine: I know. But the discussion still happens. I've told many people that your work on Inline::Perl 5 for Perl 6 and Inline::Perl 6 for Perl 5 (and Inline::Python is interesting too) will make a bridge between Perl 5 and Perl 6. Add to that the developments of v5 and we can all live happily together.
pmurias nwc10: a friend who works there is already running haxe code compiled to js on his custom made js-on-c# interpreter ;) 10:30
El_Che woolfy: nice pics!
DrForr_ huf: Not what they're running *on*, what they're running *from*. If it can't fit on the CD ISO it's not going to make it into the distro, in lots of cases.
woolfy El_Che: people will get used to new things.
Ow, careful, not my pics! Pics are from Chris Jack. Chris++
huf DrForr_: oh. huh. that's a use-case i havent thought of since ... ever :) but i suppose people still install distros without internet
El_Che woolfy: I am not convinced of that :(
10:31 alini joined
El_Che woolfy: python2/3 10:31
woolfy El_Che: that is Python. Perl is not Python.
El_Che woolfy: we should learn from them instead of making fun of them. (And the split here is potentially a *lot* bigger)
[ptc] the split here is *much* bigger
woolfy The message must be: Perl 5 has existed for over 20 years, and will exist for many years to come. Next to Perl 5 we now have Perl 6, which is slightly different, and when you use Perl 6, you can still use all of your Perl 5 code. Perl 6 will live next to Perl 5. If you are used to Perl 5, please continue to do so. 10:32
DrForr_ Well, they're already the main group of trolls on the #perl's.
nine But our split can be healed. Theirs can't. Or at least they refuse to.
btyler I think you find few python developers who would (given equal library availability) choose 2 over 3. it is almost always "the software I need doesn't run in py3k yet -- when it does I'll move"
tadzik python doesn't really have that problem, we might. More similar real-world confuson is probably "C/C++" in job offers
[ptc] btyler: agreed 10:33
woolfy Again, don't underestimate the work on Inline::Perl(5|6) and use v5. This will mean that both languages can be used simultaneously.
nwc10 does anyone have updated stats on Python 3 adoption, a year on from alexgaynor.net/2013/dec/30/about-python-3/ ?
[ptc] btyler: I program in Python at $day_job, and that's my opinion :-)
chenryn_ php would be version 7...
El_Che tadzik: no one confuses version numbers (or standards) of C and C++
tadzik: sadly, in our case...
[ptc] nwc10: no stats. The feeling I get is that python3 is an inevitablity 10:34
tadzik just like no one will ever confuse Perl 5 and 6 the moment they look at it
I still don't see what the problem is
[ptc] nwc10: Guido has said that there won't be a py2.8
DrForr_ huf: Talk with rjbs about the distro problem, I think. At least I think that's who I haerd it from.
El_Che woolfy: idd. Inline is very exciting. I hoppe the fosdem video is out soon.
tadzik other than "people will think that 6.0 is a newer version of 5.22", which I think is really, really overdramaticised
people who are competent in either will never confuse these
woolfy El_Che: since I did not see any of the talks at FOSDEM, I hope all videos will be online soon. 10:35
tadzik: exactly my opinion
tadzik I *still* don't see what the fuss is about
nine There are still people who think Perl 6 is a wrapper around Perl 5 written in Haskell
DrForr_ The people that are competent in one or the other ARE NOT THE CROWD TO WORRY ABOUT.
woolfy So maybe we will listen to TimToady who said that we will see later this year how things will be called. 10:36
El_Che tadzik: people are newbies before 'comptent'. Perl5 also needs newbies. Newbies thinking perl5 is an old release is bad. IMHO
woolfy DrForr: we should not worry at all. Perl is strong. Perl-people are smart. We will deal with it.
tadzik El_Che: Yes. It's also unfixable, and every 3 months that we have this discussion we come to the same conclusion 10:37
DrForr_ Then wny are we yelling?
*why
woolfy El_Che: anybody who thinks perl5 is an old release, is not relevant. At FOSDEM I had talks with people that were convinced that Perl-code looks the same after compression as before, and they never worked with any version of Perl. Those people are completely irrelevant.
tadzik DrForr_: that's what I'm trying to establish
teaching people the difference doesn't take more than 5 minutes
10:38 Sqirrel joined
El_Che tadzik: there isn't always someone around to teach the difference. 10:38
on a happier note, I need a new phone, are there happy/unhappy jolla users here? 10:39
tadzik there also isn't always someone around to teach people Perl
I don't see how this is relevant, or related
El_Che: happy
see also sergot and sjn :)
woolfy Anybody who is saying that with Perl 6 all Perl 5 is old, is being evil, and trolling, and lying, and trying to make us angry. Not a good thing, and it will be remedied by us all, people from both Perl 5 and Perl 6, by telling the truth, which is, Perl is awesome and will be working well for almost an eternity.
DrForr_ Wait a minute, the people that don't already use perl are irrelevant to the discussion? Then we're inside an echo chamber. Which of course we are, since this is a chat network using a protocol from the 80s which is by now *completely* hidden from the rest of the world.
El_Che there is a -50€ fosdem discount
tadzik does that bring it down to 200€? Dayum 10:40
woolfy DrForr: don't you troll on my remark. That was not what I said.
El_Che code is FOSDEM2015
woolfy DrForr: I said: "At FOSDEM I had talks with people that were convinced that Perl-code looks the same after compression as before, and they never worked with any version of Perl. Those people are completely irrelevant."
El_Che off to post offcie to send old phone back to amazon under warranty :)
10:41 pecastro left, konsolebox left
woolfy DrForr: please beware the "and" between "being convinced that perl-code..." and "never worked with Perl". 10:41
DrForr_ I don't think I agree that they're irrelevant. If they walk over to the booth purely to badmouth the language and walk away, that's one thing. 10:42
10:43 pecastro joined 10:44 kjs_ joined, rurban joined
espadrine hating on perl for its sigils is the new hating on lisp for its parentheses 10:44
10:45 pyrimidine joined 10:48 pyrimidi_ left
Tux__ nine, gist.github.com/Tux/6520a23f118908ae8237 10:48
DrForr_ A different way of looking at that is "Those signs are silly. Explain to me what they mean and I might change my mind."
10:49 anaeem___ joined
huf they're almost never *that* open-minded 10:49
10:49 jluis joined
ab5tract DrForr_: you are giving that crowd too much credit 10:50
huf it's usually "convince me that my snap judgement is incorrect. go on, try hard. dance."
DrForr_ Online, to be sure. But in your face? That's a different story.
huf i've encountered this irl too
ab5tract it's trendy to hate on perl, so trendy people hate on perl. and the programming world is *full* of trendy people
10:50 chenryn_ left
huf we're all about retroactively inventing reasons to prop up our hasty feels-based judgements 10:51
nine ab5tract: those trendy people are the ones writing the code the next generation of trendy people will hate a language for.
huf but vim is seriously the best editor because butts.
btyler also there's a strain of the python community that seems to be built around hating on perl. the last page of the big "programming python" tome is a yoda-style joke about how perl is the dark side
I went to a python meetup, mentioned I did perl, someone asked what it was, the answer they got was "the old python"
10:51 anaeem1 left
DrForr_ So... the answer then is to do nothing, because everyone that talks to you already has their mind made up. So we shouldn't bother changing our behavior. 10:52
btyler so..yeah. productive discussion is tough
ab5tract btyler: yup. but that's very historical. and the perl community fueled that hate
huf DrForr_: yeap. dehumanize yourself and face to bloodshed.
dalek p-js: 73dcbe1 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
Fix bugs in checking for emptiness of iterators.
10:53
p-js: 47396cc | (Pawel Murias)++ | t/nqp/68-associative-for.t:
Test for iterating over a hash manually using nqp::iterator.
ab5tract because of a relatively natural, "hey this new kid is eating my lunch!" response. (when perl was the giant and python the david)
nine Tux__: looks like all that's missing is support for passing a file handle to Perl 5 code?
ab5tract nine: that's why i'm very excited about perl 6. leapfrogging the trends :D
Tux__ possibly
huf oh come on, i think most of the perl hate comes from many people having to maintain horribly shitty perl codebases without first learning perl.
that sort of experience tends to shade their perceptions for a long time
tadzik most of the people haven't ever seen perl 10:54
they just heard that it's bad
ab5tract huf: the perl <-> python rivalry is deeper than that
huf okay, yeah, by now it's tribal wisdom of the internet
[ptc] sounds like the same kind of hate people have for fortran
tadzik we all love laughing at cobol, who has ever written it?
[ptc] it is (at least theoretically) possible to write good fortran code...
huf we love being mean to the "others" :)
nine I've seen worse languages than COBOL...
huf nine: true for me too, since i've never seen cobol :) 10:55
ab5tract [ptc]: there you are, continuing unnecessary downtalking of Fortran 10:56
huf can we stop being so reasonable before we start singing the praises of php? 10:57
nine COBOL does have some good excuses for its quirks. Yes, it tends to be somewhat verbose, but it's also more than 50 years old! PHP on the other hand was just developed by clueless people...
[ptc] ab5tract: actually, I really like fortran. It's a great numerical language, and a good one to have in the toolbox
ab5tract "it is (at least theoretically) possible to write good $language code..."
my point exactly :)
[ptc] ab5tract: however, I've seen some *awful* code written in fortran....
huf [ptc]: shocking. most code is awful. 10:58
[ptc] ab5tract: yeah, you have a point :-)
ab5tract: I've also seen some *awesome* code in fortran. And I think that was because one *didn't* have the tool support when it was written. Hence it *had* to be clear and well documented etc 10:59
huf but can real programmers write java in fortran?
(i know they can write java in perl5)
11:00 kjs_ left
[ptc] huf: well, you can do OOP in Fortran now, so quite possibly 11:00
huf \o/
11:00 jluis left 11:01 jluis joined
ab5tract regarding PHP: we either learn from the successes of that language, or we repeat some failures of Perl 5 11:01
the number one there being plug-and-play deployment 11:02
DrForr_ Ashton's Law.
Juerd ab5tract: Oh, you mean like how C, Python, Java, etc, etc, have failed, because they couldn't be used out of the box on shared webhosting providers? 11:08
ab5tract: What you're saying is only true for that specific niche.
huf also the success of any language is in large part accident, and has nothing to do with any features or niches or anything 11:09
moritz huf: I'm sure the success of Java is in large part due to massive investment and marketing by Sun 11:11
lizmat feels like it's going to take at least a week to catch up on all of the backlog and related posts 11:12
moritz huf: as well as carefully chosing a narrative ("simple, easy to program") and sticking with for quite long
huf moritz: hmm. yes, but far fewer people would've been interested in that narrative without c++ 11:13
El_Che lizmat: you're lucky, you got in when the bashing was on other languages :)
huf moritz: i'm not saying it's all complete accidents. just that accidents play a very large part. sure, a coherent message helps.
11:14 Ugator left
FROGGS Perl 6 "just" needs to be branded as the 'Next Generation Enterprise Programming Language"... then we can just wipe away Java :D 11:16
afk
huf you cant just afk after dropping *that*
FROGGS reads the rants about that in a bit
11:18 chenryn_ joined
El_Che FROGGS: Moose already reserved the "post-modern" adjective :) 11:19
11:19 denis_boyun joined
El_Che (OMG, I *hate* postmodernism :) ) 11:19
ab5tract Juerd: no, i am saying that even PHP has things to teach us. 11:21
Juerd: and the difficulty of deploying ruby apps has played a part in it's "spiral" 11:22
FROGGS El_Che: the Enterprisy bit is important to get in the Java settled area 11:23
11:24 virtualsue left
El_Che Java 2 Platform, Enterprise Edition 5 for the win! 11:24
11:27 jluis left 11:37 kaleem left 11:44 jluis joined
dalek kudo/nom: 756a4ac | lizmat++ | src/core/Array.pm:
[].VAR.name returns something more obviously wrong

Namely "$ANON_VAR__10". The "$x" seen originally, was an artefact of the name used of the variable used to itemize in the circumfix sub. Hopefully, we can adapt nqp::p6var to not actually have a .name in the case of variables matching this template.
11:44
lizmat FWIW: +1 for putting NativeCall into the core 11:46
nwc10 But COBOL is now more populare than Ruby. I read it on the Internet, it must be true
and my naughty fingers still can't type
masak I'd like to take this moment to thank all the people who self-identify as predominantly Perl 5 programmers, but who hang out here and occasionally provide their opinions. heartfelt thank you on behalf of the Perl 6 community. it's a way to sanity-check us and be able to see things from across the fence.
tadzik lizmat: which core? :) I 11:47
I'd vote for First Core though, along with lib.pm
nwc10 you can't be me - I'm self identifying as "trouble maker"
s/be/mean/
brain fail
fingers fail
something.
masak also, PSA: the opposite of "win" is spelled "lose" with one "o". the opposite of "tight" is spelled "loose" with two.
nwc10 should I get more coffee?
masak nwc10: or less, it's up to you :P
tadzik easy to remember because loose is less tight than lose :P
lizmat tadzik: yes, first core, like lib.pm / Test.pm
nwc10 but not fewer coffee? :-)
tadzik lizmat: +1
moritz nwc10: yes, tiobe publishes funny numbers 11:49
masak they're only funny if you don't take them seriously. 11:51
nwc10 they have this wonderful spike up in the past month for COBOL and some SAP-related language
and a page that doesn't render without JS 11:52
and has a JS error on Firefox
competant, they are.
oh, curious, github.com/rubinius-x/rubinius-x has been eliminated 11:54
ven (good :P) 11:56
nwc10 I wonder where the source code is now
11:58 pecastro left 12:00 pecastro joined 12:05 kjs_ joined 12:11 fhelmberger_ joined
sjn FROGGS: can you be ready & online at 18:00 tonight to see if we can get the arnsholt's NativeCall session stream working? 12:12
12:13 charsbar_ joined 12:14 Util_ joined 12:15 moritz_ joined, gugod1 joined, huf_ joined, ugexe_ joined 12:16 rurban_ joined 12:17 bonsaikitten joined 12:19 simcop2387_ joined
pmurias when is the NativeCall hackathon planned? 12:20
nwc10 [Coke]: "if ther's a ticket you think must be resolved before we ship" then attach it as a dependant ticket in RT, on the release ticket. RT makes this easy, and it's what Perl 5 has been doing for a while
12:20 rurban left, molaf__ left, fhelmberger left, alini left, simcop2387 left, xiaomiao left, camelia left, gugod left, simcop2387_ is now known as simcop2387 12:21 camelia joined, rindolf left, huf_ is now known as huf, dakkar joined 12:22 ChanServ sets mode: +v camelia
tadzik pmurias: today 12:23
pmurias what time? 12:24
tadzik: where is it taking place?
tadzik pmurias: oslo
evening, not sure how late in the evening :) 12:25
you'll have to ask sjn
FROGGS sjn: I can
bbl
sjn pmurias: it's strictly not a hackathon 12:26
it's a presentation + hands-on teaching
"workshop"
12:27 molaf__ joined 12:31 moritz_ is now known as moritz
ab5tract ven: what's your beef with rubinius-x ? 12:34
arnsholt pmurias: 1800 CET
12:34 FROGGS left 12:37 kjs_ left
El_Che sjn: mmm ubuntu phone or jolla... 12:38
12:39 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
sjn El_Che: Jolla's is ok. I like it, but it's far from perfect 12:41
dunno anything about ubuntu's
Jolla are pretty responsive though
El_Che sjn: does jolla compare positively to rooted android? 12:42
sjn never had an android 12:43
but if you want root, Jolla's great :)
uses rpm as a package manager, comes preinstalled with Perl5 12:44
El_Che: tadzik mumbled something about wanting to compile Perl6 on the Jolla phone too
dunno if that got any traction
tadzik yeah, I tried
sjn (it would be a nice way to 12:45
...nice milestone to reach though)
12:46 jluis left
sjn imagines it would be possible with some careful use of swap 12:46
nwc10 tadzik: what/how did you try? I think that it ought to be possible to compile MoarVM natively (on it)
and NQP and then Rakudo elsewhere
and then just ship the Rakudo install over, to the same path
12:46 jluis joined
tadzik nwc10: yes, moarvm ran fine 12:47
nwc10: running any moarvm bytecode on it resulted in SIGBUS iirc
nwc10 aha, OK, when?
tadzik well, "any" being nqp
12:47 virtualsue joined
tadzik I think about half a year ago 12:47
I have not tried for a while
nwc10 if you have time, try again
tadzik noteworthy: I was building in a VM sdk, not on-device 12:48
nwc10: will do
nwc10 The ARM alignment fixes were May last year I think
so it should now work on all ARM
but this isn't tested
tadzik oh, I did not even have this phone back then
nwc10 mmm OK
pmurias Jolla phones?
tadzik yes
but I can try again and squeeze out as much debugging info as I can
nwc10 that would be useful 12:49
12:49 kaare_ left, kaare_ joined
nwc10 I may be able to give a suggestion pretty quickly if you can get a line number in a C source file 12:49
if you can do that, also contents of /proc/cpuinfo from it would be useful 12:50
ab5tract blogs.msdn.com/b/dotnet/archive/201...ource.aspx 12:53
12:53 chenryn_ left
ab5tract so, who's up for porting NQP to the CLR? :) 12:53
nwc10 well volunteered! 12:54
tadzik :) 12:55
12:55 anaeem___ left 13:00 alini joined
TimToady woke too early :) 13:03
but waking up, I thought of more alphabetic naming schemes 13:04
El_Che TimToady: how was the flight?
TimToady fine 13:05
El_Che great
13:05 _mg_ joined 13:06 zakharyas left 13:07 chenryn_ joined
TimToady scifi destinations, gems, substances, flying things, utopias, adjectives, particles, and so on 13:08
course, there's alway the old standby Abel Baker Charlie, etc 13:09
El_Che "Next Generation" :)
TimToady but we can probably choose our overriding metaphor
minerals and gems are solid
flying things...fly
utopias are dreams
adjectives are problematic insofar as ubuntu's short names tend that way 13:10
fruits, vegetables, spices
13:10 kjs_ joined
TimToady there are just lots of ways to adorn the 6a, 6b, 6c idea 13:10
13:11 donaldh joined
nwc10 Ubuntu's short names also seem a bit long. My opinon currently is that ideally it would (mostly) be a sequence of single words, two sylables, easy to pronounce and spell 13:11
TimToady and going a b c doesn't commit us to a schedule
13:11 kjs_ left, chenryn_ left
TimToady yes, short is also good 13:11
moritz ... and limits us to 26 releases :-)
nwc10 I suspect that that's important. The spec shouldn't imply any sort of schedule release
moritz unless we enter the weird realm of non-ASCII collation 13:12
nwc10 whereas the distro (or compiler) releases probably should try to be regular
moritz: but isn't that something that Perl 6 is good at?
moritz nwc10: but perl 6 users might not be :-) 13:13
nwc10 details!
moritz (nor are all Perl 6 programmers, yours truly included)
13:16 fhelmberger joined, fhelmberger_ left 13:17 kjs_ joined 13:22 kjs_ left
[ptc] hrm, I'm getting an unhandled exception error when running htmlify.p6 through perl6-debug-m 13:23
Here's the complete traceback: pastebin.com/q3Cr654M Any ideas? 13:25
nwc10 [ptc]: no, but where do I get htmlify.p6 from? I have an ASAN build handy - I can quickly tell you if it's a C level bug 13:26
[ptc] nwc10: perl6/doc
nwc10 or not, as I fail with 13:28
Could not find Debugger::UI::CommandLine in any of: /home/nicholas/Perl/doc/lib, /home/nicholas/Sandpit/moar-san-jit/languages/perl6/lib, /home/nicholas/Sandpit/moar-san-jit/languages/perl6
[ptc] nwc10: you need to install that via panda first 13:29
nwc10 where's the TFM that I should R about that?
so much for "quickly" :-) 13:30
[ptc] urm, dunno.
hehe :-)
nothing goes quickly ;-)
nwc10 github.com/tadzik/panda/ 13:31
13:32 yeahnoob joined
nwc10 note that this is the first thing that I've done above NQP level for, well, quite a while. 13:32
TimToady on the spec vs implementation thing, my current thinking is along the lines of what pmichaud++ mentioned earlier, that the initial implementations of a standard target a draft standard, and then then actual standard is negotiated mostly only among the groups who have first implemented the draft 13:33
tadzik nwc10: I really recommend github.com/tadzik/rakudobrew :)
TimToady as long as we only have rakudo, this negotiation is easier :)
nwc10 OK, but I already *have* a Rakudo, built with somewhat whacky custom options
tadzik the nice thing about it is that it also updates your panda-stuff after rakudo update, so you don't have to do it manually
TimToady it's known to target a draft
tadzik alrighty then :)
nwc10 tadzik: ==> Please make sure that /home/nicholas/Sandpit/moar-san-jit/languages/perl6/site/bin is in your PATH 13:34
TimToady but basically, we force convergence among all draft implementors, to the extent possible
and we do this every cycle
nwc10 um, why? In as much as, why can't I just copy or symlink the panda binary out somewhere else, and it know where it was installed?
AAAAAAAAAAAARGH 13:35
/usr/bin/env: perl6: No such file or directory
that is not a universal solution
SRLY
tadzik nwc10: because when you install something with panda that puts stuff there it won't be available for you
nwc10 ah OK. hmm. OK.
tadzik p6doc, lwp-request or whatnot
the thing about env, yeah, I can see why it's annoying 13:36
[ptc] I've struggled with that too in my setup
tadzik I may have a bug opened for it for which I can bump the priority
nwc10 perl6 is not in my PATH. it's not a relocatable binary. It already has its location hardcoded
tadzik ah, that'd be github.com/tadzik/panda/issues/28
for which FR<TAB><TAB> says it's fixed in a branch
I guess I could cherry-pick that onto master
nwc10 we have the same $turd with the spread of #!/usr/bin/env in CPAN modules, which breaks the designed hack/feature of EU::MM to rewrite #! lines to work on installation 13:37
[ptc] nwc10: I've got perl6 in a non-standard location and it's in my PATH; the panda stuff works ok
13:37 kjs_ joined
[ptc] nwc10: there's a lot of manual stuff required to keep things up to date tho' 13:37
nwc10 in that case, yes, if you're not using EU::MM, /usr/bin/env is probably the best solution
but if you are, it's not.
[ptc] oh
tadzik nwc10: one workaround I can think of is 'your-perl6 `which panda` <arguments>'
nwc10 I can fix PATH
but it's *not* going in .profile
13:39 kjs_ left
nwc10 because, like perl 5, I have more than one perl 6 installed 13:39
and I have reason to want to use different ones for different things
tadzik right
nine Why is perl6 a shell script anyway instead of a binary? 13:40
tadzik so the preffered solution for you would be for panda to rewrite its shebang on installation to reflect that?
moritz nine: because nobody has taken nwc10++'s patches yet, made them readier, and applied them
nwc10 tadzik: yes. but I don't know what other assumptions that would break
TimToady if different versions of something are going to be supported simultaneously, you need a namespace to negotiate that in, basically, and mechanisms for aliasing longnames to shortnames
nine moritz: where are those patches? 13:41
moritz nine: on the perl6-compiler mailing list
nwc10 mine: in particular, fixing them require some policy decision about how to handle build tools that are common to NQP and Rakudo
moritz nine: I'll forward the mail to you if that's any help
13:42 _mg_ left
TimToady one can see why microsoft came up with a registry, inadequate though that turned out to be 13:42
nine moritz: I'm definitely curious
nwc10 [ptc]: OK, I get the same error. So it's not hitting any C level undefined behaviour 13:43
13:45 zakharyas joined
psch github.com/rakudo/rakudo/pull/330 has another patch for a binary target and references the branch 13:45
*branches
[ptc] nwc10: ok, good to know :-)
nwc10: thanks for looking into it! 13:46
dalek ar: cd30f37 | moritz++ | modules/rakudo-debugger:
Remove modules/rakudo-debugger

this was renamed to modules/debugger-ui-commandline
13:49
nine Seems like quite a few people would like to see this happen :) 13:50
alpha- how would one get a division to say 50th digit after dot ? 13:51
TimToady FatRat
moritz m: say FatRat.new(1, 17)
camelia rakudo-moar 756a4a: OUTPUT«0.058824␤»
nwc10 nine: I believe that I managed the most dogfood (with a lot of help from FROGGS and jnthn) 13:52
alpha- nice
moritz it just seems we have no method to stringify with arbitrary precision 13:53
TimToady I'm not sure we actually have a method to print out all 50 digits though
psch m: say FatRat.new(1, 10 ** 50)
camelia rakudo-moar 756a4a: OUTPUT«0.00000000000000000000000000000000000000000000000001␤»
psch m: say sprintf("%.50f", FatRat.new(123, 10 ** 52)) 13:54
camelia rakudo-moar 756a4a: OUTPUT«0.00000000000000000000000000000000000000000000000001␤»
TimToady .base probably needs a scale optional argument
psch might have misunderstood the question 13:55
TimToady well, I suspect there are really two parts to it
how to get that precision, and how to output it 13:56
I was trying to answer both parts in sequence :)
but looks like %.50f will work, at least in decimal 13:57
would be nice to have it in any radix though
currently the .base method only takes a $base, and guesses on the precision 13:58
we should have a way to override that guess
moritz same for .Str 13:59
TimToady not sure about that one 14:01
TimToady still thinks coercions should be thought of as 1-to-1 14:02
and if you can't coerce it reasonably, you should use a different function
14:02 rindolf joined
TimToady but I'm not hard and fast in that opinion 14:02
14:04 FROGGS joined
TimToady but things like coercion types Str(Cool) are not going to want to have optional parameters 14:04
14:04 xfix joined
TimToady and even if we allowed them, different source types might want entirely different optionsl 14:05
so I think we should reserver coercion for easy things, not hard things
alpha- m: say sprintf("%.20f", FatRat.new (22) / FatRat.new (7))
camelia rakudo-moar 756a4a: OUTPUT«===SORRY!=== Error while compiling /tmp/toggH_WGPd␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/toggH_WGPd:1␤------> say sprintf("%.20f", FatRat.new ⏏(22) / FatRat.new (7))␤ …»
TimToady gah, can't type today
14:06 anaeem1_ joined
TimToady m: say sprintf("%.20f", FatRat.new(22) / FatRat.new(7)) 14:07
camelia rakudo-moar 756a4a: OUTPUT«3.14285714285714000000␤»
TimToady m: say sprintf("%.20f", FatRat.new(22) / 7)
camelia rakudo-moar 756a4a: OUTPUT«3.14285714285714000000␤»
TimToady it looks a bit like it's going via floaters
alpha- why cant it find final (
in my example
TimToady no whitespace allowed before parenthesized args in standard p6
alpha- wow
I am so used to just ignore whitespace since it's allowed everywhere in p5 14:08
ok...
moritz m: printf '%.20f', FatRat.new(22, 7) 14:09
psch alpha-: github.com/FROGGS/p6-Slang-Tuxic exists, although i don't know if it already handles methods
camelia rakudo-moar 756a4a: OUTPUT«3.14285714285714000000»
moritz psch: it does
uhm, are those trailing zeros correct?
ab5tract alpha-: iiuc, it enables p6 to be a lot cleaner about lists (and function parameters) than p5
TimToady no
moritz m: printf '%.50f', FatRat.new(22, 7)
camelia rakudo-moar 756a4a: OUTPUT«3.14285714285714000000000000000000000000000000000000»
TimToady that's why I said it's going via num
14:10 cdc joined
moritz looks like it 14:10
TimToady and why .base needs an option, I suspect
moritz
.oO( it's all about the .base )
14:11
nwc10 is wondering whether it's possible have a naming convention that is puns 14:12
[ptc] all your .base are belong to .us
ab5tract alpha-: it's not quite the same, but if you want/need whitespace, $x.method\ (@args); should work 14:13
alpha- ew
ab5tract or Slang::Tuxic :)
alpha-: i'd rather have all the good stuff in p6 than a space between my methods and their args 14:14
TimToady yes, it does reduce ambiguity significantly to do it this way
and fits in with "all postfixes exclude whitespace by default"
and the other way, you get the p5 "print (3*2), 42" problem 14:15
alpha- might actually be good
one less thing to fight about with regard to style and indentation
ab5tract right, like %hash{} # one of the few places {} doesn't introduce a lexical scope
TimToady well, we're still not trying to be a boa constrictor language, but we do squeeze in certain strategic spots 14:16
ab5tract if you allow %hash {key}, then you're {...} blocks become less clean
your processing of those blocks become less clean, i mean
14:16 yeahnoob left
TimToady it defeats the self-clocking features that tend to let us give good error messages 14:16
ab5tract speaking of, jnthn++ # i thought the time you spent on error reporting was very effective, at least afaict from reading the slides 14:19
TimToady: thanks for clarifying so succinctly :)
14:22 yeahnoob joined 14:24 firefish5000 joined 14:26 firefish5000 left 14:27 FROGGS left
[Coke] Perl 6 relationship status: It's complicated 14:27
moritz aye 14:28
nwc10 [Coke]++
pmichaud good morning, #perl6 14:30
nwc10 good UGT, Pm
moritz good am, pm 14:31
14:31 ugexe_ is now known as ugexe
pmichaud reads backscroll 14:32
TimToady
.oO(Perl 6 Alfred, Batman, Catwoman...)
14:36
tadzik :)
nwc10 :-) 14:37
dalek ar: 13f5f95 | moritz++ | modules/doc:
bump modules/doc version
14:41 kaleem joined
skids FROGGS,sjn: I uploadedthe business-end of libmhash support toSum 14:45
panda will install it but the test fileis nerfed so Star can still install Sum 14:46
The integrationwith the Sum core will wait till after the (soon?) Starrelease
But themodule can be used standalone (Sum/libmhash.pm6)
14:46 salv0 left
skids Feel free to show/use it duringthe hackathon. It uses the new Buf stuff. 14:46
masak skids: something wonky with your text 14:47
skids Sorry cut and paste from emacs.
Is it readable?
tadzik to me it is :)
ven ab5tract: "I'm changing the language because I don't like to implement some parts of it" is not really going forward. it has a bad name in the ruby community, overall 14:49
skids BTW, I found the sweet spot when funneling data to NativeCall in chunks is 65Kish. Below that and overhead starts to eat in. 14:50
Got within an order of magnitude of C sha1sum binary.
14:51 salva joined
arnsholt I think there's a good chunk of overhead we can try to kill in NativeCall itself too 14:51
14:52 FROGGS joined
ab5tract ven: interesting. i had only heard good things about rubinius, but i hadn't heard of rubinius-x. thanks for explaining 14:52
PerlJam reads backlog and is glad we're discussing the "Perl 6.0.0" (or whatever) moniker now rather than waiting for closer to christmas 14:53
14:55 eiro left
skids commute & 14:58
14:58 [Sno] left 15:02 skids left 15:03 kaleem left
alpha- moniker is good but don't overdo it 15:03
like ubuntu or fedora
beefy miracle srsly 15:04
TimToady we would try to be tasteful
15:09 eiro joined 15:11 Rounin left
moritz 14.07 "tasty tarpit" 15:18
PerlJam yeah, alliteration is always good too :) 15:20
[Coke] tasty armpit? 15:23
FROGGS sjn: 1800 is in about 1.5 hours, right?
sjn yes
lizmat good morning pmichaud 15:25
do you have an ETA for your post-FOSDEM blogpost ? 15:26
this regarding inclusion in this week's P6Weekly or not
pmichaud later today, perhaps?
lizmat ok, then I'll won't wait for it :-) 15:27
(the perhaps clinched it :-)
pmichaud seems reasonable. 15:28
15:29 Kristien joined
PerlJam lizmat: but you can put a tease in p6w about it for next time ;) 15:30
lizmat yup
15:30 Kristien left
FROGGS jnthn: I'd like to talk about vmarray problems on jvm, which you might already have a solution for because of nsa and nfg 15:33
15:33 adu joined
FROGGS jnthn: not now though, more like in the evening(s) 15:34
adu raydiak: ping
pmichaud lizmat: how quickly would you need it for inclusion in p6weekly? 15:36
lizmat I was aiming for publication at 20:00 (about 2.5 hours from now) 15:37
3.5 hours from now
8pm CET
FROGGS pmichaud++ # 'use nqp;' 15:38
pmichaud I need a 15 min break, perhaps I can whip it out within that period of time
er...
after a 15 minute break, I may be able to write it up within the next 2 hours
15:38 bobv joined
nwc10 regular time, Fergie time, or IE download time? 15:38
FROGGS >.<
lizmat ++pmichaud 15:39
15:41 bobv left, bobv joined 15:45 bobv left 15:46 _mg_ joined 15:48 hhjhj joined
cdc perl6: say lol(<a b> X <1 2>).perl 15:49
camelia rakudo-{parrot,moar} 756a4a: OUTPUT«("a", "1", "a", "2", "b", "1", "b", "2")␤»
cdc perl6: say lol(<a b> X <1 2>).lol.perl
camelia rakudo-{parrot,moar} 756a4a: OUTPUT«((("a", "1"), ("a", "2"), ("b", "1"), ("b", "2")).list.item)␤»
cdc Hello, it this ^ expected?
*is
"say lol(<a b> X <1 2>).perl" comes from S03 15:50
ab5tract perl6: say lol(<a b> X <1 2>).map: *.perl.say
camelia rakudo-{parrot,moar} 756a4a: OUTPUT«(("a", "1"), ("a", "2"), ("b", "1"), ("b", "2")).list.item␤True␤»
ab5tract so it looks like an interaction with the .perl output in the first example 15:51
TimToady the lol function is probably not behaving right there
oh, yeah, maybe that
15:51 bobv joined, Sqirrel left
TimToady hopefully one of the crinkles that gets ironed out with GLR 15:52
pmichaud s/hopefully// 15:53
cdc no need to patch S03 then?
ggoebel111111113 here's a language version number suggestion from the peanut gallery... v6.[timestamp] where timestamp is 3/14/15 9:26:53.589 in whatever format floats the community's boat :-)
moritz ggoebel111111113: UNIX timestamps for the win, of course 15:54
PerlJam readies the jetski, ramp, and shark 15:55
alpha- v6.2015.12.25 15:56
pmichaud (use nqp) Could someone make sure a note gets into the release notes or whatever warning authors that "use nqp;" will be required at some point. And perhaps we should start bundling a "nqp.pm"?
moritz pmichaud: I have a local patch for the R* announcement that mentions the future need for 'use nqp;'
alpha- m: "v6.2015.12.25" lt "v6.2015.12.26" 15:57
camelia ( no output )
TimToady use "before"
and no quotes
moritz and say
TimToady and say :0
alpha- :D
moritz m: say v6.2015.12.25 before v6.2015.12.26
camelia rakudo-moar 756a4a: OUTPUT«True␤»
alpha- sorry, I write am archaic perl5 user 15:58
TimToady well, we've had a bit longer to get used to it :)
m: say v6.2015.12.25 ~~ v6.2015.12 15:59
camelia rakudo-moar 756a4a: OUTPUT«True␤»
TimToady m: say v6.2015.12.25 ~~ v6.2015.12.*
camelia rakudo-moar 756a4a: OUTPUT«True␤»
TimToady m: say v6.2015.12.25 ~~ v6.2015.11+
camelia rakudo-moar 756a4a: OUTPUT«True␤»
TimToady m: say v6.2015.12.25 ~~ v6.2015.12.25+ 16:00
camelia rakudo-moar 756a4a: OUTPUT«True␤»
TimToady m: say v6.2015.12.25 ~~ v6.2015.12.26+
camelia rakudo-moar 756a4a: OUTPUT«False␤»
TimToady super
16:00 adu left
TimToady though, of course, we have no idea yet whether we'll be using versions in that form for specs 16:01
16:01 rindolf left, adu joined 16:06 adu left, denis_boyun left, kaleem joined 16:07 sirdancealot joined
andreoss` m: v6.2015.12.25.WHAT.say 16:09
camelia rakudo-moar 756a4a: OUTPUT«(Version)␤»
pmichaud moritz++ # use nqp announcement patch 16:12
nine FWIW I'd much rather have version numbers that perl5 can deal with sensibly. "Perl v6.0.0 required--this is only v5.20.1" is so much better than "Can't locate v2005a.pm in @INC" or even "Bareword found where operator expected at -e line 1, near "2005a"" 16:15
FROGGS nine: good point 16:16
moritz nine++ # interop thinking
andreoss` 6.2015 looks ugly 16:17
dalek ar: 23f05ef | moritz++ | docs/announce/2015.01.md:
announce that "use nqp;" will be required
nwc10 $ ./perl -e 'use 6.2015' 16:18
Perl v6.201.500 required--this is only v5.21.7, stopped at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
it also doesn't seem to do quite what you might expect :-)
TimToady but if you put the v there, it should not do the floater 16:19
nwc10 true, Perl v6.2015.0 required--this is only v5.21.7, stopped at -e line 1.
16:20 telex left
alpha- date is good 16:20
TimToady agrees that it's ugly though
16:21 yeahnoob left, adu joined 16:22 telex joined, [Sno] joined
dalek kudo/nom: b401f76 | moritz++ | / (4 files):
add empty nqp.pm6 and install it

this enables use to write "use nqp;" now, which will be required for nqp:: ops in future. Compare RT #123728
16:23
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123728
lizmat moritz: do we really want an external file for that ?? 16:24
why not have it be handled in the grammar ?
like MONKEY_TYPING, strict, etc. ?
moritz lizmat: well, once we actually support it, that's proably easier in the grammar 16:25
lizmat: but as long as it's a no-op, we can do it however we like
lizmat ok, fair enough: it would be easily removed then
moritz a simple 'git revert' will help :-) 16:26
lizmat yup
16:28 konsolebox joined
dalek rl6-roast-data: 50adb43 | coke++ | / (5 files):
today (automated commit)
16:32
moritz how do I do string literals in QAST::? 16:33
moritz forgot
pmichaud yes, my intent is that "nqp.pm6" is a no-op for now.
moritz is that QAST::VWal these days?
16:34 Mouq joined
moritz ah no, QAST::SVal 16:34
16:34 _mg_ left 16:35 prammer joined
TimToady I suppose wrt the setting we can just say that YOU_ARE_HERE is opaque to that 16:35
FROGGS moritz: perhaps grep for add_string_constant
TimToady s/that/use nqp/
that is, for now that is really file-scoped information, not lexical
where "now" is when we actually first implement it 16:36
16:36 Sir_Ragnarok left 16:38 Sir_Ragnarok joined
moritz is working on implementing it 16:39
16:40 abraxxa left
pmichaud Also, I want there to be an "nqp.pm6" so that people will see that it is possible for other implementations to also create an "nqp.pm6" that DTRT for that implementation. 16:40
16:41 abraxxa joined
pmichaud Even if DTRT is simply "You can't nqp:: here." 16:41
moritz other implementations aren't bound by how we implement 'use nqp'
pmichaud no, but people don't always see that.
people see "use nqp;" and if it's implemented only in a grammar they instantly think that every implementation has to handle "use nqp;" in the grammar and that's just wrong. 16:42
lizmat p6weekly.wordpress.com/?p=356&...24bff59fb0 # draft of P6W so far
dinner& 16:43
retupmoca lizmat: Can now pass Buf/Blob to nativecall functions (me + FROGGS); IO::Socket::SSL can now wrap existing perl6 socket connections (me + sergot) 16:46
16:47 fhelmberger left 16:49 mr-foobar joined
moritz are the command line options available from Action.nqp? if yes, how? 16:53
oh, is that the %*COMPILING<%?OPTIONS> thingy? 16:54
16:57 gfldex joined
FROGGS moritz: aye 17:01
pmichaud lizmat: I'm unlikely to have my blog post ready by 20h00 CET. 17:04
I'm drafting it now, but it's not coming together cleanly.
17:09 woolfy1 joined, woolfy left 17:10 lizmat_ joined 17:11 rurban_ left 17:12 lizmat left 17:13 skids joined
Mouq lizmat_: I finished what I did on LoL's: Autovivification used to fail when assigning to an LoL access. So now `my @a; @a[0,1;0] = <foo bar>;` works and @a will be Array.new(["foo"], ["bar"]) 17:14
Also, lizmat++ 17:15
17:19 kaleem left
moritz Mouq: bonus points for adding that to the changelog 17:25
Mouq moritz: Double bonus for adding my more comprehensive tests to roast? :P 17:26
moritz Mouq: indeed. Tripple bonus points for doing both 17:27
arnsholt If anyone else wanted to see my intro to NativeCall, it should be available from plus.google.com/hangouts/_/gzov74i...kxmmn7b7ia 17:28
dalek kudo/nom: dc1855e | Mouq++ | docs/ChangeLog:
Add my contributions to the ChangeLog
17:30
17:31 Kristien joined
Kristien hi 17:32
masak arnsholt++
Kristien: aloha.
arnsholt (With apologies for random Norwegian before the actual talking begins) 17:33
hoelzro I feel like many of the regulars here would consider the random Norwegian a bonus =) 17:35
arnsholt There is that ^_^ 17:36
masak some of my best friends are random Norwegians 17:37
dalek kudo/nom: 71339a6 | Mouq++ | docs/ChangeLog:
Add another ChangeLog entry
17:38
moritz some of my friends and relatives are deterministic Norwegians
Mouq++
17:40 espadrine left, colomon left
skids
.oO("Flyoid" is both insect and distinctly "Duke". Unfortunately the only insect enemy in Nukem Forever is the Pregnator and... do... not ...want)
17:44
17:48 alini left 17:59 dakkar left
pmurias jnthn: is there a simple way to set up a minimal Perl 6 setting so that I could have a working Str for nqp::say("Hello") without getting the whole Perl 6 metamodel to work? 18:02
pmichaud RFC: gist.github.com/pmichaud/7494d7630caf66951282
18:06 mohij joined
itz_ OT but twitter.com/erowidrecruiter 18:07
18:10 virtualsue left
pmurias moritz: the Pelr 6 string literals end up a combination of a QAST::Want/QAST::WVal/QAST::SVal 18:11
vendethiel
.oO( the deep truth of the assignment and the binding )
18:14
s:g/the//
sjn cosimo: too bad you're not at arnsholt's talk, it's very interesting :) 18:16
18:16 sabujp joined, lizmat_ is now known as lizmat 18:18 sabujp left 18:21 sabujp joined
lizmat pmichaud: too bad, but quality comes before the deadline in my book :-) 18:24
raydiak mornin #perl6 18:28
adu: pong
adu raydiak: I worked on the AST last night 18:29
lizmat retupmoca Mouq : added your suggestions
raydiak adu: nice, will go look right now
adu raydiak: but I'm stuck on a missing rule, which appears as a Nil somewhere, but I'm not sure where it's coming from
other than that, the AST version will parse zmq now 18:30
raydiak awesome...I'll try using it later today 18:31
jnthn evening, #perl6
yoleaux 09:08Z <pmurias> jnthn: how do I do pipe stuff to a process in nqp?
jnthn Dunno, how do we do that in Perl 6? :) I guess "find that and figure out what NQP ops it calls" 18:32
pmurias: I never tried to do a minimal setting, no. I just worked through the files in the build in order. 18:33
pmurias: Though I think I commented out some things here and there in the Makefile when they weren't immediately needed.
18:34 sabujp left, colomon joined
raydiak adu: btw the next thing I'll be looking at after zmq is libpng which I actually have specific uses for atm...was just using zmq as a test cuz I'd played with it in the past and I know it's something people think is cool 18:34
18:36 alini joined
jnthn pmichaud: It looks good to me. 18:36
nwc10 ^ /msg ? 18:37
pmurias jnthn: the piping stuff FROGGS figured out
jnthn: just trying to do stuff in build order might be more sane 18:38
nwc10 oh, I see
jnthn nwc10: No, it's to what Pm posted here 37 mins ago
nwc10 yes,just figured that.
jnthn pmurias: Yeah, there's not a fast win, but in the end you need it all anyway for a viable Rakudo :)
nwc10 slow, I am
but I already admitted that yesterday or the day before 18:39
pmichaud any other comments on the parrot announcement before I post it?
I can post to my blog, but also could post to perl6-users 18:40
raydiak adu: and libpng has some __extension__ thing in it...when I grep that out, there are some other failures though...things like "typedef unsigned (*in_func) (void *, unsigned char * *);" which is a syntax I'm unfamiliar with but I think it's actually part of zlib which gets included via gcc -E 18:41
18:43 trone left
nwc10 pmichaud: I can't see any way to improve it, and I think that posting it to perl6-users is a good idea 18:45
18:46 colomon left 18:47 _dolmen_ joined
[Coke] I am skeptical that we're going to have to rip it out rather than just not add new things, but I trust your judgement. 18:47
18:48 fhelmberger joined
PerlJam I wonder how long before I learn that "say %hash.keys" isn't going to show me *all* the keys. (it's a common error I tend to make when debugging *sigh*) 18:52
18:52 fhelmberger left
vendethiel PerlJam: what'd you expect? 18:52
flussence I think the part of that announcement in .lines[33..37] is a good idea all on its own, regardless of the reasons behind it 18:53
PerlJam vendethiel: I keep expecting a list of all of the keys (forgetting, that I'm really getting a gist)
s/,//
PerlJam afk (food) & 18:54
pmichaud [Coke]: well, I'm not planning to actively remove all parrot support at this point. If when doing the GLR it's easy for me to add the code that supports Parrot, I'll do that. 18:56
but if I get to a point where "Gee, this is hard" comes into play, I'll just skip it. 18:57
[Coke] yup, that's fine.
jnthn The natives stuff is looking a bit harder to do in a graceful downgrade way. Maybe I'll come up with something, but again, I just want to get the darn stuff in place, I'm not going to go miles out of may way. 18:58
[Coke] let me know if doing the big three stuff for jvm gets stuck on anything.
jnthn I think I know roughly how to port the natives bits for JVM so it at least works. 18:59
18:59 zakharyas left
pmichaud stuff like github.com/rakudo/rakudo/blob/nom/...ic.pm#L182 is really annoying 19:00
yeah, we can leave it in, but... geez
19:00 pmurias left, donaldh left 19:04 colomon joined 19:05 rurban_ joined
[Coke] on the flip side, there's no reference to an issue in RT or parrot as to why that change is there. 19:06
[Coke] sees if he can rip it out. 19:08
yes, I know this is just one example.
FROGGS pmichaud / [Coke]: there was a problem that an optimization (inlining) caused trouble on parrot 19:10
that's why we had to keep both declaration 19:11
s
19:11 beastd joined
lizmat P6W published: p6weekly.wordpress.com/2015/02/04/...-happened/ 19:11
pmichaud is it possible to just avoid the optimization on parrot? 19:12
FROGGS reads
pmichaud: I dunno, I just can guess... it is too long ago since I did that
jnthn lizmat++ # weekly 19:13
dalek ast: 7aae046 | Mouq++ | S09-subscript/multidim-assignment.t:
Start tests for LoL-access assignment
ast: 99bfd5a | Mouq++ | S04-declarations/my.t:
Merge branch 'master' of github.com/perl6/roast
ast: 31571a4 | Mouq++ | S09-subscript/multidim-assignment.t:
Test for Hash LoL assignment
Mouq lizmat++ 19:14
19:15 hhjhj left
FROGGS lizmat++ 19:16
and Mouq++ for the 'sub MAIN;', I did not even know :o)
19:17 _dolmen_ left
pmichaud iblogged: pmthium.com/2015/02/suspending-raku...or-parrot/ 19:17
actually, I'm deleting the post for a moment. 19:19
skids pmichaud++ lizmat++ good for the project to have fresh blog entries up, post FOSDEM. 19:20
nwc10 and neuralizing the channel?
lizmat opens her eyes again and does not know where she is
FROGGS pmichaud++
(for the post itself) 19:21
jnthn
.oO( This is an ex-post )
FROGGS :P
jnthn: you got one or two spare synapses for me?
jnthn FROGGS: Sorta
:) 19:22
FROGGS :o)
jnthn did teaching all day, and is fine, but a bit tired :)
nwc10 near the beer fridge, or on tour?
FROGGS k, I want to nativecast a VMArray on the jvm to something else, problem is that a VMArray has no pointer to its data that I can use for the cast
jnthn On a train that set off on time but will probably be late... 19:23
19:23 lsm-desktop left
jnthn FROGGS: You probably should be looking at VMArrayInstance 19:23
FROGGS: VMArray is the REPR
FROGGS jnthn: it just has a 'public byte[] slots' for example
I am looking at VMArrayInstance_i8 atm
jnthn Ah
FROGGS and I don't know what to do with these slots... 19:24
jnthn Well, if start is 0 then youcan just pass that array
If start is *not* zero then you might want to put a method on VMArrayInstnace that shuffles the elements so that start is 0, and then you can just pass the array. 19:25
FROGGS hmmm
jnthn You can likely steal the code from the method used to grow the thing on a push
You're passing it to C, so it doesn't matter if there's too many slots off the end. 19:26
C has no notion of how long a buffer is, for better or worse. ;)
Alternatively, maybe there is some kind of array view thingy that can be handled by JNA
FROGGS I want to nativecast from VMArrayInstance_* to something else, like CStruct or so
lizmat Q: should you be able to just add a method trait like this: "multi sub trait_mod:<foo>(Method:D $m, &thunk)" ? 19:27
or do you need additional foo?
jnthn FROGGS: Oh...heck.
FROGGS jnthn: you're welcome :o)
jnthn FROGGS: You'll have to probably look at doing unsfe things to make that work...
FROGGS but yeah, passing a VMArrayInstance to C is also on my list to port to jvm 19:28
jnthn Rght, I thought that's the one you were doing, so that's what my answer was for.
FROGGS hmmm
lemme try something
19:29 abraxxa left, Mouq left
lizmat jnthn: re the "aka" trait on multi's: $m.multi is *always* false, it appears 19:29
FROGGS err, the code I touched was about to cast *to* a vmarrayinstance... but that is a todo for laters 19:30
timotimo good evening everybody
FROGGS hi timotimo
jnthn lizmat: No, the set of available traits is defined in the Perl 6 grammar, and different ones parse differently. So adding more is certainly a slangy thing.
nwc10 timotimo: heresy!
lizmat ah, ok
jnthn m: (multi foo() { }).multi.say
camelia rakudo-moar 71339a: OUTPUT«True␤»
lizmat timotimo o/
jnthn lizmat: Wrong. :)
nwc10 good UGT, timotimo
lizmat well, perhaps in that case
but not inside the aka trait :-( 19:31
perhaps the dispatcher isn't there yet in the setting ?
19:31 alini left, Ovid_ joined
jnthn m: multi trait_mod:<is>(Routine $m, :$oh-yes-it-is!) { say $m.multi }; multi foo() is oh-yes-it-is { } 19:31
camelia rakudo-moar 71339a: OUTPUT«True␤»
jnthn m: multi trait_mod:<is>(Routine $m, :$oh-yes-it-is!) { say $m.multi }; sub foo() is oh-yes-it-is { } 19:32
camelia rakudo-moar 71339a: OUTPUT«False␤»
jnthn lizmat: Looks fine enough to me.
lizmat jnthn: those examples are *not* running in the setting
jnthn lizmat: I struggle to see that making much difference, tbh. Maybe if you were trying to use "is aka" in the setting, but I hope you're not. 19:33
nwc10 jnthn: [ptc] had some fun earlier getting an "an unhandled exception error when running htmlify.p6 through perl6-debug-m". It doesn't happen with regular perl6-m 19:34
jnthn: irclog.perlgeek.de/perl6/2015-02-04#i_10058771
I wondered if you could quickly/easily spot a way get him unstuck.
lizmat jnthn: multi sub trait_mod:<aka>(Method:D $m, &thunk) {
+say "aka: $m.multi()";
$ 6 'class A { multi method a aka <b> { ... } }'
aka: False
19:34 spider-mario joined
moritz ingy: quick 'git subrepo' question: how do I delete a subrepo? 19:35
nwc10 "Unhandled exception: ctxlexpad needs an MVMContext"
just seems very strange
FROGGS m: multi trait_mod:<is>(Routine $m, :$oh-yes-it-is!) { say $m.multi }; class Foo { multi foo() is oh-yes-it-is { } };
camelia rakudo-moar 71339a: OUTPUT«True␤»
FROGGS m: multi trait_mod:<is>(Routine $m, :$oh-yes-it-is!) { say $m.multi }; class Foo { method foo() is oh-yes-it-is { } };
camelia rakudo-moar 71339a: OUTPUT«False␤»
FROGGS m: multi trait_mod:<is>(Routine $m, :$oh-yes-it-is!) { say $m.multi }; class Foo { multi method foo() is oh-yes-it-is { } };
camelia rakudo-moar 71339a: OUTPUT«False␤»
FROGGS ^^
jnthn lizmat: Uhh...since when wsa "aka" valid syntax like that?
*was
lizmat since I added it :-)
FROGGS .oO( This golf was brought to you by FROGGS™ ) 19:36
jnthn I'm reluctant to see us add "is aka" *at all*. There's no way I want it going in as a totally new trait mod without a LOT more consensus.
19:36 spider-mario left
pmichaud I feel a need to make a public comment on 10:03 <woolfy> The term sister languages was just used in the past to keep the Perl 5 people happy. 19:36
I disagree.
Ovid_ moritz: isn’t it just “git rm $subrepo”? (but you have to also delete it from your .git dir, It hink)
pmichaud The term "sister languages" came about to help us explain the difference between Perl 5 and Perl 6 to people unfamiliar with them. 19:37
lizmat jnthn: it;s not "is aka", it's "aka"
moritz Ovid_: I don't know. Hence the question.
jnthn I really wish more folks would follow my (correct) strategy of doing stuff *outside* of or CORE.setting *first*, as we've done with NativeCall.
pmichaud Previously the statement had been "Perl 6 is the successor language to Perl 5", and that's not really accurate.
Ovid_ @moritz: git.wiki.kernel.org/index.php/GitS...al#Removal
jnthn (Not that NativeCall is going into CORE.setting) 19:38
dalek kudo/nom: 8e6a1a4 | Mouq++ | t/spectest.data:
Add multidim-assignment.t to spectest
19:38 spider-mario joined
Ovid_ Sucks that it’s so complicated. 19:38
timotimo jnthn: i was about to ask :)
moritz Ovid_: not submodule, subrepo
pmichaud jnthn +1
moritz Ovid_: github.com/ingydotnet/git-subrepo this one
Ovid_ Ah.
jnthn (but it does seem it's going to become a module we include in the Rakudo repo)
Ovid_ Sorry :)
moritz Ovid_: no problem
pmichaud jnthn: on the other hand, how do we reconcile "prototype outside of CORE.setting" with "forgiveness > permission" ?
dalek kudo/nom: 337b4c8 | lizmat++ | src/core/traits.pm:
Removing "aka" trait until more consensus
19:39
19:40 Mouq joined
lizmat aka also neuralized in blogpost 19:40
timotimo neuralized in blogpost? 19:41
moritz removed from
timotimo oh
pmichaud neuralized, as in MiB
timotimo into the memory hole it goes
lizmat afk&
19:43 anaeem1_ left, alini joined, anaeem1 joined
jnthn pmichaud: Good question. I'm not expecting folks to get permission to put stuff in CORE.setting, mind. I just wish to see a bit more consensus, and a good dose more hesitancy. Especially when the change in question is involving a grammar addition as well as a CORE.setting addition. 19:44
19:45 sirdancealot left
pmichaud and when there's also some (unexplored) potential relationship with the already-existing 'handles' trait 19:45
mst jnthn: "don't ask permission, do consider asking for opinions" is often a good heuristic
pmichaud if there's something that is close to what we want but not exactly, that's often an indication that we need to refactor+unify, rather than simply add a closely-themed new thing that we have to explain the difference for 19:46
woolfy1 I'm going to take a break of a couple of weeks. AFK.
19:46 woolfy1 left
FROGGS :/ 19:46
jnthn Yes, *I* was rather surprised to discover the current behavior implemented (and in the design documents) is what it is. 19:47
Mouq jnthn: I agree, on the other hand I don't think there's really a good mechanism for "RFC this feature". RT *could* work, but that's not how it's used and there's not good visibility for [RFC] things
jnthn Mouq: Sure, but it's also very easy to explore things in modules in many cases.
Mouq jnthn: Very true
19:47 anaeem1 left
pmichaud We do have perl6-language, I think. 19:47
nwc10 you can also make pull requests, even if you have commit rights 19:48
moritz well, I wouldn't ask perl6-language unless I wanted some hilariously off-topic and lofty discussion
pmichaud but, more to the point -- as I answered ovid's question in my talk -- the real design pattern ought to be "prototype as a module, then adopt into the language as consensus grows about its design and usage" 19:49
jnthn pmichaud: +1
Mouq nwc10: Also very true, and that's often used, I think, but PR =/= RFC, and I think mixing the proposal with some specific implimentation isn't so great
jnthn Also, we're *already* struggling to get CORE.setting size and base memory use down.
Both myself and others are doing what we can on systemic issues in that regard. 19:50
But it needs a little thought as to "what really should be in there" too.
pmichaud I mean, a big part of the reason for making Perl 6 extensible is so that language additions can be tried and tested _without_ having to put them into the compiler. 19:52
*core compiler
jnthn Yeah. otoh, common things should be convenient.
dalek kudo/nom: e804903 | lizmat++ | src/Perl6/ (2 files):
Make core a bit smaller
19:53
pmichaud I would like to see us come up with a better consensus about the way things get adopted into the language. Not sure that's ripe yet, though. 19:54
19:54 mr-foobar left
lizmat FWIW, the "aka" trait woud be very useful in the core to reduce the core settings 19:54
pmichaud *the ways
lizmat there are *many* methods that do exactly the same thing with different names 19:55
pmichaud lizmat: examples?
lizmat this would allow them to exist only once
jnthn would also be curious to see examples, and wonders if said duplication is itself a warning sign.
19:56 mr-foobar joined
lizmat pmichaud: github.com/rakudo/rakudo/blob/nom/...tty.pm#L11 for instance 19:57
pmichaud earlier language design documents allowed for a single Routine body to have multiple signature declarators
I don't think that ever got implemented or adopted
so, my first reaction is, "why is there a 'total' method"?
pmichaud looks.
Mouq pmichaud: Bag and Mix consistency 19:58
pmichaud so, 'total' here is something like a degenerate case
notably, the 'elems' method could be eliminated by using 'handles' on %!elems, I think. 19:59
lizmat List.Int / List.Numeric
jnthn lizmat: Are there many examples, besides these two? Those methods are both quite tiny, whereas after pondering the various cases an "is aka" trait has to handle means it will not be an especialy small amount of code. Guess maybe there are just enough to reach break-even... 20:00
Though I do really wonder if the current "handles" behavior on methods is really desirable.
pmichaud jnthn: there is that, also. :)
lizmat various methods in Nil 20:01
jnthn I mean, I was really surprised when I read what it does. :)
moritz probably some Str, Stringy and gist methods overlap 20:02
jnthn OK, so mebbe it can pay for itself.
Mouq (frankly, I'm pro "aka", but I'm very glad it spurned this discussion)
pmichaud I think "aka" and "handles" need thinking 20:03
dalek line-Perl6: 4f67da5 | (Stefan Seifert)++ | / (3 files):
Remove superfluous p6_ prefix from function names
lizmat really afk&
flussence I think I've said this before and had it shot down, but... can't a lot of the classes in the core setting be loaded on demand? Only self-contained OOP-ish classes, I mean, not things like the set ops that alter how code is parsed. 20:04
jnthn flussence: Well, that's part of what the lazy deserialization work I was doing was about.
FROGGS flussence: that's what lazy serialization does for you
flussence hah :)
jnthn And we already delay verifying bytecode until we actuall run it.
*actually
flussence okay, it's smarter than I remember it being... 20:05
moritz flussence: I think it was never shot down, the reaction two years ago was just "we don't know how to do that" 20:06
jnthn: playing the devil's advocate, does Proc::Async need to be in core? 20:07
dalek line-Perl6: c0f4066 | (Stefan Seifert)++ | / (2 files):
Fix destroy() ending the program prematurely
jnthn moritz: Not particularly.
moritz jnthn: I mean, it uses nqp:: ops, and needs to, so it should probably be shipped with rakudo, but I don't think it needs to be in src/core/* 20:08
jnthn moritz: Yes, that's an interesting distinction.
I guess it wound up there 'cus other process stuff *is* in core
moritz and on the language level, I'd be fine with it requiring a 'use'
jnthn And it feels a tad odd for the async variety to be a second class citizern.
20:09 bronco_creek joined
FROGGS votes for moving all math stuff out of the setting so we can do: use Math 20:09
(j/k) 20:10
japhb (Not having read much backlog ...) I certainly would like to think of async and sync as peers, not having async be second-class. That feels like part of the "Perl 6 does concurrency well" story
FROGGS aye
flussence +1 - async is hard enough already
dalek line-Perl6: bd9e834 | (Stefan Seifert)++ | / (3 files):
Make the interface consistent with Inline::Perl5

Rename call_method to invoke and eval_code to run
20:11 Sqirrel joined
jnthn 'course, I need to hunt the Proc::Async buglets folks continually hit for us to claim we do it well... :( 20:12
20:13 lucas__ joined
nwc10 use more jnthns; 20:13
bronco_creek I saw that Elon Musk is naming his robotic rocket landing barges in honor of Ian Banks' Culture minds: "Just Read the Instructions" and "Of Course I Still Love You. I'd love to see "Perl 6 Of-Course-I-Still-Love-You" as a standard and a message to the P5 community, although it might be a little long. 20:14
nwc10 new pypy. bullet list of improvemnts looks nice: morepypy.blogspot.co.at/2015/02/pyp...eased.html 20:15
20:16 alini left
jnthn Indeed. 20:17
timotimo i always love reading the pypy release notes
20:20 zakharyas joined, Mouq left
[Coke] gist.github.com/coke/ad33b575ede7428eed5b - removing one of those parrot ifdefs from Numeric causes no spectest failures. 20:21
20:23 bronco_creek left
moritz [Coke]: then by all means, remove it 20:24
20:24 gugod1 is now known as gugod
pmichaud [Coke]++ 20:28
FROGGS nice
moritz hopes that can be generalized to all the proto-related #?if parrot's 20:29
20:29 darutoko left
dalek ast: b4b8ab1 | usev6++ | S04-statements/for.t:
Add test for RT #122095
20:30
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122095
20:32 Mouq joined
moritz do we have a a glob() in Rakudo? 20:33
hoelzro moritz: last I checked, I think it was NYI 20:35
moritz :(
hoelzro is glob even spec'd?
moritz dunno
but it's so damn practical, I want it.
[Tux] use Inline::Perl5 :)
hoelzro it's mentioned in S32
S32 only mentions it in an example though; it's referred to in IO-OLD.pod 20:36
flussence just typed "perl6" to try something and was shocked at how fast the repl came up... 20:37
[Tux] lizmat, has "aka" been backed out again?
20:37 Mouq left
lizmat yes, by lack of consensus 20:37
flussence (giving a repl no input is approximately 5 times faster than -e '') 20:38
lizmat I think it's practical, and will help in redicing core sttings
*reducing
but that is not enough
moritz flussence: well, -e '' still has to fire up the grammar
jnthn lizmat: I think it's the grammar addition that really bothered me, rather than it just being "is aka". But I really do feel we want to question the current "handles" on methods. 20:39
lizmat handles has its uses as well
[Tux] can I get the one-liner that tadzik used?
moritz [Tux]: used for what? 20:40
[Tux] for aka
jnthn detrain, bbiab
flussence moritz: I guess it's cheating, but still pretty nice. :)
20:41 alini joined
moritz [Tux]: not aware of that, but I'd use ::?CLASS.^add_method('new_name', ::?CLASS.^find_method('old_name')) 20:41
oh, and s/^/BEGIN /
lizmat yeah, much more succinct than "aka <new_name> 20:42
sorry, I should not be at a keyboard right now
moritz hugs lizmat
flussence
.oO( /me mumbles something about macros... )
moritz lizmat: using IO::Path, do you know some simple-ish way to get the last two directory parts from a path? ie from "/a/b/c/d" to "c/d"? 20:43
[Tux] lizmat, just putting the removed line in my script doesn't help. tadzik had a one-liner to show that would
dalek kudo-star-daily: a944c54 | coke++ | log/ (10 files):
today (automated commit)
20:45
moritz lizmat: never mind, .relative works in my case \o/ 20:46
FROGGS [Tux]: I use that in XML::LibXML:
flussence r: say IO::Path.new('/tmp/foo/bar/baz').absolute.split('/')[*-2..*].join('/') # this is ugly but I can't do better. :( 20:47
camelia rakudo-parrot e80490: OUTPUT«IO::Path is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in method new at src/RESTRICTED.setting:32␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar e80490: OUTPUT«IO::Path is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in method new at src/RESTRICTED.setting:32␤ in block <unit> at /tmp/tmpfile:1␤␤»
FROGGS m: multi trait_mod:<is>(Routine $r, :$aka!) is export { $r.package.^add_method($aka, $r) }; sub foo is aka<bar { 42 }; say bar
camelia rakudo-moar e80490: OUTPUT«===SORRY!=== Error while compiling /tmp/JSsWR8Mhta␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at /tmp/JSsWR8Mhta:1␤------> r) }; sub foo is aka<bar { 42 }; say bar⏏<EOL>␤ …»
FROGGS m: multi trait_mod:<is>(Routine $r, :$aka!) is export { $r.package.^add_method($aka, $r) }; sub foo is aka<bar> { 42 }; say bar
camelia rakudo-moar e80490: OUTPUT«===SORRY!=== Error while compiling /tmp/yFX9t3zCUf␤Method 'add_method' not found for invocant of class 'Perl6::Metamodel::PackageHOW'␤at /tmp/yFX9t3zCUf:1␤------> ␤»
flussence r: say '/tmp/foo/bar/baz'.split('/')[*-2..*].join('/') # bah
camelia rakudo-{parrot,moar} e80490: OUTPUT«bar/baz␤»
FROGGS err, for methods, not subs
m: multi trait_mod:<is>(Routine $r, :$aka!) is export { $r.package.^add_method($aka, $r) }; class Foo { method foo is aka<bar> { 42 } }; say Foo.bar # [Tux] 20:48
camelia rakudo-moar e80490: OUTPUT«42␤»
Ovid_ m: sub a returns Bool { b() }; sub b returns Str {}; say “Hi there!”
camelia rakudo-moar e80490: OUTPUT«===SORRY!=== Error while compiling /tmp/BLnLp4wLUu␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/BLnLp4wLUu:1␤------> Bool { b() }; sub b returns Str {…»
Ovid_ That’s interesting. Works on the command line. 20:49
FROGGS Ovid_: these smart quotes break it here
[Tux] FROGGS, your version does not take a list as in
method diag_verbose (*@s) is aka < diag-verbose verbose_diag verbose-diag >
FROGGS [Tux]: true, so you would have to put a for loop into the trait
dalek c: bb5cbc1 | paultcochrane++ | lib/P (6 files):
Add consistent vim coda to module files
Ovid_ m: sub a returns Bool { b() }; sub b returns Str {}; say "Hi" 20:50
camelia rakudo-moar e80490: OUTPUT«Hi␤»
Ovid_ (Didn’t realize the Colloquy was using smart quotes)
FROGGS m: sub a returns Bool { b() }; sub b returns Str { "Hi" }; say b
camelia rakudo-moar e80490: OUTPUT«Hi␤»
FROGGS m: sub a returns Bool { b() }; sub b returns Str { "Hi" }; say a
camelia rakudo-moar e80490: OUTPUT«Type check failed for return value; expected 'Bool' but got 'Str'␤ in any return_error at src/vm/moar/Perl6/Ops.nqp:649␤ in sub a at /tmp/pfE6nfhDve:1␤ in block <unit> at /tmp/pfE6nfhDve:1␤␤»
FROGGS looks fine to me
Ovid_ How hard would it be for the optimizer to realize that the above code will fail since b() is supposed to return a string?
It sort of looks like the information is there. 20:51
FROGGS Ovid_: since I never implemented optimizations I cannot tell
moritz Ovid_: doable without too much tricky hackery, I'd say
moritz has implemented some constant folding in the optimizer
20:53 denis_boyun joined
alpha- foreach (thing that can return a value) {find expression that creates the return value; if information about type that will be returned is available check if it matches the thing's return type} 20:54
20:55 Sqirrel left
moritz iirc perl 5 doesn't complain at optimization time about code that will die 20:59
because it might not be reachable/reached
jnthn Ovid_: It should be do-able, but I'm still kinda waiting for the dust to settle on what exactly Failure can sneak through type-check wise before I invest time on it, since it matters deeply from the optimizer's point of view.
Ovid_ jnthn: fair enough. I was just curious :) 21:00
21:01 denis_boyun left
moritz perl -e 'if (rand() < 0.001) { print 1/0 }' # doesn't complain here, even though the peephole optimizer knows for sure what's going to happen in that branch 21:01
jnthn It would be a neat one to catch :)
moritz comparison: perl -MO=Deparse -e 'if (rand() < 0.001) { print 2 * 5 }' # constant-folds the '2 * 5' to 10 21:02
jnthn m: say 1/0
camelia rakudo-moar e80490: OUTPUT«Divide by zero␤ in method Numeric at src/gen/m-CORE.setting:14593␤ in sub infix:<-> at src/gen/m-CORE.setting:5136␤ in method Str at src/gen/m-CORE.setting:12046␤ in method gist at src/gen/m-CORE.setting:4973␤ in sub say at src/gen/m-CORE.se…»
jnthn I see we leave that one until runtime too :)
moritz jnthn: aye
21:03 jinxter joined
moritz jnthn: that was to make the optimization less intrusive. Maybe that was a mistake. 21:03
... and should be easy to correct
21:04 _dolmen_ joined
jnthn moritz: Don't immediately have a good feel for it. 21:08
moritz: You're not that likely to write a literal / 0 unless wanting to demonstrate something, I guess.
Finding out that some compile-time constant going to zero is going to break things feels useful to know early... 21:09
21:10 jinxter left, pdcawley left, andreoss` left, coffee` left 21:15 Ugator joined, colomon left
jnthn wonders if anyone else is having trouble pulling from GitHub, or just him... 21:18
Ah, seems it was transient. 21:19
Kristien LLVM is very neat. 21:20
avuserow_ m: my $foo = "foo"; $foo [R~]= "bar"; say $foo # should this or something similar result in "barfoo"?
camelia rakudo-moar e80490: OUTPUT«===SORRY!===␤Unknown QAST node type NQPMu␤»
21:21 Mouq joined
avuserow_ in other words, is there a "prepend" version of ~= ? 21:21
jnthn avuserow_: I *think* that one should do what you want, and that error is certainly a bug. 21:22
21:22 alini left
Diederich ~ 21:24
avuserow_ (not sure I'd want to make a habit of using such an operator, but it's amazing that Perl 6 has [or will have] this flexibility) 21:25
21:26 xfix left
itz_ wonders what birdless could be :) 21:27
21:30 telex left 21:32 telex joined
vendethiel never thought of R~ 21:37
the possibilities!
meta-R assign is going to be very useful indeed
21:38 lucas__ left 21:41 rindolf joined
Mouq my @foo = <foo bar>; @foo [Z~]= <d n>; say @foo 21:47
m: my @foo = <foo bar>; @foo [Z~]= <d n>; say @foo
camelia rakudo-moar e80490: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤ in block at src/gen/m-CORE.setting:20498␤ in block <unit> at /tmp/7Msc1JdAqi:1␤␤»
jnthn wonders if the = postfix meta-op thingy is making a bogus transformation when there's a meta-op on the inside. 21:48
Mouq m: my @foo = <foo bar>; @foo Z[~=] <d n>; say @foo
camelia rakudo-moar e80490: OUTPUT«food barn␤»
jnthn hah, test data win :P
PerlJam too bad that won't work with R :) 21:50
(well, the original problem that is) 21:51
21:52 alini joined, brrt joined
Juerd "Z[~=]". Whoa. 21:54
skids Nownow just because you can does not mean you should :-)
Juerd I don't understand why the = is in the [] though 21:55
psch Juerd: precedence resolution
m: my $x = 5; $x R[+=] 4; say $x
camelia rakudo-moar e80490: OUTPUT«Cannot modify an immutable Int␤ in block at src/gen/m-CORE.setting:20498␤ in block at src/gen/m-CORE.setting:20510␤ in block <unit> at /tmp/8eBsl9wEVQ:1␤␤»
psch m: my $x = 5; 4 R[+=] $x; say $x
camelia rakudo-moar e80490: OUTPUT«9␤»
Juerd Er, what's R? 21:56
Reverse?!
vendethiel Juerd: reverse meta-operator
PerlJam aye
Juerd Funky
So Z[] is a thing, and it's not the same [] as in [+] LIST?
vendethiel Juerd: indeed. 21:57
Juerd And not the same Z as in @foo Z @bar, then?
vendethiel Juerd: and it's not the same as in <<[+]>>
Juerd It's beginning to make sense to me
vendethiel Juerd: @a Z @b is @a Z, @b, if you squint enough
(or @a Z[,] @b) 21:58
Juerd Oh wow
psch in general, [$op] is kind of magic
vendethiel or rather really magic
PerlJam Juerd: that's exactly the reaction we want people to have with Perl 6 :)
psch in my head at least
Juerd psch: I knew that, but I didn't know there were several kinds of [op] now. :)
psch as in, i know the two spots where it does things, and the two things are kind of related, but not really...
m: say 5 [[[+]]] 5 21:59
camelia rakudo-moar e80490: OUTPUT«10␤»
vendethiel m: my &add = -> { $^a * 2 + $^b }; say [[&add]] ^10
camelia rakudo-moar e80490: OUTPUT«===SORRY!=== Error while compiling /tmp/YJSjkQS97q␤Placeholder variable '$^a' cannot override existing signature␤at /tmp/YJSjkQS97q:1␤------> my &add = -> { $^a * 2 + $^b }⏏; say [[&add]] ^10␤ expecting any…»
Juerd Mind blown.
vendethiel m: my &add = { $^a * 2 + $^b }; say [[&add]] ^10
camelia rakudo-moar e80490: OUTPUT«1013␤»
vendethiel Juerd: ^ :P
Juerd What is it called? 22:00
22:00 bobv left
tadzik [Tux]: hmm, I don't remember any oneliner :/ 22:01
vendethiel Juerd: it's the same meta-reduce. but you can pass a function
b2gills m: my $a = 5; $a [[+]=] 5; say $a
camelia rakudo-moar e80490: OUTPUT«10␤»
22:01 andreoss joined
Juerd vendethiel: What's the difference between [] and [[]]? 22:02
vendethiel Juerd: sorry, sorry, not trying to confuse you here
Juerd: [[]] is necessary to pass a function as reducer.
Juerd Oh, I see
So [+] is sugar for [[&infix:<+>]]? 22:03
vendethiel m: say [[&infix:<+>]] ^10; # just try it :-)
camelia rakudo-moar e80490: OUTPUT«45␤»
psch m: sub add { $^a + $^b }; say 5 [&add] 5
camelia rakudo-moar e80490: OUTPUT«10␤»
Juerd No, I meant definitionwise
vendethiel Juerd: also, []-wrapping comes very useful when there are ambiguities. Like "@a <<[<]>> @b"
psch: oh, didn't know that actually worked. TIL 22:04
psch Juerd: not quite, [&sub] is the infix form of &sub
22:04 FROGGS_ joined
psch Juerd: but &infix:<+> is already an infix without the infix "marker" 22:04
vendethiel Juerd: design.perl6.org/S03.html#Turning_a...o_an_infix
Juerd Is [something] expected to behave like [[&infix<something>]] in all cases, or does this just happen to be the same in this specific case?
vendethiel Juerd: and see just before, "nesting of metaoperators"
Juerd psch: Oh!
psch (where «infix "marker"» means the longname)
vendethiel Juerd: sorry :P. I'll let the spec do the speaking now 22:05
(and psch++)
Juerd psch: That helps. I thought [[ itself was one token, but the inner [] are different from the outer [], they just happen to look a lot alike.
PerlJam m: sub add { $^a + $^b }; say 5 [[[[[&add]]]]] 5
camelia rakudo-moar e80490: OUTPUT«10␤»
PerlJam It's turtles all the way down 22:06
itz_ grrr ecosystem-api.p6c.org is blocked by one of the UK ISP web filters as "malware"
22:07 FROGGS left 22:09 kjs_ joined, skids left, rurban_ left 22:11 alini left 22:12 beastd left
dalek volaj: b51ff75 | FROGGS++ | t/05-arrays.t:
unfudge native-sub(Buf) test
22:12
p: 369084b | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
[jvm] allow to pass VMArrays (Blob) to native subs
22:13
22:14 brrt left
FROGGS_ ohh, now that I pushed it I think I'd need to take the .start into account :/ 22:14
I'm going to bump the revision anyway 22:15
dalek kudo/nom: 613c0bc | FROGGS++ | tools/build/NQP_REVISION:
bump nqp rev for nativecast improvements on jvm
FROGGS_ jnthn: is there a way to force a case where .start is non-zero? 22:16
jnthn FROGGS_: nqp::unshift something
FROGGS_ ahh
that is what .start is for 22:17
jnthn yes ;)
FROGGS_ :o)
Juerd m: say [,] 1, 2, 3 # makes no sense
camelia rakudo-moar e80490: OUTPUT«1 2 3␤»
Juerd Possibly anyway. Nice.
FROGGS_ Juerd: the best thing is that it is not a hack
jnthn: I care about .start tomorrow... I am too tired atm 22:18
nwc10 FROGGS_: when do the FROGGSlets wake up? 22:19
FROGGS_ nwc10: well, the tiniest will wake up every now and then, but the mid sized one tends to wake up at half past six 22:20
which is the right time to get up luckily
nwc10 :-)
FROGGS_ :o)
nwc10 the small alarm clock here is not totally reliable
22:21 adu left, zakharyas left
nwc10 on the other hand, start time at $work is flexible (and public transport is frequent) so it doesn't matter massively 22:21
FROGGS_ our alarm clock was malfunctioning for a week due to an illness
nwc10 ours have been ill too
FROGGS_ nwc10: same here
nwc10 so have we
FROGGS_ aye
nwc10 seems that we also got the grandparents 22:22
FROGGS_ seems the right time to be ill or so
nwc10 two other people at work were ill. I hope I didn't get them
jnthn I just taught my 3rd course of the year.
nwc10 is that a high number or low number?
jnthn It was, however, the first course of the year when I didn't spend part of it suffering with some illness.
nwc10 yay!
jnthn (First one - an icky cold. Second one - either stomach virus or food poisoning.) 22:23
22:24 mr-foobar left
FROGGS_ gnight 22:26
22:26 FROGGS_ left
jnthn 'night, FROGGS++ 22:28
22:29 andreoss left 22:31 andreoss joined 22:32 daxim left 22:36 Kristien left 22:37 Mouq left 22:44 konsolebox left, virtualsue joined 22:45 colomon joined 22:46 daxim joined
masak pmichaud: re irclog.perlgeek.de/perl6/2015-02-04#i_10061249 , see github.com/perl6/specs/commit/9950...a69fc9e4a5 22:52
22:55 Kristien joined 23:02 virtualsue left
Kristien m: say 1 xx 10 Z+< 1..* 23:09
camelia rakudo-moar e80490: OUTPUT«2 4 8 16 32 64 128 256 512 1024␤»
Kristien absolutely amazing :D
23:09 rindolf left
avuserow_ m: say 1 xx 10 <<+<<< 1..* 23:10
camelia rakudo-moar e80490: OUTPUT«$(1,)..Inf␤»
avuserow_ m: say 1 xx 10 >>+<>> 1..*
camelia rakudo-moar e80490: OUTPUT«$(1,)..Inf␤»
avuserow_ hm, thought there was a similar way to write that
timotimo m: say 1 <<+<<< 1..*
camelia rakudo-moar e80490: OUTPUT«(2,).list.item..Inf␤»
Kristien m: say map * ** 2, (1, 2, 4 ... 64)
psch m: say 1 <<+<<< ^10
timotimo m: say 1 <<+<<< (1..*)
camelia rakudo-moar e80490: OUTPUT«1 4 16 64 256 1024 4096␤»
rakudo-moar e80490: OUTPUT«␤»
rakudo-moar e80490: OUTPUT«1 2 4 8 16 32 64 128 256 512␤»
timotimo m: say 1 <<+<<< (^10)
camelia rakudo-moar e80490: OUTPUT«1 2 4 8 16 32 64 128 256 512␤»
timotimo exactly, psch
Kristien what does <<=<<< mean? 23:11
and <<+<<<
psch Kristien: hyper meta op
timotimo may want to use «+<« instead to make it stand out more what's the operator being hyper'd 23:12
psch Kristien: <<$op<< means "take the right as total result list length and repeat the left to match" iirc
Kristien I like how when someone posts code here others posts millions of other ways to do the same thing :)
psch m: say 1 <<+<< 1,2,3
camelia rakudo-moar e80490: OUTPUT«223␤»
psch eh, [,] precedence
m: say 1 <<+<< (1,2,3) 23:13
masak 'night, #perl6
camelia rakudo-moar e80490: OUTPUT«2 3 4␤»
psch g'night masak
m: say (1, 2) <<+<< (1,2,3)
camelia rakudo-moar e80490: OUTPUT«2 4 4␤»
psch m: say (1,2,3) >>+<< (3,2,1)
camelia rakudo-moar e80490: OUTPUT«4 4 4␤»
psch Kristien: S03:Hyper operators 23:14
Kristien m: (1 xx * Z+< 1..*).say
psch hrm, did i break synopsebot with my PR? :/
camelia rakudo-moar e80490: OUTPUT«2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736 1…»
Kristien interesting
psch design.perl6.org/S03.html#Hyper_operators is the link 23:15
Kristien thanks!
23:15 kjs_ left 23:16 mohij left
Kristien m: (map * ** 2, (1..*)).say 23:16
camelia rakudo-moar e80490: OUTPUT«1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 625 676 729 784 841 900 961 1024 1089 1156 1225 1296 1369 1444 1521 1600 1681 1764 1849 1936 2025 2116 2209 2304 2401 2500 2601 2704 2809 2916 3025 3136 3249 3364 3481 3600…»
Kristien now this is interesting 23:17
23:17 muraiki_ joined
Kristien nah not really :P 23:17
avuserow_ m: (map * ** 2, (1..*)).elems.say
... but watch for timeouts :)
camelia rakudo-moar e80490: OUTPUT«Memory allocation failed; could not allocate 60928 bytes␤» 23:18
psch m: say (** ** 2)(1..*) #
camelia rakudo-moar e80490: OUTPUT«1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 625 676 729 784 841 900 961 1024 1089 1156 1225 1296 1369 1444 1521 1600 1681 1764 1849 1936 2025 2116 2209 2304 2401 2500 2601 2704 2809 2916 3025 3136 3249 3364 3481 3600…»
Kristien m: ((1 xx * Z+< 0..*) Z= (map 2 ** *, (0..*)))[^10].say 23:19
camelia rakudo-moar e80490: OUTPUT«===SORRY!=== Error while compiling /tmp/5hXx9FOyrX␤Cannot zip with = because list assignment operators are too fiddly␤at /tmp/5hXx9FOyrX:1␤------> ((1 xx * Z+< 0..*) Z=⏏ (map 2 ** *, (0..*)))[^10].say␤»
Kristien m: ((1 xx * Z+< 0..*) Z== (map 2 ** *, (0..*)))[^10].say
camelia rakudo-moar e80490: OUTPUT«True True True True True True True True True True␤»
23:19 Kristien left 23:20 Kristien joined
Kristien I keep being beaten by Z= vs Z== 23:21
timotimo m: say 1, 2 ... *
camelia rakudo-moar e80490: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8…»
timotimo m: say 1, 2, 4 ... *
camelia rakudo-moar e80490: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…»
labster Ovid_++ saw your blog linked on HN, good work. Minor nitpick: "So why isn't .1 + .2 + .3 zero?" Uh, because it's .6? 23:26
Kristien m: say (.1 + .2 - .3) 23:31
camelia rakudo-moar e80490: OUTPUT«0␤»
Kristien m: say (.1 + .2 - .3) == 0
camelia rakudo-moar e80490: OUTPUT«True␤»
Kristien m: say (.1 + .2 - .3) == .0
camelia rakudo-moar e80490: OUTPUT«True␤»
Kristien wow such precision 23:32
23:33 gfldex left 23:34 _dolmen_ left
Kristien I think I kinda get it, though I don't see the difference between »+« and Z+ 23:38
23:38 lsm-desktop joined
muraiki_ "But long before I get to Perl 6, I want to explain why I like is COBOL" 23:39
why I like is COBOL?
Juerd You no like is cobol then? 23:43
muraiki_ heheh 23:44
Kristien m: sub SORRY { }; say 'a' ===SORRY!=== 'b'
camelia rakudo-moar 613c0b: OUTPUT«True␤»
Juerd Are you say you is not like cobol!
Kristien Redirect perl6' stderr to perl6!
jnthn Kristien: :P 23:48
jnthn gets some rest :)
'night, #perl6
23:56 jack_rabbit joined