»ö« 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 masak on 12 May 2015.
[Coke] Hello. 00:00
dalek kudo/nom: 06edf9d | coke++ | src/core/IO/Handle.pm:
Remove parrot-only code path.
00:07 chenryn_ joined
BenGoldberg m: say so 42; 00:11
camelia rakudo-moar 7f0e6a: OUTPUT«True␤»
BenGoldberg m: say !! 42;
camelia rakudo-moar 7f0e6a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8atS5MDzab␤Two terms in a row␤at /tmp/8atS5MDzab:1␤------> 3say !!7⏏5 42;␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statemen…»
BenGoldberg m: say ! ! 42;
camelia rakudo-moar 7f0e6a: OUTPUT«True␤»
00:12 chenryn_ left, rurban left, PotatoGim joined 00:19 dkm_ joined 00:20 gfldex left 00:21 laouji joined, pdurbin left 00:22 gfldex joined, perlboy_ joined, pistewaffle joined 00:23 konobi joined, rjbs joined
konobi say what?! 00:23
perlboy_ How do I install the man pages? doesnt seem rakudo did so.
rjbs "what?!".say
00:23 pistewaffle left
timotimo m: "what?!".say 00:25
camelia rakudo-moar 06edf9: OUTPUT«what?!␤»
00:25 laouji left 00:26 Peter_R left 00:28 pfhork joined
perlboy_ anyone...man pages for OSX brew install...? 00:28
00:29 laouji joined
konobi tried `brew options <perl6?>` ? 00:29
00:29 TingPing joined
pfhork I think I used OS X provided perl to run perlbrew.pl/ and got man pages. ymmv 00:30
00:30 muraiki joined
mst and then there's rakudobrew for installing rakudo 00:30
timotimo i'm not even sure rakudo has a man page
perlboy_ yeah I 'brew install raduko-star' - no man option 00:31
00:32 johnjohn101 joined 00:34 boggard joined, kk4vcz left
johnjohn101 hi perl6 peeps 00:36
what's the word?
perlboy_ Hm seems canonical(?) Perl6 documentation is on GitHub: github.com/perl6/doc
00:36 Idiosyncrat joined
johnjohn101 perl 6 will be "out" EOY? what will be available? 00:37
00:37 coetry joined
TimToady perlboy_: doc.perl6.org 00:37
timotimo bird's the word! :)
coetry TimToady, are you seriously Mr. Larry? 00:38
johnjohn101 so perl6 will use the java engine? or will it be parrot?
TimToady johnjohn101: yes, more or less what works now
00:38 dbenton joined
TimToady moar and maybe java 00:38
timotimo coetry: he's not always very serious
johnjohn101 TimToady: so download rakudo? 00:39
Idiosyncrat Just dropped in to say congratulations on the announcement.
00:39 laouji left
timotimo johnjohn101: we've not been developing against parrot for multiple months now 00:39
coetry TimToady, congratulations sir, you are an inspiration. I look forward to joining the perl community
TimToady bows
johnjohn101 timotimo: i see
00:39 mattprelude left
timotimo johnjohn101: the release will likely be on JVM; it will be on MoarVM guaranteed 00:39
00:39 laouji joined
Idiosyncrat I was at the Monterey convention where the Perl 6 decision was made, though not "in the room" 00:40
TimToady tried to show forest-fire running on JVM last night, but it blew up on the signal handler :)
Idiosyncrat Which is OK because I'm not good at dodging coffee cups.
johnjohn101 timotimo: interesting.
00:40 rurban joined 00:41 alpha- left
Idiosyncrat I'm pleased to hear that Perl 6 includes Lua. 00:42
Which version? 5.1? 5.2?
muraiki Idiosyncrat: github.com/raydiak/Inline-Lua/ 00:43
timotimo "includes" lua?
ah, that
TimToady it doesn't include Lua, but there's a start on an Inline::Lua module
Idiosyncrat muraiki: thanks
timotimo just like Inline::Perl5 and Inline::Python
except the latter two are very advanced
TimToady well, the Python one doesn't really do the 'inline' part yet
ShimmerFairy Maybe they're referencing MoarVM's lua stuff as well? (I recall hearing luajit around mvm, at least) 00:44
00:44 laouji left
TimToady still have to use the object there 00:44
00:44 laouji joined
Idiosyncrat OK. Says 5.1 and Luajit compatible, which is good because that's exactly the choice we made for Marpa 00:44
timotimo there's a minilua in MoarVM's build system
TimToady it uses luajit, yes, though I don't know if that will continue
once we get our own superjit, which has been in the works all summer
timotimo oh 00:45
we're not using "luajit", we use "dynasm", which is what luajit uses
muraiki I was hoping we'd go with lejit
bad attempt at pun 00:46
TimToady all attempts at pun are bad :P
BenGoldberg That pun was illejit. 00:47
Idiosyncrat He did manage to find a pun not already used as the name of a language.
timotimo: minilua? 00:49
timotimo yeah, just a tiny lua implementation we can use to run dynasm on our source 00:50
only needed when you develop
and only needed once during the build steps
Idiosyncrat Lua is already pretty mini.
00:50 laouji_ joined
Idiosyncrat Did you drop language features? 00:51
timotimo we didn't do anything :)
github.com/LuaDist/luajit/blob/mas.../minilua.c - apparently minilua belongs to luajit?
00:53 DaveFol joined 00:54 tokuhirom joined
Idiosyncrat Gotta wonder why you'd try to shrink Lua any further -- though Mike Pall is definitely a guy who knows what he's doing, so I guess there had to be a reason 00:54
00:55 laouji_ left
boggard i was going to jokingly ask when there would be an inline C module, but then i looked again at the modules directory and sure enough... 00:55
00:55 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo of course 00:56
00:57 konobi left 00:59 tokuhirom left 01:01 chrstphrhrt joined 01:02 Idiosyncrat left 01:03 DaveFol left
llfourn o/ #perl6 01:03
congrats on new site
looks good
pink_mist Zoffix++ 01:04
llfourn indeed! 01:05
fling perl6.org/ ?
fling is on cdma, can't check atm :P
llfourn yes it's new and bootstrappy 01:06
but not too much
fling hmm hmm. 01:08
rjbs So, I have a Buf[uint8].
01:08 chenryn_ joined
rjbs Something is doing $buf1.push( $buf2.list ) 01:09
I get: This type cannot unbox to a native integer
This used to work. Any hot tips?
ShimmerFairy try .append, if that's available on Buf 01:10
pfhork I just realized I was in a Perl6 channel... I retract my mention of Perlbrew. 01:11
01:11 sufrostico left
BenGoldberg perlbrew 01:12
There aren't enough versions of perl6 yet for that to be worthwhile!
timotimo rjbs: we probably have to implement append and prepend for buf
llfourn rjbs: $buf1.push(|$buf2)?
01:12 chenryn_ left, nbiiebbiih joined
llfourn i dunno much about native bufs but .list might not behave the same way after GLR 01:13
01:13 shifty_ joined
timotimo we may want a hundred more tests in the spec test suite for this 01:13
rjbs timotimo: But it worked in June. :-/ 01:14
llfourn: That sounds like a guess.
llfourn: I mean, a good guess!
01:14 shifty_ left
llfourn rjbs: it sure is a guess :D 01:14
ShimmerFairy rjbs: .push was recently changed so that $a.push($a.pop) always ends up with the same list, with .append taking the place of "push a list"
mst pfhork: I dunno, you can use perlbrew to get a decent perl, then rakudobrew to use that to build a perl6
rjbs llfourn: It was a good guess.
timotimo june is oooold :)
rjbs Yeah, I knew some GLR stuff would affect this code.
pfhork Dropped in perl6 to ask this Question: If /. says last night Larry said perl6 is released as a development preview, why is there nothing about that on perl6.org the perl6-announce list ... is it (Christmas) a misunderstanding, or specific to some subpart of perl6? 01:15
rjbs Next problem is: 01:16
Cannot unbox a type object in any at /Users/rjbs/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Metamodel.moarvm:1 in block <unit> at t/basic.t:163
That line is: is-deeply( $zscii, Buf[uint16].new("Ameri\x[9D]ans".split('')>>.ord), "...and they're what we expect too", 01:17
timotimo pfhork: is it already christmas?
01:17 BenGoldberg left
timotimo m: Buf[uint16].new("Ameri\x[9D]ans".split('')>>.ord) 01:18
camelia rakudo-moar 06edf9: OUTPUT«Cannot unbox a type object␤ in any at gen/moar/m-Metamodel.nqp:1670␤ in block <unit> at /tmp/mfcMUJICOi:1␤␤»
mst pfhork: rakudo has been having monthly releases for years
timotimo m: say "Ameri\x[9D]ans".split('')>>.ord.perl
camelia rakudo-moar 06edf9: OUTPUT«(Int, 65, 109, 101, 114, 105, 157, 97, 110, 115, Int)␤»
timotimo haha
m: say "Ameri\x[9D]ans".comb>>.ord.perl
camelia rakudo-moar 06edf9: OUTPUT«(65, 109, 101, 114, 105, 157, 97, 110, 115)␤»
timotimo why use split('') and not comb?
rjbs timotimo: probably ignorance
mst pfhork: so far as I'm aware all that happened last night was larry gave a talk saying "probably this christmas", like he did at FOSDEM earlier etc.
rjbs Do bugs have comb?
bufs
timotimo if the thing you're splitting with matches at the beginnign and/or end, you'll end up with '' at the beginning and end
ShimmerFairy rjbs: no, afaik 01:19
rjbs fixing
01:20 nightfrog left, pfhork left, thowe left
timotimo m: "hiwhathi".split("hi").perl.say 01:21
camelia rakudo-moar 06edf9: OUTPUT«("", "what", "").Seq␤»
timotimo ^- for comparison
01:21 obra_ is now known as obra 01:22 nbiiebbiih left, nightfrog joined, perlboy_ left
timotimo that's why it gives you the '' at the beginning and end when you .split("") 01:22
01:23 phork joined 01:25 phork left, pfhork joined
pfhork Thanks; I ... guess it's not actually real big news then. Sorry my captive-portal wifi crapped out just after I asked. 01:26
llfourn how do I find path of current source file? (ie FindBin) 01:27
timotimo to be fair, we've been doing lots of releases for a long time
but now we have 6.Birthday
and soon we'll have 6.Christmas
mst pfhork: larry gave a talk, somebody wrote a blog post with a suggestive title, lots of people then reported the title and not the content
pfhork: welcome to the internet
01:28 nuc_ joined, nuc left
pfhork Okay... thanks. I did check the log after reloading. So I guess it's what I suspected and not something more special. (not to detract from existing regular releases) 01:29
timotimo to be fair, we have been looking forward to this time
as the "first release we'll use the special 'ready' word for", or something like that
because people have been bugging us like crazy about this s**t :)
"but when will it be production ready?" - "well, what is 'production ready' for you?" - "oh you're just evading the question!1"
pfhork It could be an opportunity for attention, better managed by calling it out on perl6.org. 01:30
timotimo since we've been working on perl6.org recently anyway, perhaps we should put a blurb bout that there
pfhork production is always a matter of "what makes you want to say that"
01:30 roguelazer left
timotimo that's what we say anyway, pfhork :) 01:31
others aren't so interested in that
mst don't worry, if you think it's annoying in here, you should see how annoying it is for the perl5 community
"
"why haven't you released a major version?"
"we did, version 22 came out this year"
01:31 [Sno] left
mst "but but but perl6" 01:31
timotimo oh god
mst "that's a different language that is very cool but not the same thing"
01:32 roguelazer joined
mst "but WHY HAVEN'T YOU RELEASED A MJAOR VERSION" 01:32
"*shoots user*"
or "omg, you mean this is going to be python 2/3?"
"no, they're TWO LANGUAGES. also we have interop both ways"
"but but but"
"*shoots user again*" 01:33
mst ponders writing a blog post titled "almost, but not entirely, quite unlike python 3" 01:34
ShimmerFairy My preferred analogy is C and C++. Two different languages, it takes a little work to let the other language use your language's stuff ('extern "C"' et. al.), but they're undoubtedly connected :)
pfhork Should it be explained like C & Obj-C or C & C++ or C & C# [I believe that's varying degrees of sibling-hood]
mst I like C and C++ as an analogy 01:35
01:35 laouji_ joined
mst since in general I've been criticised and insulted about equally by perl5 and perl6 people for using it 01:36
ShimmerFairy pfhork: like I just said, I've thought of it like C/C++ for quite a while :)
mst which suggests it's probably right
ShimmerFairy mst: I wouldn't know for sure, but I feel like python 2/3 isn't quite as good a comparison, because AFAIK 3 is still seen as the "next version" of Python. 01:37
mst also C# is a java family language, so that makes no sense
ShimmerFairy: uh. that's precisely my point.
ShimmerFairy mst: oh, I'm afraid I misunderstood your point then. I thought you wanted to point out how neither is a direct successor of the other, kinda like C and C++ (where C++ isn't seen as the "next version" of C) 01:38
mst I do
that's why the python 2/3 comparison makes no sense at all
ShimmerFairy mst: ah, so "precisely my point" was about me saying python wasn't a good comparison then? :) 01:39
mst yes!
timotimo %)
this system is finally converging instead of oscilating! :)
mst hence why I was suggesting a blog post titled 'almost, but not entirely, quite unlike python 3' 01:40
ShimmerFairy mst: OK, sorry 'bout the confusion. I misread the tone of that response :)
mst also hence why the dialogue where somebody compared python ended with '*shoots user again*'
pfhork There's always B & C or C & D, ... ML and OCaml
mst ShimmerFairy: no, no, C/C++ is my goto comparison
ShimmerFairy good, mine too :)
01:40 laouji_ left
mst ShimmerFairy: not sure what part of 'I like C and C++ as an analogy' led you to think I disagreed :D 01:41
pfhork but... I'd feel strange calling C# a Java family language; I think you only get to be in the family if you compile to java bytecode and run on the jvm. The [DC]LR might be analogous, but it's different.
mst pfhork: um. lolwut?
ShimmerFairy mst: that statement read to me like "oh, that's a good idea for my post" rather than "yes, I've felt the same". Sorry for misinterpreting things :D
mst C# is not a *JVM* language
but it's totally a java derivative 01:42
the whole point was to be a java derivative except suck less
at which I think it's succeeded admirably
ShimmerFairy: yeah. the bit I was confused by was why you thought I liked python 2/3 as a comparison when I brought it up specifically as a thing that was obviously wrong :D 01:43
ShimmerFairy If I remember my history, C# was Microsoft's way of saying "you won't let us make a Windows-based variant of Java, Sun? Well fine then, we'll make our own."
pfhork mst: right, it is not. So it's not quite fair to call it a java family language. Unless there's some definition of that family that's different than what I was thinking it was.
mst pfhork: wut
language family is something totally different to runtime
timotimo C# is so similar to java that i'd be willing to put them into one family
mst moarvm and the perl5 VM are completely different codebases
boggard except that java runs just about anywhere, and .net doesn't.
mst but they're still both perl family
pfhork: I'm talking about language families 01:44
pfhork: runtimes are a totally separate thing
pfhork okay, so here, the def of lang family is different than how I'd considered it. Duly noted.
boggard those are runtime implementations.
llfourn borthers from another mother :D
boggard openjdk and oracle-jdk are completely different codebases as well. 01:45
mst pfhork: 'things that share a runtime' are a totally different thing to language family in every conversation I've ever had about language families
like ... lisps are definitely a language family
'JVM implemented languages' is an important grouping
pfhork which you'd put scheme in
mst common lisp, scheme, eulisp, clojure
symbolics lisp, for all four people who still remember it 01:46
01:46 chrstphrhrt left
pfhork and then clojure is... on the jvm right, so you get some interoportunities 01:46
boggard ouseful.files.wordpress.com/2012/0...luence.png
the whole idea of 'language family' implies an arbitrary threshhold.
some languages are more closely related to each other than other languages. anything beyond that is subjective. 01:47
ShimmerFairy pfhork: 'language family' is more akin to how we tend to group natural languages, e.g. Romance, Germanic, etc. That is, it's more about the similarities and history behind the language, rather than the places supporting them.
mst right
are you going to claim that java magically became a different language when the dalvik implementation was released?
01:47 rurban left
mst (note: I'm not saying you are, I'm just trying to illustrate what I mean) 01:47
timotimo why are we even talking about this still : 01:48
:)
it seems to me everybody already knows everybody's position on this
pfhork yeah I didn't want to waste anyone's time
someone was asking about a queue or something
mst timotimo: because we were trying to expand on our positions to avoid confusion 01:49
timotimo OK :)
mst and to present useful linguistic parallels that make the concepts clearer
clarity is nice
Zoffix llfourn, thanks :) After reading maybe too many trolls and haters about the new design it's nice to see people who do like the new design :) 01:51
ShimmerFairy Along the natural language analogy: just because the UN officially supports Germanic and Romance languages, doesn't mean they're any more related to each other :)
Zoffix I didn't even expect the new design to "make the news". It was a couple of hours of work over a beer lol :)
01:51 laouji_ joined
timotimo i like the new design 01:51
mst would be nice if the link at the bottom said 'perl5 to perl6' instead of 'perl 5 to 6'
the former would be more consistent with the 'two languages' principle
boggard front page of slashdot.
llfourn Zoffix: Much better than it was before and much easier to improve it from here
boggard i remember when that used to mean something :P 01:52
mst I'm pretty sure it still does
dalek href="https://perl6.org:">perl6.org: a491a2d | (Zoffix Znet)++ | includes/footer:
Differentiate between Perl 5 and Perl 6 more explicitly
01:53
Zoffix mst, your wish is my command :p
dalek osystem: e3b8b13 | ShimmerFairy++ | META.list:
Add Grammar::Parsefail to the ecosystem

