Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-06-07

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 titsuki joined #perl6
00:06 Zero_Dogg joined #perl6
00:48 keix joined #perl6
01:00 Herby__ joined #perl6
01:00 Herby__ o/
01:10 raiph hi Herby__
01:12 Herby__ raiph: \o
01:16 raiph Herby__: I'm exploring P6's type system. What type systems in other langs have you used?
01:18 Herby__ raiph: I'm a programming rookie that's dabbled in perl and python, and now perl 6
01:18 Herby__ so i'm not sure how to answer your question :)
01:21 kalkin-_ joined #perl6
01:21 raiph that answers my question. perl5 hides types. i think python comes close to equating types with classes, right?
01:25 Juerd raiph: Perhaps a Python channel can answer that question
01:27 raiph Juerd: :) What I'm interested in is chatting about Perl 6 types with someone who has barely if at all used types before.
01:28 Juerd I've used types in Perl 6, know some details of types in Perl 5 (they exist), and have fought with C++ about them, never winning.
01:28 gfldex raiph: are you writing a paper about confusion? :-P
01:29 raiph :)
01:29 raiph Hmm. I
01:30 raiph am also interested in chatting with folk who know lots about types :)
01:30 raiph (and everyone in between, just to round things out)
01:30 Juerd So what would you like to discuss about types?
01:32 raiph Well, I have this little goal of writing the p6doc page for the type system ;)
01:33 gfldex raiph: i started to do that 3 times already. It's kinda hard.
01:34 gfldex the problem is that types don't exist
01:34 raiph gfldex: I'm pretty sure it's you who sent me on this quest
01:34 Juerd How do they not exist?
01:34 Juerd And what's the thing that does exist called then?
01:34 gfldex there are functions with an implicit parameter that we call methods
01:35 gfldex they make assumptions about memory layouts of the stuff that parameter points to
01:35 gfldex the consequence of that behaviour can be called "type" but the type itself doesn't exist as an entity
01:35 Juerd "memory layout" is an implementation thing; the language concept 'type' has little to do with that.
01:36 molaf joined #perl6
01:36 gfldex that depends on where you want to start your layers of abstraction
01:36 Juerd At the conceptual level
01:36 gfldex i prefere The Truth (TM) and try to stay away from abstractions when it comes to computers
01:36 Juerd The things that make up the language, without the things that implement that language, but with how you use them.
01:37 Juerd Programming languages like Perl *are* abstractions.
01:37 gfldex computers are terrible when it comes to abstructions and humans ain't that much better
01:37 gfldex Juerd: indeed, that may explain why programming is hard
01:37 Juerd I'm not sure that programming is hard.
01:38 gfldex 1/3 of all CS students fail to learn how to program a computer
01:38 gfldex err, 2/3 even
01:38 gfldex some of those may learn it later tho
01:38 geekosaur how many of those were never taught?
01:39 Juerd Seems to me the teaching is slightly off :)
01:39 geekosaur "CS" often means higher math, not programming
01:39 gfldex many i suppose
01:39 gfldex but we deviate from type systems
01:39 Juerd I've taught people to program. I'm sure that not many of those people became stellar programmers, but I'm quite sure that each and every one of them can write a counter :P
01:40 Juerd Fortunately, Perl 6 only has to document one type system, its own.
01:41 gfldex my point is that when using multiple layers of abstructions, every now and then reality will poke through all those layers and slap you in the face. See float point ouchies.
01:41 Juerd Confusing the issue are the several things that are all called 'types'
01:47 gfldex i think i just mixed abstraction and obstruction
01:47 raiph :)
01:47 Juerd Containers have types, values have types, but constraints on what type value a container will hold are also called types.
01:47 raiph I see two of those things as the same
01:47 raiph (container types are type constraints)
01:47 Juerd So variable types (constraints), container types (implementation for storage), value types (implementation of values), if I understand the distinction correctly.
01:47 Juerd raiph: Scalar is a container type.
01:47 raiph You're right
01:47 gfldex raiph: one of my attempts to introduce the type system https://gist.github.com/gfldex/8​72d6bc23da3aa4b9dc75def8dce32d1
01:47 guiwp joined #perl6
01:48 ilbot3 joined #perl6
01:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:48 gfldex guiwp: what does `perl6 --version` say?
01:48 Juerd guiwp: Is that the complete message?
01:49 guiwp 2016.05 implementing perl 6.c.
01:49 gfldex on what OS/platform?
01:50 guiwp debian (using sid)
01:50 gfldex how did you install rakudo?
01:51 guiwp simply apt-get install rakudo
01:51 gfldex please get in touch with the package maintainer (read: don't use debian packages for now)
01:52 raiph m: say "you can try learning perl 6 using on channel bots too" # guiwp
01:52 camelia rakudo-moar f80cc7: OUTPUT«you can try learning perl 6 using on channel bots too␤»
01:53 guiwp i would like to have a stable package in debian =(
01:53 raiph guiwp: is your thing gui coding (hence the nick)?
01:53 gfldex guiwp: https://github.com/rakudo/rakudo https://github.com/tadzik/panda
01:53 guiwp my name is guilherme
01:54 raiph gotchya
01:54 guiwp gui + wp (wikipedia) as im an editor
01:55 raiph guiwp: what sort of code are you used to writing?
01:55 gfldex rakudo sports precompiled modules what is causing difficulties for packaging. That problem is being worked on.
01:55 guiwp hey guys, the old package i installed from jessie is using parrot vm. what vm i should use? moarvm or parrot?
01:56 gfldex parrot is not supported anymore
01:56 gfldex and i believe JVM is slighly bitrotten right now
01:56 guiwp i like to extract text from wikipedia, so perl is something im curious to known if this will play nice: perl + wikipedia parsing =)
01:57 gfldex you may find help at http://modules.perl6.org/
01:57 gfldex for your quest that is
01:58 raiph guiwp: were you planning to check out perls in general, 5 and 6, or exclusively 6?
01:59 guiwp in the past i learning a little bit about what whas perl 5 (coded just some hello worlds), it was 10 years ago. now im curious about this "perl6" and i want to known if it fit my need for text processing/parsing
01:59 b2gills guiwp: My favorite example to show off Perl 6 parsing is the JSON::Tiny::Grammar https://github.com/moritz/json/blo​b/master/lib/JSON/Tiny/Grammar.pm
02:00 guiwp if im going to learn perl i preffer start learning version 6 as it seems to be the next version right?
02:00 guiwp or they will always keep 5 and 6?
02:00 b2gills both versions have regular updates
02:00 timotimo both will be developed far into the future
02:01 guiwp perl 6 is participating in gsoc regularly?
02:01 b2gills There is actually very little overlap between people who work on the Perl 5 core, and people who work on Rakudo ( The Perl 6 core )
02:02 mst gsoc has been a mess for several years
02:02 mst so "somewhat, barring the fact thast google keep moving the goalposts"
02:04 guiwp well, if i start to play with perl5 do you guys think that it will be good if later i switch to 6? how is the learning curve from 5 to 6?
02:04 mst they're two different languages in the same family
02:04 mst they'll both be around for a long time
02:05 guiwp interesting mst, i think im going to play with 5 so till 6 become more mature
02:06 guiwp thank you all for the assistance! im going now rly thank you
02:06 mst I ... my implied goal was "learn both"
02:06 mst oh well
02:07 grondilu he's gone, but I think if the goal is to just play, Perl 6 is definitely more fun.
02:08 mst yes, I know he's gone, hence my comment
02:09 zacts joined #perl6
02:32 cdg joined #perl6
02:36 noganex_ joined #perl6
02:37 Juerd gfldex, raiph: My attempt at explaining types: https://gist.github.com/Juerd/b​6531810922d0cefec82b650be4915ca
02:39 Juerd Not very theoretical.
02:44 Timbus joined #perl6
02:54 huggable joined #perl6
03:02 aries_liuxueyang joined #perl6
03:16 parabolize joined #perl6
03:27 ssotka joined #perl6
03:29 _28_ria joined #perl6
03:32 Actualeyes left #perl6
03:34 ugexe do you want to make money? learn perl 5. hate yak shaving? learn perl 5. otherwise learn perl 6
03:41 dj_goku joined #perl6
03:44 Actualeyes joined #perl6
04:15 Zero_Dogg joined #perl6
04:17 grassass joined #perl6
04:23 Cabanossi joined #perl6
05:04 sno joined #perl6
05:59 darutoko joined #perl6
06:04 khisanth_ joined #perl6
06:08 cpage_ joined #perl6
06:11 araujo joined #perl6
06:15 sno joined #perl6
06:18 rindolf joined #perl6
06:20 firstdayonthejob joined #perl6
06:20 b2gills joined #perl6
06:25 kent\n joined #perl6
06:33 _mg_ joined #perl6
06:36 domidumont joined #perl6
06:41 domidumont joined #perl6
06:43 guardianJ joined #perl6
06:51 rurban joined #perl6
06:51 rurban_ joined #perl6
06:54 huggable joined #perl6
06:57 masak morning, #perl6!
06:58 moritz \o masak, *
06:58 * masak .oO( hi masak, whatever ) :P
07:01 azawawi joined #perl6
07:02 azawawi m: "6lrep# iH".flip.say; # :)
07:02 camelia rakudo-moar f80cc7: OUTPUT«Hi #perl6␤»
07:02 azawawi :)
07:02 azawawi Good morning
07:03 masak m: say "...seunitnoc ycnappilf ehT".flip
07:03 camelia rakudo-moar f80cc7: OUTPUT«The flippancy continues...␤»
07:04 masak in other news, I have developed a way to combine ROT13 and .flip to create even stronger industrial-grade involute encryption
07:06 azawawi :)
07:06 TEttinger arithmetic coding of the input string, then interpret the very very large number's nybbles as hex digits
07:06 azawawi .flip revolution
07:08 azawawi i like atom... it was in beta for like 4 releases then it is stable lol
07:08 zakharyas joined #perl6
07:10 * azawawi starts working on GTK::Simple again :)
07:12 rurban1 joined #perl6
07:19 bjz joined #perl6
07:31 * lizmat clickbaits https://p6weekly.wordpress.com/2016/​06/06/2016-23-friendlier-bisecting/
07:32 masak \o/
07:32 wamba joined #perl6
07:33 moritz lizmat++
07:33 stmuk_ you wouldn't believe how easier bisecting is!
07:35 bjz joined #perl6
07:42 dakkar joined #perl6
07:44 kurahaupo joined #perl6
07:44 bjz joined #perl6
07:45 lizmat https://toons.gotblah.com/archiv​e/9chickweedlane/160607-0801.gif   # too much kebab-case
07:49 kurahaupo lizmat: sounds like a should-have-used-undescores-instead-of-hyphens problem...
07:52 RabidGravy joined #perl6
07:57 _nadim joined #perl6
07:58 Humdai joined #perl6
07:59 RabidGravy boom!
08:04 domidumont joined #perl6
08:06 domidumont joined #perl6
08:09 kurahaupo joined #perl6
08:20 masak m: say "!moob".flip
08:20 camelia rakudo-moar f80cc7: OUTPUT«boom!␤»
08:22 domidumont1 joined #perl6
08:43 NEveDko_ joined #perl6
08:45 RabidGravy I'm not going to do any gardening today
08:47 DrForr Incidentally (re: liz's announcements) 2 of my P6 talks got accepted for Y::E. No arm twisting required :)
08:49 ocbtec joined #perl6
08:56 masak DrForr: cool!
08:56 masak DrForr: which two talks, ooc?
08:56 DrForr The two I haven't written yet :) "Ten Things you Need to Know about Perl 6" and "Inception in Perl 6: Design your own language".
08:57 bjz joined #perl6
08:57 masak both sound promising :)
08:57 masak though the first one is clearly a listicle :P
08:57 * masak .oO( "listentation"? )
08:59 DrForr Well, yeah, that was designed for OSCON London, where we're not necessarily guaranteed a P6 keynote.
09:04 moritz .oO( "Ten Things Perl 6 Needs to Know about You!" )
09:05 _nadim joined #perl6
09:05 domidumont joined #perl6
09:07 araujo joined #perl6
09:09 RabidGravy "I learned Perl 6, what happened next will shock you"
09:11 DrForr And then morph into Aahnold live on stage.
09:12 RabidGravy I may get the thing that is sorta kinda like SQL::Abstract if you squint at it somewhat working today
09:17 wamba joined #perl6
09:35 iH2O joined #perl6
09:37 domidumont joined #perl6
09:47 literal what's the current subroutine? I thought it was &?SUB...
09:50 literal oh, &?BLOCK
09:53 jnthn &?ROUTINE
09:54 iH2O left #perl6
09:54 RabidGravy yeah, I think I'm right in say &?BLOCK will always be set, &?ROUTINE only in an actual, er, routine
09:56 luiz_lha joined #perl6
09:59 dakkar joined #perl6
10:00 rindolf joined #perl6
10:02 Emeric joined #perl6
10:06 Emeric joined #perl6
10:11 adhoc joined #perl6
10:15 Timbus uhhh okay this is a tough one. multi methods do not retain traits applied to them (using 'Routine does SomeRole' in a trait_mod) after the class is instantiated. I'm guessing the routine is copied or otherwise munged under the hood.. jnthn ?
10:16 yqt joined #perl6
10:16 moritz Timbus: how do you know? are you aware of the proto vs. candidate distinction?
10:17 jnthn Timbus: Code illustrating the issue?
10:17 Timbus time to golf..
10:19 jnthn m: multi trait_mod:<is>(Routine:D $r, :$foo!) { $r does role { method foo() { 42 } } }; class C { multi method bar() is foo { } }; C.^lookup('bar').candidates[0].foo.say
10:19 camelia rakudo-moar f80cc7: OUTPUT«42␤»
10:19 jnthn m: multi trait_mod:<is>(Routine:D $r, :$foo!) { $r does role { method foo() { 42 } } }; class C { multi method bar() is foo { } }; C.new.^lookup('bar').candidates[0].foo.say
10:19 camelia rakudo-moar f80cc7: OUTPUT«42␤»
10:25 Timbus m: https://gist.github.com/TiMBuS/3​f3b23eabdb1b64d641fd101ba06282c
10:25 camelia rakudo-moar f80cc7: OUTPUT«Applied role: method topping (Pizza $: *%_) { #`(Method+{Cheese}|56442840) ... }␤No longer cheesy?: method topping (::T  $: | is raw) { #`(Method|56445728) ... }␤»
10:26 Amnez777 joined #perl6
10:26 Timbus 'instantiated' was not correct.. did i mean finalized?
10:27 Timbus moritz, so the proto is getting in the way?
10:27 Timbus if so, how do i get around it
10:28 jnthn .candidates like I showed above
10:29 jnthn A proto groups the multi methods with the same name
10:29 jnthn So you need to dig into the candidate lists also
10:29 adhoc left #perl6
10:29 Zero_Dogg joined #perl6
10:29 Timbus ah, i geddit
10:29 jnthn So, phew, no nasty MOP bug for me this time :)
10:29 Timbus i should also make an effort to remember ^lookup some time
10:30 jnthn Yeah, it's backed by a hash iirc so would also be faster :)
10:30 psch traiting the proto should also work, no?
10:32 psch or does that *only* hang on the proto then?
10:32 jnthn Only on the proto
10:33 Timbus while I've got you here, does lookup differ from find_method
10:34 jnthn yes
10:34 jnthn find_method = give me a thing I can invoke to call the method
10:34 jnthn lookup = give me the actual thing declared in the class
10:34 Timbus oh
10:34 jnthn (or role)
10:34 jnthn For plain old classes it makes no difference
10:34 jnthn For roles it does
10:35 jnthn Because .^lookup gives you the Method object, where .^find_method gives you a closure that puns the role and calls the method on the pun
10:35 Timbus neat.
10:35 jnthn Also, things like OO::Monitors will show a difference; .^lookup works as in a class, while .^find_method gives you a thing that acquires the lock, calls the method, and releases the lock
10:36 jnthn In $foo.bar(), it uses .^find_method
10:36 jnthn In cases where you're going to do something other than blindly invoke the thing you get back (or keep it around for later invocation), lookup is the right thing.
10:37 Timbus yep, that sounds logical
10:37 Timbus last one: can I test if a method responds to a set of arguments without using: $multi.cando(Capture.new(list => [$args, $go, $here]))
10:38 Timbus that's actually your code ^
10:38 sherwool joined #perl6
10:38 gfldex $multi.^signature ~~ :(Your, Signature, Literal)
10:39 Timbus heck yes that is what I want
10:40 psch note that compares Signatures, not arguements against parameters
10:40 gfldex all that docing does make a few things stick
10:41 gfldex you can test a list (of arguments) against the signature object or a signature literal
10:41 psch m: sub f($a, :$b) { }; say \(1, :2a) ~~ &f.signature
10:41 camelia rakudo-moar f80cc7: OUTPUT«False␤»
10:41 psch ...huh
10:42 psch m: sub f($a, $b) { }; say \(1, 2) ~~ &f.signature
10:42 camelia rakudo-moar f80cc7: OUTPUT«True␤»
10:42 psch i think nameds are broken (still? again?) in Signature.ACCEPTS :/
10:42 psch i remember trying to fix that and making it differently broken... /o\
10:42 psch oh no
10:43 psch the Capture had :$a, not :$b >_>
10:43 jnthn It's not .^signature
10:43 psch m: sub f($a, :$b) { }; say \(1, :2b) ~~ &f.signature
10:43 camelia rakudo-moar f80cc7: OUTPUT«True␤»
10:43 jnthn Just .signature
10:43 jnthn Note that $multi.cando(Capture.new(list => [$args, $go, $here]))
10:43 psch Timbus: ^^^ that tests "if i put these arguments into the invocation parens of f(), does it work?"
10:43 jnthn Is just a long spelling of
10:44 jnthn Note that $multi.cando(\($args, $go, $here))
10:44 Timbus yeah, already changed it to that jnthn :)
10:44 jnthn :)
10:44 Timbus wonder how many years ago that wart was written
10:44 jnthn Dunno :-)
10:44 * jnthn wanders off to make lunch :)
10:45 psch m: sub f($, $, :$a, *%) { }; say \(1, 2, :1a, :2b) ~~ &f.signature
10:45 camelia rakudo-moar f80cc7: OUTPUT«True␤»
10:45 psch m: sub f($, $, :$a, *%) { }; sub g($, $, *%) { }; say &f.signature ~~ &g.signature; say &g.signature ~~ &f.signature
10:45 camelia rakudo-moar f80cc7: OUTPUT«True␤False␤»
10:46 psch ...i think that's correct
10:46 psch probably lizmat++ :)
10:46 Timbus neat
10:47 keix joined #perl6
10:47 psch yeah, &g accepts more named combinations than &f, hence &f.signature cannot accept &g.signature
10:48 psch FSVO "more" - my math isn't good enough to talk about sizes of countable infinities :)
10:49 masak there's only one countable infinity, if that helps
10:49 masak well
10:50 masak under the continuum hypothesis, at least :)
10:50 psch ah, so the value of "more" i was looking for was "the same amount of"..?
10:50 masak no, I think you're confused
10:50 psch probably, yes :)
10:51 masak a set A can be "bigger" (as in "containing all the other's elements plus strictly its own elements") than a set B, while A and B both have countable-infinite cardinality
10:51 masak case in point: A integers, B even integers
10:52 masak or A rationals, B integers
10:52 masak or A Gaussian integers, B integers
10:53 masak or A integers, B integers except 0 :)
10:53 psch hm, what the formal word for "bigger" there, ooc?
10:53 masak "superset"
10:53 masak "(strict) superset", I guess
10:53 psch oh.  yeah that makes sense
10:54 psch i think i had learned this somewhen...
10:54 huggable joined #perl6
10:55 masak of course, from a CT perspective, the superset relation is simply an embedding, that is, an injective function. the "(strict)" simply means it's not surjective.
10:55 * masak .oO( thanks, Bourbaki! )
10:56 psch i know these words from analysis.  but i suspect CT (as "category theory", right?) is a generalization of that, isn't it?
10:56 masak but yeah, the unintuitive part here is of course that "bigger"/"strict superset" doesn't automatically translate into a larger cardinality
10:56 masak but that's infinities for ya
10:56 masak yes, category theory
10:56 masak yes, it's a generalization. but one we don't need here, since we're still in Set, so the words mean what they usually do, and can be defined in terms for elements.
10:57 masak of*
10:57 iH2O joined #perl6
11:01 psch fwiw, i used to be somewhat annoyed that 'A is a superset of B' can include equivalence.  i'd always thought "wouldn't it be more sensible to make the equivalence the exception that has to be specifically named?", but i think examining exactly that with a set theoretical perspective shows why it wouldn't work
11:01 psch because a "non-strict superset" wouldn't be part of the set "superset" if "superset" couldn't by default mean "non-strict superset"
11:02 masak yeah, it's a little bit of a historical accident, I guess
11:02 psch so it shouldn't be called "superset" at all, but that probably breaks something somewhere
11:03 masak I don't care about the exact terminology, but I'm very much in favor of using ⊃ and ⊇ instead of ⊋ and ⊃
11:03 masak because the former is strangely consistent with > and ≥
11:07 psch yeah, i think i agree with that
11:08 psch the words used to descripe the symbols don't change what the symbols mean i suppose
11:09 psch which, of course, is an underqualified statement illustrating the exact same concept vOv
11:10 dakkar joined #perl6
11:10 masak in a way, "subset" and "superset" including the non-strict endpoints makes sense if you think about those relations as being defined on a poset of the power set of a set
11:11 masak m: sub powerset(Set $s) { $s.combinations.map(*.Set).Set }; say powerset(set <a b c d>) # http://rosettacode.org/wiki/Power_set#Perl_6
11:11 camelia rakudo-moar f80cc7: OUTPUT«set(set(), set(c), set(b, d), set(a, c, d), set(b), set(c, b), set(a, d), set(a, c, b), set(a, c), set(c, d), set(a, c, b, d), set(a, b), set(a), set(d), set(a, b, d), set(c, b, d))␤»
11:11 masak m: .say for <a b c d>.combinations
11:11 camelia rakudo-moar f80cc7: OUTPUT«()␤(a)␤(b)␤(c)␤(d)␤(a b)␤(a c)␤(a d)␤(b c)␤(b d)␤(c d)␤(a b c)␤(a b d)␤(a c d)␤(b c d)␤(a b c d)␤»
11:12 rurban_ joined #perl6
11:16 psch i don't know if grok posets
11:17 RabidGravy If I have something that is basically like "my $a = gather { loop { take $++ } }; my $b = gather { loop { take 1; } }; say $a Z+ $b" is there a way of making the result lazy too?
11:17 psch i mean, the wikipedia illustration makes it seem obvious enough, but not getting the formalisim has caused me trouble before... :)
11:17 psch -i
11:22 Peter_R joined #perl6
11:26 Hor|zon_ joined #perl6
11:29 llfourn .seen nine
11:29 yoleaux I saw nine 5 Jun 2016 20:30Z in #perl6: <nine> jdv79: details?
11:33 llfourn .tell nine I've tested the bugfix branch, results: RT #128156. Sorry I didn't respond sooner. I only just saw your request for tests. RT doesn't seem to be forwarding me follow-ups for this thread for some reason =(.
11:33 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=128156
11:33 yoleaux llfourn: I'll pass your message to nine.
11:33 yqt joined #perl6
11:34 noninc joined #perl6
11:38 kid51 joined #perl6
11:41 iH2O left #perl6
11:43 masak psch: a poset is a graph with a node at the top, a node at the bottom, and arrows flowing upwards in some way. maximum one arrow per pair of nodes. no cycles.
11:44 masak psch: think of it as a comparison relation (<) but in which not all elements are thus related.
11:48 arnsholt The requirement for top and bottom makes it a lattice, no?
11:48 arnsholt Isn't a poset just a set and an ordering relation that only applies to some of the pairs?
11:53 masak sir, you are right
11:53 masak which means I meant that the subtype relation is a lattice, not just a poset
11:56 moritz .oO( all this talking about lettuce makes me hungry )
11:57 * masak .oO( the category of foods and their eating morphisms )
12:02 Actualeyes joined #perl6
12:03 nadim joined #perl6
12:20 sufrostico joined #perl6
12:22 cdg joined #perl6
12:28 buharin joined #perl6
12:28 buharin hello :)
12:28 buharin hello, mst
12:28 llfourn m: say ((loop { rand }) Z+  (loop { rand }))[^5]
12:28 camelia rakudo-moar f80cc7: OUTPUT«(1.29943248222776 1.14259849468707 1.46778136646121 1.71353050598134 0.754666288049909)␤»
12:29 llfourn RabidGravy: Z seems to hadnle lazyness fine
12:29 llfourn m: say ((loop { $++ }) Z+  (loop { $++ }))[^5]
12:29 camelia rakudo-moar f80cc7: OUTPUT«(0 0 0 0 0)␤»
12:30 llfourn though state variables aren't wroking for me
12:30 llfourn m: my $a = 1; say ((loop { $a++ }) Z+  (loop { $a++ }))[^5]
12:30 camelia rakudo-moar f80cc7: OUTPUT«(3 7 11 15 19)␤»
12:32 torbjorn joined #perl6
12:33 timotimo wow, that's ... interesting
12:33 timotimo oh, it's Z+
12:33 timotimo i thought it was Z,
12:34 perlpilot m: say ((loop { (state $a++) }) Z+  (loop { $a++ }))[^5];    # <--- *that* is interesting
12:34 camelia rakudo-moar f80cc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QRxtE927Qp␤Variable '$a' is not declared␤at /tmp/QRxtE927Qp:1␤------> 3ay ((loop { (state $a++) }) Z+  (loop { 7⏏5$a++ }))[^5];    # <--- *that* is intere␤»
12:34 perlpilot Hrm. maybe not.
12:34 timotimo yeah, lexical variables :)
12:34 perlpilot oh, I see.   Locally, I accidentally declared two $a state vars
12:34 timotimo not available outside its curlies
12:34 perlpilot yeah, I was wondering why it wasn't complaining locally
12:35 perlpilot camelia++
12:43 AlexDaniel joined #perl6
12:47 molaf joined #perl6
12:56 [Coke] good morning, you wonderful perl people.
12:58 [Coke] (rt not emailing) you'll get emails if you're on the compiler list and someone specifically clicks the box or replies-all via email or you opened the ticket ) AND ( someone picked reply, not comment
13:02 noninc_ joined #perl6
13:05 gregf_ m: say qw|foo bar| Z~ qw|h1 h2|
13:05 camelia rakudo-moar f80cc7: OUTPUT«(fooh1 barh2)␤»
13:07 masak m: say qw|foo bar| X~ qw|h1 h2|
13:07 camelia rakudo-moar f80cc7: OUTPUT«(fooh1 fooh2 barh1 barh2)␤»
13:08 * masak .oO( don't use Y~ because it forks the universe and runs your program in both subuniverses, but you can't merge them afterwards )
13:09 gregf_ so deadlocks?
13:09 gregf_ anyways, i was wondering if there was any specific usecase for 'multi trait_mod:<is>'
13:10 gregf_ s/for/for using/
13:10 masak gregf_: you mean besides the many examples in src/core ? ;)
13:10 masak gregf_: I think `is cached` is a fairly representative use case.
13:11 gregf_ masak: sure, those docs are excellent. that said, what do those try to achieve?
13:11 gregf_ i could see quite a few of those in the docs
13:12 masak gregf_: I'm afraid I don't quite understand your question
13:12 gregf_ say i have a trait/role/whatever:multi trait_mod:<is>(Routine:D $r, :$foo!) { say $r.^name; } and a  class Foo { multi method bar()  is foo { }} <== would that method override the class method?
13:12 masak gregf_: you are asking when one would be tempted to go for a `trait_mod:<is>` rather than other abstractions?
13:13 masak "override the class method"?
13:13 masak `is` decorates a thing rather than overriding it
13:13 gregf_ masak: well where do those traits fit in the whole thing. i know what inheritance is, i know about delegation but where would a 'multi trait_mod' fit in?
13:14 llfourn [Coke]: re: rt not mailing, ah thanks for the info.
13:14 gregf_ ah - decorator :)...
13:14 masak gregf_: a routine has 0..* traits
13:14 timotimo yeah, the trait just gets called at compile time and gets the method passed to it
13:14 timotimo that's all
13:14 masak gregf_: as the trait gets *applied*, its code runs and it has the chance to run side effects, including mixing roles into the routine, etc
13:15 masak decommute &
13:17 rurban joined #perl6
13:18 gregf_ masak: timotimo thanks
13:21 skids joined #perl6
13:21 RabidGravy gregf_, thousands of uses, see e.g. my AccessorFacade module
13:23 RabidGravy also, JSON::Marshal, JSON::Unmarshal, XML::Class (and I'm grepping the rest of my modules as I type)
13:25 gregf_ RabidGravy: sure, thanks
13:25 RabidGravy Oh Tinky, the forthcoming Sofa and a few other places
13:26 RabidGravy I tend to use it quite a lot for most of the reasons given above and others
13:27 timotimo oh, what's tinky?
13:27 timotimo also, isn't that logging module yours? the one that can stream log data to a html "app"?
13:27 RabidGravy a sort of workflowy, state machiney thing
13:27 timotimo you may want to list it in the most wanted in a place
13:27 RabidGravy Lumberjack
13:29 RabidGravy it's quite a lot quicker now I ditched Staticish and implemented the highlander stuff internally so I didn't have to get fancy and it can be precompiled
13:29 timotimo oh?
13:30 RabidGravy there's a bug, if you .wrap at compile time in a module, the wrapped target doesn't survive precompilation
13:31 timotimo oh, damn
13:31 RabidGravy it also afflicts OO::Monitors
13:32 timotimo dang :(
13:32 Actualeyes joined #perl6
13:33 RabidGravy https://rt.perl.org/Ticket/Display.html?id=125634 is an example but there's a bunch of them
13:34 timotimo right :\
13:34 tbrowder joined #perl6
13:36 RabidGravy or https://rt.perl.org/Ticket/Display.html?id=127860
13:37 RabidGravy but yeah, it appears there is a category of fail whereby a has &!foo does not survive precompilation
13:41 grassass joined #perl6
13:47 vytas joined #perl6
13:54 timotimo .join #perl6-noise-gang
13:54 yoleaux timotimo: Sorry, this command is admin-only.
13:54 timotimo hmm
13:55 girafe joined #perl6
14:00 cdg joined #perl6
14:00 dalek bisectbot: b25b19c | (Aleks-Daniel Jakimenko-Aleksejev)++ | README.md:
14:00 dalek bisectbot: Changed README according to the latest commit
14:00 dalek bisectbot:
14:00 dalek bisectbot: Demonstrates some warnings that you may see
14:00 dalek bisectbot: review: https://github.com/perl6/b​isectbot/commit/b25b19c7ec
14:03 _mg_ joined #perl6
14:14 rurban1 joined #perl6
14:15 baest joined #perl6
14:18 rurban joined #perl6
14:22 kid51 joined #perl6
14:23 tbrowder joined #perl6
14:24 tbrowder hi, p6 people
14:24 tbrowder if this is a bug, I'm prepared to file it:
14:24 tbrowder m: use Test; plan 1; skip "skip"; ok True;
14:24 camelia rakudo-moar f80cc7: OUTPUT«1..1␤ok 1 - \# SKIP skip␤ok 2 - ␤# Looks like you planned 1 test, but ran 2␤»
14:25 tbrowder Shouldn't the skip function not count as a test?
14:25 timotimo i think you run skip instead of ok or nok
14:25 moritz yes, that's right
14:25 timotimo for the perl6 spec test suite we have a "fudger" that turns test calls into skip calls or todo calls
14:26 tbrowder the docs are not clear about that
14:26 timotimo ok. they ought to be.
14:26 timotimo however
14:26 timotimo how are you going to skip something like "ok spurt 'foobar.txt', 'heya!'"
14:26 tbrowder to me, skip means you don't execute it
14:27 moritz if $implemented { ok 'foobar.txt', 'heya!'" } else { skip 'Not yet implemented' }
14:27 timotimo yeah, but how is the Test module supposed to make that happen?
14:28 moritz it can't do flow control
14:29 tbrowder then what is the intent of "todo"?
14:30 timotimo turns an nok into an ok, and an ok into a nok
14:30 timotimo but just by adding a # TODO at the end of the output
14:30 [Coke] todo still runs the test.
14:30 timotimo i.e. the tap parser expects a line with a # TODO at the end to start with "nok" in order to pass, otherwise that test fails
14:31 tbrowder anyhoo, I'll take a look at tweaking the docs on skip...
14:31 timotimo cool
14:34 tbrowder whoops, what about this example:
14:34 tbrowder m: use Test; plan 1; my $test-it = False; if !$test-it {    skip "skip"; } else {   ok True; }
14:34 camelia rakudo-moar f80cc7: OUTPUT«1..1␤ok 1 - \# SKIP skip␤»
14:35 moritz I wonder if it's intentional that that # is escaped
14:35 khw joined #perl6
14:35 tbrowder my bad: wrong example...
14:37 moritz nothing wrong with your example
14:37 moritz I think it might be a bug in Test.pm6
14:37 moritz but I'm not sure
14:38 tbrowder moritz: I know, but I confused it with what I thought was a bad example--please ignore the whoops comment
14:47 hoelzro .tell lizmat any thoughts on http://irclog.perlgeek.de/per​l6-dev/2016-06-07#i_12621041 ?
14:47 yoleaux hoelzro: I'll pass your message to lizmat.
14:49 tbrowder timotimo: can you please give a simple example of proper use of the Test  "todo" function?
14:50 timotimo *shrugs*, i've never used it myself. i always relied on the fudger to put it into place for me
14:51 tbrowder well please show how to tell the fudger to do that
14:51 timotimo that's not for the docs, though
14:51 azawawi joined #perl6
14:52 perlpilot tbrowder: http://doc.perl6.org/langu​age/testing#Skipping_tests
14:52 timotimo that's a tool proprietary to the spec test suite
14:52 azawawi m: "ih".flip.say # :)
14:52 camelia rakudo-moar f80cc7: OUTPUT«hi␤»
14:52 _mg_ joined #perl6
14:54 huggable joined #perl6
14:55 _nadim joined #perl6
14:55 AlexDaniel m: say [R~] comb ‘ih’: # :D
14:55 camelia rakudo-moar f80cc7: OUTPUT«hi␤»
14:56 azawawi AlexDaniel: :)
14:56 AlexDaniel m: say [R~] comb %*ENV<ME>: # :D
14:56 camelia rakudo-moar f80cc7: OUTPUT«leinaDxelA␤»
14:58 azawawi http://pasteboard.co/1vvJzXob.png # https://github.com/azawawi/gtk-simple/blo​b/master/examples/13-places-siderbar.pl6
15:00 RabidGravy azawawi++ # pwetty
15:00 zacts joined #perl6
15:01 M-tadzik joined #perl6
15:02 azawawi RabidGravy: tanks :)
15:03 * azawawi next stop https://developer.gnome.org/gt​k3/stable/GtkRadioButton.html :)
15:04 yqt joined #perl6
15:06 RabidGravy I thought we had radio buttons already
15:09 tbrowder timotimo: looks like "fudger" always works:
15:09 tbrowder m: use Test; my $my-pi = 3; todo 'not good'; is $my-pi, pi, 'my-pi';
15:09 camelia rakudo-moar f80cc7: OUTPUT«not ok 1 - my-pi# TODO not good␤␤# Failed test 'my-pi'␤# at /tmp/SFcZE0Hkqd line 1␤# expected: '3.14159265358979'␤#      got: '3'␤»
15:10 timotimo no, the fudger is a separate program that acts as a pre-processor to perl6 code
15:10 timotimo https://github.com/perl6/roast/bl​ob/master/S02-literals/pod.t#L10  -  random example
15:11 kurahaupo joined #perl6
15:12 tbrowder timotimo: okay, thanks
15:16 alnewkirk joined #perl6
15:18 nadim joined #perl6
15:21 azawawi RabidGravy: we have https://developer.gnome.org/gt​k3/stable/GtkCheckButton.html
15:21 RabidGravy ah
15:22 _nadim joined #perl6
15:25 ssotka joined #perl6
15:27 _nadim joined #perl6
15:34 aries_liuxueyang joined #perl6
15:37 * azawawi feels dizzy because of all-day fasting... later & :)
15:39 araujo joined #perl6
15:39 nadim joined #perl6
15:40 * [Coke] hopes azawawi is ok. Coke tries to time his fasting so it ends with breakfast when has to for medical stuff. Did it once to end in the afternoon, it was horrible.
15:41 timotimo potentially ramadan?
15:42 _nadim joined #perl6
15:42 RabidGravy yaw
15:42 masak I just assumed it was
15:42 TimToady we have have a senate candidate in california who actually believes there are orbital mind control lasers; I don't think I'll vote for her...
15:42 M-matthew joined #perl6
15:42 M-Illandan joined #perl6
15:42 RabidGravy every once in a while I have to have a blood test that requires a 24hour fast, it sucks
15:42 perlpilot I imagine summertime ramadan is the worst because of the long days
15:43 pmurias joined #perl6
15:43 RabidGravy well in theory it's the time in Mecca so it's nearer the equator
15:44 RabidGravy but in other news:
15:44 RabidGravy perl6 -Ilib -e 'use Squirrel; say Squirrel.new().update("foo", { bar => 1, baz => 2}, where => foo => "bar",).perl'
15:44 RabidGravy ("UPDATE foo SET bar = 1, baz = 2 WHERE ( foo = ? )", ["bar"])
15:44 pmurias TimToady: if she is right, you will vote for her anyway ;)
15:45 RabidGravy or "that's exactly what they want you to think"
15:49 khisanth__ joined #perl6
15:51 RabidGravy "Method 'mao' not found for invocant of class 'List'" - PAPER TIGER IMPERIALIST COMPUTER DOG!
15:55 grondilu I once tried a three-days fast.  That was really not fun.
15:57 profan perlpilot: ramadan in sweden must be "fun"
15:58 profan sort of sundown at 10PM, sunrise at 03:35
15:59 profan if youre in the polar circle, ehh
16:00 Fleurety joined #perl6
16:00 grondilu depends if it's winter of summer though
16:03 * geekosaur wonders if they make adaptations
16:05 perlpilot the only muslims I know of in the USA use local sun up/down for ramadan.  Not sure if that's widely common or just particular to the people I know
16:09 timotimo none of the muslin i know cares about sunrise or sundown
16:09 timotimo or eating
16:10 perlpilot that's because it's just clothes
16:10 timotimo .o( so dehumanizing )
16:11 ilmari http://www.theatlantic.com/international/ar​chive/2013/07/how-to-fast-for-ramadan-in-th​e-arctic-where-the-sun-doesnt-set/277834/
16:12 itaipu joined #perl6
16:13 perlpilot Keeping track of sun rise/set in Mecca sounds like a good strategy
16:14 Hor|zon joined #perl6
16:20 nadim joined #perl6
16:28 kaare_ joined #perl6
16:28 arnsholt In Oslo the fast is apparently 20 hours per day this year, which is pretty brutal
16:43 _nadim joined #perl6
16:48 gregf_ a Bible fast would be a 24 hour day afaik ;)
16:48 nadim joined #perl6
16:49 Humdai left #perl6
16:50 timotimo like one of those days god took to build universal things?
16:52 * masak .oO( like Universal Studios )
16:52 geekosaur yom kippur fast is 25 hours (one day plus time added on both ends, typically 18 minutes before and enough until after for "3 medium-sized stars" to be visible)
16:52 gregf_ i guess.. tho' on today, 24 hours are like 2 hours
16:53 gregf_ 'yom kippur' is passover i guess?
16:53 geekosaur and day defined as sunset to sunset
16:53 geekosaur no
16:53 geekosaur day of atonement, 9 days after the Jewish new year
16:54 lizmat joined #perl6
16:55 geekosaur Judaism has a bunch of part-day fasts (sunrise to sunset) but only two full day fasts: yom kippur and tisha be-av (the latter rabbinical so there is a little flexibility)
16:56 huf_ gregf_: passover is more ~~ easter
16:56 huf_ but after all these years, there's not too much correspondence :)
16:56 geekosaur there is a part-day fast before passover for some (fast of the firstborn), but the main feature of passover is no leavened bread
16:57 huf_ and an insanely complicated dinner :)
16:57 huf_ 92 courses, each with its own symbolism
16:57 geekosaur only the first night (or first two outside Israel) --- but yes, there's a reason its name translates as "order" (in the sense of an ordered list)
16:58 geekosaur ("seder" that is, for the meal)
16:58 huf_ my most vivid memory about the whole thing is the pun we made on the honey/walnut thing
16:59 _nadim joined #perl6
16:59 huf_ https://en.wikipedia.org/wiki/Charoset kiiiinda sounds like "hajszesz" (hair tonic?)
17:01 huf_ that and i can still hear a child's voice singing "Ma nishtana ha lyla ha zeh mikkol hallaylot?" :)
17:01 masak getting those "Missing or wrong version of dependency" errors on a many-a-daily basis now
17:02 masak is there any way I can turn off precomp? it's delivering more error messages than speedup at present for me
17:19 nadim joined #perl6
17:22 sno joined #perl6
17:23 _nadim joined #perl6
17:23 spintronic joined #perl6
17:26 nadim joined #perl6
17:27 domidumont joined #perl6
17:28 grondilu masak: "no precompilation;"?
17:30 [Coke] masak: are you using rakudo HEAD? or a slightly older version?
17:30 masak [Coke]: very nearly rakudo HEAD
17:31 masak This is Rakudo version 2016.05-54-g48fe6ae built on MoarVM version 2016.05-17-g6075599
17:31 masak [Coke]: FROGGS reported the same issue to RT yesterday
17:33 _mg_ joined #perl6
17:34 spintronic joined #perl6
17:35 spintronic_ joined #perl6
17:39 RabidGravy m: my $a = ( -foo => 1, ); # could this be made to say "did you mean to quote '-foo'"?
17:39 camelia rakudo-moar f80cc7: OUTPUT«Cannot call Numeric(Pair: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/mNx8CRXxMj line 1␤␤»
17:41 tbrowder timotimo: ref test funcs 'todo' and 'skip*", see pull request <https://github.com/perl6/doc/pull/564>
17:41 perlpilot RabidGravy: or ... could it be made to just work?  :)
17:45 timotimo tbrowder: i don't like this part: "two separate parts of an if/else construct"
17:46 tbrowder what do you suggest?
17:46 timotimo for example, you could have a list of tests that you might have thrown some out in an earlier step, and then to make the number of tests correct, you mention them with "skip" again
17:46 timotimo "note that if you use skip to mark a test as skipped, you must also prevent that test from running"?
17:46 timotimo something like that, except more grammar
17:47 tbrowder okay, I'll fiddle with that; anything else?
17:48 RabidGravy perlpilot, I'm kind of relaxed about that, but the error had me confused and I'd copied a large data structure from P5 so it took me ages to find the actual problem
17:48 timotimo i wonder why there's a change in there that does nothing but add a trailing space to a line :)
17:49 timotimo likewise with exit; you could also have skip-rest in one branch of an if/else and the tests themselves in another. then you don't need exit()
17:50 tbrowder okay, you want more complicated examples then...
17:52 timotimo not sure
17:52 timotimo but it sounds like only exit can be used here
17:53 perlpilot RabidGravy: It's a one line addition either way ... sub prefix:<->(Pair $p) { "-$p.key()" } or sub prefix:<->(Pair $p) { fail "Did you mean to quote -$p.key()?" }
17:53 timotimo perlpilot: "-$p.key()" => $p.value, of course :)
17:53 perlpilot oops, yeah
17:54 RabidGravy ooh I hadn't thought of the former
17:54 perlpilot I was thinking too much about quoting and not enough about returning the right value :)
17:54 RabidGravy but yeah that would be cool, it's a surprising common thing
17:54 timotimo i think you'd really only want it to happen when the pair is syntactic
17:55 tbrowder timotimo: ref 'extra space at EOL', looks like a finger fumble
17:55 timotimo also, you now get -$p, but not --$p :)
17:56 RabidGravy but, that is how I'm going to save myself from having to edit this massive data structure :)
17:56 perlpilot RabidGravy: you've got perl ... no need to hand edit it  :)
18:07 setty1 joined #perl6
18:07 tbrowder timotimo: please take another look at pull #564
18:08 pmurias_ joined #perl6
18:09 timotimo that looks better
18:10 timotimo the travis check will take quite a bit of time to finish, though
18:10 timotimo history says about 15 minutes
18:10 timotimo but the chaneg looks so innocent, i don't think it'd break anything :)
18:13 llfourn joined #perl6
18:25 lizmat joined #perl6
18:28 lizmat .
18:28 yoleaux 14:47Z <hoelzro> lizmat: any thoughts on http://irclog.perlgeek.de/per​l6-dev/2016-06-07#i_12621041 ?
18:28 lizmat m: say Inf.Rat
18:28 camelia rakudo-moar f80cc7: OUTPUT«Inf␤»
18:28 lizmat m: say Inf.Rat.Num
18:28 camelia rakudo-moar f80cc7: OUTPUT«Inf␤»
18:29 dalek doc: 11a1b16 | (Tom Browder)++ | doc/Language/testing.pod:
18:29 dalek doc: add an example output for 'todo'; add notes about 'skip' and 'skip-test' usage
18:29 dalek doc: review: https://github.com/perl6/doc/commit/11a1b16c49
18:29 dalek doc: fcc8e00 | (Tom Browder)++ | doc/Language/testing.pod:
18:29 dalek doc: improve explanations for skip funcs per timotimo; remove spurious space at EOL
18:29 dalek doc: review: https://github.com/perl6/doc/commit/fcc8e00f3c
18:29 dalek doc: 5a51785 | RabidGravy++ | doc/Language/testing.pod:
18:29 dalek doc: Merge pull request #564 from tbrowder/test-skip
18:29 dalek doc:
18:29 dalek doc: add an example output for 'todo'; add notes about 'skip' and 'skip-te…
18:29 dalek doc: review: https://github.com/perl6/doc/commit/5a517857f7
18:29 RabidGravy there
18:29 lizmat m: say NaN.Rat == NaN
18:29 camelia rakudo-moar f80cc7: OUTPUT«False␤»
18:30 lizmat m: say NaN.Rat === NaN
18:30 camelia rakudo-moar f80cc7: OUTPUT«False␤»
18:30 lizmat hmmm
18:30 lizmat m: say NaN.Rat.nude
18:30 camelia rakudo-moar f80cc7: OUTPUT«(NaN 0)␤»
18:31 parabolize Is there a REPL for perl6 bloated with ridiculous features? Something like Reply, pry or SLIME? In particular something allowing quick transfer of functions from a text editor to a REPL.
18:33 lizmat m: say NaN == NaN
18:33 camelia rakudo-moar 1254bb: OUTPUT«False␤»
18:33 lizmat m: say Inf.Rat == Inf
18:33 camelia rakudo-moar 1254bb: OUTPUT«True␤»
18:34 llfourn parabolize: not that I know of
18:34 lizmat m: say (-Inf).Rat == -Inf
18:34 camelia rakudo-moar 1254bb: OUTPUT«True␤»
18:34 timotimo parabolize: there's beginnings of a Jupyter kernel
18:35 lizmat .tell hoelzro I think NaN.Rat == NaN gives False like it should, just like NaN == NaN, Inf.Rat / -Inf.Rat just DWIM now
18:35 yoleaux lizmat: I'll pass your message to hoelzro.
18:43 rindolf joined #perl6
18:47 labster joined #perl6
18:48 patrickz joined #perl6
18:48 cdg joined #perl6
18:54 huggable joined #perl6
18:56 aries_liuxueyang joined #perl6
19:10 Khisanth joined #perl6
19:20 araujo_ joined #perl6
19:25 llfourn m: say "\n" ~~ /\n<?after [\n<.ws>]>/ # why doesn't this work?
19:25 camelia rakudo-moar 1254bb: OUTPUT«Nil␤»
19:26 llfourn m: say "\n" ~~ /\n<?after [\n]>/ # but this does...
19:26 camelia rakudo-moar 1254bb: OUTPUT«「␤」␤»
19:27 llfourn m: say "\n" ~~ /\n<?after [<.ws><.ws>]>/ # and so does this
19:27 camelia rakudo-moar 1254bb: OUTPUT«「␤」␤»
19:30 arnsholt parabolize: Not really, no. There's an initial IPython/Jupyter kernel, but it's still very much a work-in-progress
19:32 itaipu joined #perl6
19:38 rvchangue joined #perl6
19:55 rvchangue joined #perl6
19:58 itaipu joined #perl6
20:00 TEttinger joined #perl6
20:14 timotimo llfourn: ws might have an assertion or something
20:14 firstdayonthejob joined #perl6
20:14 llfourn timotimo: hmm where's the definition of <ws>?
20:15 llfourn nvm I think I found it in Grammar.nqp..
20:16 llfourn is it the same?
20:18 llfourn ah no there's a method ws in Grammar.nqp
20:18 llfourn (Perl6::Grammar)
20:19 timotimo right
20:20 llfourn there's quite a lot going on there
20:20 llfourn there is a <!ww> assertion...
20:22 llfourn maybe I shouold just define my own <ws> to see if that /\n<?after [\n<.ws>]>/ DWIM
20:22 llfourn that makes*
20:31 yqt joined #perl6
20:32 llfourn nope it looks like a bug in <?after ...>
20:32 llfourn m: my token foo { [\h|\v]* }; say "\n" ~~ /\n<?after [\n<foo>]>/ # this should work
20:32 camelia rakudo-moar 1254bb: OUTPUT«Nil␤»
20:33 llfourn m: my token foo { .? }; say "\n" ~~ /\n<?after [\n<foo>]> # even this doesn't work
20:33 camelia rakudo-moar 1254bb: OUTPUT«5===SORRY!5===␤Regex not terminated.␤at /tmp/EtQUMc6p65:1␤------> 3fter [\n<foo>]> # even this doesn't work7⏏5<EOL>␤Unable to parse regex; couldn't find final '/'␤at /tmp/EtQUMc6p65:1␤------> 3fter [\n<foo>]> # even this doesn't work…»
20:34 llfourn m: my token foo { .? }; say "\n" ~~ /\n<?after [\n<foo>]>/ # even this doesn't work
20:34 camelia rakudo-moar 1254bb: OUTPUT«Nil␤»
20:34 llfourn m: my token foo { <?> }; say "\n" ~~ /\n<?after [\n<foo>]>/ # this?
20:34 camelia rakudo-moar 1254bb: OUTPUT«「␤」␤»
20:34 mohae joined #perl6
20:35 llfourn I will RT unless anyone has an arugment this isn't a bug?
20:36 perlpilot Better to RT it anyway.
20:36 perlpilot (looks like a bug to me though,  +1 for RT)
20:37 * llfourn goes to send an RT
20:38 hoelzro lizmat: okie dokes
20:38 yoleaux 18:35Z <lizmat> hoelzro: I think NaN.Rat == NaN gives False like it should, just like NaN == NaN, Inf.Rat / -Inf.Rat just DWIM now
20:43 dogbert17 o/ #perl6
20:44 rurban joined #perl6
20:45 dogbert17 m: my %e = Map.new("a", 1, "b", 2); say %e.WHAT # why do I get Hash instead of Map?
20:45 camelia rakudo-moar 1254bb: OUTPUT«(Hash)␤»
20:46 dogbert17 m: my %e := Map.new("a", 1, "b", 2); say %e.WHAT # this works though
20:46 camelia rakudo-moar 1254bb: OUTPUT«(Map)␤»
20:46 spider-mario joined #perl6
20:46 moritz because hash assignment is coercive
20:46 moritz which allows you to write
20:47 moritz my %e = a => 1, b => 2; say %e.^name
20:47 moritz m: my %e = a => 1, b => 2; say %e.^name
20:47 camelia rakudo-moar 1254bb: OUTPUT«Hash␤»
20:47 moritz if it weren't coercive, you'd get a type check error :-)
20:47 moritz m: my %e is Map = Map.new("a", 1, "b", 2); say %e.^name
20:47 camelia rakudo-moar 1254bb: OUTPUT«Map␤»
20:47 moritz m: my %e is Map = "a", 1, "b", 2; say %e.^name
20:47 camelia rakudo-moar 1254bb: OUTPUT«Map␤»
20:48 moritz dogbert17: ^^
20:48 dogbert17 moritz: many thanks, must look at this for a while :)
20:50 Zero_Dogg joined #perl6
20:50 Zero_Dogg joined #perl6
21:03 dogbert17 moritz: is it possible to put constraints, e.g. that all values are Int ?
21:03 dogbert17 on a Map object
21:05 moritz m: say Map[Int]
21:05 camelia rakudo-moar 1254bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EOLD7cd4dT␤Map cannot be parameterized␤at /tmp/EOLD7cd4dT:1␤------> 3say Map[Int]7⏏5<EOL>␤»
21:05 moritz dogbert17: no, seems to be only work for hash
21:05 moritz s/be /
21:05 moritz s/be //
21:05 dogbert17 moritz: thx, the reason for asking is that Map seems to have an 'of' method
21:07 moritz m: say Associative.^methods(:local)
21:07 camelia rakudo-moar 1254bb: OUTPUT«(of)␤»
21:07 moritz yes, because it does role Associative :/
21:08 dogbert17 so it will only return (Mu) at all times then
21:08 moritz aye
21:08 moritz sleep&
21:08 dogbert17 godd night moritz and thx for the help
21:10 Ven joined #perl6
21:12 * perlpilot looks at the docs on Map
21:12 perlpilot It's weird that the methods supplied by roles aren't listed with the other methods.
21:30 keix joined #perl6
21:32 tharkun joined #perl6
21:43 kid51 joined #perl6
21:44 dogbert17 Have another doc gist that needs looking over. Its for Baggy.kxxv. https://gist.github.com/dogbert17​/1762f03949c76c8bb0d171725acfc73d
21:45 rurban1 joined #perl6
21:46 rurban1 left #perl6
21:55 lockdown joined #perl6
21:58 tony-o RabidGravy: any more input on modules.zef.pm ?
21:59 tony-o RabidGravy: i'm thinking of running 'prove' on all of the modules so i can provide some kind of 'passing' flag or a log of the failures if it fails
22:00 jdv79 tony-o: when would it run?
22:00 tony-o jdv79: upon a succesful repo pull and when i update the perl6 version on the machine
22:01 tony-o it's running on debian, currently
22:01 RabidGravy well, there's a good chance that half my modules would fail as they have external dependencies
22:01 tony-o i wonder if travis has an API - then i can handle things like external libs
22:01 tony-o gtk, etc. - hah, RabidGravy beat me to it
22:02 tony-o RabidGravy: if it's just p6 depends then i can handle that
22:02 jdv79 when would you pull?
22:02 jdv79 i imagine you meant a pull with contents
22:02 tony-o jdv79: i pull from repos every 5 minutes
22:02 RabidGravy there are at least two that have non-library binary dependencies, and about fifteen that need libs
22:03 tony-o jdv79: yes, whenever there is changes actually pulled rather than just the ol 'up to date' message
22:03 jdv79 that's what travis does now and isn't as helpful as it could be
22:04 jdv79 i'd say look to cpantesters.  probably the best example of that sort of thing.
22:04 tony-o how would you improve that?  - RabidGravy do you use t-ci right now?
22:04 jdv79 that i'm aware of
22:04 dalek doc: 995ac3b | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
22:04 dalek doc: Added docs for Baggy.kxxv
22:04 dalek doc: review: https://github.com/perl6/doc/commit/995ac3b8e6
22:05 jdv79 tony-o: basically look to prior art:)
22:06 tony-o jdv79: i built out a cpantesters type thing for zef about two years ago so people could submit test results from different machines.  i also had a rolling VM set up where it would smoke test on 5 different OS (BSD, debian, win7, osx, and another linux distro) - we ended up taking zef in another direction.  i could, actually, write a zef plugin to do something like cpantesters and host that on modules.zef.pm
22:07 tony-o RabidGravy: do you use travis-ci currently?  does it handle those external bins/libs ?
22:07 jdv79 yeah idk how that'd work just yet.  not sure there is enough interia around here to get that up and running on its own
22:08 jdv79 which is why i had planned to someday talk to the p5 testers and see if we can leverage their stuff
22:08 RabidGravy the test script manually installs the appropriate dependencies
22:08 tony-o i can roll VMs for smoke testing nightly if that's interesting at all
22:09 tony-o do, OSX, BSD, debian, and Win7
22:09 jdv79 eventually that'll fail because you can't smoke everything fast enough
22:10 RabidGravy the problem is that the META file doesn't declare the dependencies, and when I suggested an Alien type thing a while back there was wailing and gnashing of teeth and I forgot about it
22:10 jdv79 need multiple peeps doing it.  this is all basically cpantesters:)
22:10 tony-o i can use modules.zef.pm as a microservice and test only things that have been updated over the last day for the time being
22:10 tony-o yea, this is just meant until the community is large enough to generate decent test reports from varying systems
22:10 jdv79 we have that with travis though.  what would be nice is testing everything periodically.
22:11 jdv79 but i'm not sure the need is strong to warrant the effort yet
22:12 rurban joined #perl6
22:12 hoelzro tony-o, jdv79: do you know about http://smoke.perl6.org/report and http://cpandatesters.perl6.org/ ?
22:13 hoelzro also, if you're looking for nightly verfication that a module still works with current rakudo and deps, you can do what I did and just kick the travis build in a cron job
22:13 jdv79 hoelzro: yes.  i think the authro said it wasn't working
22:13 jdv79 at spw at least;)
22:13 hoelzro I don't think they are =(
22:13 hoelzro since like 2015.12
22:13 hoelzro but it's a start, right?
22:14 jdv79 can someone "kick the travis build" for Inline::Perl5?
22:14 jdv79 i'd be interested in teh results
22:14 hoelzro probably only the owner
22:15 hoelzro I have this for Linenoise: https://github.com/hoelzro/p​erl6-linenoise-sanity-check
22:15 hoelzro it's the only notion of tests that Linenoise currently has =/
22:17 rurban1 joined #perl6
22:18 hoelzro .tell BenGoldberg that's not a bad idea, but if .resume worked on that exception (which I don't know if it does), it would probably just resume parsing the current chunk of code
22:18 yoleaux hoelzro: I'll pass your message to BenGoldberg.
22:18 hoelzro .tell BenGoldberg sadly, the exception handling for that probably isn't smart enough (yet) to ask the caller to feed the parser more input
22:18 yoleaux hoelzro: I'll pass your message to BenGoldberg.
22:24 [Coke] Definitely interested in improving our testing status.
22:33 tony-o hoelzro: yea i'm aware of it, i want to think about what the next iteration of that looks like and integrate it with the module search/browser that exists at modules.zef.pm
22:37 hoelzro cool
22:38 tony-o do you have any thoughts on that?
22:45 gtodd joined #perl6
22:48 lizmat joined #perl6
22:54 huggable joined #perl6
22:59 araujo_ joined #perl6
23:01 wamba joined #perl6
23:01 cpage joined #perl6
23:08 Sgeo_ joined #perl6
23:12 Xliff joined #perl6
23:12 ugexe m: ({20};;);
23:12 camelia rakudo-moar 1254bb: OUTPUT«Non ast passed to UNWANTED: BOOTInt␤Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤===SORRY!===␤Unknown QAST node type BOOTInt␤»
23:12 Xliff \o #perl6
23:14 AlexDaniel m: (;)
23:15 camelia rakudo-moar 1254bb: OUTPUT«(signal XFSZ)Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Resultchild 0 can't returns! BOOTInt␤- QAST::Stmts :BY<comp_unit ua u> :context<sink> (;)␤  - QAST::Stmt :BY<comp_unit ua u u> :context<sink> :final (;)␤    - 0␤␤Non-QAST …»
23:15 grondilu /quit
23:15 grondilu oops sorry
23:16 AlexDaniel ugexe: RT #127473 I believe
23:16 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=127473
23:36 TEttinger joined #perl6
23:39 Xliff AlexDaniel: Bug in current rakudo?
23:42 setty1 joined #perl6
23:45 cpage_ joined #perl6
23:56 synopsebot6 joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo