»ö« 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/8atS5MDzabTwo terms in a rowat /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/7eP61grXmNUndeclared 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/D86PUy4MsRInvalid type smiley '_' used in type nameat /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/DaqrpaAyo1Variable definition of type Int:D requires an initializerat /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/c5BY2KlmuCVariable definition of type Int:D requires an initializerat /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/sjWAEBTn0ZVariable definition of type Int:D requires an initializerat /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/2SE9xieRFSVariable definition of type Int:D requires an initializerat /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:1Actually 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:1Actually 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«HERETrue23» | ||
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:15===SORRY!5=== Error while compiling /tmp/BJZZb6YAWoCan'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_YRoutine given to equiv does not appear to be an operatorat /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«HERETrue» | ||
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/b8hM3YgWZ9Redeclaration of symbol $^a as a placeholder parameterat /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/aR1j0R9iq0Malformed parameterat /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/0jonO0MCQoMissing blockat /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/QIfPOimopQInvalid type smiley 'x' used in type nameat /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_EXEMalformed parameterat /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 malformedat /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-242016-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«0Inf» | ||
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«hi12345678910» | ||
[Coke] | "run once" | 18:54 | |
timotimo | m: for 1..3 { for 1..10 { once { say "hi" }; say $_ } } | ||
camelia | rakudo-moar 8d4e74: OUTPUT«hi12345678910hi12345678910hi12345678910» | ||
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/Jkp1Om01KvVariable definition of type Int:D requires an initializerat /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 = IntMalformed myat /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/JVJNrMMerEDefault value '(Any)' will never bind to a parameter of type Intat /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«42Type 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«42Type 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/tsbLrt29pSTwo terms in a rowat /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_ITwo terms in a rowat /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/dLSNGh31TxMissing comma after block argument to mapat /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/GffgBALvxuUnable 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/dYbOI7pYluConfusedat /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/zJYkWsJmlOConfusedat /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 CxAB<===>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/pCpKY3nfz9Calling 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/FJl2CfYkuRTwo terms in a rowat /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/UyHGra7dDvMalformed parameterat /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_TR8Strange 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«447Cannot 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」» |