Also, correct some of my modules to my changed username.
01:54
01:55 thowe joined 01:56 laouji_ left
mst Zoffix++ 01:56
sorry, we're going to have so much trauma over people failing to get it in the next year or so, I'm trying to be pedantic in advance :) 01:57
pfhork Front page of /. means the same in magnitude as it did in 2000. Meanwhile other magnitudes have eclipsed it.
timotimo not a bad idea
Zoffix I try to view it from the positive side: "Perl: Two languages. One family"
ShimmerFairy
.oO( mst -Wpedantic )
pfhork May I say that mst and others are right when you think of the language from its own linage and useage perspective that you get family groupings and influences, with loan-words-and-concepts. I just, thought of family as a community or clique, which is where my difference stemmed, and C# and Java stand apart there on common libraries (some get cross ported etc, so yeah... hibernate, hibernate.net, lucene, lucene.net etc.) I may have been 01:58
mst pfhork: aha! 01:59
pfhork it was quiet.
mst pfhork: and I've just remembered the word I forgot to use earlier
pfhork: JVM *ecosystem*
pfhork oh; right.
mst is how I see that
01:59 Tideflat joined
mst 'language family' versus 'platform ecosystem' 01:59
and then I think everything is basically clear all round :D
C# code as written/deployed is mostly in the context of the CLR/.Net ecosystem, yeah 02:00
02:02 kid51 left, dkm_ left
pfhork Yeah. I've idly wondered if packaging and containerizing a java app on Dalvik instead of Open/Oracle JDK, would work or have any utility, peculiar or not. Pardon; I'm getting kicked out of the locale with the captive portal wifi. I appreciate the discussion and clarifications on the reporting regarding perl6. And language relationships. 02:04
02:04 jasanj``` left
timotimo talk to you again some time, pfhork! 02:05
02:09 telex left, chenryn_ joined, pfhork left 02:10 telex joined 02:13 chenryn_ left 02:15 ajjay827 joined, muraiki left
ajjay827 Looking to get started with perl 6 02:16
timotimo cool 02:17
have you installed a version of rakudo yet?
02:17 pecastro left
ajjay827 I will right now. Only after I install will it show me what I need to do. 02:17
?* 02:18
I know c and c++
timotimo hm? "show you what you need to do"?
it's also interesting to know what operating system you're on
ajjay827 I have a dual boot
I use Linux and Windows 10
timotimo ah, ok 02:19
ajjay827 Ill use Windows if the process is easier
timotimo personally, i'm a linux user, so i believe it's easiest to do it on linux; it's easy-ish to do on windows, as well ... i just don't know how
we often release a .msi for rakudo star
Tideflat Command-line things are often easier to do on Linux.
timotimo let me see if there's something up to date
ajjay827 For sure 02:20
timotimo oof, the newest .msi we have on offer is 2015.06
TimToady better just rakudobrew something more recent 02:21
ajjay827 Ok
02:21 laouji_ joined
timotimo that's right 02:21
rakudobrew works on windows, too
but there's some stuff you need ... like strawberry perl? i think?
TimToady probably easier on Linux
ajjay827 Ok sounds good. 02:22
timotimo and the MSVC compiler, which you probably have already
02:22 moznion joined
TimToady you might need to install build-essentials on Linux, if you haven't been developing 02:23
ajjay827 i just finished school for programming 02:24
I haven't developed really anything
TimToady build-essential
02:24 pecastro joined
ajjay827 Ok I'll do that first 02:25
llfourn (build-essential is only for debian things I think)
ajjay827 I have Linux mint
TimToady which is debian based via ubuntu 02:26
ajjay827 That should work
02:26 laouji_ left
timotimo yeah, should work well 02:26
TimToady uses mint
ajjay827 👍
timotimo on anything fedora-ish you'll be able to dnf groupinstall 'Development Utilities' or something similar to that
Tideflat Didn't mint switch to directly from Debian?
timotimo er, actually, only fedora has dnf, others have yum
anyway 02:27
02:27 tokuhirom joined
TimToady wishes irssi actually handled Unicode outside the BMP... 02:27
.u 👍 02:28
yoleaux U+1F44D THUMBS UP SIGN [So] (👍)
02:28 noganex joined
boggard unicode is for the weak and infirm. 02:29
TimToady then it's for me :)
ShimmerFairy Is source-url still meant to be used in META6.json ? It's not in S22, but Panda apparently needs it.
02:30 noganex_ left
ajjay827 Ok it's downloading 02:31
timotimo ajjay827: after build-essential, the next thing you'll want is a git clone of rakudobrew which you'll find on github
github.com/tadzik/rakudobrew
ajjay827 Ok 02:32
02:32 dbenton left, laouji left
timotimo it has installation instructions in its readme 02:32
02:32 laouji joined
ajjay827 Ok downloaded it and now reading 02:36
02:36 kaare_ joined
ajjay827 Thank you for your help. Now it's time for me to learn 02:37
02:37 timbunce_ left
timotimo sure 02:37
there's a nice set of slides that ought to be a good introduction to perl 6
jnthn.net/papers/2015-spw-perl6-course.pdf 02:38
thowe Man, nothing brings out the haters like suggesting Perl (especially Perl 6) should be paid attention to.
ajjay827 Ok
thowe I should probably just not look at slashdot 02:39
ajjay827 Oh yeah bad ass
Thank you
Tideflat Is it true that perl 6.0 has been released? 02:40
thowe If I use a recent rakudobrew will I get the latest 6.0.0 dev release?
timotimo 6.0 is for christmas
we have 6.Birthday at the moment
TimToady we just went to beta state
Tideflat ah, thank you. 02:41
thowe Tideflat, I think it was a dev release for the release planned for Christmas
Tideflat Does perl 6 have scalar and list contexts like perl 5?
timotimo not in the same way
TimToady the heavy-duty language tweaks of the last year are essentially done, and now we're just doing docs, bugs, and optimizations for December 02:42
timotimo you could say "not at all"
thowe I went to a "tutorial" for Perl 6 at YAPC::NA not knowing much about it. Despite being very tired and buzzed, mind was blown.
I think I heard context is not a thing in Perl6
timotimo perl 6 has a few neat things, yeah
thowe I'll be loving on Perl 5 for a long time, though. 02:43
TimToady context works lazily in Perl 6, so it's a binding-time concept, not a compile-time concept
thowe I'm about 4 years into playing with it and would kind of like to get a job doing it, but I'm not sure how to make that transition. 02:44
so I'm rewriting everything at work in Perl.
02:46 ajjay827 left
timotimo it's not necessarily the best strategy to just rewrite everything in perl just for rewriting in perl 02:46
thowe TimToady, huh, can you link to an explanatory example? 02:47
timotimo, Well, it all needs to be rewritten anyway, as it sucked the first time, but I'm now better at programming in perl than anyone else here has ever been programming in anything. The end results are helping us a lot. 02:48
timotimo oh
that's all right in that case
thowe Redoing our CRM/Billing interface in Mojo. Superfun 02:49
timotimo oh, CRM, that's a hairy thing
thowe timotimo, yeah... It's really easy to overthink something as seemingly easy as a contact record schema 02:50
02:51 laouji_ joined
thowe all the bootstrappy/jQuery/ajaxy/Angular/Mojo magic I've been weaving is making people happy, though. 02:52
llfourn thowe: I get good things done with angular + mojo too :)
thowe "Domain Driven Design" is a nice authoritative thing to point to when I need to explain what I'm up to, also. 02:53
02:53 jwhitecl joined 02:54 coetry left
thowe I'm sort of "community trained". listeing to falks like mst has helped me come a long way. I finally met other people people in person this year at YAPC::NA. It changed me. 02:55
s/falks/folks/
02:55 laouji_ left
thowe my nonstop Perl harping has gotten another guy at work into it, so there's that 02:57
02:57 jwhitecl left
ShimmerFairy .ask lizmat is 'source-url' still a thing you need to put in your META6.json, or is it just something panda still needs? I ask because it's not in S22, so I'm not sure if it was missed or it's 'deprecated', in a sense. 02:57
yoleaux ShimmerFairy: I'll pass your message to lizmat.
llfourn good to hear that people are still learning perl given that there is no hype with it 02:58
boggard thowe: that sounds like it has significant potential to not be maintainable. 02:59
thowe I think it gets more attention now than 4 years ago when I stumbled into it.
boggard, What does? 03:00
boggard (re: rewriting everything in perl only because it needs to be rewritten)
perl developers aren't as common as, say, java developers.
thowe boggard, It's an unmaintainable random collection of poorly written redundant php files now. I'm using a framework and an ORM lib that all my other code shares. It's a big step up and it's helping us to unify our process and reporting infrastructure. It's been great. 03:02
boggard while i would agree that that's an improvement, it may not be the best improvement :P 03:03
boggard sounds like management
thowe because it's Perl? 03:04
mst generally if people can program, they can learn perl fine 03:05
thowe mst, o hai... 03:06
I tried for years to spur the development in directions that others at work were more familiar with. It went nowhere every time. I gave up and decided to do it to suit myself, and the results have been good. 03:07
I find not using PHP is its own reward. 03:08
03:08 skids left
ShimmerFairy As far as I'm concerned, anything that leads to clearer and/or better-documented code is an improvement :) 03:09
mst thowe: trout.me.uk/quotes.txt
thowe hahaha... banjo 03:10
03:10 chenryn_ joined
thowe I thought I might be making a good compromise by trying to use code igniter. What a waste that was... 03:12
03:13 pecastro left
thowe I was like, OK, I can learn PHP if it helps move this along... Worst idea ever. 03:14
03:15 chenryn_ left 03:20 pecastro joined 03:26 n0tjack joined, Loren_ joined 03:28 chenryn_ joined, xtreak joined 03:29 Loren left
xtreak Is perl6 1.0 out? 03:29
03:29 leslie_ joined
Tideflat Not quite/ 03:29
The beta came out. 03:30
Or at least that is what I understand.
03:30 n0tjack left
TimToady we're now in beta state, but the first actual beta release will be in a week or two 03:31
but git HEAD is beta
we'll have two beta release, and then go golden in December
xtreak TimToady :):) 03:32
Is the glr work that was remaining done? 03:33
johnjohn101 that is exciting news that the 1st beta will be official
soon 03:34
xtreak Thanks a lot everyone. Will try it out first thing in the morning. Congrats to all :)
TimToady yes, glr is done 03:35
03:35 xtreak left 03:36 laouji_ joined 03:39 aba_ joined 03:40 aba_ left, emdashcomma joined 03:41 laouji_ left 03:44 n0tjack joined 03:49 chenryn_ left, n0tjack left 03:54 mattn joined 03:59 mattn left 04:00 laouji left 04:02 blackcat_ joined 04:06 Loren_ left
dalek c: 3a8317e | Xtreak++ | lib/Type/Cool.pod:
Update cosine wikipedia link with correct text

Fixes github.com/perl6/doc/issues/143 . Change sine to cosine.
04:09
c: 8ebc9db | labster++ | lib/Type/Cool.pod:
Merge pull request #144 from tirkarthi/tirkarthi-patch-1

Update cosine wikipedia link with correct text
04:10 athos_ joined 04:11 laouji joined 04:13 johnjohn101 left 04:15 athos_ left 04:17 n0tjack joined 04:18 xtreak joined 04:20 Tideflat left 04:21 n0tjack left 04:25 laubster left 04:31 milton joined, Qbee joined 04:35 kipd joined, laouji_ joined 04:36 rcy joined 04:40 laouji_ left 04:45 xtreak left 04:48 myp joined 04:49 pecastro left, n0tjack joined 04:50 khw left 04:51 pecastro joined 04:53 n0tjack left 04:54 quadtron joined
TimToady .tell masak no, the -ME in CALL-ME is not frivolous (though admittedly a joke), because CALL is completely ambiguous about who doing the calling 04:56
yoleaux TimToady: I'll pass your message to masak.
04:56 [Sno] joined 05:01 chenryn_ joined 05:05 Woodi left, quadtron left 05:06 eythian left
Qbee Hi 05:11
can any one assist me in how do I volunteer..
05:18 ovidnis joined 05:19 xtreak joined 05:22 chenryn_ left, n0tjack joined
TimToady Qbee: what are you interested in? 05:22
05:24 chenryn_ joined
TimToady it's useful to us if you simply try to write programs in Perl 6, and report here when you run into difficulties 05:24
but there are many other ways to contribute as well 05:26
05:27 n0tjack left 05:29 milton left, chenryn_ left 05:31 chenryn__ joined
Qbee @timToady, I can start with testing and automate the tests 05:35
05:36 laouji_ joined
TimToady Qbee++ 05:36
05:40 laouji_ left 05:44 aborazmeh left 05:45 [Sno] left 05:55 n0tjack joined 05:56 pecastro left 05:57 pecastro joined 05:59 n0tjack left 06:00 n0tjack joined, domidumont joined 06:01 FROGGS left 06:05 domidumont left 06:06 domidumont joined 06:07 meg joined
meg hi! 06:07
how do i join this?
gfldex meg: you may want to have a look at rakudo.org/how-to-help/ 06:08
meg thanks! 06:09
06:10 axd joined 06:12 domidumont left, domidumont joined, xtreak left 06:16 ggoebel left 06:17 diana_olhovik joined, ggoebel joined, leslie_ left 06:19 [Sno] joined
meg exit 06:20
:q
06:20 meg left 06:21 ben joined 06:25 pecastro left 06:26 firstdayonthejob joined, pecastro joined 06:32 axd left 06:34 Ven joined, n0xff left
dalek ast: 1318d4d | ShimmerFairy++ | S05-mass/stdrules.t:
Add some tests for <?same>

Fudged for rakudo, as it's NYI.
06:35
osystem: 211ee1f | (Yasuhiro Matsumoto)++ | META.list:
add p6-Growl-GNTP
06:36
osystem: cb25928 | moritz++ | META.list:
Merge pull request #67 from mattn/p6-Growl-GNTP

add p6-Growl-GNTP
06:39 grondilu joined 06:47 rindolf joined 06:49 domidumont left 06:50 FROGGS joined
[Tux] really likes this new error: 06:52
Variable definition of type Str:D requires an initializer
FROGGS \o/
good morning
[Tux] test 50000 36.552 36.441 06:55
test-t 50000 37.188 37.077
tux.nl/Talks/CSV6/speed4.html
dalek ast: 2cac060 | FROGGS++ | S11-modules/importing.t:
add RT ticket number info to test
06:58
Ven ShimmerFairy: oh, I'd never seen <same> in s05 :o 07:01
ShimmerFairy Ven: I have, and happened to run into a situation where it'd be really helpful today :) 07:02
FROGGS .tell lizmat it is a recent change, aye 07:03
yoleaux FROGGS: I'll pass your message to lizmat.
07:05 capnhex_ joined 07:06 laouji_ joined 07:09 capnhex_ left 07:10 bitmap joined 07:11 laouji_ left 07:13 Qbee left
FROGGS _itz: thanks for sharing, that is a very nice blog post... I wish I'd been there - www.10zenmonkeys.com/2015/10/06/the...ed-perl-6/ 07:16
07:17 ely-se joined
_itz me too .. it's a great venue and I look forward to the video! 07:17
07:21 jkva joined 07:23 firstdayonthejob left 07:24 paulmr joined 07:28 ShimmerFairy left 07:30 rurban joined
El_Che what are you guys doing? Being "the Perl" guy at work 3 people already came to me to tell me Perl6 was released yesterday. :) 07:31
gfldex TimToady++ gave a propaganda speech 07:32
El_Che Oh, besides the misunderstanding about what actually released, I found the attitude of people very positive 07:33
gfldex looking at comments on the intarwebs one can clearly see who gave perl6 a try and who didn't 07:34
El_Che very refreshing
_itz its at the top of hackernews! and more surprisingly most of the comments seem intelligent and sensible :) 07:37
rurban Great reception, applause! 07:39
07:40 ShimmerFairy joined
masak I loved the discussion about sequence heuristics on HN. :) 07:40
yoleaux 04:56Z <TimToady> masak: no, the -ME in CALL-ME is not frivolous (though admittedly a joke), because CALL is completely ambiguous about who doing the calling
masak "This is cool but I still don't get how it is able to distinguish between linear, power, exponential, etc. sequences so easily." 07:41
07:41 yobj joined
moritz it's called "magic" :-) 07:42
masak TimToady: if you say so. JavaScript has .call (and .apply), which in turn is inherited from the Scheme tradition. it works for them. I'd say there's a minimal amount of ambiguity -- if I see a method $obj.call(|@args), then I'd assume that what we're calling is the invocant.
but maybe I misunderstand. "completely ambiguous about *who* is doing the calling" -- er, the callee of .CALL ? :) 07:43
er, caller*
masak has more coffee
07:47 leont joined 07:48 Zimoo joined, rindolf left 07:50 Jonis joined, laouji_ joined 07:52 chenryn__ left 07:53 larion left
El_Che wow 220 comments on HN 07:53
07:54 bjz joined
tokuhirom how do i load module on run time like Class::Loader::load_class on p5? 07:54
07:55 boru joined, laouji_ left
moritz require ::($module_name); my $instance = ::($module_name).new; 07:56
sorry, I don't know anything about p5 Class::Loader
tokuhirom Thanks! it works for me :) 07:58
08:01 bjz left 08:02 zakharyas joined 08:03 g4 joined, g4 left, g4 joined 08:10 gensym joined
masak tokuhirom++ # I'm sure you deserve this, one way or another 08:11
08:11 dakkar joined 08:13 leont left 08:15 bjorkintosh joined 08:17 darutoko joined, dakkar left 08:20 dakkar joined 08:21 bjz joined
Ulti gtodd yeah I had grand plans for doing nice Stats stuff like R and Pandas make a nice DataFrame class which can just plot itself nicely etc. Happy to accept anything into that repo ;P I'll try and spend a bit of time making sure what is in there works this week 08:22
ShimmerFairy ooc, what's needed to get CURLI and the other stuff working for getting packages off CPAN? I think it'd be great if we didn't have just a humble ecosystem/ repository to maintain by Christmastime :) 08:23
08:24 boegel joined 08:25 pecastro left
ShimmerFairy Ulti: two things I can think of on Stats: first, unicode sub names where feasible :P (σ for standard deviation, for example, assuming I got the greek char right). Second, a function that told you if stats you're comparing are statistically significant. 08:26
08:26 chenryn__ joined, Zimoo left
ShimmerFairy The 'statistically significant' stuff I've done before, but I couldn't quite figure out how to calculate the CDF whose values you use in the calculation (I'm not a stats expert). 08:26
chenryn__ how can we read $*IN inside a Promise thread? 08:29
08:32 zakharyas left, chenryn__ left 08:33 zakharyas joined 08:36 laouji_ joined, pecastro joined 08:37 chenryn__ joined 08:40 laouji_ left 08:44 RabidGravy joined, chenryn__ left
dalek p: b63d6f9 | ShimmerFairy++ | / (2 files):
Add <same> rule to Cursor

This is true between two characters who are the same, and false otherwise (including at the beginning or end of string). So <?same> would be true between the characters in 'aa', but not in 'ab'.
A couple tests were added to rx_subrules.
08:44
kudo/nom: c471450 | ShimmerFairy++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for <?same>
08:45
08:45 boru left
dalek ast: a4a9f46 | ShimmerFairy++ | S05-mass/stdrules.t:
Unfudge tests for <?same>
08:46
08:50 donaldh joined, pecastro left
jnthn morning, #perl6 08:51
yoleaux 6 Oct 2015 21:19Z <FROGGS> jnthn: the initializer is now required... works on vars, attrs but not in sigs: github.com/rakudo/rakudo/commit/7f0e6a56ae
08:52 pecastro joined
jnthn ShimmerFairy: same patch looks good correctness wise :) 08:52
ShimmerFairy: Can make it fail faster by moving `$cur := self."!cursor_start_cur"()` into the branch where we matched, so we dont' create a throwaway Cursor in the failing cases. 08:53
ShimmerFairy jnthn: I hoped it would look good :) . I know having two conditional branches that lead to a fail cursor can seem redundant, but I figured it was clearer than trying to cram too many checks on one line. 08:54
That's true. I can make the change if you'd like.
jnthn (Then you don't need to bind the $cur at all in the other branches)
ShimmerFairy: If you've time to do/test the tweak it's nice to have; we need all the perf help we can get in the regex engine :) 08:55
ShimmerFairy jnthn: so the failing branches should just return the fail cursor, instead of binding it, I take it? 08:56
jnthn ShimmerFairy: Yeah, then your if/elsif/else is the top level
ShimmerFairy: uh, last statement even :)
jnthn drinks more coffee 08:57
So no need for explicit return also
08:58 Ven left, Ven joined
ShimmerFairy jnthn: yes, I wasn't planning on using the 'return' function if that wasn't clear :) 08:58
08:59 vytas left
jnthn ShimmerFairy: I didn't wake up quite enough yet for much to be clear ;) 09:00
ShimmerFairy jnthn: I heard it takes java a while to start up and help get work done anyway :P 09:01
09:02 vytas joined, chenryn__ joined
Ven ShimmerFairy++ 09:03
09:03 espadrine joined
jnthn :D 09:04
Wow, a HN thread about Perl 6 that was actually worth reading. :)
ShimmerFairy jnthn: I liked how the negative comments were harder to read :)
FROGGS umm, what HN thread is this about? 09:06
moritz news.ycombinator.com/item?id=10341832 probably
FROGGS ohh, jnthn, do we want to schedule a session to talk about serialization issues?
09:07 spider-mario joined, vytas left
jnthn FROGGS: Yeah, let's so I can unblock what you're doing. When's good? 09:08
Ven yeah, that thread was somewhat interesting.
dalek p: 3b57c8d | ShimmerFairy++ | src/QRegex/Cursor.nqp:
Optimize <same> a bit

As suggested by jnthn++ , only bother making a new cursor where it matters. Otherwise just give the fail cursor.
FROGGS jnthn: in about nine to ten hours? 09:09
that thread it quite motivating
09:09 vytas joined
dalek ecs: 8ee967d | jnthn++ | S06-routines.pod:
Remove language on proto auto-multi-ing routines.

Discussion: irclog.perlgeek.de/perl6/2015-10-06#i_11327412
09:11
jnthn FROGGS: OK, so "after dinner" :)
I should be about.
FROGGS good :o)
ShimmerFairy FROGGS: my biggest concern by this point is P6's ecosystem, namely its small size. I guess that's a good sign for the language itself though :D
Ven
.oO( the aussies are wondering why you'd want to be a boot... )
FROGGS ShimmerFairy: well, that will grow with the number of users exponentially 09:12
ShimmerFairy: my concern is more that our cpan is not nearly bullet proof yet
Ven ..and we have Inline::Perl5(/Python) :P
ShimmerFairy FROGGS: of course. Reading that thread made me realize that we really need to get our CPAN interaction working (and maybe migrating the ecosystem over, if that's desired), as well as improve on documentation. 09:13
Basically, the kind of stuff that would make it easier for newcomers: documentation, an easy way to distribute packages, and so on. 09:14
FROGGS aye 09:16
so, a lot of work to be done for a bunch of people
09:16 lizmat joined
dalek ast: 801a3a2 | jnthn++ | S (2 files):
Remove tests about proto causing auto-multi-ing.

This functionality has been removed from the design docs.
09:18
09:19 chenryn__ left
jnthn Another xams RT down :) 09:21
FROGGS I'll also close the Type:D/:U ticket after adding tests today... 09:22
09:22 travis-ci joined
travis-ci NQP build errored. ShimmerFairy 'Optimize <same> a bit 09:22
travis-ci.org/perl6/nqp/builds/84053809 github.com/perl6/nqp/compare/b63d6...57c8d7121d
09:22 travis-ci left
jnthn FROGGS: \o/ 09:22
Today we get below 90, then :)
FROGGS aye
just counted it :o)
09:23 chenryn__ joined, literal joined
jnthn is hoping to make it down to 50ish by the end of October 09:23
FROGGS wow
jnthn Some of them are mostly small things in need of a little design decision. 09:24
FROGGS yeah 09:25
jnthn There's a cluster of them around Unicode bits, and a cluster of them around I/O bits.
FROGGS sometimes you start working on an RT to solve a technical issue, and instead you've to become a language designer to solve it 09:26
jnthn A couple of parsing ones that I hope I can persuade TimToady++ to look into :)
FROGGS hmm, I like (easyish) parsing issues 09:27
jnthn Not sure how easyish they are. :)
And I think they need a decision making
rt.perl.org/Ticket/Display.html?id=67700 rt.perl.org/Ticket/Display.html?id=79174 rt.perl.org/Ticket/Display.html?id=114464 are the three notable parsing ones 09:28
ShimmerFairy I'd love if someone were able to solve The Inf Problem™. Every time I think about it, it's quite perplexing how you'd make it work.
donaldh lizmat: thanks for the weekly blog - quick comment, the "gotten a face-lift" link goes to "about:blank" for me. 09:29
FROGGS jnthn: I can make up a decision ;o)
09:29 Psyche^_ joined
lizmat donaldh: huh? lemme check 09:29
yoleaux 02:57Z <ShimmerFairy> lizmat: is 'source-url' still a thing you need to put in your META6.json, or is it just something panda still needs? I ask because it's not in S22, so I'm not sure if it was missed or it's 'deprecated', in a sense.
07:03Z <FROGGS> lizmat: it is a recent change, aye
ShimmerFairy jnthn: didn't we decide that rt.perl.org/Public/Bug/Display.html?id=67700 was horrible and wrong?
donaldh is loving the new perl.org
lizmat perl6.org I assume ? 09:30
ShimmerFairy that is, $foo.meth: {...}.perl being just like $foo.meth({...}).perl
donaldh lizmat: double : in url
lizmat donaldh++ # fixed
FROGGS ShimmerFairy: that would be the decision I'd make if I would be in the right position 09:31
jnthn ShimmerFairy: I don't recall an actual ruling, though yeah, I think there was a leaning in that direction. :)
FROGGS okay, decision made
ShimmerFairy jnthn: I do recall discussing it once, and us both agreeing that it was oh so very wrong :) 09:32
09:33 s_kilk joined, Psyche^ left 09:34 brrt joined
ShimmerFairy FROGGS: I think it's safe to disallow it, I can imagine so many problems arising from doing it. One example, $thing.foobar: $number.abs 09:34
FROGGS no, it was only about blocks IIRC
09:35 peperloni joined
peperloni ahoy 09:35
FROGGS but that would mean that $a.b: { ... }.c is different from $a.b: $callable.c
which is also kinda insane
and you can easily add parens, but you cannot remove implicit parens 09:36
hi peperloni
ShimmerFairy FROGGS: ah yes, forgot it was blocks only. But still, it seems so niche and problematic. When I stumbled on it in the spec and talked about it here last time, I was quite surprised by it. 09:37
09:37 peperloni left
FROGGS yes, so I'm inclined to go ahead and resolve that ticket and the tests, and revise the design docs... 09:38
El_Che moritz: how usable is github.com/moritz/perl6-Module-Starter? you put a big sign there?
moritz: (just wanted to migrate a inhouse lib to perl 6 as a test)
moritz: of course I can create the dirs and files manually, just looking for best practices 09:39
FROGGS El_Che: isa_ok and done_testing needs to kebab-cased at least
m: mkdir-p "foo"
camelia rakudo-moar c47145: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7eP61grXmN␤Undeclared routine:␤ mkdir-p used at line 1. Did you mean 'mkdir'?␤␤»
FROGGS El_Che: and that sub does not exist
jdv79 ShimmerFairy: afaik zef may support cpan more but i haven't looked deeply 09:40
FROGGS err, nvm the mkdir-p
jdv79 after i get metacpan sufficiently working i was going to turn to installing from cpan
but if you have time...;)
El_Che Ok, I'll stick with this doc.perl6.org/language/modules
moritz El_Che: dunno, I haven't looked at it in ages 09:41
El_Che moritz: i use module-starter often on perl5, hence the question :) 09:42
moritz El_Che: feel free to take over that module if you want
El_Che moritz: I need to get more knowledgable with perl6 first. Hence the porting of a known module first 09:43
jdv79 FROGGS: no way to find out if its "good enough" without building it out and trying. unless you have specific issues we could look into. 09:44
hmm, the perl6.org examples progression is a bit jagged, no? 09:46
3 out front and then a link to a page of links
09:47 Ven left 09:48 donaldh left
jdv79 could we not have something like a few "ad" examples out front, then a second set of all the "major high points" types of things and then links to the huge lists to get lost in 09:48
09:51 laouji left 09:52 diana_olhovik left 09:53 jobr72 joined, jobr72 left 09:54 Snelius joined, Snelius left, diana_olhovik joined 09:55 mprelude joined 09:56 orbusbak left, ely-se left 09:57 cosimo left 10:01 laouji joined, ely-se joined 10:04 brrt left 10:06 laouji_ joined 10:08 Ven joined 10:09 cosimo joined 10:11 laouji_ left 10:12 antiatom joined 10:14 ely-se left
lizmat hmmm... 10:14
S06:1633 states: "In standard Perl 6, C<Int> is generally assumed to mean C<Int:_>, except for invocants, where the default is C<Int:D>."
10:14 pmurias joined
lizmat I don't think we've actually implemented it this way at the moment? 10:14
pmurias having a grammar example on perl6.org would be great 10:15
lizmat m: class A { method foo { dd self } }; A.foo
camelia rakudo-moar c47145: OUTPUT«A␤»
lizmat according to S06:1633, that should have been an error ?
jnthn lizmat: Indeed. Another little thing to decide before Christmas.
lizmat: I think the problem has always been that it makes it harder to write `new` methods 10:16
lizmat should I ticket this, or is it on the list somewhere already
jnthn You can ticket it
lizmat will do
jnthn The resolution may well end up being we change S06, but we should decide on it one way or the other.
lizmat yup, indeed :-)
ShimmerFairy Note that IIRC, .new has a default :U invocant 10:17
(by spec, of course)
lizmat the "default" new has an :U 10:18
all other .new 's would need to add it manually (as the default one actually has) 10:19
ShimmerFairy ah
lizmat m: class A { method new(A:D:) { } }; A.new 10:20
camelia rakudo-moar c47145: OUTPUT«Invocant requires an instance of type A, but a type object was passed. Did you forget a .new?␤ in method new at /tmp/Gm1lQ2V71r:1␤ in block <unit> at /tmp/Gm1lQ2V71r:1␤␤»
10:20 paulmr left
lizmat jnthn: #126283 added 10:20
10:21 s_kilk left
lizmat at the Amsterdam.pm meeting yesterday, the general feeling about the unflattening behaviour of .push / .unshift was that it was a good decision 10:22
what was less understood, was why we would *need* a .append/prepend? Why not just teach that .push/unshift do not flatten 10:23
if you want flattening there, you will need to add it yourself
rather than start using .append/.prepend
10:25 chenryn__ left
ShimmerFairy lizmat: In a list-like class I have, I wrote an append method that takes another class like it and appends it to the invocant. In this case, it felt more natural to have a specific method for that, than to treat the object as though it were "just" a list by flattening it. 10:26
jnthn lizmat: 'cus if we make folks write `@a.push($_) for @b` they'll probably be unhappy
ShimmerFairy (also, I'll point out that my particular 'append' method would've happened regardless of the change being discussed :P)
lizmat @a.push(flat @b) would work, would it not, jnthn? 10:27
jnthn No
That's the point - push received a single argument pushes a single thing
*receiving 10:28
Always
lizmat aaaaahhhh hmmm... ok
jnthn Oh, though we made an exception for a Slip
ShimmerFairy you'd have to Slip-ify it, in which case you're pushing a singular Slip that turns into a list
jnthn Still, @a.push(@b.Slip) is kinda ugly
ShimmerFairy *part of a list
jnthn And 'cus it's an argument list, @a.push(|@b) doesn't do the right thing.
ShimmerFairy @a.push(|@b) is nicer, but still sub-optimal imo
m: my @a = 1,2,3; my @b = 4,5; @a.push(|@b); say @a
camelia rakudo-moar c47145: OUTPUT«[1 2 3 4 5]␤»
10:29 Ven left
lizmat m: my @a = ^10; my @b; @b.push(|@a); dd @b # seems to to the right thing ? 10:29
camelia rakudo-moar c47145: OUTPUT«Array @b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]␤»
ShimmerFairy jnthn: apparently not?
jnthn It still doesn't hit the Slip candidate
It flattens the thing into the argument list
To have them collected into a **@args
There'll be quite a big performance difference between doing that and doing @a.append(@b) 10:30
lizmat well, that may be sub-optimal from a performance point of view
10:30 me joined
lizmat jnthn: but if it doesn't hit the Slip candidate, why do we have a Slip candidate then ? 10:30
10:30 me is now known as Guest40213
ShimmerFairy for .Slip 10:30
10:31 Guest40213 left
jnthn lizmat: Mostly for the case where you use .push on something and that something returns a Slip 10:31
10:31 laouji left
jnthn lizmat: I guess more generally that we try to avoid having Slips "hang around" 10:31
So it'd be a bit surprising to see one actually make it into an Array 10:32
(If you work hard enough, you *can* get a literal Slip somewhere, but we try not to let it happen easily.)
10:33 Aww joined 10:34 cognominal joined, tester joined
lizmat ok 10:34
tester hi bitches
10:34 tester left
jnthn
.oO( .WHO let the dogs out... )
10:35
10:36 sjn_phone joined
FROGGS jdv79: that's what I mean with "bullet proof"... we need to start using it 10:36
jdv79 about the same vintage as p6 10:37
the song i mean (2k)
jnthn Oh wow...it's been that long? :)
lizmat suspects the hater wasps have become agitated after Larry's talk in SF 10:38
jdv79 gettin old:( 10:40
feels like a few years ago to me 10:41
lizmat still remembers hearing "When I'm 64" for the first time when it came out 10:42
.oO( only 5 more years to go :-)
RabidGravy yeah the first thing I can definitely remember hearing on the radio was "Yellow Submarine" 10:46
10:46 ely-se joined
jdv79 it was probably something disco or classic rock for me but i can't remember details 10:48
_itz how is the windows MSI of star built? does it use the nullsoft installer?
10:49 laouji joined
lizmat FROGGS / moritz might know 10:50
10:50 antiatom left
ilmari was the talk videoed? 10:50
moritz doesn't
jdv79 is it hard to build on windows? 10:51
10:51 laouji_ joined
jdv79 last time i tried i got crickets 10:51
FROGGS _itz: it uses the WiX toolset
jdv79 thank god i haven't had to since then
jnthn ilmari: I heard so
_itz jdv79: I installed Visual Studio Community and used the cmd.exe interface and nmake and it seemed to work 10:52
FROGGS I will create the 2015.09 soonish... I hope I don't forget again to do that
_itz FROGGS: I have a windows build now but not sure about the packaging step.. are there any docs? 10:53
jdv79 maybe its just me ignorance of the win env
_itz wixtoolset.org/ I assume
jdv79 could we doc that somewhere for people stuck on win?
FROGGS _itz: github.com/rakudo/star/blob/master...ws-msi.pod 10:54
_itz thanks I should have found that
10:55 sjn_phone left, sjn_phone joined, laouji_ left 10:56 RabidGravy left
_itz hmm I used strawberry but not activestate but it seemed to work 10:57
FROGGS _itz: should work, yes 10:58
though, you probably wont use nmake then, but gmake
10:59 Ven joined
_itz I used nmake and created a perl6.exe OK with strawberry but there was a reference to gmake 10:59
actually I had to use --gen-moar *and* --gen-nqp to do that 11:00
11:07 Ven left 11:08 Ven_ joined
mrf :D "Someone with more time than me needs to find an IQ test that is based around sequence questions like this and plug them all into Perl 6. So we can find out what Perl 6's IQ is and whether it has achieved AI." 11:08
11:09 orangek joined 11:10 orangek left, yakudza left 11:12 AlexDaniel joined, yakudza joined, antiatom joined
AlexDaniel oh noes! perl6 is not cute anymore. It's looks too professional… 11:13
I mean, perl6.org
_itz we need rperl6 or cperl6 now ;) 11:14
mrf going to ditch perl6 looks to popular and I only learn niche languages :D
_itz "Artisan Craft Perl 6" 11:15
AlexDaniel wishes there was a way to view previous website, e.g. cute.perl6.org
_itz archive.org? 11:16
AlexDaniel _itz: this might work today but of course it will be outdated soon
TEttinger Artisanal Language Development
AlexDaniel: ? 11:17
it isn't the google cache
archive.org has snapshots probably going back as far as perl6.org has existed
jdv79 _itz: add "locally sourced organic"
AlexDaniel TEttinger: I mean, the content might stop making any sense a few months from now 11:18
TEttinger oh I see
yes
_itz locally sourced = >200ms ping time?
TEttinger haha
AlexDaniel TEttinger: it's not like I want to look at it, I thought about showing it to kids…
TEttinger "hey look, kids, you love concurrency and hyperoperators!" 11:19
11:19 cgfbee left
AlexDaniel at some point, yeah :) 11:19
masak AlexDaniel: I think the new perl6.org is a big improvement. 11:20
11:20 laouji_ joined 11:21 cgfbee joined 11:22 xtreak joined
AlexDaniel masak: I kinda like code examples and stuff. Indeed it is an improvement. Though I'm not sure why the same thing could not be done with the previous design 11:23
yet I'm not the one who is willing to improve it, so whatever :)
xtreak A little wierd expansion for TimToady at reddit. There Is More Than One Acronym Defining Yourself . www.reddit.com/r/programming/comme...00/cvr2y6p Ofcourse TimToady :)
11:23 TEttinger left 11:25 laouji_ left 11:26 azawawi joined
dalek osystem: b494c8c | azawawi++ | META.list:
Add Parse::Selenese to the ecosystem
11:27
cognominal m: sub a( List :$args = () ) { b(|$args) }; sub b(:$a) { say $a }; a(:args(:a<b>,)) 11:28
camelia rakudo-moar c47145: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub b at /tmp/g5CjzQ7_aM:1␤ in sub a at /tmp/g5CjzQ7_aM:1␤ in block <unit> at /tmp/g5CjzQ7_aM:1␤␤»
cognominal what is the syntax to pass an argument list with named arguments?
11:29 mr-foobar left, larion joined 11:32 llfourn left, Ven_ left
lizmat cognominal: you mean a Capture ? 11:32
_itz hmm cl.exe is actually quite fast 11:34
cognominal lizmat, would that work here when calling .parse? github.com/rakudo/rakudo/blob/nom/...Grammar.pm
11:36 laouji_ joined 11:37 sjn_phone left 11:39 kid51 joined 11:41 laouji_ left
lizmat m: sub a(Capture() :$a = ()) { dd $a }; a( :a( 42, 66, :foo ) ) 11:41
camelia rakudo-moar c47145: OUTPUT«Capture $a = \(42, 66, :foo)␤»
El_Che Building with rakudobrew on cygwin problem: paste.ubuntu.com/12703574/
lizmat cognominal: something like this maybe ^^^
El_Che .rakudobrew/moar-nom/install is not there 11:42
cognominal in src/core/Grammar.pm probably should be : method parse($target, :$rule = 'TOP', Capture :$args = (), Mu :$actions = Mu, *%opt) { 11:44
or : method parse($target, :$rule = 'TOP', Capture :$args = \(), Mu :$actions = Mu, *%opt) { 11:45
11:46 chenryn__ joined
lizmat m: my Int:_ $a # did we decide to not allow :_ as a type smiley ? 11:48
camelia rakudo-moar c47145: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D86PUy4MsR␤Invalid type smiley '_' used in type name␤at /tmp/D86PUy4MsR:1␤------> 3my Int:_7⏏5 $a # did we decide to not allow :_ as␤»
11:50 suman joined
jdv79 :T is gone 11:50
:_ is still in spec... 11:51
lizmat ok
11:51 ely-se left
El_Che (probably some missing build tool) 11:51
suman The best thing I like about perl 6 than perl 5 is its interactive prompt :) 11:52
11:52 kid51 left, vytas left
jdv79 suman: surprising. i never use it. but i know plenty of others do. 11:53
i'd love to understand that someday. as if a one-liner or a script are not enough.
suman any plotting library in perl 6? 11:54
I mean like ggplot2, rbokeh, ggvis, shiny?? 11:55
arnsholt No plotting libs yet, AFAIK
lizmat there's NativeCall :-)
arnsholt That's not really a plotting library though =)
lizmat no, but you should be able to interface to a plotting lib quite easily, no ? 11:56
arnsholt But for plotting I'd probably just use gnuplot anyways
11:56 sjn_phone joined
suman lizmat how to interface to ggplot2 in perl6? Can you show me please? 11:56
11:56 sjn_phone left 11:57 sjn_phone joined
arnsholt NativeCall is for C libs, so doing ggplot2 would probably be tricky since that's an R lib, AFAICT 11:57
DrForr suman: Shell out to the binary, or use NativeCall?
lizmat arnsholt: Ah, I didn't know that
arnsholt Yeah, shelling out is probably the easiest way ATM
xtreak I had this strange question from reddit thread as "Why does Array inherit from a numeric type?" as Array inherits from COOL. Any ideas on over why its done that way? 11:58
arnsholt Well, Cool isn't really a numeric type
Cool is the supertype for things that support various kinds of default coercions and such (they're "cool" with it =)
11:59 lme joined
suman arnsholt shelling out??? Ain't got it? Can you point me where I can get help? 12:00
xtreak So when a string is used as numeric type or vice versa the same method like e.g. sine can be used and the appropriate coercion is done ? this is where I got the question www.reddit.com/r/programming/comme...00/cvqo4k1 12:01
jdv79 maybe we should have a list of tasks people want to see
ShimmerFairy lizmat: Int:_ should definitely be allowed (it just means the same as Int in most places by spec), that appears to be an oversight.
lizmat yeah, looking at that now...
12:02 vytas joined
arnsholt suman: If you're familiar with Perl 5, it'd be something like "open my $plotter, '|-', 'gnuplot'; print $plotter $generated_gnuplot_script;" 12:02
Basically, running gnuplot (or something else) as a subprocess and writing input to it 12:03
12:04 sjn_phone left 12:05 FROGGS left
lizmat arnsholt: you would probably be better off with run(,:in) nowadays ? 12:07
arnsholt That would be the Perl 6 version, yes =)
jdv79 doc.perl6.org/type/Proc and/or doc.perl6.org/type/Proc::Async 12:08
run() is not doc'd too well though
12:08 lme left
azawawi github.com/azawawi/perl6-parse-selenese # the road to Perl 6 website testing has started :) 12:14
Any selenium users here? 12:17
_itz not for a few years .. but in the past 12:18
12:20 raiph left
jdv79 azawawi: cool. last time i used selenium it had serious issues. 12:20
azawawi i am aiming at porting metacpan.org/pod/Selenium::Remote::Driver and automating Selenium IDE test cases/suites generation in Perl 6
well im using it right away with a heavy JS website and it rocks :)
s/away/now/
jdv79 nice
lizmat azawawi++
jnthn cognominal: Maybe |%(...) instead of |... would do it 12:21
(To force the things into a hash, which is then going to pass named args)
jdv79 iirc ssl and basic auth broke down
azawawi www.youtube.com/watch?v=DJm-itX7Y70 # for selenium + Perl 5 12:22
12:22 raiph joined
jdv79 if you can avoid that awesome but with legacy apps :( 12:22
Zoffix AlexDaniel, just checkout an older version and generate it with mowyw :)
jdv79 i want cross browser headless testing
phantomjs on steroids 12:23
12:23 raiph left 12:25 jkva_ joined, jkva left
azawawi jdv79: sure :) 12:25
jdv79 it would be nice though:) 12:29
dalek kudo/nom: 8ebc059 | lizmat++ | src/ (2 files):
Implement variables/parameters/invocant pragmas

Well, they parse correctly, error correctly and set up internal
  %*PRAGMAS value. Now we only need to have the other parts of the
code look at the %*PRAGMAS values at the right point.
12:30
12:31 Ven_ joined
jnthn lizmat: Do you consider those really important to get in for xmas? 12:31
dalek kudo/nom: dafcfee | coke++ | docs/release_guide.pod:
Claim the next release
_itz jnthn++ # santa
jnthn lizmat: If so, or if you know how to do 'em and think there's a low risk of us spending time on new bugs, go ahead. 12:32
[Coke] tries to go to itz's zenmonkey link and it's super blocked at $dayjob. :)
_itz [Coke]: actually someone else reported that 12:33
lizmat jnthn: I intend to look at them, yes...
but write tests first :-)
jnthn lizmat: +1 to tests :)
jdv79 [Coke]: what link? 12:34
i got blocked looking at one of those links recently as well
azawawi jdv79: something like this metacpan.org/pod/Selenium::PhantomJS ? 12:35
lizmat jnthn: and it also wasn't in nope.md 12:36
right ?
jnthn lizmat: nope.md wasn't exhaustive or complete, just some known exclusions
12:37 vytas left
[Coke] jdv79: eh, zenmonkey in backscroll. it was about the larry-craigslist talk. 12:37
lizmat ah, ok... well, it was right up my sleeve, I realized
jdv79 yup. same here.
lizmat and now that we have my Int:D $a also
jnthn lizmat: I'm not *that* worried about it going in, I don't think
12:37 vytas joined
jdv79 azawawi: maybe 12:37
lizmat jnthn: the %*PRAGMAS system works fine, so should only be lexical anyway
jdv79 i know we tried to use phantom at $work but it was too immmature at the time (~2 years ago) 12:38
jnthn lizmat: I'm just wary of adding more features when we could do with polishing the many we already have too :)
jdv79 iirc the p5 integration was crap
lizmat true (and guilty as charged :-)
12:38 AlexDaniel left
dalek ast: 7fa89c3 | lizmat++ | S02-types/WHICH.t:
Add X::Pragma... classes
12:38
lizmat jnthn: next time I'll take the absence in nope.md not as an authoritative: we need by Xmas 12:39
12:40 suman left
jnthn lizmat: Yeah, I was more trying to start a discussion/encourage a line of thought that assemble a complete list. 12:41
Though probably didn't really convey that very well :)
jdv79 why can't panda install somehting without an ecosystem json entry? 12:47
i need a way around that if that's true
12:47 brrt joined
jdv79 oh, nm. my fault. 12:48
azawawi im a bit confused. Why is .+? working but (.+?) is not working inside a grammar token? 12:49
m: grammar XYZ { token TOP { ^ <title> $ }; token title { '<title>' $<value>=(.+?) '</title>' }; }; say XYZ.parse( qq{<title>Login</title>} ) ?? "Matched" !! "Failed";
camelia rakudo-moar c47145: OUTPUT«Failed␤»
azawawi grammar XYZ { token TOP { ^ <title> $ }; token title { '<title>' $<value>=.+? '</title>' }; }; say XYZ.parse( qq{<title>Login</title>} ) ?? "Matched" !! "Failed";
m: grammar XYZ { token TOP { ^ <title> $ }; token title { '<title>' $<value>=.+? '</title>' }; }; say XYZ.parse( qq{<title>Login</title>} ) ?? "Matched" !! "Failed";
camelia rakudo-moar c47145: OUTPUT«Matched␤»
azawawi any reason for that behavior or am i missing something? 12:50
12:55 pecastro left
moritz not an explantion, but using a construct that needs backtracking to work inside a token seems dangerous 12:55
(because tokens don't backtrack)
azawawi i see
so ( ... ) is not needed anyway
lizmat m: sub a(--> Int:D) { Int }; a # jnthn, is this supposed to die or not ? 12:56
camelia ( no output )
lizmat jnthn: perhaps a compile time NYI for --> Foo:D ?
dalek ast/pass-named-args-to-gram-rule: 4388f2d | (Stéphane Payrard)++ | S05-grammar/example.t:
Support passing named argument when calling a grammar rule
12:57
12:58 ely-se joined
jnthn lizmat: Either we should fix it or disallow it 13:00
lizmat jnthn: will ticket it, ok?
jnthn +1 13:01
13:01 solarbunny joined 13:03 chenryn__ left, iH2O joined
dalek kudo/nom: 58c391b | lizmat++ | src/Perl6/World.nqp:
Remove "my" that was hiding necessary value
13:03
lizmat .tell FROGGS hope you agree with github.com/rakudo/rakudo/commit/58c391bf4e 13:05
yoleaux lizmat: I'll pass your message to FROGGS.
13:07 chrstphrhrt joined
lizmat jnthn: wrt to --> Int:D, RT #126284 13:07
13:07 iH2O left 13:12 rindolf joined
cognominal I proposed a fix to pass named arguments to rules github.com/rakudo/rakudo/pull/546 13:13
lizmat cognominal: waiting for Travis to finish
13:14 skids joined
lizmat cognominal: actually, Capture() might be better 13:14
so you can pass in a List as well
m: sub a(Capture() :$a = ()) { dd $a }; a( :a( 42, 66, :foo ) ) # like this 13:15
camelia rakudo-moar dafcfe: OUTPUT«Capture $a = \(42, 66, :foo)␤»
13:15 lichtkind joined 13:16 nuc__ joined, nuc_ left 13:17 kjs_ joined, pecastro joined
gtodd azawawi: Farabi ++ :-) 13:18
13:21 laouji_ joined
azawawi gtodd: thx 13:22
azawawi is debugging a grammar... :(
13:22 RabidGravy joined
gtodd azawawi: plus I haven't checked it out but the electron stuff you're hacking on but it seems cool too ... a way to give perl6 apps a "canvas" wheee 13:23
azawawi gtodd: to control basically the electron chromium-based browser 13:24
gtodd: cross-browser and key bindings = hell
13:25 laouji_ left 13:26 gosho joined, gosho left
gtodd hell indeed 13:26
13:27 chrstphrhrt left 13:28 fling left
cognominal lizmat, yea, I did not know that coercion was supported. 13:29
13:29 llfourn joined 13:31 TimToady left 13:32 Carolin joined, TimToady joined, zakharyas left, perlgod joined 13:33 herp joined
herp Be nice to butterflies!? 13:33
How to take a serious programming language and turn it into a bedtime story for kids 101 13:34
13:34 herp left, llfourn left 13:35 perlgod left 13:37 antiatom left, ugexe joined 13:38 antiatom joined
lizmat yeah, definitely agitated :-( 13:39
mrf zsh
:(
13:39 zakharyas joined
_itz at least you didn't type csh 13:39
pink_mist this wasn't your shell terminal window :P
jdv79 currently importing the entire ecosystem into the metacpan prototype. may take a while. 13:40
mrf You mean I can't execute arbitray code in irssi.
jdv79 i would bd nice to get some help fixing it up when we can see what's not working well
pink_mist mrf: /exec might allow you, but I don't think I'd recommend it :P 13:41
13:42 memyselfandi joined
jdv79 since i didn't try to map github users to cpan i'm just importing it all under my user for the moment. 13:42
colomon looking at design.perl6.org/Differences.html — shouldn’t +@array be mentioned in the section “number of elements in an array"? 13:43
it’s mentioned under context but not really explained there. 13:44
daxim developers.slashdot.org/comments.pl...d=50675019 # comment poster is sad because there are no coroutines like in lua, merely a "poor approximation" and "not remotely composable to the same degree" 13:45
13:45 azawawi left 13:47 chrstphrhrt joined, pecastro left 13:48 gtodd left
lizmat daxim: well it is an Anonymous Coward 13:48
13:49 telex left 13:50 ely-se left, telex joined
daxim I don't discount the comment merely for coming from an AC. the reasoning clearly took an effort to write, though I lack the knowledge to evaluate it 13:50
13:51 memyselfandi left, rotcpy joined 13:52 chrstphrhrt left
jnthn "Python and apparently Perl6/More implement recursion on the C stack" - well, if he meant Moar, then no, so they're already wrong by that point. 13:52
daxim that's the kind of reply I expected, with technical details 13:53
jnthn You can be as many callframes deep as you like when you take, it's not a local CPS transform. 13:54
Same with await.
n0tjack my favorite lang (J) still uses the C stack for recursion, and it drives me nuts
breaks on me at least twice a year
jnthn Moar's "stack" frames actually live on the heap, and our gather/take impl is actually done in terms of delimited continuations, fwiw. 13:56
brrt oh, and to clear up any confusion on the point. MoarVM uses a run-time assembler from the LuaJIT project. it doesn't use LuaJIT proper, and none of the things that make luajit fast are taken over from luajit 13:57
*just* the assembler and a runtime preprocessor :-)
13:58 pecastro joined, derp joined 13:59 derp is now known as Guest65292
dalek ast/pass-named-args-to-gram-rule: f973e6b | (Stéphane Payrard)++ | S05-grammar/example.t:
added tests: list passed to rule as argument casted to Capture
14:00
kudo/nom: d5eeb4d | lizmat++ | src/core/Grammar.pm:
Adaptation of PR #546, cognominal++

Coerce to Capture, rather than just take
_itz on windows 10 I have $*KERNEL.name=win32 and $KERNEL.bits=64 but a 32 bit moar.exe
lizmat argh, just missed cognominal's changes in the PR
cognominal just pushed it :) 14:01
_itz surely that should be a 32 bit rakudo on win64? :/
14:01 Guest65292 left
_itz is there something like $*VM.bits too? 14:02
lizmat _itz: perhaps somewhere in $*VM.config ? 14:03
_itz: if we can expose that reliably on diffferent OSs and backends, that would be brill 14:04
14:04 gtodd joined
cognominal lizmat++ btw 14:04
14:05 rjc joined
dalek ast: 4fa634f | lizmat++ | S02-types/WHICH.t:
Add X::InvalidTypeSmiley as a class
14:05
14:06 rjc left, nuc__ left
dalek ast: dd9db49 | lizmat++ | S06-parameters/smiley.t:
Basic smiley type tests for parameters
14:06
14:07 nuc__ joined, aborazmeh joined, aborazmeh left, aborazmeh joined
dalek kudo/nom: bf25c42 | lizmat++ | t/spectest.data:
Run basic smiley type tests for parameters
14:08
14:11 qwerty joined, qwerty left, aborazmeh left 14:12 Carolin left
Ulti .win 4 14:13
dalek ast: 4388f2d | (Stéphane Payrard)++ | S05-grammar/example.t:
Support passing named argument when calling a grammar rule
ast: f973e6b | (Stéphane Payrard)++ | S05-grammar/example.t:
added tests: list passed to rule as argument casted to Capture
ast: f8a6acd | (Stéphane Payrard)++ | S0 (2 files):
Merge branch 'master' of github.com/perl6/roast
lizmat cognominal++ :-)
14:14 FROGGS joined
cognominal back to the future Test::Grammar 14:15
14:16 csd_ joined 14:17 nuc__ left
csd_ I notice a visible lag doing `perl6 -e 'print "A"'` to console... is this to be expected in the currently available release? 14:17
14:17 nuc__ joined
lizmat $ time perl6 -e 'print "A"' 14:18
A
real0m0.114s
that's about the lag we have nowadays, csd_
csd_: are you experiencing something (much) larger than that?
csd_ real 0m0.268s 14:19
meanwhile perl5 is 0.009s 14:20
14:20 n0tjack left
cognominal comparing apple and oranges 14:20
brrt yes, perl5 is still very fast to start up :-)
lizmat csd_: try that again with -MMoose
jnthn csd_: What's perl6 --version for you, btw?
csd_: lizmat will almost certainly be giving a number from current HEAD 14:21
csd_ 2015.03 built on MoarVM version 2015.03
14:21 laouji left
lizmat csd_: upgrading to 2015.09 would improve things :-) 14:21
csd_ -MMoose doesn't seem to affect anything
oh i guess the homebrew recipe is stale
lizmat csd_: perl6 has Moose like capabilities built in 14:22
so if you want to compare apples with other apples, you would have to include Moose (and some Moose extensions for that matter)
csd_ oh i was doing -MMoose to the perl6 query, not perl5 14:23
perl5 is similar to perl6 with that flag in it
PerlJam on my system, perl6 is about 4 times faster than perl5+Moose 14:24
14:24 n0tjack joined
jnthn We did quite a lot of work at startup in the last months, so I'd imagine 2015.03 is a good bit slower than the latest 14:25
work at improving startup time, I mean :)
csd_ what's the right way for me to install the 2015.09 release on OSX? i get confused with the perl repos vs rakudo and moarvm
14:25 Ven_ left
PerlJam csd_: I use rakudobrew 14:25
jnthn csd_: A lot of folks use github.com/tadzik/rakudobrew
PerlJam csd_: (not on OSX though :)
csd_ oh thats helpful 14:27
sorry that sounded sarcastic, it wasnt
_itz oh the osname for 64bit Perl 5 is MSWin32
confusing
brrt yes. yes it is 14:30
actually, i think (although I don't speak for perl5 developers at all) that is because MSwin32 is the *platform name*
gfldex win32 is the windows api name 14:31
_itz ah
brrt as in, win32 is the name of the OS+APIs, regardless of whether the actual CPU architecture is 32 of 64 bit (or even x86 based)
gfldex the platformname is Windows_NT, no matter what windows older win2k you are using
lizmat m: say $*DISTRO.is-win
camelia rakudo-moar d5eeb4: OUTPUT«False␤»
lizmat should be True on any windows system 14:32
csd_ why does rakudobrew take so much longer to compile than homebrew? 14:35
maybe its a versioning thing again
14:35 vytas left, laouji joined
csd_ version 2015.09-268-gbf25c42 gets my time to 'print "A"' down to 0.147s 14:36
14:37 vytas joined
_itz csd_: probably checking out from git? 14:38
[Coke] RT: 1037; nom: 8; glr: 4; lta: 88; weird: 12; xmas: 89 14:39
PerlJam does homebrew also compile nqp and moar?
csd_ not sure if they come precompiled or not
i think it just uses whats in that Rakudo-Star repo
[Coke] is reminded to get the macport done, because that can be precompiled.
14:40 cognominal left, khw joined, laouji left
grondilu reads design.perl6.org/Differences.html and notice =begin END which is deprecated, right? 14:40
brrt fwiw: time nqp -e 'nqp::say("OH HAI");' # real0m0.049s 14:43
14:43 FROGGS left, jkva_ left
brrt that's still many times slower than perl5, but in the same ballpark as python :-) 14:44
ilmari m: my $bar = 'ba bar'; say «foo $bar baz».perl
camelia rakudo-moar d5eeb4: OUTPUT«("foo", "ba", "bar", "baz")␤»
brrt (it is also, one might say, irrelevant)
ilmari oh, it splits _after_ interpolating?
14:44 Ven_ joined
brrt apparantly, yes 14:45
14:46 mfollett joined
lizmat m: my $bar = 'ba bar'; say «foo "$bar" baz».perl 14:46
camelia rakudo-moar d5eeb4: OUTPUT«("foo", "ba bar", "baz")␤»
ilmari m: my $bar = 'ba "ba" bar'; say «foo "$bar" baz».perl 14:48
14:48 Sgeo_ joined
camelia rakudo-moar d5eeb4: OUTPUT«("foo", "ba \"ba\" bar", "baz")␤» 14:48
14:48 rurban1 joined 14:49 pierrot_ joined, Sgeo left, zacts left, rurban left, espadrine left 14:50 espadrine joined, pierrot left, zacts` joined
ilmari m: my $bar = 'ba "da boom" bar'; say «foo $bar baz».perl 14:51
camelia rakudo-moar d5eeb4: OUTPUT«("foo", "ba", "\"da", "boom\"", "bar", "baz")␤»
14:51 vytas left
jnthn m: my $bar = 'ba "da boom" bar'; say «foo $bar baz».elems 14:52
camelia rakudo-moar d5eeb4: OUTPUT«6␤»
jnthn m: my $bar = 'ba "da boom" bar'; say «foo "$bar" baz».elems
camelia rakudo-moar d5eeb4: OUTPUT«3␤»
csd_ is there a way to make control characters work in the repl rather than printing to screen? (e.g. arrow keys and such)
jnthn m: my $bar = 'ba "da boom" bar'; say «foo bar baz».elems
camelia rakudo-moar d5eeb4: OUTPUT«3␤»
jnthn m: my $bar = 'ba "da boom" bar'; say «foo "bar baz"».elems
camelia rakudo-moar d5eeb4: OUTPUT«2␤»
jnthn The quotes consistently prevent such splitting.
_itz csd_: install rlwrap and use that is easiest
14:52 pierrot_ is now known as pierrot
ilmari there's the Linenoise module, but it's rather limited compared to readline 14:53
14:53 tokuhirom left, kjs_ left
csd_ thanks 14:54
14:56 brrt left, Aww left 14:58 Ven_ left, Aww joined 14:59 ZoffixWork joined
ZoffixWork Is there a repo for learnxinyminutes.com/docs/perl6/ ? 14:59
_itz ZoffixWork: yes I think it's linked at the bottom .. maybe well hidden 15:00
lizmat vendethiel might know :-)
ZoffixWork I'm reading it right now (and I don't know Perl 6 yet), so I have some feedback for confusing bits.
15:00 llfourn joined
ZoffixWork Oh. right >_< 15:00
_itz++ # thanks
15:01 chrstphrhrt joined
nine .tell awawai I used to use Selenium but it's performance and stability were too abysmal, especially when trying to run test files in parallel. So I wrote a drop in replacement: metacpan.org/pod/WWW::WebKit and metacpan.org/pod/Test::WWW::WebKit 15:02
yoleaux nine: I'll pass your message to awawai.
15:02 raiph joined
dalek q: 8a5705b | (Nova Patch)++ | answers.md:
clarify “Perl 5” instead of just “Perl” #wantarray
15:03
ast: 7dbd90f | lizmat++ | S06-parameters/smiley.t:
Add some more smiley type tests for parameters
15:07
kudo/nom: 2886c90 | lizmat++ | src/Perl6/World.nqp:
Refine parameters/variables/invocant error checking
15:09 diana_olhovik left
jdv79 nine: but webkit isnt everything 15:11
15:11 thowe left
masak literally. 15:12
jnthn
.oO( I heard webkit is why Chrome is on the blink... )
masak TIL idioms.thefreedictionary.com/on+the+blink 15:13
15:13 jkva joined 15:15 zakharyas left, laouji joined 15:16 ZoffixWork left 15:17 mr_ron joined
mr_ron I am planning to make the interface of URI::Escape and URI available as kebab case wherever they use snake case. Any objection or comment? 15:18
15:19 g4 left 15:24 pmurias left 15:25 Jorge_ joined 15:26 pmurias joined
colomon someone should respond to this: news.ycombinator.com/item?id=10346168 15:26
colomon has to run to noms and then bell rehearsal
15:29 rindolf left
dalek kudo/nom: 82deb78 | lizmat++ | src/Perl6/Grammar.nqp:
Allow for Int:_
15:32
literal github.com/perl6/faq/blob/master/answers.md
dalek ast: e77c870 | lizmat++ | S06-parameters/smiley.t:
Unfudge now passing tests
15:32 chenryn__ joined
literal ^-- "Why do I need a backslash (unspace) to split method calls across multiple lines?" isn't this not true anymore? 15:33
lizmat cycling&
literal I recall seeing a commit from TimToady recently that addressed this
lizmat literal: it is in HEAD, but not the latest release ?
really afk&
literal I see
15:34 Marnen joined 15:35 Marnen left 15:36 jkva left, jkva joined 15:37 blackcat_ left 15:39 antiatom left 15:42 antiatom joined 15:43 jkva left
[Tux] blog.geekuni.com/2015/09/state-of-the-geek.html <= perl6 does well :) 15:47
masak not to mention Perl :) 15:48
ilmari m: class { has Int:D $.foo }.new 15:49
camelia rakudo-moar 2886c9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DaqrpaAyo1␤Variable definition of type Int:D requires an initializer␤at /tmp/DaqrpaAyo1:1␤------> 3class { has Int:D $.foo 7⏏5}.new␤»
ilmari m: class { has Int:D $.foo }.new(foo => 42)
camelia rakudo-moar 2886c9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/c5BY2KlmuC␤Variable definition of type Int:D requires an initializer␤at /tmp/c5BY2KlmuC:1␤------> 3class { has Int:D $.foo 7⏏5}.new(foo => 42)␤»
15:50 sitaram_ joined
ilmari m: class { has Int:D $.foo = Int }.new(foo => 42) 15:50
camelia ( no output )
masak [Tux]: interesting -- so Perl 6 comes *2nd* (after Perl) on that list of what people would like to write more.
15:50 chenryn__ left
ilmari m: say class { has Int:D $.foo = Int }.new(foo => 42) 15:50
camelia rakudo-moar 2886c9: OUTPUT«<anon>.new(foo => 42)␤»
ilmari m: say class { has Int:D $.foo = Int }.new()
camelia rakudo-moar 2886c9: OUTPUT«Type check failed in assignment to $!foo; expected Int:D but got Int␤ in block <unit> at /tmp/zVFx9J_tsu:1␤␤»
[Tux] masak indeed, and PHP is the exception in many users but nobody wants to write more
sitaram_ hello; try as I might, I am unable to find the eqvt of: @ARGV = glob("dir"); while (<>) { ...
[Coke] reminds folks that camelia experiments can also happen in private. 15:51
literal important bit being "[...] at Geekuni we focus on all things Perl and the sample reflects this with Perl 5 being by far the most popular language [...]"
sitaram_ I know the glob(...) becomes dir(...); the rest... I'm lost
15:51 Jorge_ left
ilmari [Coke]: I had been experimenting in my own repl, but behaviour changed since then 15:51
[Tux] and perl6 is *3rd* in annual growth
[Coke] ilmari: /msg camelia m: stuff #works.
if you intend to share with channel, that's fine.
ilmari [Coke]: I wanted to show the to-me unexpected behaviour
[Coke] if not, helps keep backlog uncluttered. 15:52
[Tux] The languages with highest predicted growth rates among the survey are: F#, D, Perl 6 and Haskell.
[Coke] ok. with 6 sends there, can you summarize which is the one we're looking at?
[Tux] 1.bp.blogspot.com/-I_sOsQl4FIc/Vgu5...ed_use.png
ilmari the last two
m: class { has Int:D $.foo }.new(foo => 42) # expect to work
camelia rakudo-moar 2886c9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sjWAEBTn0Z␤Variable definition of type Int:D requires an initializer␤at /tmp/sjWAEBTn0Z:1␤------> 3class { has Int:D $.foo 7⏏5}.new(foo => 42) # expect to work␤»
jnthn sitaram_: @*ARGS = dir('src/core'); for lines() { } 15:53
ilmari m: say class { has Int:D $.foo = Int }.new(foo => 42) # it requires an initialiser, but allows one that doesn't pass the type constraint?!
camelia rakudo-moar 2886c9: OUTPUT«<anon>.new(foo => 42)␤»
jnthn sitaram_: uh, replace src/core with dir :)
[Coke] ilmari: you're giving it a runtime value for a compile time constraint, it reads like.
sitaram_ jnthn: thanks; will try
jnthn ilmari: It does disallow actually assinging it
15:53 tokuhirom joined
ilmari jnthn: yes, that's as I expected 15:54
jnthn m: say class { has Int:D $.foo = Int }.new # an error
camelia rakudo-moar 82deb7: OUTPUT«Type check failed in assignment to $!foo; expected Int:D but got Int␤ in block <unit> at /tmp/CzuGohIGhI:1␤␤»
ilmari jnthn: I just thingk the " = Int" part is redundant
jnthn The default value is ignored if one is provided during intialization
masak sitaram_: something like `for dir("dir") -> $file { for $file.lines { ... } }`
jnthn ilmari: The idea would be more to provide a sensible default value 15:55
15:55 absence joined
ilmari it makes sense for normal variables, but not for attributes 15:55
jnthn: required attributes with defaults are pretty common
15:55 n0xff joined
ilmari with *no* defaults 15:55
jnthn m: say class { has Int:D $.foo is required }.new 15:56
camelia rakudo-moar 82deb7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2SE9xieRFS␤Variable definition of type Int:D requires an initializer␤at /tmp/2SE9xieRFS:1␤------> 3ay class { has Int:D $.foo is required 7⏏5}.new␤ expecting any of:␤ constraint␤»
15:56 laouji left
jnthn Maybe we could relax it in that case. 15:56
15:56 pyrimidine joined
sitaram_ ARGS! I've been trying ARGV. There's only thing to say at this point: "aaaaargh!" 15:56
pink_mist lol
sitaram++
sitaram_ jnthn: thanks again. I was just being blind
ilmari m: class { has Int $.foo is required }.new(foo => Int).say
camelia rakudo-moar 82deb7: OUTPUT«<anon>.new(foo => Int)␤»
ilmari jnthn: :D without an initialiser could imply "is required" 15:57
TimToady m: say @*ARGV
camelia rakudo-moar 82deb7: OUTPUT«Dynamic variable @*ARGV not found␤ in block <unit> at /tmp/ydc7_fVahe:1␤␤Actually thrown at:␤ in block <unit> at /tmp/ydc7_fVahe:1␤␤»
jnthn ilmari: That'd be another way to do it
TimToady this should maybe do Levenshtein?
absence there's been several stories about a 1.0 development release in the news lately, both announced by larry himself, and earlier rumors about release on his birthday. but where is it? there's no mention of it on perl6.org, and if i follow the "download rakudo" button, the latest build seems to be rakudo-star-2015.06-x86_64 (JIT).msi from july 15:58
jnthn TimToady: Where, given it's a dynamic, ooc? In GLOBAL:: and PROCESS::?
15:58 chenryn__ joined, tokuhirom left
TimToady anywhere in its cache? 15:58
15:58 coetry joined
PerlJam TimToady: would you also do Levenshtein if it were @ARGV instead? 15:58
jnthn Hmm :)
TimToady which we could save about 2.5% on by revising
15:59 chenryn__ left
TimToady that is, last I measured a couple weeks ago, we had 2.5% overhead on dynvar lookup in compiling setting 15:59
nine jdv79: no, Test::WWW::WebKit of course doesn't help with cross browser testing. However it's great to test the JS parts of your application on a very standards conformant engine. We've found that if you don't do anything crazy, it's quite sufficient.
TimToady and a better cache scheme would reduce that to near 0 16:00
16:00 antiatom left
jnthn absence: There was a 2015.09 release; the MSI is typically a bit behind the source releases 16:00
TimToady absence: the headlines on those stories are less accurate than the stories themselves, which indicate a Christmas release
PerlJam absence: you can always built it yourself or use rakudobrew
TimToady we just went into beta state on my birthday, and the first beta will come out in a week or so as a real compiler release 16:01
jnthn heard someone mention working on the MSI a bit earlier on today, so mebbe it'll be there within the next day or two.
TimToady the point, however, is that the current HEAD is beta, and being treated like a beta
16:01 pyrimidine left, pyrimidine joined
b2gills Shouldn't ∘ be right associative? 16:02
TimToady I don't consider the September release to be quite beta
b2gills: doesn't matter
and pragmatically, left allows [\o] &func xx * to work
we had it right associative, and that was a problem 16:03
m: say [\**] 1..*
camelia rakudo-moar 82deb7: OUTPUT«Cannot reverse a lazy list␤ in block <unit> at /tmp/SjPDI24O5S:1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp:2860␤ in block <unit> at /tmp/SjPDI24O5S:1␤␤»
b2gills I was busy since before glr landed
I was trying to figure out what the proto sub definition would look like 16:04
proto sub infix:<∘> ( &?, &? ) is equiv(&[~]) is assoc<left> {*} # is what I have so far
16:05 kjs_ joined
b2gills Also that doesn't work if I swap `is assoc` and `is equiv` 16:05
PerlJam wonders what function composition means when the functions are optional ...
16:06 laouji joined, grondilu left
TimToady b2gills: you don't need the assoc except to override the default for the precedence level 16:06
16:07 donaldh joined
TimToady and I see that I neglected to add a proto in the setting... 16:07
but since it's hardwired in the parser anyway, it just uses the <O %concatenation> thing there
so a proto doesn't really need the equiv 16:08
16:08 grondilu joined, jkva joined
TimToady so it's just proto sub infix:<∘> (|) {*} 16:09
[Coke] claimed the next compiler release, btw. do we want any special notes on that? I was going to throw in something.
16:09 virtualsue joined
b2gills i assume it would if it wasn't built in though 16:09
absence TimToady: ah cool, the "in a week" part was missing from the story about the talk yesterday
16:10 laouji left
PerlJam [Coke]: You mean other than reiterate TimToady's "beta" message? 16:10
16:12 chenryn__ joined
dalek kudo/nom: 0cee783 | TimToady++ | src/core/operators.pm:
add missing proto for function composition
16:13
[Coke] More like specific details on the beta message.
TimToady we only have general details
[Coke] "This is the perl 6.0 beta, just a compiler, look for an msi and rakudo star soon..."
b2gills m: say &[o].count
camelia rakudo-moar 82deb7: OUTPUT«Inf␤»
16:13 ^elyse^ joined 16:14 bpmedley joined
dalek c: 3f016cd | (David H. Adler)++ | lib/Type/Date.pod:
Added usage statements to Date.pod
16:16
c: b264497 | (David H. Adler)++ | lib/Type/DateTime.pod:
Added usage statements to DateTime.pod
c: 6bff923 | (David H. Adler)++ | lib/Type/Dateish.pod:
Added usage statements to Dateish.pod
c: a16df94 | (David H. Adler)++ | lib/Type/Date (3 files):
Merge branch 'usage_statements'

Usage statements for Types beginning with "D"
c: 616e382 | (David H. Adler)++ | lib/Type/Cool.pod:
Merge branch 'master' of github.com/perl6/doc
16:16 rindolf joined
dalek c/usage_statements: b264497 | (David H. Adler)++ | lib/Type/DateTime.pod:
Added usage statements to DateTime.pod
16:16
c/usage_statements: 6bff923 | (David H. Adler)++ | lib/Type/Dateish.pod:
Added usage statements to Dateish.pod
16:17 chenryn__ left
TimToady m: say &[but].count 16:18
camelia rakudo-moar 82deb7: OUTPUT«Inf␤»
TimToady jnthn: how much overhead are we taking on our binary operators that do ($?, $?) instead of (|)? 16:19
(in the proto)
jnthn Umm...I'd have to go look
TimToady might want an 'is count(2)' if we want to just lie about a | 16:20
jnthn I *think* we ended up with hitting the multi-cache in those cases though
Because you can only get an entry in the multi cache if you went through the proto's check at some point
So it's a one-off overhead per type tuple
If it works the way I remember :) 16:21
16:21 patrickz joined, laouji joined, quuxman joined
TimToady well, obligate binaries should probably not use | then 16:22
jnthn Do you have some data suggesting we're doing badly in that case, btw?
quuxman Hello. I'm trying to get panda to work, and on both Mac OS and Ubuntu 14.04 I get the error "Undeclared routine: unit used at line 3. Did you mean '&uniq'?"
16:22 donaldh left
moritz quuxman: then your rakudo is too old 16:22
TimToady no, other side of it, &[but] and such are reporting .count of Inf
quuxman moritz: I installed both with the package manager. Guess I have to build from source?
TimToady only list associatives should be reporting Inf 16:23
jnthn Aha
I'll check for you in just a moment (just finishing up a mail)
16:24 donaldh joined
moritz quuxman: yes, that would preferable 16:24
TimToady m: say &[+].arity
camelia rakudo-moar 82deb7: OUTPUT«0␤»
TimToady and our .arity is turning out to be pretty useless 16:25
16:26 laouji left
TimToady we probably shoulda just had .arity return a range, and .count is then .arity.max 16:26
16:27 ZoffixWork joined 16:28 nbiiebbiih joined
jnthn .arity is how many things *must* you pass, .count is how many things can you pass 16:28
TimToady well, sure, but that's not the common meaning of arity 16:29
b2gills I was just thinking that if you forced to the count to 2 in binary operators it could prevent the ability to optimize `[+] 1,2,3` with `sub infix:<+> (@_) { .... }` or so
16:29 bhm joined, ZoffixWork left
dalek c/usage_statements: 7e1a1a8 | (David H. Adler)++ | lib/Type/EnumMap.pod:
Added usage statements to EnumMap.pod
16:29
c/usage_statements: f3071d9 | (David H. Adler)++ | lib/Type/ (2 files):
Added usage statements for Exception.pod and Failure.pod
c/usage_statements: b94de0c | (David H. Adler)++ | lib/Type/Grammar.pod:
Added usage statements for Grammar.pod
TimToady m: say &[+].count 16:30
camelia rakudo-moar 82deb7: OUTPUT«2␤»
dalek c: 7e1a1a8 | (David H. Adler)++ | lib/Type/EnumMap.pod:
Added usage statements to EnumMap.pod
16:31
c: f3071d9 | (David H. Adler)++ | lib/Type/ (2 files):
Added usage statements for Exception.pod and Failure.pod
c: b94de0c | (David H. Adler)++ | lib/Type/Grammar.pod:
Added usage statements for Grammar.pod
c: e6e5f2a | (David H. Adler)++ | lib/Type/ (4 files):
Merge branch 'usage_statements'

Usage statements for Types E-G
TimToady b2gills: probably makes more sense to do optimized definition of prefix:<[+]> and such 16:33
quuxman how do I move something installed with rakudobrew?
16:35 liztormato joined
TimToady m: sub prefix:<[+]> (+args) { say "HERE" }; say [+] 1,2,3 16:35
camelia rakudo-moar 82deb7: OUTPUT«HERE␤True23␤»
16:35 cognominal joined
jnthn drop that prec! 16:36
liztormato ilmari: could you rakudobug the attribute :D issue?
TimToady m: sub prefix:<[+]> (+args) is equiv(???) { say "HERE" }; say [+] 1,2,3 16:37
camelia rakudo-moar 82deb7: OUTPUT«Stub code executed in code at /tmp/BJZZb6YAWo:1␤5===SORRY!5=== Error while compiling /tmp/BJZZb6YAWo␤Can't use unknown trait 'is equiv' in a sub+{precedence} declaration.␤at /tmp/BJZZb6YAWo:1␤ expecting any of:␤ rw raw hidden-from…»
TimToady what do I put for ??? there?
there's no actual list prefix operator I can equiv to
m: sub prefix:<[+]> (+args) is equiv(&say) { say "HERE" }; say [+] 1,2,3 16:38
camelia rakudo-moar 82deb7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/R00EA622_Y␤Routine given to equiv does not appear to be an operator␤at /tmp/R00EA622_Y:1␤»
jnthn m: sub prefix:<[+]> (+args) is looser(&infix:<,>) { say "HERE" }; say [+] 1,2,3 # mebbe 16:40
camelia rakudo-moar 82deb7: OUTPUT«HERE␤True␤»
TimToady well, we should have a target we can equiv to somehow
pmurias jnthn: do you know that MAIN gets called differently when a .nqp file is called directly with nqp-m or precompiled? 16:41
jnthn: paste.debian.net/314832
16:41 dshahin left
jnthn pmurias: yes 16:43
timotimo quuxman: we don't really have a tool for that yet
jnthn pmurias: Given we don't yet pre-comp scripts in Rakudo, I've just not cared about it enough to fix it yet. If you wish to, feel free :)
quuxman why not just clone the repository and build it? What's the point of rakudobrew? 16:44
timotimo quuxman: i think rakudo and nqp compile a few paths into "themselves" regarding the installation
rakudobrew does exactly that
csd_ how would i search for documentation on $^a, $^b, etc ?
timotimo but it also handles changing versions and such
csd_: the first try was in language/functions, but that only mentions these; there's no explanation 16:45
pmurias jnthn: if fixing this will help Rakudo I can do it 16:46
moritz csd_: there has long been an idea floating around about a search for syntactic features; so far, nobody has done it
liztormato csd_: perhaps 'automatic signature' ?
TimToady csd_: they're called placeholders, but so far only docced in the design docs
timotimo m: sub foo($a) { $^a }
camelia rakudo-moar 82deb7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b8hM3YgWZ9␤Redeclaration of symbol $^a as a placeholder parameter␤at /tmp/b8hM3YgWZ9:1␤------> 3sub foo($a) { $^a7⏏5 }␤»
16:46 n0tjack left
timotimo ^- here's the name you're looking for, as TimToady just told you, too 16:46
csd_ googling about perl's syntax seems challenging 16:47
TimToady ayup :)
csd_ thx TimToady
googling "dollar carat" got me close, but it was perl5 related :-/ 16:48
16:48 mfollett left
jnthn pmurias: I don't know how many more blockers we'll have for script pre-comp, but it'll help by removing the one I know about :) 16:48
csd_ i'm sure without customized search results it would return jewelry links ;)
TimToady S06:Placeholder_variables
timotimo i always thought it's spelled "caret" 16:49
csd_ you're probably right
TimToady thought it was spelled "uparrow" :)
skids
.oO(a POD search-engine-optimization directive)
timotimo i was taught by a comp-sci teacher in school to pronounce it "worauf er zeigt"
loosely "what it points at" 16:50
16:50 coetry left
timotimo (yeah, that's pascal brane-damage) 16:50
TimToady someone really needs to write a snippet explainer 16:51
16:51 ^elyse^ left, dakkar left
pink_mist $snipped.EXPLAIN 16:52
*$snippet
16:52 pecastro left
TimToady EVAL($snippet,:explain) 16:52
El_Che spinning a win7x86 vm to have a look at rakudo on cygwin 16:53
quuxman I get the same error, "Undeclared routine: unit used at line 3. Did you mean 'uniq'?" from `perl6 bootstrap.pl` in a just cloned panda and a newly built perl6 from current github version
timotimo EXPLAIN EVAL 'say $what' 16:54
quuxman Error while compiling $HOME/src/panda/ext/File__Find/lib/File/Find.pm
16:54 sQuEE joined, pecastro joined
jnthn El_Che: Last I knew, the blocker was that libuv didn't build on Cygwin, which we depend on 16:54
moritz quuxman: what does perl6 --version say? 16:55
timotimo quuxman: i bet it's a problem with your $PATH
quuxman oh I failed to uninstall the package manager version
timotimo ... yeah i was going to suggest that
quuxman yep
16:55 n0tjack joined, donaldh left
El_Che john: I tried at and the only error I got was that the install dir wasn't created by Configure.pl 16:56
dalek p: 9e6e486 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] implement sub MAIN(*@ARGS) {...}
p: 23b8ab5 | (Pawel Murias)++ | src/vm/js/HLL/Backend.nqp:
[js] make nqp-js pass command line args when invoking node to execute the js
16:58 IJ27 joined
btyler without opening a ginormous can of worms, what stands in the way of 'use Perl6::Grammar' in p6 code? 17:00
quuxman how do I get a REPL where I can enter multiple lines?
17:00 IJ27 left, travis-ci joined
travis-ci NQP build passed. Pawel Murias '[js] make nqp-js pass command line args when invoking node to execute the js' 17:00
travis-ci.org/perl6/nqp/builds/84137499 github.com/perl6/nqp/compare/3b57c...b8ab5e7fde
17:00 travis-ci left
btyler (saying "it's hard, someone smart needs to do it" is an answer I'm perfectly happy with, just wondering) 17:00
17:01 rurban1 left
moritz btyler: you cannot compile Perl 6 with a mere grammar, you need to keep a symbol table / lexpads and all that arround 17:01
btyler: the use (with a :from<NQP>) itself might even be implemented
17:02 rurban joined
moritz m: use Perl6::Grammar:from<NQP>; say 'alive'; 17:02
camelia rakudo-moar 0cee78: OUTPUT«alive␤»
El_Che jnthn: samn "no install dir" error: paste.ubuntu.com/12706202/ :(
jnthn TimToady: Answer: in "proto x($, $?) { * }; multi x($) { }; x(1) for ^1000" we call the proto for real only once 17:03
btyler moritz: I was just hoping to some parsing for kicks. thank you!
quuxman or at least load a file from the existing REPL?
TimToady jnthn: okay, I'll change | to $? $? as appropriate
jnthn TimToady: OK.
17:04 firstdayonthejob joined, nbiiebbiih left, stephen144 joined
timotimo quuxman: you'll want to install "Linenoise" probably 17:04
or perhaps it'll be enough to put a \ at the end of your line 17:05
(yeah, not so awesome, sorry)
jnthn Dinner; will prolly hack more on the case folding stuffs later on today :) 17:06
quuxman timotimo: already installed Linenoise. How do I use it?
timotimo it'll be used automatically
quuxman timotimo: I wanted to be able to paste subroutines into the REPL
timotimo oh ... yeah ... :\ 17:07
without some backslashes, probably not going to happen ;(
we really, really, really want that Jupyter integration
anyway, AFK for a bit
rindolf Hi all. sup? 17:08
17:08 coetry joined, steve-robot joined
nine rindolf: lots of new faces. So someone must have been talking about Fight^WPerl 6. 17:08
nine looks at TimToady 17:09
rindolf nine: Fight?
nine: ah, Fight Club.
17:09 liztormato_ joined
TimToady jnthn: is proto (Mu $?, Mu $?) doing spurious itemization? 17:10
17:10 sQuEE is now known as sQuEE`
rindolf nine: www.shlomifish.org/humour/fortunes/...sharp-ruby 17:11
17:11 sQuEE` is now known as sQuEE, sQuEE is now known as sQuEE`
TimToady jnthn: and if so, do we need to allow something like (Mu \?, Mu \?) 17:11
17:12 sQuEE` is now known as sQuEE
rindolf «The zeroth rule of Fight Club is Chuck Norris can talk about Fight Club» 17:12
17:12 liztormato left, liztormato_ is now known as liztormato
TimToady m: sub foo(Mu \?) { 42 } 17:12
camelia rakudo-moar 0cee78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aR1j0R9iq0␤Malformed parameter␤at /tmp/aR1j0R9iq0:1␤------> 3sub foo(Mu \7⏏5?) { 42 }␤ expecting any of:␤ constraint␤»
17:13 liztormato_ joined
TimToady m: say &[~~].count 17:13
camelia rakudo-moar 0cee78: OUTPUT«Inf␤»
TimToady looking at that one right now
actually, that one is strict binary, so I've just made the proto (Mu \topic, Mu \matcher) 17:14
masak wow, "Total of 292 nicks". when did this happen? :) 17:15
I always had the impression we were hovering around ~200 all the time. 17:16
17:16 liztormato left, liztormato_ is now known as liztormato
_itz "September" :) 17:16
^ Eternal 17:17
17:18 pyrimidine left
masak _itz: :) 17:18
moritz remember, remember, the 2015 September
17:18 pyrimidine joined
masak ...the wiki engine November 17:19
17:20 sQuEE is now known as sQuEE` 17:21 laouji joined 17:23 chrstphrhrt left, FROGGS joined
FROGGS o/ 17:23
yoleaux 13:05Z <lizmat> FROGGS: hope you agree with github.com/rakudo/rakudo/commit/58c391bf4e
FROGGS lizmat++ # good catch 17:24
masak wonders if some shadowing 'my' things like that are catchable 17:25
17:25 laouji left
masak like, I don't want the compiler to warn about it always, but I might want it when the shadowing makes either or both variables pointless 17:25
El_Che jnthn: this is the "official" rason why rakudo does not build on cygwin: cygwin.com/cygwin-api/std-notimpl.html . pthread_barrier is needed by uv. Should this be documented somewhere on the website?
liztormato masak: only if it isn't used within that same scope 17:26
FROGGS masak: warnings about unused variables might help already
17:27 ^elyse^ joined
FROGGS m: sub foo(:D $a) { $a }; foo 42 17:28
camelia rakudo-moar 0cee78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0jonO0MCQo␤Missing block␤at /tmp/0jonO0MCQo:1␤------> 3sub foo(:7⏏5D $a) { $a }; foo 42␤»
17:29 diana_olhovik_ joined
FROGGS m: sub foo(Int:_ $a) { $a }; foo 42 17:29
camelia ( no output )
17:29 absence left
FROGGS m: my Int:_ $a 17:29
camelia ( no output )
FROGGS m: my Int:x $a
camelia rakudo-moar 0cee78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QIfPOimopQ␤Invalid type smiley 'x' used in type name␤at /tmp/QIfPOimopQ:1␤------> 3my Int:x7⏏5 $a␤»
masak FROGGS: Niecza has warnings about unused variables. they're extremely annoying. 17:30
17:30 Kcop left
masak FROGGS: there are so many situations where I declare a variable and then not use it. 17:30
FROGGS masak: yes
liztormato masak: to what ent?
FROGGS maybe we want a pedantic mode in a distant future
liztormato End 17:31
17:31 Xor_ joined
masak liztormato: I'm not sure I can make a long list on the spot, even though I feel there's half a dozen reasons. 17:31
17:31 espadrine left
masak liztormato: one is that named variables are better documentation than anonymous variables, and it's not the compiler's job to force me to make named variables anonymous. 17:32
liztormato But what made niecza's warnings so annoying?
masak liztormato: another is that sometimes I have multis, and in some of the candidates I don't end up using a parameter, even though I still declared it for consistency.
n0tjack is it necessary or recommended to use strict; use warnings; at the top of p6 scripts?
liztormato Ok, so parameters should be exempt?
masak liztormato: the fact that I felt I was right and the compiler should stay out of my business made warnings so annoying.
FROGGS liztormato: think of multi subs where dont use all params in all candidates, it will warn about the unused 17:33
where you*
masak liztormato: to be honest, I'd prefer if there weren't warnings for correct things such as unused variables.
17:33 paulmr joined
masak liztormato: they annoy the heck out of me when I'm compiling partial programs. 17:33
n0tjack (most google hits for this question are talking about perl5 even if you specifically use +perl6 in the query)
liztormato Well. You started this discussion 17:34
moritz n0tjack: no need for that
masak n0tjack: no -- both "strict" and "warnings" are built in.
moritz m: use strict; # I think this will even complain
camelia ( no output )
moritz ah no
m: use warnings; # this one will
camelia rakudo-moar 0cee78: OUTPUT«===SORRY!===␤Could not find warnings in any of:␤ file#/home/camelia/.perl6/2015.09-271-g0cee783/lib␤ inst#/home/camelia/.perl6/2015.09-271-g0cee783␤ file#/home/camelia/rakudo-inst-2/share/perl6/lib␤ file#/home/camelia/rakudo-inst-2/share/perl…»
n0tjack thanks guys
TimToady m: sub foo(\a?) { say a }; foo 42
camelia rakudo-moar 0cee78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aiXL_y_EXE␤Malformed parameter␤at /tmp/aiXL_y_EXE:1␤------> 3sub foo(\a7⏏5?) { say a }; foo 42␤ expecting any of:␤ constraint␤»
TimToady huh
masak liztormato: I'm sorry if I was unclear. I was talking about a very narrow special case related to your commit to nine.
liztormato: where a variable accidentally shadows another. 17:35
TimToady jnthn: is there a fundamental reason \a can't be optional?
FROGGS TimToady: yes, somehow these dont like to be optional
I also hit it the other day
17:35 llfourn left
liztormato TimToady: because they're aliases? 17:35
TimToady well, I guess I'll use $? for now, on the assumption that even if the proto does a temporary itemization, it's harmless 17:36
liztormato If the parameter isn't specified, what should it alias to?
FROGGS liztormato++ # for Type:_
17:38 kjs_ left
[Coke] (cygwin, website) maybe under a FAQ of "why doesn't rakudo build on..." 17:38
TimToady m: sub foo(\a = 42) { say a }; foo 17:39
camelia rakudo-moar 0cee78: OUTPUT«42␤»
[Coke] and or "when will you target..."
TimToady liztormato: if defaults work, then so shoule ?
*ld
liztormato And default to Any ?
17:43 chrstphrhrt joined
moritz star: say 'version?' 17:44
camelia star-m 2015.03: OUTPUT«version?␤»
17:44 raiph left
nine What do I have to do to precompile a module? Tried perl6 --target=moar --output=Perl5.pm.moarvm TestModule.pm 17:44
But that gives me: ===SORRY!=== cannot stringify this
FROGGS nine: target=mbc
[Coke] ... even though we don't call anything mbc anywhere else. :) 17:45
liztormato CompUnit.precomp
nine: ^^^ 17:46
Cycling again &
17:46 liztormato left
n0tjack breaks on me at least twice a year 17:47
17:50 mr_ron left
steve-robot beginner question: my @arr = prompt "Enter 1 2 3 "; .WHAT tells me, that that's an array. @arr2 = @arr.map: {$_ + $anydate}; leads to "Cannot call Numeric(Date: ); none of these signatures match: (Mu:U \v: *%_)" mapping over (1,2,3) works as expected. What am I missing? 17:50
17:50 Kogurr joined
b2gills I found an error while going through the gitlog github.com/rakudo/rakudo/commit/e5...7ec8befaa4 17:51
timotimo ah, good catch 17:52
moritz steve-robot: you are trying to add a Date to a string, probably
[Coke] steve-robot: that's literally all of the code? what are you entering at the prompt?
timotimo so we could use "without" instead of "unless" there?
hm
well, that binds a $_
so could be more costly 17:53
so just .DEFINITE?
or .defined? hmm.
no, wait
isn't that there so that if you put a 0 in there, or a False, it'll delete the key?
b2gills which makes sense for bag and mix not set
steve-robot [Coke]: that's the part that breaks, I am entering 1 2 3 17:54
17:54 pecastro left
b2gills m: my $a = SetHash.new; $a<a> = 1 ; say $a 17:54
camelia rakudo-moar 0cee78: OUTPUT«SetHash.new(a)␤»
b2gills m: my $a = SetHash.new; $a<a> = 0 ; say
camelia rakudo-moar 0cee78: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/tJsUdsYXr2:1␤------> 3my $a = SetHash.new; $a<a> = 0 ; say7⏏5<EOL>␤Other potential difficulties:␤ Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_…»
b2gills m: my $a = SetHash.new; $a<a> = 0 ; say $a
camelia rakudo-moar 0cee78: OUTPUT«SetHash.new()␤»
b2gills m: say SetHash.new(:a(0))
camelia rakudo-moar 0cee78: OUTPUT«SetHash.new()␤»
b2gills m: say set 0 17:55
camelia rakudo-moar 0cee78: OUTPUT«set(0)␤»
17:55 tokuhirom joined, pecastro joined
[Coke] steve-robot: can you gist your code? 17:55
(gist.github.com)
but, as the error message indicates, you're trying to get a numeric value of a date: 17:57
b2gills .... Wait ... nevermind ( apparently I've been away from Perl 6 too long )
[Coke] m: +Date.new();
camelia rakudo-moar 0cee78: OUTPUT«WARNINGS:␤Useless use of "+" in expression "+Date.new()" in sink context (line 1)␤Cannot call Numeric(Date: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/rLsHlIJ04K:1␤␤»
[Coke] m: say Date.new(); say 123+Date.new();
camelia rakudo-moar 0cee78: OUTPUT«2015-12-24␤2016-04-25␤»
[Coke] you can do addition, but not numify. 17:58
b2gills timotimo: sorry for wasting your time the code is correct, I don't know what I was thinking 17:59
17:59 tokuhirom left
timotimo no, it's all right 17:59
someone i look up to recently said "i prefer a false positive in code review over no code review at all" 18:00
in other words: thanks for your effort
n0tjack the named capture syntax is neat 18:02
18:02 jmc joined
timotimo which one are you refering to? 18:03
18:04 [Sno] left
TimToady is it possible to use panda for both a rakudobrew and a dev version of rakudo? 18:04
tadzik yes 18:05
they should work independently
panda's files are relative to the rakudo installation path, CUSTOM_LIB and stuff
TimToady when I install a separate panda, it goes out and looks for .rakudobrew
tadzik oh, odd
18:05 xfix joined, xfix left, xfix joined
TimToady oh, wrong path, I think 18:06
steve-robot [Coke]: thanks for your help. I've pasted a minimal example here: pastebin.com/raw.php?i=y9FE58NF
TimToady needs two different bashrcs somehow
tadzik TimToady: is there some particular env var causing the problem?
FROGGS hmmmm, is 'use variables :D' meant to affect attribute declarations? 18:07
[Coke] unfortunately, pastebin is blocked at my $dayjob. Can someone else take a look?
FROGGS looks 18:08
n0tjack ok, this thing is giving helpful error messages. now I'm officially suspicious. 18:09
TimToady tadzik: yes, PATH
tadzik ah
so panda picks up not the perl6 you wanted it to? 18:10
TimToady I wish it was relative to my current directory tree somehow
FROGGS m: say 1 + Date.new(2010, 12, 24)
camelia rakudo-moar 0cee78: OUTPUT«2010-12-25␤»
FROGGS m: say <1> + Date.new(2010, 12, 24)
camelia rakudo-moar 0cee78: OUTPUT«2010-12-25␤»
FROGGS m: say "1" + Date.new(2010, 12, 24) 18:11
camelia rakudo-moar 0cee78: OUTPUT«Cannot call Numeric(Date: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/pJbEzRM8H9:1␤␤»
FROGGS so, prompt returns strings... and that's the problem here 18:12
m: say val "1"
camelia rakudo-moar 0cee78: OUTPUT«1␤»
FROGGS m: say val("1").WHAT
camelia rakudo-moar 0cee78: OUTPUT«(IntStr)␤»
FROGGS steve-robot: turn your line 12 to: return @arr.map: {val($_) + $startdate}; 18:13
or: return @arr.map: {+$_ + $startdate};
TimToady I guess I want a trampoline version of panda that looks up the directory tree for a symlink to the real panda for this directory tree
FROGGS steve-robot: though, you cannot enter "1 2 3" without splitting the string by whitespace
TimToady or I just need to start a subshell with a different PATH 18:15
18:16 Hor|zon left 18:17 mfollett joined
steve-robot FROGGS: thanks, that helped a lot! 18:17
FROGGS :o) 18:18
18:19 mprelude left
n0tjack if I want to split a string on whitespace, discarding empties, must I really write e.g. comb /\S+/, $stuff instead of split ' ', $stuff ? 18:23
that seems inconvenient
FROGGS m: use Test; isa-ok Int, Int, '...'
camelia rakudo-moar 0cee78: OUTPUT«ok 1 - ...␤»
FROGGS m: use Test; isa-ok IntStr, IntStr, '...'
camelia rakudo-moar 0cee78: OUTPUT«ok 1 - ...␤»
FROGGS m: use Test; isa-ok Int:U, IntStr, '...'
camelia rakudo-moar 0cee78: OUTPUT«not ok 1 - ...␤␤# Failed test '...'␤# at /tmp/SLNE9ouev5 line 1␤# Actual type: Int␤»
18:24 Peter_R joined
moritz n0tjack: you can just use $stuff.words 18:24
n0tjack ah, much better
FROGGS m: use Test; isa-ok Int:U, Int, '...'
camelia rakudo-moar 0cee78: OUTPUT«ok 1 - ...␤»
FROGGS m: use Test; isa-ok IntStr, Int, '...'
camelia rakudo-moar 0cee78: OUTPUT«ok 1 - ...␤»
n0tjack what if I wanted to split on pipes? or instances of XXX ?
timotimo i find "$++ state vars for very fast loops" confusing
though ... state vars aren't actually a big performance hit AFAIK
moritz n0tjack: then you .split('|') 18:25
n0tjack m: say '1||2||||3|4|'.split('|') 18:26
camelia rakudo-moar 0cee78: OUTPUT«(1 2 3 4 )␤»
n0tjack that doesn't discard empties
moritz it doesn't
if you want that, just do it :-)
timotimo then .split(/\|+/)
moritz m: say '1||2||||3|4|'.split('|').grep(&so)
camelia rakudo-moar 0cee78: OUTPUT«((1) (2) (3) (4))␤»
moritz m: say '1||2||||3|4|'.split('|').grep(&chars) 18:27
timotimo um ... huh?
camelia rakudo-moar 0cee78: OUTPUT«(1 2 3 4)␤»
n0tjack &chars I get
what's &so?
timotimo where did those sublists come from there?
n0tjack: opposite of "not"
n0tjack and is there a "this array less the elements of this other array", like a left join?
moritz faq.perl6.org/#so
n0tjack (1,2,3) -. (1,3)
moritz: thanks 18:28
moritz we have set operators
but they work on sets
m: say (1, 2,3).grep(none(1, 3))
camelia rakudo-moar 0cee78: OUTPUT«(2)␤»
n0tjack ooh, built in sets
none is cool too
thanks
n0tjack goes off to make his helloworld.p6 even weirder 18:29
dalek ast: fca109d | FROGGS++ | S12-attributes/smiley.t:
add tests for smileys on attributes
moritz doc.perl6.org/type/Set
timotimo moritz: excuse me, but where did (1) (2) (3) (4) come from in the .grep(&so) example? 18:30
i see something i don't understand and it scares me! ;)
moritz timotimo: I have no idea
m: say '1||2||||3|4|'.split('|').grep(&so).perl
camelia rakudo-moar 0cee78: OUTPUT«(("1",), ("2",), ("3",), ("4",)).Seq␤»
moritz m: say '1||2||||3|4|'.split('|').perl
camelia rakudo-moar 0cee78: OUTPUT«("1", "", "2", "", "", "", "3", "4", "").Seq␤»
timotimo m: say &so.arity; say &so.count 18:31
camelia rakudo-moar 0cee78: OUTPUT«0␤Inf␤»
moritz eeks
timotimo m: say '1||2||||3|4|'.split('|').grep(*.so).perl
camelia rakudo-moar 0cee78: OUTPUT«("1", "2", "3", "4").Seq␤»
timotimo it's about the "take as many as you like" thing?
lizmat FROGGS: since we're going to handle the initializer on attributes with :D differently, maybe we would need an "use attributes :D" pragma as well ?
TimToady I've been fixing up some arity/counts, but not yet 'so'
moritz I guess it's messing up the zero-args case
timotimo m: say '1||2||||3|4|'.split('|').grep({ so $_ }).perl
camelia rakudo-moar 0cee78: OUTPUT«("1", "2", "3", "4").Seq␤»
timotimo probably
lizmat instead of using 'use variables :D' ?
timotimo thank you, TimToady 18:32
FROGGS lizmat: hmmm, good question
18:33 mprelude joined
FROGGS lizmat: I would not say no to an attributes pragma, on the other hand I find all of these pragmas kinda weird 18:33
lizmat well, without the pragma's, we wouldn't need Int:_
FROGGS troo
I just can't imagine that somebody will use these pragmas, is all 18:34
lizmat I'm pretty sure *I* would
FROGGS hehe
lizmat and possibly use them in the settings with :D all of them
18:35 coetry left
lizmat even to the point I was thinking of 'use smileys :D' would be doing all of them :-) 18:35
ab5tract_ FROGGS: "all of these pragmas" -> what pragmas are you referring to, ooc? 18:36
lizmat use smileys :D would be the same as: use variables :D; use attributes :D; use parameters :D; use invocant :D
FROGGS ab5tract_: ^^ 18:37
:o)
ab5tract_ :)
FROGGS except there is no 'use smileys'
ab5tract_ ahh
lizmat (yet :-)
dalek kudo/nom: 8d4e744 | lizmat++ | src/Perl6/World.nqp:
Add 'use attributes' pragma handling
FROGGS I guess 'use invocant :D' really does make sense, in so far that you often add to all methods except .new 18:38
ab5tract_ fwiw, I like it. but I have to say part of that attraction lies in the cute factor, which I know can be a turn off to others
but from that perspective, one could argue that it's a good way to avoid those folks ;)
18:39 sufrostico joined, sufrostico left 18:40 antiatom joined
FROGGS lizmat: problem is that a 'use smileys :D' is dangerous, in fo far as we might add a fifth category 'use flubber :D', and then we can either make smileys cover that too and break your code or do the opposite and have a mess 18:40
18:40 st_iron joined
st_iron hi 18:40
FROGGS well, it would be a mess either way I think
lizmat yeah, good point
st_iron just installing rakudo
lizmat probably something for a macro then
FROGGS so for keywords we should try to be as specific as possible, to be able to keep the meaning 18:41
yeah
18:41 Hor|zon joined
st_iron I use rakudobrew, is it the best way to do it? (I have seen something about it on perl6.org, but I do not find it now) 18:41
dalek osystem: 1d46336 | ugexe++ | META.list:
Add Base64
n0tjack can I hyper a unary operator?
FROGGS st_iron: rakudobrew is probably the best way to try things, yes 18:42
TimToady st_iron: it's best if you just want to play with the current version
n0tjack m: say gather for ("1","2","3") { take +$_ };
camelia rakudo-moar 0cee78: OUTPUT«(1 2 3)␤»
[Coke] st_iron: rakudo.org/how-to-get-rakudo/
n0tjack is there a cute >>+>> ("1","2","3") way to do that?
m: say +<< ("1","2","3") 18:43
camelia rakudo-moar 0cee78: OUTPUT«(1 2 3)␤»
n0tjack nice
[Coke] is there a desire to make examples.perl6.org look like the new perl6.org?
FROGGS [Coke]: I think that would be nice, yeah 18:44
steve-robot FROGGS: Although my problem is now resolved, I just can't figure out what +$_ does? Black magic?
FROGGS steve-robot: $_ contains a string, your input, and the + prefix op numifies it 18:45
steve-robot: so it turns a string that turns a valid number into said number type
m: say "+42"
camelia rakudo-moar 0cee78: OUTPUT«+42␤»
FROGGS m: say +"42"
camelia rakudo-moar 0cee78: OUTPUT«42␤»
FROGGS m: say (+"42").WHAT
camelia rakudo-moar 0cee78: OUTPUT«(Int)␤»
FROGGS m: say +"42.7" 18:46
camelia rakudo-moar 0cee78: OUTPUT«42.7␤»
FROGGS m: say +"42e7"
camelia rakudo-moar 0cee78: OUTPUT«420000000␤»
steve-robot oh, I didn't know about that prefix trick, thanks again
st_iron TimToady, FROGGS, [Coke], thanks, I am compiling it now, let's rock
[Coke] notes that "prefix:+" isn't available on docs.perl6.org
moritz [Coke]: known issue with the search index generation :(
[Coke] moritz: issue #? 18:47
dalek ast: 4341b10 | FROGGS++ | S12-attributes/smiley.t:
use new attributes pragma in todo test
[Coke] related to 130, 131?
moritz github.com/perl6/doc/issues/48
st_iron version 2015.09-55-gf09c782 < I've read it 2015.09.55 at first 18:48
[Coke] moritz++
moritz m: say 'newer' 18:49
camelia rakudo-moar 0cee78: OUTPUT«newer␤»
moritz star: say 'newer'
camelia star-m : OUTPUT«newer␤»
moritz oh, forgot to create the version file
star: say 'newer' 18:50
camelia star-m 2015.09: OUTPUT«newer␤»
moritz much better
such new
18:50 lizmat left
pink_mist what's 'star'? another backend vm? 18:50
pink_mist gets confused between all the p6: m: j: r: and now star: 18:51
moritz pink_mist: it's a distribution that includes rakudo, some modules, docs and a module installer
pink_mist ah, interesting
moritz star: use JSON::Tiny; say to-json { a => [2, 1e5] }
camelia star-m 2015.09: OUTPUT«{ "a" : [ 2, 100000 ] }␤»
pink_mist cool
moritz m: use JSON::Tiny; say to-json { a => [2, 1e5] }
camelia rakudo-moar 0cee78: OUTPUT«===SORRY!===␤Could not find JSON::Tiny in any of:␤ file#/home/camelia/.perl6/2015.09-271-g0cee783/lib␤ inst#/home/camelia/.perl6/2015.09-271-g0cee783␤ file#/home/camelia/rakudo-inst-2/share/perl6/lib␤ file#/home/camelia/rakudo-inst-2/share/pe…»
dalek pan style="color: #395be5">perl6-examples: f423a3c | (Quinn Perfetto)++ | / (2 files):
solved project euler 39
pan style="color: #395be5">perl6-examples: c3a6d2e | (Zoffix Znet)++ | / (2 files):
Merge pull request #32 from Quinny/master

solved project euler 39
18:52 lizmat joined
moritz uhm, what does a once { } block do? 18:53
18:53 dha joined
[Coke] m: for 1..10 { once { say "hi" }; say $_ } 18:53
camelia rakudo-moar 8d4e74: OUTPUT«hi␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
[Coke] "run once" 18:54
timotimo m: for 1..3 { for 1..10 { once { say "hi" }; say $_ } }
camelia rakudo-moar 8d4e74: OUTPUT«hi␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤hi␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤hi␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
timotimo ^- with closure clone semantics; so just like a state var
18:54 jkva left, lizmat_ joined
dha hoo boy. The IO pods are a bit of a mess... :-/ 18:55
18:55 Kogurr left
moritz "here be dragons" 18:55
18:56 lizmat left
steve-robot Am I supposed to find val() at docs.perl6.org? 18:56
dha Should I be avoiding this particular can of worms for now? 18:57
dalek kudo/nom: 53969ab | lizmat++ | src/Perl6/World.nqp:
use smileys :_ should return to original state
FROGGS dha: depends what you are up to... we need to get it in shape
dha putting in usage statements where there are signatures. 18:58
lizmat_ dha: jnthn mentioned he wanted to look at them soonish with his pumpkin hat on
dha But it's messy and confusing.
lizmat_ dha: I would avoid at the moment...
dha Ok. Ooh. time to use a new git command!
18:58 coetry joined
FROGGS *g* 18:58
dha Never used stash before... 18:59
[Coke] crap, I need to remember to time a full run of "build the docs" at some point.
FROGGS steve-robot: you are supposed to find everything in the end, but we have holes in there still
steve-robot FROGGS: good to know it's not me… have a nice day! 19:00
[Coke] please let us know if you try to find a doc and can't. If it's missing, we can add it to teh WANTED list. if it's a bug, we can open an issue in the doc creation project.
[Coke] gets a TON of uninitialized value warnings in a full run of htmlify...
lizmat_ FROGGS: re has Int:D $.foo , shouldn't that modify autogenerated accessors ?
FROGGS steve-robot: thanks, I wish the same :o)
19:00 lizmat_ is now known as lizmat
dalek pan style="color: #395be5">perl6-examples: ed1ffb5 | (Zoffix Znet)++ | categories/euler/prob (2 files):
Rename prob39 file so tests can find it properly
19:01
FROGGS lizmat: and it does not?
[Coke] hurk. htmlify is borked.
FROGGS m: class Foo { has Int:D $.bar }
camelia rakudo-moar 8d4e74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Jkp1Om01Kv␤Variable definition of type Int:D requires an initializer␤at /tmp/Jkp1Om01Kv:1␤------> 3class Foo { has Int:D $.bar 7⏏5}␤»
FROGGS m: class Foo { has Int:D $.bar = 42 }
camelia ( no output )
FROGGS m: class Foo { has Int:D $.bar is rw = 42 }; Foo.new.bar = Int
camelia rakudo-moar 8d4e74: OUTPUT«Type check failed in assignment to $!bar; expected Int:D but got Int␤ in block <unit> at /tmp/xshM9N6msb:1␤␤»
FROGGS lizmat: is there something I missed? 19:02
19:02 bjorkintosh left
FROGGS [Coke]: yes, I tried to fix it but there is still something borken 19:02
lizmat I sorta expected it to happen sooner, before trying to assign to $!bar
but I guess this way is better anyway... 19:03
[Coke] how is the site getting generated if the generator is borked?
19:03 steve-robot left
moritz [Coke]: probably not at all 19:03
FROGGS ... since mid September
dha Hm... is there any point in putting in a usage statement for a method stub? E. g. C<iterator> in Iterable. 19:05
[Coke] opens a ticket. 19:06
lizmat m: my Int:D(False) $a = 42; $a = Int # looking at that now 19:07
camelia rakudo-moar 8d4e74: OUTPUT«Type check failed in assignment to $a; expected Int:D(False) but got Int␤ in block <unit> at /tmp/Py8ZipBXh0:1␤␤»
dha punts
timotimo hm
how good is our regex engine when it comes to things anchored with a $ at the end? 19:08
i imagine $word ~~ /[ea?|u|i] rl $/; might be VERY expensive for long words if we don't do very well
we don't do any "how long can this part of the regex be" analysis yet, AFAIK
19:08 M-tadzik joined
moritz which answers your question, no? :/ 19:09
timotimo but perhaps the whole thing already gets flipped and thus becomes a BOS-anchored thing?
yeah
tadzik oh, this works :)
timotimo and that's quite the endeavour
M-tadzik (I mean this)
19:09 lichtkind_ joined
timotimo oh, matrix 19:09
m: say "foobar".substr(*-3)
camelia rakudo-moar 8d4e74: OUTPUT«bar␤»
lichtkind_ are $~Quasi and $~Trans dumped? 19:10
[Coke] tries to find the commit that caused the failures...
FROGGS m: my Int:!D $a = 42; $a = Int
camelia rakudo-moar 8d4e74: OUTPUT«5===SORRY!5===␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/tU3oxP6dH4:1␤------> 3my Int7⏏5:!D $a = 42; $a = Int␤Malformed my␤at /tmp/tU3oxP6dH4:1␤------> 3my Int7⏏5:!D $a = 42; $a = Int␤␤»
FROGGS ewww
[Coke] might be a doc commit that generates pod we're not expecting or something.
timotimo lichtkind_: the $~ twigil isn't implemented yet AFAIK
lichtkind_ it is 19:11
timotimo oh
FROGGS timotimo: it is
lichtkind_ since 4 other
19:11 st_iron left
lichtkind_ ~vars are there 19:11
just 2 are missing from specs
FROGGS lichtkind: there is no $~Trans, and I don't see what that should be
lichtkind_ so i ask if its todo or dropped
FROGGS and for $~Quasi, we don't know yet
lichtkind_ there was a time when syn said there should be trans 19:12
19:12 pierrot left
lichtkind_ allright so i cut it from tablets 19:12
thanks
timotimo trans is the language for tr/.../.../ operators? 19:13
19:14 st_iron joined
st_iron oops, moar ate up my memory 19:14
say $word if $word ~~ m :i/ amas /;
this line technically killed my notebook 19:15
FROGGS :S
dalek blets: 7035b5e | (Herbert Breunung)++ | docs/ (3 files):
remove $~Trans
[Coke] ugh. bisecting is a no go, since it depends on a version of perl 6 that doesn't exist anymore.
lichtkind yes timotimo
FROGGS and the lhs of trans is Regex and the rhs is Quote... so there is no need for Trans 19:16
timotimo st_iron: uh oh; can you help us figure out what went wrong?
lichtkind i mit commit i can bring back any time :) long live git
19:16 kaare_ left
timotimo or did you just get a gigantic string in there? 19:16
lichtkind FROGGS and quasi is not sure
?
timotimo that depends very much on masaks work
which is post 6.Christmas
FROGGS lichtkind: we will know once the macros got revised 19:17
lichtkind who masters dalek?
thanks FROGGS
FROGGS lichtkind: you're welcome
st_iron timotimo: I am just playing around, slurping the whole unix dict into memory, iterate through it and say words with / amas /
lichtkind i would like a repo added to dalek
FROGGS lichtkind: there is a dalek setup howto... gimme a sec 19:18
timotimo why slurp all of it into memory?
gfldex st_iron: it would be nice if you could nopaste the source somewhere
FROGGS lichtkind: github.com/perl6/mu/blob/master/mi...k-push.txt
jnthn TimToady: Optional parameters don't have a variable name to bind to and so we don't even go so far as to create containers
st_iron timotimo: pastebin.ca/3184525
timotimo: I used it in the past (way years back) to measure something 19:19
timotimo you do know that this for loop is useless? :)
st_iron timotimo: I just wrote it to perl6 to look at it :)
jnthn El_Che: We can document that, and point people to just grab a normal Windows build and use it under cygwin, which should be good enough for most cases.
st_iron ouch, so I killed my notebook 19:20
"sit down, rtfm mr. iron" :)
timotimo st_iron: you'll get a single run of the for loop with the complete contents of that file
flussence that doesn't seem like... very computer-murdery code
timotimo you'd probably prefer using "lines" to iterate
can you tell us how big exactly your dict file is?
jnthn TimToady: Don't see a reason why \a? couldn't work; it'd jsut shove Any (or Mu, or whatever declared type) in there 19:21
flussence oh, the regexing a giant string part might be a little painful, yeah... (but why does it do that?)
gfldex that file is about 1MB in size 19:22
st_iron of course: 920K /usr/share/dict/american-english
lizmat m: sub a(\a = Any) { dd a }; a
camelia rakudo-moar 8d4e74: OUTPUT«Any␤»
lizmat m: sub a(Int \a = Any) { dd a }; a 19:23
camelia rakudo-moar 8d4e74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JVJNrMMerE␤Default value '(Any)' will never bind to a parameter of type Int␤at /tmp/JVJNrMMerE:1␤------> 3sub a(Int \a = Any7⏏5) { dd a }; a␤ expecting any of:␤ constraint␤»
lizmat m: sub a(Int \a = 42) { dd a }; a
camelia rakudo-moar 8d4e74: OUTPUT«42␤»
lichtkind FROGGS++
TimToady jnthn: what I'm struggling with at the moment is that $y does (R2, R3); is passing 3 arguments to infix:<does> for some reason
but I don't see anything that could be slipping the RHS
19:24 Hor|zon_ joined
flussence fwiw, «perl6 -e 'lines.grep(rx:i/amas/).say' < /usr/share/dict/words» runs with stable mem usage, with a 2.5MB file here. 19:25
timotimo flussence: stable at what level?
19:25 dalek left, dalek joined, ChanServ sets mode: +v dalek
timotimo probably still higher than would make me happy ;) 19:25
like, 80 megs?
flussence just under 100MBish, yeah
timotimo typical 19:26
19:26 yobj left
timotimo perl6 -e '' is at 60 megs on my machine 19:26
gfldex st_iron: it's eating little more then 2.5GB on my side as well and gets killed by kernel
flussence the repl chews up 140MB here...
TimToady I guess I'll just leave 'does' alone
19:26 xfix left 19:27 xfix joined, xfix left, xfix joined, Hor|zon left
flussence (hm... if a simple regex on 950KB of text is enough to cause OOM... I'm hoping there's some really simple bug somewhere causing it, and fixing that will help across the board) 19:28
19:28 yobj joined, yobj left, yobj joined
lichtkind_ FROGGS have you the rights to do that becasuse i dont 19:28
timotimo flussence: it'd be great if you could find something :)
FROGGS lichtkind_: for which repository? 19:29
flussence golfed OOM: «perl6 -e 'given $*IN.slurp-rest { .say when rx:i/amas/ }' < /usr/share/dict/words»
n0tjack is there any kind of builtin which means "defined, numeric, and greater than zero"?
(or, if not "greater than zero", then "not equal to zero") 19:30
gfldex st_iron: change 'for $words -> $word {' to 'for $words.lines -> $word {' will fix it
lichtkind_ FROGGS, github.com/perl6/problem_solver_tutorial
was created by moritz
FROGGS m: my Int:D $foo where * > 0 = 42; say $foo;
19:30 [Sno] joined
camelia rakudo-moar 53969a: OUTPUT«42␤» 19:30
FROGGS m: my Int:D $foo where * > 0 = 42; say $foo; $foo = -2
camelia rakudo-moar 53969a: OUTPUT«42␤Type check failed in assignment to $foo; expected Int:D but got Int␤ in block <unit> at /tmp/Eo8PsBW0wR:1␤␤»
jnthn TimToady: wrt does, I think because we code-gen does with a bunch of roles to pass them all, to avoid an ambiguity 19:31
FROGGS m: my Int:D $foo where * > 0 = 42; say $foo; $foo = 2
camelia rakudo-moar 53969a: OUTPUT«42␤»
st_iron gfldex: checking, thanks
FROGGS m: my Int:D $foo where * > 0 = 42; say $foo; $foo = 0
camelia rakudo-moar 53969a: OUTPUT«42␤Type check failed in assignment to $foo; expected Int:D but got Int␤ in block <unit> at /tmp/wYNzfHi7mS:1␤␤»
FROGGS n0tjack: something like that ^^
n0tjack FROGGS: something suitable for grep
I'm writing grep {$^x > 0}, @stuff
I'm wondering if there's anything cuter
flussence UInt where True?
jnthn TimToady: And does needs special compilation 'cus of the does Foo(42) case...hm, or maybe that's only on but, I forget. 19:32
FROGGS m: say (-5 .. 5).grep: UInt where *.so
camelia rakudo-moar 53969a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tsbLrt29pS␤Two terms in a row␤at /tmp/tsbLrt29pS:1␤------> 3say (-5 .. 5).grep: UInt7⏏5 where *.so␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ stateme…»
El_Che jnthn: good point
FROGGS m: say (-5 .. 5).grep: { UInt where *.so }
camelia rakudo-moar 53969a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OBPkWmtl_I␤Two terms in a row␤at /tmp/OBPkWmtl_I:1␤------> 3say (-5 .. 5).grep: { UInt7⏏5 where *.so }␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
gfldex st_iron: for loops are basicly .map on the array and with that loop of yours you create a list with nearly 100k elements that contain the whole file and then you ask it to create a match object for each of those 100k elements
n0tjack why are all you native speakers saying <data>.function {block} instead of function {block}, <data> ? 19:33
TimToady okay, I see mixin_op, so I'll still leave 'em alone
flussence m: say (-5 .. 5).grep: UInt & *.so
camelia rakudo-moar 53969a: OUTPUT«(1 2 3 4 5)␤»
n0tjack nice!
FROGGS ohh
st_iron gfldex: yeah, it was for a perl5 presentation aka "look at it, it is pretty fast" :)
timotimo gfldex: no, that for loop gets sinked, and so it doesn't keep thev alues around
st_iron gfldex: I just wrote it in perl6 as my first "official" rakudo run :)
n0tjack m: say UInt.WHAT 19:34
camelia rakudo-moar 53969a: OUTPUT«(UInt)␤»
jnthn TimToady: Yeah, though it is one of those corners of the language where it's been a bit "torture the implementor" and so we've ended up with "clever" code trying to make all the things that should work work. :)
FROGGS lichtkind_: done
TimToady well, nobody in their right mind is going to ask for the count of does/but anyway 19:35
jnthn :)
lichtkind_ FROGGS += 2 :)
FROGGS *g*
El_Che jnthn: if you point me to the rakudo.org site repo I'll send a PR with the documentation changes
jnthn TimToady: If I can get one quick ruling: trait in STD parses <trait_mod> | <colonpair>. I can't figure out what the colonpair case is meant to do. Any pointers, or is it "not 6.christmas"? :)
TimToady n0tjack: two reasons: 1) slightly faster if the listop is implemented in terms of the method, and 2) you don't have to worry about a list infix eating up the block accidentally
19:35 Ajjay joined
TimToady m: say map { $_ * 2 }, 1 ... 10 19:36
camelia rakudo-moar 53969a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dLSNGh31Tx␤Missing comma after block argument to map␤at /tmp/dLSNGh31Tx:1␤------> 3say map { $_ * 2 }, 1 ... 107⏏5<EOL>␤»
TimToady oh, there's a cool mis-diagnosis
maybe s/block/first/ 19:37
n0tjack m: say map {$_*2}, 1..10;
camelia rakudo-moar 53969a: OUTPUT«(2 4 6 8 10 12 14 16 18 20)␤»
n0tjack I see, I'd expect ... to work like ..
TimToady but .. is tighter than comma, while ... isn't
n0tjack still though, the last operation should come first!
unless you speak Hebrew, I guess 19:38
FROGGS El_Che: rakudo.org is not histed in a repository... but I've got the power to edit articles...
hosted*
TimToady say map ({ $_ * 2 }, 1 ... 10) is how it's being parsed
m: say map { $_ * 2 } <== 1 ... 10 19:39
camelia rakudo-moar 53969a: OUTPUT«()(1 2 3 4 5 6 7 8 9 10)␤»
n0tjack m: say 1 ... 10;
camelia rakudo-moar 53969a: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
n0tjack TimToady: Dude!
dha Hm. The List type has a C<first> method, but not a <last> method. grumble.
TimToady theres a workaround, except I don't know where that first () came from
19:39 andreoss joined
dha (as documented in List.pod, anyway) 19:39
n0tjack I think that was from my ... not your <== 19:40
TimToady m: say map { $_ * 2 } <== 1 ... 10
camelia rakudo-moar 53969a: OUTPUT«()(1 2 3 4 5 6 7 8 9 10)␤»
19:40 Ajjay left
TimToady no it was mine 19:40
FROGGS weird one
19:40 Kogurr joined
TimToady m: say map { $_ * 2 } <== 0,2 ... 10 19:40
camelia rakudo-moar 53969a: OUTPUT«()(0 2 4 6 8 10)␤»
FROGGS m: say(map { $_ * 2 } <== 0,2 ... 10) 19:41
camelia rakudo-moar 53969a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GffgBALvxu␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/GffgBALvxu:1␤------> 3say(map { $_ * 2 }7⏏5 <== 0,2 ... 10)␤ expecting any of:␤ infix␤ …»
TimToady m: say map { $_ * 2 }, Empty <== 0,2 ... 10
camelia rakudo-moar 53969a: OUTPUT«()(0 2 4 6 8 10)␤»
TimToady it's the non-argument before the <== somehow, I think
m: say map { $_ * 2 } <== 1..10
camelia rakudo-moar 53969a: OUTPUT«()1..10␤»
TimToady has nothing to do with the ...
so a plain old bug 19:42
in feed operators
m: say map { $_ * 2 } <== slip 1..10
camelia rakudo-moar 53969a: OUTPUT«()12345678910␤»
n0tjack m: say grep {$^x%2} <== map {$_*$_} <== 1..10;
camelia rakudo-moar 53969a: OUTPUT«()(1 4 9 16 25 36 49 64 81 100)␤»
n0tjack it didn't add two ()s 19:43
TimToady m: say map { $_ * 2 },0 <== 1..10
camelia rakudo-moar 53969a: OUTPUT«(0)1..10␤»
TimToady ah, it's not slipping the left side
FROGGS TimToady: btw, I'd like to make '$foo.map: {...}.perl' mean '$foo.map({...}).perl' rather than '($foo.map: {...}).perl' - my eyes parse it that way anyway 19:44
st_iron good bye for today, see you later
FROGGS TimToady: ... as in, change the design docs and tests
19:44 st_iron left
TimToady oh, wait, say is inside 19:44
m: say() <== map { $_ * 2 },0 <== 1..10
camelia rakudo-moar 53969a: OUTPUT«(0 2..20)␤»
TimToady m: say() <== map { $_ * 2 },0 <== 1...10
camelia rakudo-moar 53969a: OUTPUT«(0 20)␤»
n0tjack m: say() <== grep {1=$^x%2} <== map {$_*$_} <== 1..10;
camelia rakudo-moar 53969a: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/6CoUaxMQCM:1␤␤»
n0tjack m: say() <== grep {1==$^x%2} <== map {$_*$_} <== 1..10; 19:45
camelia rakudo-moar 53969a: OUTPUT«(1 9 25 49 81)␤»
TimToady m: say() <== map { $_ * 2 },0 <== |(1...10)
camelia rakudo-moar 53969a: OUTPUT«(0 2 4 6 8 10 12 14 16 18 20)␤»
El_Che FROGGS: ok, I'll post a small gist
TimToady m: say() <== map { $_ * 2 } <== |(1...10)
camelia rakudo-moar 53969a: OUTPUT«(2 4 6 8 10 12 14 16 18 20)␤»
n0tjack m: say 1j1; 19:46
camelia rakudo-moar 53969a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dYbOI7pYlu␤Confused␤at /tmp/dYbOI7pYlu:1␤------> 3say 17⏏5j1;␤»
TimToady I suspect <== should automatically | its args
n0tjack m: say 1i1;
camelia rakudo-moar 53969a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zJYkWsJmlO␤Confused␤at /tmp/zJYkWsJmlO:1␤------> 3say 17⏏5i1;␤»
n0tjack m: say 1+1i;
camelia rakudo-moar 53969a: OUTPUT«1+1i␤»
[Coke] so, I'm pretty sure that that htmlify breakage comes from push/append GLR changes.
FROGGS [Coke]: most likely, yes
n0tjack m: say sqrt (1+1i);
camelia rakudo-moar 53969a: OUTPUT«1.09868411346781+0.455089860562227i␤»
19:46 TingPing_ joined
FROGGS [Coke]: I fixed one thing, but was unable to understand the second 19:47
n0tjack m: say sqrt (-1);
camelia rakudo-moar 53969a: OUTPUT«NaN␤»
n0tjack wait what?
19:47 quuxman left, TingPing left, MilkmanDan left, mjp__ left, mjp_ joined
[Coke] I just changed every push: to append: as a hail mary. 19:47
FROGGS n0tjack: remove that whitespace
19:47 MilkmanDan joined
n0tjack m: say sqrt(-1); 19:47
camelia rakudo-moar 53969a: OUTPUT«NaN␤»
19:47 quuxman joined
[Coke] m: say sqrt(-1+0i); 19:47
camelia rakudo-moar 53969a: OUTPUT«6.12323399573677e-17+1i␤»
[Coke] you don't get complex unless you ask for it.
n0tjack would that's how the rest of my life worked 19:48
does p6 support comparison tolerance?
TimToady but once you have it, Complex is a sticky type, like FatRat, or Num
doesn't usually need it, so nothing built in, unless you count round(0.000001) or so 19:49
n0tjack just wondering if I'm going to cut my self on floating points
[Coke] you can make your own equality operator with tolerance pretty easily.
n0tjack yeah, I was thinking that
TimToady m: say pi.round(0.0001)
camelia rakudo-moar 53969a: OUTPUT«3.1416␤»
n0tjack make one and use it whereever I'm worried
[Coke] m: say 0.1 + 0.2 + 0.3 = 0.6
camelia rakudo-moar 53969a: OUTPUT«Cannot modify an immutable Rat␤ in block <unit> at /tmp/oMYOV6BNMg:1␤␤»
TimToady m: say pi.round(0.0001).WHAT 19:50
camelia rakudo-moar 53969a: OUTPUT«(Rat)␤»
19:50 yqt joined
[Coke] m: say 0.1 + 0.2 + 0.3 == 0.6 19:50
camelia rakudo-moar 53969a: OUTPUT«True␤»
El_Che FROGGS: gist.github.com/nxadm/a7cac4d5a66e6b1a03a4
FROGGS: or something like that
n0tjack m: say sqrt(0+1i);
camelia rakudo-moar 53969a: OUTPUT«0.707106781186548+0.707106781186547i␤»
19:50 TingPing_ is now known as TingPing
n0tjack where is the spec for numeric constant notation? 19:51
as in 1e10 and 1+1i
TimToady I guess round wouldn't make much sense on a complex unless we supported Rat-based complexes
19:52 rurban left
TimToady S02:Literals 19:52
n0tjack thanks
flussence m: my $*TOLERANCE = 1e-2; sub infix:<≅>(\a, \b) { abs(a - b) < ($*TOLERANCE // 1e-6) }; say pi ≅ 22/7 19:53
camelia rakudo-moar 53969a: OUTPUT«True␤»
TimToady m: say sqrt(0+1i).reals».round(0.0001) 19:54
camelia rakudo-moar 3fd80c: OUTPUT«(0.7071 0.7071)␤»
FROGGS El_Che: please reload and check 19:55
19:56 fubaaaz joined
dalek kudo/nom: db3122a | TimToady++ | src/core/ (6 files):
accurify a bunch of .arity/.count values
19:56
FROGGS uff, we have about 50 ppl more in here as usual
TimToady for some strange reason :) 19:57
19:57 labster left
FROGGS :o) 19:57
19:57 labster_ joined
FROGGS I've heard good things about that specific strange reason :o) 19:58
[Coke] do we have a writeup somewhere of when we'd want append instead of push?
moritz: I wonder how recent the perl6 that's being used to build docs is. 19:59
FROGGS [Coke]: it is from last weekend
lizmat hmmm.. just had a non-repeatable hang on t/spec/S17-supply/syntax.t 20:00
20:00 rurban joined
dalek ast: d9a5f45 | TimToady++ | S03-operators/reduce-le1arg.t:
[xx] () is now a bind failure, so use try
20:00
boggard is there a perl IDE written in perl6 yet? 20:01
FROGGS [Coke]: .append does Single Arg Rule™ IIRC - which is like... "I don't care what data I push", or so
TimToady lizmat: yeah, and I just had a double free on something else, so we're still a bit flakey in spots
FROGGS boggard: no
boggard that's too bad. seems like it would be a fun project.
TimToady but then it would turn into an editor, and we'd have to go out and hang ourselves 20:02
saaki you mean "hell, yea, i'm taking that sucker on!"
boggard considering how easily extended perl6 is...
[Coke] FROGGS: I basically have no idea if any of the 10 instances of push are wanting an update.
FROGGS boggard: well, it is your chance to "register" the perfect name, and start hacking :o)
boggard thinking about it :P
TimToady [Coke]: if it was working before, append is always safe
dalek kudo/nom: c8c613e | lizmat++ | src/Perl6/World.nqp:
Ruggedize :D/:U handling

Also set up handling of variables/parameters/attributes/invocant pragma's
20:03
20:03 dbenton joined
TimToady append is +args semantics, and push is **args semantics, so push will never flatten anything, and will push one thing for each comma-separated item at a syntactic level 20:03
dha So, what is the C<:&as> in "multi sub unique(*@values, :&as) returns Seq:D"? It's not covered in the documentation? 20:04
TimToady the difference is if you say .push: @foo you get the array pushed as a single item, but .append: @foo will split it up and push each element of @foo
20:05 darutoko left 20:06 laouji joined
lizmat dha: the :as indicates how you would like to transform values seen before judging them unique 20:06
dha That's what I figured, but the documentation contradicts that.
n0tjack m: say log 10, max 1, abs -1234 20:07
camelia rakudo-moar 3fd80c: OUTPUT«0.323486913607975␤»
n0tjack is there a way to flip those 2 arguments to log without parenthesitis?
m: log(max (1, (abs -1234)),10) # works but yuck
camelia rakudo-moar 3fd80c: OUTPUT«WARNINGS:␤Useless use of "log(max (1, (abs -1234)),10)" in expression "log(max (1, (abs -1234)),10)" in sink context (line 1)␤»
moritz m: say <a A b>.unique(:as(&lc))
camelia rakudo-moar 3fd80c: OUTPUT«(a b)␤»
n0tjack m: say log(max (1, (abs -1234)),10) # works but yuck
camelia rakudo-moar 3fd80c: OUTPUT«2.30258509299405␤»
leedo_ is there an equivalent to `perldoc -f` with perl6? i'm not getting a perl6doc or seeing anything i perl6 --help
PerlJam leedo_: not yet, unfortunately. 20:08
dha oh, wait. it may not contradict it, as such. But you have to know what C􏿽xAB<===>􏿽xBB does to have any idea what's going on, as written.
leedo_ ah ok, thanks
moritz well, perl6/doc comes with a small command line tool for viewing docs, but it's mostly broken right now :(
20:09 fubaaaz left
leedo_ the web docs are nice, but sometimes i'm just curious about a function i see in an example here and have a terminal up 20:09
PerlJam leedo_: yeah, that happens all the time for me too. But I just end up reading the source.
dha lizmat - did you actually mean transform? Because I wouldn't expect C<unique> to actually *change* elements of the list. 20:10
TimToady m: say log 1 max abs -1234, 10
camelia rakudo-moar 3fd80c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pCpKY3nfz9␤Calling abs(Int, Int) will never work with proto signature ($)␤at /tmp/pCpKY3nfz9:1␤------> 3say log 1 max 7⏏5abs -1234, 10␤»
lizmat dha: it would only transform them for the lookup
TimToady m: say log 1 max -1234.abs, 10
camelia rakudo-moar 3fd80c: OUTPUT«0␤»
TimToady m: say log(1 max -1234.abs, 10)
camelia rakudo-moar 3fd80c: OUTPUT«0␤»
dha Hm. Trying to think what to call that in a usage statement. COMPARE_FUNC?
TimToady m: say log (1 max -1234.abs), 10 20:11
camelia rakudo-moar 3fd80c: OUTPUT«0␤»
20:11 laouji left
[Coke] moritz, FROGGS - do we have both things we run and things we pod in lib/ in perl6-doc? 20:11
lizmat dha: AS ?
moritz [Coke]: yes
dha AS seems insufficiently descriptive.
moritz [Coke]: lib/Perl6/* is run, iirc
lizmat COMPARE_AS
?
dha Particularly as the following documentation is unclear.
ah., that would work.
moritz maybe just fix the documentation? 20:12
lizmat COMPARE-AS perhaps ?
PerlJam lizmat: maybe &as should be called &by like in sort. Isn't it really more like &unique-by ?
moritz please let's not go on another rename-stuff-and-break-the-ecosystem shopping tour
n0tjack m: log | reverse 10, max 1, abs -1234;
camelia rakudo-moar 3fd80c: OUTPUT«WARNINGS:␤Useless use of "log | reverse 10, max 1, abs -1234" in expression "log | reverse 10, max 1, abs -1234" in sink context (line 1)␤»
PerlJam moritz: good point.
moritz is still recovering from the last two
n0tjack m: say log | reverse 10, max 1, abs -1234;
camelia rakudo-moar 3fd80c: OUTPUT«3.09131515969722␤»
dha Oh, there's docs on :as. Maybe I should take a nap. 20:13
I'm going to use COMPARE_AS, and we can always change it, if that doesn't pass muster. 20:14
TimToady m: my &log10 = &log.assuming(*,10); say log10 max 1, abs -1234;
camelia rakudo-moar 3fd80c: OUTPUT«3.09131515969722␤»
[Coke] moritz: we should split that up so the docs are separate from the code. 20:15
n0tjack TimToady: in my case 10 is a parameter to the fn
[Coke] (don't rename stuff). there is no better time to rename things than right now.
20:15 andreoss left
[Coke] it will only get worse after xmas. 20:15
n0tjack I saw 60[10,24,20] and now I want to write an "antibase" function, which explodes based numbers into their digits
TimToady m: sub infix:<log>($b,$n) { log $n, $b }; say 10 log max 1 abs -1234;
camelia rakudo-moar 3fd80c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FJl2CfYkuR␤Two terms in a row␤at /tmp/FJl2CfYkuR:1␤------> 3($b,$n) { log $n, $b }; say 10 log max 17⏏5 abs -1234;␤ expecting any of:␤ infix␤ infix stopper␤ postfix…»
TimToady m: sub infix:<log>($b,$n) { log $n, $b }; say 10 log max 1, abs -1234; 20:16
camelia rakudo-moar 3fd80c: OUTPUT«3.09131515969722␤»
n0tjack m: sub ndr(Num value, Int radix = 10) { 1 + log | reverse radix , max 1, abs value } say ndr -1234,10;
camelia rakudo-moar 3fd80c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UyHGra7dDv␤Malformed parameter␤at /tmp/UyHGra7dDv:1␤------> 3sub ndr(Num7⏏5 value, Int radix = 10) { 1 + log | reve␤ expecting any of:␤ constraint␤ formal parameter␤»
flussence
.oO( there's a blurry line somewhere between parsing strings to numbers and parsing strings to codepoints... )
n0tjack I'm trying to make a simple, one-liner function that gives me the number of digits required to represent "value" in "radix" (default 10) 20:17
so avoiding helper functions, trying to keep it flat and clear (hence avoiding all those parens)
20:18 AlexDaniel joined, rurban left, colomon left
lizmat [Coke]: re rename, +1 20:18
TimToady m: say .base(10).chars given max 1, abs -1234 20:19
camelia rakudo-moar 3fd80c: OUTPUT«4␤»
leedo_ moritz: PerlJam fwiw p6doc -f seems to do what I was looking for
doesn't seem broken here
ah, i guess the -f functionality isn't quite as described
20:20 paulmr left
n0tjack given shoves its RHA into $_? 20:21
TimToady yes, it's a topicalizer, we say
so is ~~
20:21 laouji joined
n0tjack that's neat 20:21
TimToady m: say .base(10).chars given 1 max abs -1234 20:22
camelia rakudo-moar 3fd80c: OUTPUT«4␤»
TimToady max can also be an infix
n0tjack that's not gonna work for base 1000
oh, nice! that fixes it then
m: say log 10, 1 max abs -1234;
camelia rakudo-moar 3fd80c: OUTPUT«0.323486913607975␤»
n0tjack m: say (1 max abs -1234), 10; 20:23
camelia rakudo-moar 3fd80c: OUTPUT«123410␤»
n0tjack m: say log (1 max abs -1234), 10;
camelia rakudo-moar 3fd80c: OUTPUT«3.09131515969722␤»
[Coke] moritz, FROGGS: ok, switching to append everywhere (not just htmlify) seems much better.
n0tjack only 1 set of parens, not bad
and no sneaky tricks
dha LIST.combinations is making my head hurt. Well, actually, more combinations($n, $k).
TimToady you're not supposed to *read* the source code...oh wait... 20:24
20:24 nakajima joined
dha I'm just reading the docs! 20:25
20:25 laouji left
dha Huh. Reading the description of C<combinations($n, $k)>, I'm surprised those aren't specifically Ints 20:26
20:30 dha left
El_Che FROGGS++ : looks good 20:30
FROGGS: we'll save some people some that with that
20:30 diana_olhovik_ left
[Coke] moritz, FROGGS: nope. using append everywhere instead of push still dies. ah well 20:31
20:32 dha joined
TimToady so I'm still getting a bunch of failed tests having to do with, er, failure 20:35
what's up with that?
someone hacking on p6 without updating the tests? 20:36
20:36 colomon joined, laouji joined
TimToady someone hacking on p6 without *running* the tests? 20:36
20:37 n0tjack left
dha punts again "EXPR" is my friend. 20:37
20:38 n0tjack joined
[Coke] reminder, if a test if failing, should be fudged and an RT opened. 20:38
n0tjack m: sub foo(Real @vals, Int $r){ say "hi";} my Real @v = (1.1,2,3.3); foo(@v, 10);
camelia rakudo-moar c8c613: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yRfqqu_TR8␤Strange text after block (missing semicolon or comma?)␤at /tmp/yRfqqu_TR8:1␤------> 3sub foo(Real @vals, Int $r){ say "hi";}7⏏5 my Real @v = (1.1,2,3.3); foo(@v, 10);␤ expecting any …»
FROGGS TimToady: I just know about timotimo changing something about die/fail... though I'm not sure that it's that 20:39
lizmat FROGGS: yeah, and I worked on it as well 20:40
dha Ok, confusion. the sub signature for List.permutations is "multi sub permutations($n) returns Seq:D" Should that be C<@n> or the like, or am I even more confused than I think I am?
lizmat and now remember I promised to work on that today :-(
20:41 laouji left
dha No, in the core it takes an Int. Now I'm really confused. 20:41
n0tjack it gives all the permutations of order N
lichtkind_ highphive liz
n0tjack try permutations(3)
dha Oh god, it's like combinations, but this time it's specifically an Int. 20:42
20:43 ZoffixWork joined
ZoffixWork This sucks :) news.ycombinator.com/item?id=10347772 20:43
(Is there a Perl 5 EOL being discussed?)
dha So, as a subroutine it takes an integer, but it serves as a method to List.
Gah.
pink_mist ZoffixWork: perl 5 isn't anywhere near even discussing getting eol'd ... that said, 5.18 and earlier are 20:44
ZoffixWork pink_mist, hence my "this sucks" comment :)
flussence talking about a p5 eol is silly; its current versioning scheme is good for at least half a millenium! 20:45
masak ZoffixWork: maybe not phrase it "Perl 5's last release"...? :) 20:47
ZoffixWork: too easily misunderstood, even with the rest of your message 20:48
20:48 xfix left
ZoffixWork masak, fixed. Thanks :) 20:48
20:48 tokuhirom joined
n0tjack try permutations(3) 20:48
pink_mist you already said =) 20:49
dha Yeah. It looks to me like that version of permutations (and combinations) should be in Int, rather than List. That List has a permutations (and combinations) method but the sub version works on integers is confusing as heck. 20:50
(YMMV)
20:51 laouji joined
n0tjack pink_mist: I know, I hit up-arrow in the wrong terminal ;) 20:52
20:52 dha left 20:53 tokuhirom left
n0tjack I don't get why sub foo(Real @values, Int $r) { ... } doesn't match foo(array_of_reals, 10) 20:53
20:54 mrsolo joined 20:56 laouji left
FROGGS n0tjack: does array_of_reals just happen to contain Reals or is it typed? 20:56
n0tjack it's typed
my Real @vals = (1.1,2,3.3); 20:57
FROGGS m: my Real @foo; sub bar(Real @bar) { }; bar @foo
camelia ( no output )
FROGGS m: my Real @foo = (1.1,2,3.3); sub bar(Real @bar) { }; bar @foo
camelia ( no output )
FROGGS m: my Real @foo = (1.1,2,3.3); sub bar(Real @bar, Int) { }; bar @foo, 1
camelia ( no output )
FROGGS it does work here...
n0tjack weird, I must be doing something else wrong 20:58
I'm using multis, maybe I screwed something up there
gist.github.com/anonymous/634472baa623d340ca30 20:59
21:00 dha joined
FROGGS m: gist.github.com/anonymous/634472baa623d340ca30 21:00
camelia rakudo-moar c8c613: OUTPUT«4␤4␤7␤Cannot call ndr(List); none of these signatures match:␤ (Real $value, Int $radix = { ... })␤ (Real @values, Int $radix = { ... })␤ in block <unit> at /tmp/I423hsWAMq:16␤␤»
dha bah.
FROGGS n0tjack: remove the whitespace in line 16?
21:01 coetry left
FROGGS n0tjack: that is where the List is coming from 21:01
n0tjack FROGGS: jesus, thanks. that was going to drive me nuts.
FROGGS *g*
dha The Lock.unlock method has this signature in the docs: "method lock(Lock:D:)" I assume that *should* be "unlock" 21:02
lizmat dha: I think you would be correct there
dha I will change that, then. 21:03
lizmat looks like a copy-pasto
21:03 kjs_ joined
FROGGS gnight #perl6... I'm about to dream about bounded serialization 21:04
lizmat gnight FROGGS
lichtkind_ good night 21:05
21:06 japhb joined
dalek c: cce1d92 | (David H. Adler)++ | lib/Type/ (5 files):
Added usage statements to Types Iterable.pod through Lock.pod
21:06
c: 72ca69b | (David H. Adler)++ | lib/Type/ (5 files):
Merge branch 'usage_statements'

Usage statements for types Iterable through Lock
c/usage_statements: cce1d92 | (David H. Adler)++ | lib/Type/ (5 files):
Added usage statements to Types Iterable.pod through Lock.pod
c: 5645366 | (David H. Adler)++ | lib/Type/Lock.pod:
Changed signature for unlock to actually read "unlock" instead of "lock"
21:07
21:08 skids left 21:09 n0tjack left, telex left
jdv79 nine: i agree. a good start! 21:09
dalek c/usage_statements: d01bd8b | (David H. Adler)++ | lib/Type/Match.pod:
Added usage statement to the one method with a signature in Match.pod
21:10
21:10 ZoffixWork left, telex joined 21:12 jkva joined 21:15 colomon left
[Coke] dha: are you building the docs at all, or just editing the text? 21:15
dha editing the text. I guess I should do a build at some point and see what happens. 21:16
21:17 jkva left
[Coke] wait until I fix it. :) 21:17
dha Oh. ok. What's wrong with it? 21:18
[Coke] it doesn't work. 21:19
dies during the buildl
dalek kudo/nom: d21bd38 | lizmat++ | src/Perl6/ (3 files):
Make use variables :U work

And possibly others, but there are no tests for that yet.
21:20
21:20 jojotus joined, laouji joined
dha oh. :-) 21:21
masak haha! *luqui* just tweeted me, expressing *surprise* that Perl 6 is releasing this year! :D 21:23
(he has co-written some of the specifications)
lizmat
.oO( it was not all in vain :-)
masak "I haven't been following at all, and had assumed it had been mostly abandoned. Neat." -- luqui
jojotus hey 21:24
21:25 laouji left
gfldex m: say 'ohai jojotus!'; 21:26
camelia rakudo-moar c8c613: OUTPUT«ohai jojotus!␤»
jojotus :D
is there any list of beginner-friendly LHF tasks?
I'm familiar with Perl 5 and a bit with Perl 6 from some years back 21:27
gfldex you could what-ever-you-want.pl6 and find bugs in the process
*write
21:27 mfollett left
jojotus I think I'll do just that 21:28
dha has hit the wall for today on docs, me thinks.
flussence porting a heavily-used p5 package to p6 is a useful (and sometimes easy) way to start... 21:29
21:29 mfollett joined
flussence you might want to look at github.com/perl6/perl6-most-wanted too 21:29
21:30 mscha joined
jojotus oh, that looks very useful, thanks 21:30
mscha p6: say i**2; say i*i;
camelia rakudo-moar c8c613: OUTPUT«-1+1.22464679914735e-16i␤-1+0i␤»
dha That's certainly how *I* got sucked in. 21:31
mscha p6: say i**2 - i*i;
camelia rakudo-moar c8c613: OUTPUT«0+1.22464679914735e-16i␤»
lizmat dha++ # for letting him being sucked in :-) 21:32
21:32 llfourn joined
mscha p6: say e**(π*i); 21:32
camelia rakudo-moar c8c613: OUTPUT«-1+1.22464679914735e-16i␤»
21:35 bjz left
dalek kudo/nom: 98d0913 | lizmat++ | src/core/Failure.pm:
Fix 2 of the 3 Failure related test failures
21:36
21:36 llfourn left
dha I just hope I'm not messing up the docs too much. :-) 21:36
21:37 colomon joined
dalek ast: f70ed57 | lizmat++ | S05-grammar/example.t:
Adjust test count: SKIPped tests also count!
21:37
lizmat m: use attributes :U; class A { has Int $.a = 42 }; A.new 21:41
camelia ( no output )
21:41 donaldh joined
masak dha++ # for all the good docs work 21:44
21:46 dha left 21:47 dha joined
masak oh, we don't have `perl6 -i` yet? 21:48
21:49 kjs_ left 21:50 laouji joined
dha Not noticably. 21:52
21:52 TEttinger joined
jdv79 dha++ 21:53
dha What did I do now? :-)
21:55 bjz joined, laouji left 21:57 ^elyse^ left 22:00 vendethiel left
dalek kudo/nom: 25d3482 | lizmat++ | src/core/ (2 files):
Fix other Failure related test fail
22:00
22:00 rindolf left
dalek ast: 1f0d061 | lizmat++ | S03-operators/orelse.t:
Line number info now being returned correctly
22:01
22:03 bjz left
lizmat m: use attributes :U; class A { has Int $.a = 42 }; A.new 22:03
camelia rakudo-moar 98d091: OUTPUT«Type check failed in assignment to $!a; expected Int but got 42␤ in block <unit> at /tmp/ByUGXlDI7p:1␤␤»
lizmat error message still needs fixing, but we can now set defauilt smileys on attributes 22:04
22:11 lichtkind_ left, lichtkind left, kyclark joined 22:13 lichtkind joined, gilesebop joined 22:14 lichtkind_ joined 22:17 csd_ left 22:18 spider-mario left, kyclark left 22:20 RabidGravy left
grondilu m: my @a of Int; my @b; @b[3] = 3; @a := @b; dd @a 22:25
camelia rakudo-moar 25d348: OUTPUT«Array[Int] @b = [Any, Any, Any, 3]␤»
lizmat wonders why github.com/tokuhirom/p6-Crust is not in the ecosystem yet ? 22:26
22:28 gilesebop left
masak lizmat: forgiveness > permission -- please add it :) 22:30
lizmat ok, I will :-)
jdv79 it was added...
wasnt it
22:30 cognominal left
dalek osystem: 07aa811 | lizmat++ | META.list:
Add tokuhirom/p6-Crust
22:31
22:32 cognominal joined
lizmat jdv79: it's now :-) 22:32
jdv79 fabulous!
dalek osystem: f8f899c | (Tokuhiro Matsuno)++ | META.list:
Added Crust
22:33
jdv79 thats weird
parallel universe?
22:35 skids joined, maddingu1 joined, dha left
dalek osystem: 86eea03 | lizmat++ | META.list:
Revert "Add tokuhirom/p6-Crust"

This reverts commit 07aa8119bda2ab0d634f405db5a021d0a58e559b.
22:35
lizmat only 1 in there now :-)
22:37 maddingue left
donaldh Re: tokuhirom, I noticed from the p6weekly that he wrote Getopt::Tiny which surprised me given we have MAIN. 22:38
It got me thinking, what features should we highlight on perl6.org
22:38 patrickz left 22:40 thou joined 22:42 pmurias_ joined
leedo_ i was thinking MAIN's automatic argument parsing would be great 22:43
when i show that to non-perl folks they are impressed
22:45 pmurias left 22:46 BenGoldberg joined
lizmat good night, #perl6! 22:46
pink_mist good night lizmat 22:47
donaldh Even the classic hello-world can benefit from some automatic argument parsing gist.github.com/donaldh/82a9ab17466e22f8ff12 22:48
22:48 virtualsue left
gfldex having impressive examples on perl6.org sounds fun 22:49
22:50 kyclark joined 22:51 laouji joined, kyclark left
pink_mist is the 'use v6;' needed? 22:52
22:52 mfollett left
donaldh nope 22:52
pink_mist right, ok =)
donaldh But you get a great error message if you accidentally run perl 5 22:53
Perl v6.0.0 required--this is only v5.18.2, stopped at hello.p6 line 3.
gfldex and at some point it may end up in the magic file
thou If STD.pm isn't being developed, it should be removed from perl6.org/specification/ side-bar, right? 22:54
22:54 tokuhirom joined 22:55 laouji left
grondilu STD.pm is very much used by rakudo, I think. 22:55
gfldex Commits on Feb 24, 2015 22:56
that's quite some time ago
cognominal After the Perl 6 denial phase, general perception will shift to the "blind men and the elephant" phase. en.wikipedia.org/wiki/Blind_men_and_an_elephant :)
grondilu STD.pm is edited as often as the rest of rakudo, but it is from times to times. 22:57
*is not*
let me rephrase that
STD.pm is *not* edited as often as the rest of rakudo, but it is from times to times.
usually byt TimToady
sitaram_ hi all; I'm pretty new to perl 6 (but not perl 5). How does perl 6 compare in terms of speed? I have a plain text program plus data that seems to be at least 2 orders of magnitude slower so I am sure I screwed up somewhere, but thought I'd ask about general impressions of perl 6 (Rakudo, moarvm, 2015-07 version) speed first 22:58
s/plain text program/plain text handling task/
thou OK, I was prompted to consider this since STD was sorted into the "Historical Compilers" section on the Compilers tab
grondilu Perl 6 is still slow for most task, but it's improving fast 22:59
*slower*
22:59 tokuhirom left
grondilu thou: I'm not sure but I think it's a bit complicated as there are several versions of STD if I'm not mistaken. The official one serves as a reference or something. 23:00
sitaram_ grondilu: thanks
gfldex sitaram_: the inliner doesn't inline much, the optimiser doesn't optimise much and the JIT doesn't jit much right now. That will change with time. 23:01
grondilu (hopefully that will change before Xmas) 23:03
sitaram_ gfldex: :)
donaldh sitaram_: since you're running rakudo on MoarVM, you can profile your program and get a great interactive HTML report.
gfldex sitaram_: you could also like a nopaste here and we can have a look 23:04
sitaram_ donaldh: naah; I was only playing with a straightforward grep-type task. I'll paste, as gfldex said. Give me a minute or three.
AlexDaniel sitaram_: by the way, although you might not get better performance (comparing to perl5) with regular code, you might try parallelizing it! 23:05
sitaram_: and since this is pretty easy with perl6, there is a chance that you will get better wall clock time
23:05 yqt left 23:06 firstdayonthejob left
AlexDaniel sitaram_: also, most of the execution time is actually startup time, did you account that? 23:06
donaldh sitaram_: it's as easy as perl6 --profile script.p6 23:07
thou grondilu: I hear you, but I also think it's a poor representation to have perl6.org/compilers/std-viv show "Note: STD and viv aren't actively developed any more" warning, but also indicate that it is the "official Perl 6 grammar" on the Design page. 23:08
sitaram_ AlexDaniel: informally, I did account for startup and it's still pretty high 23:09
[Coke] thou: good point. 23:10
sitaram_ gfldex: paste.fedoraproject.org/276148/44259295 is the coe. dimroc-public.s3.amazonaws.com/etl...416.tar.gz but I worked with only one percent of it (10,000 lines from each file instead of the million in each that exist there)
this takes 47 seconds. The perl 5 version... don't ask (about 3.2 seconds for the full dataset. That would be over 3 orders of magnitude!) 23:11
AlexDaniel: hence why I am assuming startup-time is not what I am seeing here :)
dalek href="https://perl6.org:">perl6.org: 8b7bfc9 | coke++ | source/specification/index.html:
"official" and "historical" not in sync,
[Coke] thou: ^^
sitaram_ oops; s/coe/code/ 3 messages above 23:12
TimToady note that we're quite a bit faster than the 2015-07 version already
grondilu viv very much worked along with STD and really is not developped anymore. But STD still is used I think.
23:13 donaldh left
TimToady STD was a prototype grammar, and was always meant to be thrown away 23:13
[Coke] grondilu: from observing how it's used, it's a reference for rakudo at this point.
basically, once TimToady started commiting to rakudo...
AlexDaniel sitaram_: also, are you running on 32-bit or 64-bit system?
TimToady and hardly even that; rakudo has surpassed STD in many respects
sitaram_ AlexDaniel: aah that could be it; this is 32-bits. Thanks for reminding me of that 23:15
AlexDaniel sitaram_: well, the thing is that there is no JIT for 32-bit, as far as I know 23:16
yet?
TimToady 2015-07 was pre-GLR, so slow on list processing
AlexDaniel sitaram_: there is nothing wrong with your code, I think
23:17 rurban joined
AlexDaniel sit 23:17
sitaram_: so, have you tried profiling it? What does it say?
sitaram_ AlexDaniel: looking at the HTML; overview page says no JIT (JIT bar is 0%). I'll take a look on a 64-bit system when I get to work 23:18
"JIT-compiled frames [blank color bar]", then "0% (0)" 23:19
AlexDaniel sitaram_: even though there is no JIT, it shouldn't be as slow as it is right now, I think. Where did it spend most of its time?
gfldex sitaram_: i took the first 10000 lines of the first tweet file and get real 0m3.574s 23:21
user 0m3.520s
sys 0m0.052s
AlexDaniel gfldex: woah! 23:22
sitaram_ AlexDaniel: which part of the HTML would tell me? The "Routines" part seems to be internals
gfldex: that would make 3*13 seconds for all 13 files (which is what I used) 23:23
[Coke] profiling includes internals. There might want to be a way to elide those from the profile html at some point.
23:23 mprelude left
masak 'night, #perl6 23:23
sitaram_ gfldex: I assume you're on 64-bit, too :(
erm
gfldex: I assume you're not on 32-bit, too :(
dalek href="https://perl6.org:">perl6.org: a888709 | (Tim Smith)++ | source/specification/index.html:
Move roast above STD.pm in Design sidebar
23:24
thou [Coke]: Thanks, that works
gfldex it's 64bit but a fairly slow AMD Athlon(tm) II X2 260 Processor
AlexDaniel sitaram_: It's OK if there are internals, because I think that the internals are slowing you down 23:25
sitaram_: as I've said, I see nothing wrong with your code
[Coke] I would definitely retry on a recent version.
AlexDaniel sitaram_: but if you are seeing some performance issue which is just as bad, then perhaps it is worth reporting it! 23:26
sitaram_ [Coke]: and on 64-bit :) No point looking at it if there's no JIT!
AlexDaniel there was some project that compared the code speed across different perl6 versions 23:27
and also perl5…
is it dead now?
sitaram_ AlexDaniel: I'll try 64-bit on a more recent version this weekend
AlexDaniel ah no, hm, not quite: github.com/japhb/perl6-bench
23:29 mscha left
AlexDaniel sitaram_: if you find that it is still *really* slow even with JIT, then just submit a bug report. Maybe it would also make sense to submit a test for perl6-bench, so that you can see how it will improve over time… 23:33
sitaram_: especially considering that you probably have a perl5 version of the same code :) 23:34
23:36 laouji joined
sitaram_ AlexDaniel: I do indeed; it takes about 6 second for the full set (not 3 seconds; I mis-typed that earlier). Same basic code -- this isn't a complex "algorithm" :) 23:37
I'll do that; it'll have to be the weekend or so though :(
AlexDaniel sitaram_: it does not have to be a complex algorithm :) 23:38
sitaram_: in fact, a golfed-down version is preferable :) 23:39
TimToady well, I can see several reasons P5 would do much better on that particular problem than P6 in its current state; primarily because P5 goes to great pains to avoid getting into the regex engine if it can help it 23:40
AlexDaniel for a bug report
23:40 laouji left
TimToady and also because P5 can process UTF-8 in it's raw form as if it were ASCII when you aren't actually searching for anything outside of ASCII 23:41
23:41 chrstphrhrt left
sitaram_ AlexDaniel: if you mean github.com/japhb/perl6-bench, I'd like to first ask whoever runs it how they want the data I suppose. The largest file in that repo right now is less than a MB; I hesitate to add 13MB to it in one shot! 23:42
AlexDaniel sitaram_: I'd say pre-generate it automatically, it does not have to be some real data 23:43
sitaram_ aah ok
sure
ShimmerFairy TimToady: I know you mentioned $= for pod being a potential issue with things like $ = 42 earlier, and I just thought that we could change the Pod twigil to $|pod etc. if needed. (pipe being in the leading declarative comment #| , compared to trailing #=)
TimToady I decided that a $= prefix was kinda silly when you can just use the item function 23:44
sitaram_ thanks everyone; it's just gone 5am here and my day starts...
TimToady I take it you're in, like, India or so 23:45
sitaram_ TimToady: yup :)
TimToady well, have a great day!
flussence wouldn't pod data be more appropriate as a simple $? variable, since it's compile-time constant and all...?
ShimmerFairy TimToady: ok. Just thought I'd bring up a possible alternate twigil if it turned out to be needed :)
AlexDaniel sitaram_: www.jnthn.net/papers/2014-yapceu-performance.pdf
sitaram_: starting from slide 77 there are some impressive graphs 23:46
sitaram_ the only country (AFAIK) with a fractional-hour offset from GMT (actually there are others I just don't know which ones)
AlexDaniel: downloading for later, I'm afraid. Thanks
AlexDaniel sitaram_: just wanted to demonstrate what all this perl6-bench stuff is about ;) 23:47
dalek href="https://perl6.org:">perl6.org: ed8ca15 | (Tim Smith)++ | source/compilers/index.html:
Mention that Rakudo is built on NQP
sitaram_ TimToady: thanks :) You too 23:48
AlexDaniel (and others): thanks for all the ideas. I'll do something over the weekend or so, once I grab a 64-bit machine somewhere. 23:49
AlexDaniel good luck :)
23:50 pmurias_ left
sitaram_ is stuck to 32 on my day-to-day laptop because of bl**dy webex. Flaky on 64, but $job pretty much requires it. <sigh> 23:50
timotimo i have no idea what webex is :S
23:51 [Sno] left, ][Sno][ joined
flussence I'm guessing one of those business programs people end up relying on that ends up not getting an update for 10..Inf years... seen a few myself :) 23:51
sitaram_ lucky you :) (though TBH it isn't that bad for discussing stuff; it's just de rigeur to complain about anything "corporate" ;-) 23:52
AlexDaniel is also on 32-bit, sipmly because it takes time to relearn to click on another download link… 23:53
dalek href="https://perl6.org:">perl6.org: 9a22964 | (Tim Smith)++ | source/index.html:
Describe Camelia as "plucky"

Fixes #32.
23:53 cestdiego joined
cestdiego p6: say 3; 23:53
camelia rakudo-moar 25d348: OUTPUT«3␤»
ShimmerFairy m: say "0123456789" ~~ /<:Numeric_Value(0..7)>/ # something tells me this is wrong :) 23:56
camelia rakudo-moar 25d348: OUTPUT«「0」␤»
ShimmerFairy m: say "0123456789" ~~ /<:Numeric_Value(0..7)>+/ # something tells me this is wrong :)
camelia rakudo-moar 25d348: OUTPUT«「0123456」␤»
flussence
.oO( In a fit of insanity, I have decided to do a --profile-compile of CORE.setting under callgrind... )
ShimmerFairy m: say "0123456789" ~~ /<:Numeric_Value(0..^7)>+/ # even more perplexing
camelia rakudo-moar 25d348: OUTPUT«「0123456」␤»
ShimmerFairy m: say "0123456789" ~~ /<:Numeric_Value(0..^8)>+/ # even more perplexing 23:57
camelia rakudo-moar 25d348: OUTPUT«「01234567」␤»