Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-11-28

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 diakopter or maybe it's a bot named [obliquely?] after its creator?
00:04 BenGoldberg Purl is indeed a bot.  Or was anyway, I haven't seen it for a while.
00:04 coetry joined #perl6
00:04 BenGoldberg .seen purl
00:04 yoleaux I haven't seen purl around.
00:04 b2gills joined #perl6
00:04 diakopter lizmat: http://irclog.perlgeek.de/parrot/search/?nick=purl&q=
00:04 pink_mist purl would be on magnet, if purl was around
00:04 pink_mist but purl isn't around even there
00:06 coetry this is frustrating :/, I'm trying to install Inline::Perl5, THE module that carries significant implications and makes my life easier :/
00:06 lizmat aha, so Perl 6 *has* become sentient after all  :-)
00:06 BenGoldberg The last time perlbot (the perl5 evalbot) saw purl was 2011.
00:06 coetry here's what I'm running into: https://gist.github.com/coetry/e8beb4d6bd16748dd9e7
00:06 diakopter lizmat: actually, on second thought, I think there was a person who used that nick, and I think they were the author of that bot
00:06 raiph joined #perl6
00:07 diakopter raiph: do you remember who was purl on perlmonks?
00:07 skids coetry: File::Temp installs fine for me, how new is your rakudo?
00:07 pink_mist BenGoldberg: I think that's because perlbot put purl on ignore back then :P purl hasn't been seen for months, but purl has been around this year at least :P
00:07 Skarsnik lol
00:08 dalek modules.perl6.org/new-db-builder: c351070 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm:
00:08 dalek modules.perl6.org/new-db-builder: Convert JSON::Meth object to a hashref
00:08 dalek modules.perl6.org/new-db-builder:
00:08 dalek modules.perl6.org/new-db-builder: Debugging with it still being an object is annoying
00:08 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/c351070972
00:08 dalek modules.perl6.org/new-db-builder: 2cfe887 | (Zoffix Znet)++ | / (4 files):
00:08 dalek modules.perl6.org/new-db-builder: Improve test coverage of ModulesPerl6::DbBuilder::Dist::Source
00:08 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/2cfe887f8e
00:09 Skarsnik 'night #perl6
00:09 jdv79 later
00:11 coetry skids: This is perl6 version 2015.09 built on MoarVM version 2015.09
00:12 diakopter lizmat: aha, purl was authored by PerlCure
00:16 skids coetry: I'm on a git head from today, maybe someone on 2015.09 could say whether File::Temp installs for them.
00:16 coetry skids, I installed my rakudo from brew, if I wanted to upgrade to the git head like you, what should I do?
00:17 TEttinger joined #perl6
00:17 Zoffix joined #perl6
00:18 Zoffix coetry, rakudobrew self-upgrade; rakudobrew build moar;
00:18 Zoffix 2015.09 is way old :P
00:19 * Zoffix is about to merge new-db-builder branch on modules.perl6.org repo.
00:19 Zoffix Running a local db build to ensure all works "Processing dist 32 of 461".
00:22 Quom_ m: { die("ded."); CATCH { say("caught") }}; say("not rethrown?");
00:22 camelia rakudo-moar fec2b5: OUTPUT«caught␤ded.␤  in block <unit> at /tmp/yny9_vpLLj:1␤␤»
00:22 Quom_ nqp-m: { die("ded."); CATCH { say("caught") }}; say("not rethrown?");
00:22 camelia nqp-moarvm: OUTPUT«caught␤not rethrown?␤»
00:23 Quom_ I suppose in NQP rethrows are explicit
00:23 llfourn joined #perl6
00:25 skids Hrm, Inline::Perl5 is broken on latest, though, actually inside the module itself.
00:25 skids "No such method 'context' for invocant of type 'Inline::Perl5::Perl6Callbacks'"
00:27 Zoffix yup
00:27 coetry :(
00:27 Zoffix Others are having the same issue: http://irclog.perlgeek.de/perl6/2015-11-27#i_11612777
00:27 coetry hi Zoffix, i remember you :)
00:27 Zoffix I don't remember you :/
00:27 coetry lol that's because you helped me before, and i didn't help you haha
00:27 Zoffix heh, ok :)
00:28 coetry unless you count you helping me, helping you because that reinforces your knowledge
00:28 coetry :)
00:30 Psyche^ joined #perl6
00:32 skids Ok, so as a workaround anyone have rakudo/nqp/moar commit IDs where Inline::Perl5 is working?
00:34 coetry zef || panda ?
00:34 Zoffix coetry, zef, 'cause it precompiles
00:34 coetry nice
00:34 Zoffix though /me never could get it to work for some reason; would not install into visible paths
00:34 coetry hmm
00:34 Zoffix skids, no idea, but why not try to fix it and submit a PR instead? :)
00:35 skids Not that I wouldn't but that will take time in any case.
00:37 Zoffix skids, well, its author is busy getting Perl 6 ready for Christmas release and might even take a break after that. It'll might be a while 'till Inline::Perl5 will get fixed anyway, so why not try to fix it?
00:38 Zoffix Will you really stay on an old rakudo commit and not try the new and shiny Perl 6.Christmas just due to Inline::Perl5 :P
00:38 coetry I wish Inline::Perl5 could be ready by Christmas too, however I'm a noob
00:38 coetry I would fix it if I knew how
00:38 skids Zoffix: I didn't say I would not, but coetry wants it working now for him/her self to play with.
00:39 coetry im a "him" skids :)
00:39 Zoffix coetry, Meh. It's a crutch. Go pure Perl 6 :P
00:39 bpmedley joined #perl6
00:40 pierre-vigier joined #perl6
00:41 Zoffix Yey "[info] Finished building all dists." All stuff's done :) I'll wait until tomorrow to merge tho. Don't wanna mess with cron and friends setting the new workflow up tonight.
00:41 TimToady hmm...
00:41 TimToady > rakudobrew test
00:41 TimToady Spectesting moar-nom
00:41 TimToady Couldn't determine correct make program. Aborting.
00:41 coetry Zoffix, i would love to go pure perl6, lol but you and me both know that the ecosystem will take while for helpful modules to readily be available for a lot of scenarios, until then, I will gladly use the shiny crutch of Inline::Perl5
00:41 Zoffix TimToady, I'm getting the same error when rakudobrew triple nom master master
00:43 Zoffix coetry, what module do you need from P5 BTW? Just curious what's in demand.
00:44 Exodist joined #perl6
00:44 coetry Well, I'm actually new to Perl itself, but OAuth, Twitter clients, things like that are helpful
00:44 Zoffix aha
00:45 Zoffix I was planning to make a P6 Twitter bot that announced ecosystem additions.. Though that likely won't be done until around or after New Years.
00:45 coetry cool, I would love to see it and contribute if possible at all
00:45 pierre-vigier joined #perl6
00:46 coetry microscopic commits until I grow my wings
00:46 mspo twitter oauth is pretty easy the last time I implemented it
00:46 mspo a few years ago, though
00:46 dalek modules.perl6.org/new-db-builder: e406686 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm:
00:46 dalek modules.perl6.org/new-db-builder: Fix bug with distro build crashing when "author" field is set to an array
00:46 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/e406686a6c
00:46 TimToady good grief, it pulls MAKE= out of the makefile...why not just run "make" for a default?
00:47 Zoffix :S
00:47 coetry wait Zoffix, i recognize your github avatar from twitter
00:48 Zoffix Yeah, I'm on Twitter: https://twitter.com/zoffix
00:48 coetry are you the same person? If so, I follow you, you're cool :) I followed you after seeing a tweet on custom perl6 operators (one of my favorite features of perl6)
00:48 coetry i'm coetry on twitter as well
00:48 pnu joined #perl6
00:49 Zoffix k, followed you
00:49 Zoffix Yeah, I love custom P6 operators too :) Too bad they're really expensive to add
00:49 coetry cool cool, and yeah usually when you play with macros and custom stuff, although pleasant to the eye and mind, the computer has to do more work
00:50 coetry I'd love to work on improving performance when i learn the chops to do so
00:51 coetry i'm commited to perl6 and its growth :), i had a period of time where i would jump from ruby, lisp, clojure, and so many languages trying to find my community and niche, but I feel that Perl6 is where I belong
00:52 Zoffix :)
00:52 coetry just reading the design docs that Larry made, and the philosophy, and the power of the language itself. And the fact that Larry explicityly said he addressed Paul Graham's 100 year language musings, it was a seller for me
00:52 coetry If i'm alive, in 10 years i would like to have contributed a healthy chunk of the pie!
00:54 solarbunny joined #perl6
00:54 TimToady Zoffix: we can make it a lot cheaper to add custom operators, I suspect
00:54 Zoffix \o/ yey
00:58 pierre-vigier joined #perl6
00:59 TimToady Zoffix: I changed the error line in rakudobrew to just run("make $command"); and it works fine here
01:00 Zoffix cool
01:00 TimToady I wonder if there's someplace where assuming "make' is the correct default program is antithetical to the march of human civilization...
01:00 Zoffix lol
01:00 pierre-vigier joined #perl6
01:01 geekosaur most bsds have "make" as their make which is not compatible with gnu make
01:01 geekosaur and gnu make is assumed by a lot of things these days, leading to annoying breakage on *bsd, solaris, etc.
01:02 dalek nqp: f347320 | Mouq++ | src/core/NQPLock.nqp:
01:02 dalek nqp: NQPLocks should propogate errors
01:02 dalek nqp: review: https://github.com/perl6/nqp/commit/f347320479
01:03 TimToady heh, if I ask for *make it asks if I want: qmake omake mmake jmake cmake bmake imake fmake pmake make tmake or vmake
01:04 TimToady (but not gmake, go figure)
01:04 TimToady ((I guess that's what make is here))
01:04 Zoffix :o
01:04 Zoffix https://xkcd.com/927/
01:04 TimToady ayup, don't even have to look that one up :)
01:05 Zoffix :P
01:05 dalek modules.perl6.org/new-db-builder: ac2c96d | (Zoffix Znet)++ | bin/build-project-list.pl:
01:05 dalek modules.perl6.org/new-db-builder: Do not use system perl via shebang
01:05 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/ac2c96db39
01:05 dalek modules.perl6.org/new-db-builder: cd8e45d | (Zoffix Znet)++ | bin/build-project-list.pl:
01:05 dalek modules.perl6.org/new-db-builder: Make build script a "Singleton"
01:05 dalek modules.perl6.org/new-db-builder:
01:05 dalek modules.perl6.org/new-db-builder: Abort run if we"re already running. This will allows us to chuck the script into cron in frequent intervals to allow almost-round-the-clock building
01:05 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/cd8e45dd20
01:06 TimToady fortunately we'll run out of characters after we have (a..z)make
01:07 dalek modules.perl6.org/new-db-builder: 07f2c55 | (Zoffix Znet)++ | bin/build-project-list.pl:
01:07 dalek modules.perl6.org/new-db-builder: Comment why we"re doing all this flock business
01:07 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/07f2c557bd
01:13 Quom_ TimToady: Don't forget 6make
01:14 zengargoyle joined #perl6
01:14 rigsby joined #perl6
01:16 lizmat good night, #perl6!
01:18 zengargoyle joined #perl6
01:24 Exodist joined #perl6
01:33 xpen joined #perl6
01:46 yaxx_ joined #perl6
01:46 hahainternet i'm surprised that flock DATA works
01:46 hahainternet that's neat
01:48 xpen joined #perl6
02:05 dalek doc: 8f2749c | LLFourn++ | doc/Language/functions.pod:
02:05 dalek doc: doc'd proto
02:05 dalek doc: review: https://github.com/perl6/doc/commit/8f2749cb6c
02:06 TimToady joined #perl6
02:15 herby joined #perl6
02:15 herby Good evening, everyone!
02:23 herby dumb question... I'm watching a youtube video and the guy is launching a perl6 script with:  perl6-m test.p6
02:23 herby what is the -m?
02:25 pink_mist probably stands for moarvm
02:25 pink_mist as opposed to jvm
02:25 herby as a beginner who is learning p6 as a hobby, should I be purposefully using one over the other?
02:25 herby or for my purposes is it likely the same?
02:26 TimToady you'll be less frustrated with moarvm unless you specifically need to run on jvm for some reason
02:26 pink_mist I think moarvm is more feature complete than jvm is ... but I'm not sure how much difference there really is
02:26 Quom_ moarvm also has a much faster startup time
02:27 herby so if i'm on ubuntu and using rakudo, should i be launching my scripts with perl6-m?
02:27 herby perl6 -m
02:27 TimToady I just use a p6 alias :)
02:27 Quom_ herby: It only makes a difference if you installed both
02:28 TimToady and you can have it install "perl6" as an alias to one or the other
02:28 herby ah ok. i don't think I installed both. i just used the generic rakudo installer
02:28 herby i'll have to read a little bit and see what came with it
02:28 Quom_ herby: Or just `perl6 --version`
02:29 herby "This perl6 version 2015.11 built on MoarVM version  2015.11"
02:29 herby guess that answers that
02:30 herby I want to try to tackle this idea in Perl 6
02:30 herby http://chrisholdgraf.com/querying-craigslist-with-python/
02:30 herby figure it would be a useful learning exercise
02:30 herby not sure if Perl 6 has anything for the graphing part though
02:35 herby alright, thanks for the info
02:35 herby have a good night!
02:37 Zoffix joined #perl6
02:37 Quom_ 'night!
02:52 dalek nqp: 19073a7 | TimToady++ | src/HLL/Compiler.nqp:
02:52 dalek nqp: Don't confuse rakudo version with perl version.
02:52 dalek nqp: review: https://github.com/perl6/nqp/commit/19073a7408
02:53 dalek rakudo/nom: a148bf3 | TimToady++ | tools/build/NQP_REVISION:
02:53 dalek rakudo/nom: bump nqp to get more accurate --version
02:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a148bf3702
02:53 gfldex herby++ # i guess
02:57 zengargoyle heh
02:59 zengargoyle the evil me wants to make a quick post somewhere about Perl 6 finally giving in and changing its numbering scheme. *mualahaha*
03:01 Quom_ m: say 1 cmp NaN # what's the expected answer here?
03:01 camelia rakudo-moar fec2b5: OUTPUT«Same␤»
03:01 b2gills .tell [Coke] I would like to be listed as "Brad Gilbert (b2gills)"  or "Bradley Allen Gilbert (b2gills)" etc. because "Brad Gilbert" by itself is very non-unique. ( usually associated with a tennis player )
03:01 yoleaux b2gills: I'll pass your message to [Coke].
03:01 b2gills Quom: FileNotFound
03:02 yaxx_ m: my @a[3;3] = 1..3, 4..6, 7..9;
03:02 camelia rakudo-moar fec2b5: ( no output )
03:03 zengargoyle m: my @a[3;3] = 1..3, 4..6, 7..9; say @a;
03:03 camelia rakudo-moar fec2b5: OUTPUT«[[1 2 3] [4 5 6] [7 8 9]]␤»
03:03 b2gills Quom_:  http://thedailywtf.com/articles/What_Is_Truth_0x3f_
03:06 yaxx_ m: my @a[3;4] = 1..3, 4..6, 7..9;  say @a;
03:06 camelia rakudo-moar fec2b5: OUTPUT«[[1 2 3 (Any)] [4 5 6 (Any)] [7 8 9 (Any)]]␤»
03:06 zengargoyle Quom_: i'd probably pick Same... vs Less or More, Same is the most sane.
03:07 flussence zengargoyle: technically, p6 did change its numbering scheme this week... to remove that arbitrary ascii requirement :D
03:08 zengargoyle must have missed that. :)
03:08 flussence m: say ⑨ * ㊿
03:08 camelia rakudo-moar fec2b5: OUTPUT«450␤»
03:08 Quom_ Python's cmp says greater than
03:09 Quom_ m: enum Bool (True, False, FileNotFound);
03:09 camelia rakudo-moar fec2b5: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
03:09 Quom_ m: enum MyBool (True, False, FileNotFound);
03:09 camelia rakudo-moar fec2b5: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
03:09 Quom_ m: enum MyBool <True False FileNotFound>;
03:09 camelia rakudo-moar fec2b5: ( no output )
03:09 Quom_ m: enum Bool <True False FileNotFound>;
03:09 camelia rakudo-moar fec2b5: ( no output )
03:11 flussence .oO( it's horribly tempting that some really obscure unicode character just happens to have the numeric value for "5 days' worth of seconds"... )
03:11 yaxx_ m: my @a[3;3] = 1..3, 4..6, 7..9; @a[0,1,2] = @a[2,1,0]; say @a;
03:11 camelia rakudo-moar a148bf: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤  in block <unit> at /tmp/hiaLDlTK4N:1␤␤»
03:12 Quom_ Ruby wisely returns nil
03:13 ShimmerFairy Quom_: according to wikipedia, "A comparison with a NaN always returns an unordered result even when comparing with itself.", so judging by that 'Same' is wrong, but any of the other enums are fine :)
03:14 noganex_ joined #perl6
03:14 Quom_ ShimmerFairy: You mean to say that the enums of Order imply an unordered result? ;)
03:14 zengargoyle isn't an unordered sort the same as cmp always returning Same?
03:14 ShimmerFairy Quom_: oh, dur.
03:15 ShimmerFairy zengargoyle: come to think of it, that's possibly one way to define unordered :)    (though I have a feeling most people would like some sort of Order::None to be more clear)
03:16 yaxx_ m: my @a[3;3] = 1..3, 4..6, 7..9; say @a[0,2];
03:16 camelia rakudo-moar a148bf: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤  in block <unit> at /tmp/3tIw0eiTiI:1␤␤»
03:16 ShimmerFairy m: say 1+2i cmp 3+4i
03:16 camelia rakudo-moar a148bf: OUTPUT«Less␤»
03:16 * Quom_ is reminded of masak++'s article from June
03:16 ShimmerFairy m: say 1+2i <=> 3+4i
03:16 camelia rakudo-moar a148bf: OUTPUT«Can not convert 1+2i to Real: imaginary part not zero␤  in block <unit> at /tmp/fqaALENANO:1␤␤Actually thrown at:␤  in block <unit> at /tmp/fqaALENANO:1␤␤»
03:16 zengargoyle making Less, Same, More into 4 things might complicate things...
03:17 Quom_ m: say 1+2i cmp 2+i
03:17 camelia rakudo-moar a148bf: OUTPUT«Less␤»
03:17 ShimmerFairy zengargoyle: sure, doesn't necessarily need to be an Order:: thing, could just as easily be Nil or a Failure or... :)
03:17 geekosaur note that complex numbers represent 2-dimensional values, so a linear ordering is not meaningful
03:17 ShimmerFairy Quom_: complex numbers aren't ordered, as I recall. That's why I was checking
03:18 zengargoyle i'm thinking of the way cmp is used by sort.
03:18 zengargoyle you either put a before b or b before a or you keep the order they had.
03:18 ShimmerFairy m: say 1..3 cmp 2..4  # something I ran into yesterday, when C++'s std::less wanted something for my Range-like struct. How should Ranges compare?
03:18 camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6kG9bB8V7t␤Operators '..' and 'cmp' are non-associative and require parentheses␤at /tmp/6kG9bB8V7t:1␤------> 3say 1..37⏏5 cmp 2..4  # something I ran into yester␤    expecting any of:␤        in…»
03:18 ShimmerFairy m: say (1..3) cmp (2..4)  # something I ran into yesterday, when C++'s std::less wanted something for my Range-like struct. How should Ranges compare?
03:18 camelia rakudo-moar a148bf: OUTPUT«Less␤»
03:19 zengargoyle or throw an failure and bust everything.
03:19 * zengargoyle would also accept <Less Same More>.pick :)
03:20 ShimmerFairy the definition I chose is that for $a..$b < $c..$d I do $c < $b. But of course that can't be good enough, I don't think.
03:20 Quom_ Welp. It seems like Unordered/Failure is no esoteric an option…
03:21 Quom_ m: -Inf cmp -Inf
03:21 camelia rakudo-moar a148bf: OUTPUT«WARNINGS:␤Useless use of "cmp" in expression "-Inf cmp -Inf" in sink context (line 1)␤»
03:21 ShimmerFairy geekosaur: btw, I can't help but think that the issue is with ambiguous cases; it seems obvious (or at least intuitive) to me that 0+0i < 1+1i, so to me the interesting bits come in on things like  2+0i < 1+1i
03:21 Quom_ m: say -Inf cmp -Inf
03:21 camelia rakudo-moar a148bf: OUTPUT«Same␤»
03:21 Quom_ *not so
03:22 geekosaur ShimmerFairy, same thing really; your "ambiguous cases" are the ones where the differences are in both dimensions
03:22 ShimmerFairy Quom_: the one issue we might have with a Nil/Failure/etc. is that things like hash sorting use cmp, and I can't help but wonder how big the changes would be
03:23 ShimmerFairy geekosaur: yeah, that's been my thinking, that when the individual dimensions would generate different results is when the issues arise. It feels like we need ternary logic for complex numbers; "definitely less", "half-way less", and "not at all less"  :P
03:23 geekosaur I will also note that there are multiple uses for ordering; if you are hashing or ordering for a tree of some kind, it suffices to pick a consistent ordering rule
03:24 geekosaur but this is distinct from mathematical ordering, where you cannot meaningfully collapse a multi-dimensional value into a linear ordering
03:25 ShimmerFairy geekosaur: definitely, my C++ case was just "pick something to satisfy std::less for my use of Range-likes as a hash key". It feels like we perhaps would like to separate mathematical and [other kind] ordering
03:25 geekosaur (and then there's partial vs. total orderings)
03:25 Zoffix wtf
03:25 Zoffix m: say ⑨ * ㊿
03:25 camelia rakudo-moar a148bf: OUTPUT«450␤»
03:25 Zoffix 0.o
03:25 Zoffix .u ㊿
03:25 yoleaux U+32BF CIRCLED NUMBER FIFTY [No] (㊿)
03:25 Zoffix Man, that char doesn't even display on my client :/
03:25 Zoffix What's whack
03:26 ShimmerFairy geekosaur: maybe the fact that S03 calls 'cmp' as using 'eqv' semantics means it was already meant to be the other thing, or if Perl 6 has in fact made the potential mistake of not separating the two kinds
03:26 geekosaur most languages make that mistake
03:26 zengargoyle m: say (1+2i)**2 cmp (3+4i)**2
03:26 camelia rakudo-moar a148bf: OUTPUT«Less␤»
03:26 ShimmerFairy Zoffix: what's weird is that I only recall enabling Nd type characters for numeric literals, perhaps someone opened it up?
03:26 ShimmerFairy m: say "⑨".uniprop("Numeric_Type")
03:26 camelia rakudo-moar a148bf: OUTPUT«2␤»
03:26 geekosaur every so often there's a push to separate them in Haskell but it hasn't happened and I suspet it never will
03:26 ShimmerFairy m: say "⑨".uniprop_str("Numeric_Type")
03:26 camelia rakudo-moar a148bf: OUTPUT«Method 'uniprop_str' not found for invocant of class 'Str'␤  in block <unit> at /tmp/XgtsjosloL:1␤␤»
03:26 geekosaur because every use of Data.Set / Data.Map would break
03:27 ShimmerFairy m: say "⑨".uniprop-str("Numeric_Type")
03:27 camelia rakudo-moar a148bf: OUTPUT«␤»
03:27 ShimmerFairy geekosaur: are there any languages which _do_ separate? (I'm thinking the mythical Perl 6.1 might want to, if it turns out to be problematic)
03:28 geekosaur not that I can think of offhand
03:30 flussence Zoffix: the missing char of the two is swapped on my terminal, which makes even less sense...
03:31 Zoffix At least it makes for a good advert tweet :) https://twitter.com/zoffix/status/670444009534418944
03:32 Quom_ My thought wouldn't be so much separation as DWIM... you can just use it as before if you want, but you can at least tell when the arguments are unordered
03:32 zengargoyle m: say "🃜".uniprop("numeric_Type")
03:32 camelia rakudo-moar a148bf: OUTPUT«0␤»
03:32 yaxx_ m: my @a[⑨;⑨] = (1..⑨) xx ⑨; say @a;
03:32 camelia rakudo-moar a148bf: OUTPUT«[[1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9]]␤»
03:32 geekosaur really, Haskell is about the only language where users would care... and if they're not willing to address it, nobody is :)
03:33 zengargoyle m: say "🃜".uniprop("Numeric_Type")
03:33 camelia rakudo-moar a148bf: OUTPUT«None␤»
03:33 zengargoyle would have been cool if PLAYING CARD * had numeric_type
03:33 Zoffix heh
03:34 Zoffix That's really pushing it :P
03:34 zengargoyle ACE would have to be a junction 1|11 :)
03:34 Zoffix :)
03:34 ShimmerFairy Quom_, zengargoyle, geekosaur: actually, considering 'before' is supposed to be the 'eqv' version of numeric < , we might already have the separation in the design; 'eqv' ops for sort ordering, numeric ops for math ordering
03:35 ShimmerFairy the .uniprop stuff is broken, btw, .uniprop("Numeric_Type") should really return a string, but AFAICT it returns Moar's internal enum for the string :)
03:35 zengargoyle i'd guess it would be <=> that got tweaked
03:35 geekosaur and then there's the solitaire game I often play late night on my tablet, where the ordering is K, A, .. Q
03:36 zengargoyle we still have <=>, leg, for numeric/string specific comparison.
03:36 ShimmerFairy m: say 1+3i <=> 4+5i  # already handled for Complex, even if the message is LTA
03:36 camelia rakudo-moar a148bf: OUTPUT«Can not convert 1+3i to Real: imaginary part not zero␤  in block <unit> at /tmp/GUZ8sENn6i:1␤␤Actually thrown at:␤  in block <unit> at /tmp/GUZ8sENn6i:1␤␤»
03:36 ShimmerFairy m: say 3 <=> NaN
03:36 camelia rakudo-moar a148bf: OUTPUT«Same␤»
03:37 ShimmerFairy boo for <=>
03:37 zengargoyle i'd guess cmp is just falling back to <=>
03:38 ShimmerFairy might be worth asking TimToady if before/after/eqv/cmp should be considered a different kind of ordering from numerics, or if that's a different area (e.g.  "a" cmp "b" ~~ "a" leg "b", but in this line of thinking  1+0i cmp 1i !~~ 1+0i <=> 1i )
03:39 ShimmerFairy in other words, I don't know if leg and <=> are supposed to be "just" coercive versions of cmp, or if it's OK for a more explicit separation.
03:39 ShimmerFairy s/explicit/meaningful/
03:41 zengargoyle m: say NaN.WHAT
03:41 camelia rakudo-moar a148bf: OUTPUT«(Num)␤»
03:42 ShimmerFairy NaN and Inf are (currently) literally just the floating-point constants. Part of the consternation with Inf is how to come up with a more pervasive version :P
03:42 ShimmerFairy m: say Inf.WHAT
03:42 camelia rakudo-moar a148bf: OUTPUT«(Num)␤»
03:42 zengargoyle m: say -Inf === -Inf
03:42 camelia rakudo-moar a148bf: OUTPUT«True␤»
03:43 zengargoyle m: say -Inf === Inf
03:43 camelia rakudo-moar a148bf: OUTPUT«False␤»
03:43 zengargoyle m: say NaN === NaN
03:43 camelia rakudo-moar a148bf: OUTPUT«True␤»
03:43 Zoffix m: say Inf+i === (0/0)+i
03:43 camelia rakudo-moar a148bf: OUTPUT«True␤»
03:45 ShimmerFairy Yeah, that's the nice thing about Perl 6's operators, and its general attitude of different spellings for different things.  NaN == NaN  will of course be false, but I can test for it using === instead of a more awkward (to me) isNaN() :)
03:46 Zoffix Heh, my phone cheats by displaying "㊿" as simply 50 :)
03:47 Zoffix All this talk about NaN's making me hungry.
03:47 ShimmerFairy obviously using one of those nasty NFK* forms :P
03:47 zengargoyle om NaN NaN?
03:47 Zoffix https://en.wikipedia.org/wiki/Naan
03:49 zengargoyle ShimmerFairy: did you catch the earlier discussion of POD stuff today?
03:49 ShimmerFairy zengargoyle: yesterday, yes, but not anything hours back
03:50 zengargoyle TT thinks...  ditch =finish.  add =eof which is (as =finish was) a =begin FOO that goes to end of file.
03:51 zengargoyle and have =eof comment (the default), =eof pod (sorta like =finish), =eof data (like old __DATA__).
03:53 Quom_ ShimmerFairy: btw, do you plan to post the work you've done? I'd like to help – I think it's work that's important to try to figure out now-ish
03:53 ShimmerFairy zengargoyle: yeah, skimming the web log now. It's an interesting idea. I'd consider it a new directive though, so there's no "default", but it's kinda like =begin or =for; basically, "like =for except the end is just EOF, not a blank line as well"
03:53 Zoffix MadcapJake, which reminds me, the Atom highlighter doesn't do much with =finish. Doesn't matter much if you don't care about it, but IIRC the standard Atom's P6 highligher highlights stuff after =finish as POD IIRC
03:53 ShimmerFairy Quom_: yeah, just finishing up parsing the bottom border of tables, and then (even if it don't work), I'll write up some final notes to stick in the directory :)
03:54 zengargoyle the default is that just <<=eof>> is the same as <<=eof comment>>
03:54 Quom_ Cool :)
03:56 zengargoyle but yeah like =begin =foo a 'directive'... just has the blockyness of =begin XXX that needs no =end XXX
03:58 yaxx_ :m my $a = 1E⑨;
03:59 ShimmerFairy Quom_: the table parsing is annoying (I can kinda see why you or whoever went with doing it Actions-side, since my regex is fairly code-like in some ways), but hopefully the indent style I've adopted for regexes will make it not-painful to comb through :)
03:59 yaxx_ :m  ⑨E⑨.fmt("%x").say;
03:59 Zoffix yaxx_, it's m: not :m
04:00 yaxx_ m:  ⑨E⑨.fmt("%x").say;
04:00 camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ztSXhoT7DW␤Two terms in a row␤at /tmp/ztSXhoT7DW:1␤------> 3⑨7⏏5E⑨.fmt("%x").say;␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modi…»
04:00 ShimmerFairy m: my $a = 0x1E⑨; say $a.base(16)
04:00 camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2eBJrLGVuR␤Bogus postfix␤at /tmp/2eBJrLGVuR:1␤------> 3my $a = 0x1E7⏏5⑨; say $a.base(16)␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end…»
04:00 ShimmerFairy m: my $a = 1⑨; say $a
04:00 camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nH06t7EbBl␤Bogus postfix␤at /tmp/nH06t7EbBl:1␤------> 3my $a = 17⏏5⑨; say $a␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        sta…»
04:01 ShimmerFairy looks like whoever extended the numeric literals just allowed non-Nd type numerics for standalone stuff, which I'm OK with :)
04:01 Quom_ The current table impl is tadzik's, from 2011, and no, I can't blame him for that
04:01 zengargoyle m: my $a = 0x1E+⑨; say $a;
04:01 camelia rakudo-moar a148bf: OUTPUT«39␤»
04:03 zengargoyle m: my $a = +⑨E+⑨; say $a;
04:03 camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/osyeViaxRi␤Two terms in a row␤at /tmp/osyeViaxRi:1␤------> 3my $a = +⑨7⏏5E+⑨; say $a;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤…»
04:03 ShimmerFairy yaxx_: only Decimal_Number type characters are allowed as part of numbers (and for hex, you can use anything marked with a true Hex_Digit property, and the natural extension of those for up to base 36)
04:05 ShimmerFairy (for those who care, numbers that have a General_Category of Decimal_Number, which by definition also means a Numeric_Type of Decimal (cf. http://www.unicode.org/policies/stability_policy.html#Property_Value ))
04:07 ShimmerFairy m: say Ⅱ
04:07 camelia rakudo-moar a148bf: OUTPUT«2␤»
04:07 ShimmerFairy cool, Nl works too on its own :)
04:08 yaxx_ m: my $a="zz⑨⑨aa⑨bb"; say $a.comb(/\d+/).fmt("%x")
04:08 camelia rakudo-moar a148bf: OUTPUT«␤»
04:11 ShimmerFairy m: my $a="zz⑨⑨aa⑨bb"; say $a.comb(/<:Numeric_Type("decimal"|"digit"|"numeric")>/)».unival.fmt("%x")    # unless I'm wrong, this should work...
04:11 camelia rakudo-moar a148bf: OUTPUT«␤»
04:11 ShimmerFairy I really ought to make a point to see if I can fix Moar's unicode properties sometime, I'd love to see .uniprop and related working :)
04:18 geraud joined #perl6
04:22 Quom_ m: my @a = 0,1,2; say @a[^10].perl # I'm not crazy, right? That should have 10 elems
04:22 camelia rakudo-moar a148bf: OUTPUT«(0, 1, 2)␤»
04:23 Quom_ I guess we don't test for that?
04:23 ShimmerFairy I faintly recall discussion around past-the-end stuff during the GLR stuff, but I'm not sure beyond that.
04:28 Quom_ m: my @a; @a[0,1] = ^10; say @a
04:28 camelia rakudo-moar a148bf: OUTPUT«[0 1]␤»
04:28 Quom_ m: my @a; @a[^2] = ^10; say @a
04:28 camelia rakudo-moar a148bf: OUTPUT«[]␤»
04:34 gfldex m: (Any ~~ *).perl.say;
04:34 camelia rakudo-moar a148bf: ( no output )
04:36 yaxxx joined #perl6
04:36 uruwi joined #perl6
04:36 yaxxx m: my @a[10]=0,1,2; say @a[^10];
04:36 camelia rakudo-moar a148bf: OUTPUT«(0 1 2)␤»
04:42 MadcapJake Zoffix: ok I will get that added in, anyone know if there is a regex class for eof?
04:43 MadcapJake Zoffix: I don't think the standard one had it because I started with all the rules from that highlighter, so unless something got chopped or fudged along the way, all the old stuff should still work (though not much was left untouched)
04:48 hankache joined #perl6
04:49 diakopter .seen brrt
04:49 yoleaux I saw brrt 23 Nov 2015 14:19Z in #perl6: <brrt> hi hankache
04:52 hankache good morning
05:17 dalek doc: 7509af7 | LLFourn++ | doc/Language/functions.pod:
05:17 dalek doc: bad pasta in proto
05:17 dalek doc: review: https://github.com/perl6/doc/commit/7509af74db
05:19 ShimmerFairy MadcapJake: in Perl 6 we have /$/ for end of file/string (/$$/ being end of line), not sure about P5-style however
05:20 TEttinger joined #perl6
05:33 Sgeo_ joined #perl6
05:35 lab joined #perl6
05:37 pecastro_ joined #perl6
05:37 eiro joined #perl6
05:37 telex joined #perl6
05:38 ilbelkyr joined #perl6
05:39 grondilu left #perl6
05:39 lizmat_ joined #perl6
05:40 Peter__R joined #perl6
05:40 rvchangue_ joined #perl6
05:41 bitmap_ joined #perl6
05:41 MadcapJake_ joined #perl6
05:47 noganex joined #perl6
05:49 zacts joined #perl6
05:49 Spot___ joined #perl6
05:51 stmuk_ joined #perl6
05:51 TimToady2 joined #perl6
05:51 ir2ivps4__ joined #perl6
05:51 mathw_ joined #perl6
05:51 n0xff__ joined #perl6
05:51 cfloare_ joined #perl6
05:51 bonsaikitten joined #perl6
05:51 orevdiabl joined #perl6
05:51 obra_ joined #perl6
05:51 masak_ joined #perl6
05:51 pecastro joined #perl6
05:51 advwp_ joined #perl6
05:53 ilbelkyr_ joined #perl6
05:53 uruwi joined #perl6
05:54 havenn joined #perl6
05:54 havenn joined #perl6
05:54 luis` joined #perl6
05:55 rvchangue_ joined #perl6
05:55 bowtie_ joined #perl6
05:55 Amnez777- joined #perl6
05:58 sjn joined #perl6
06:03 cgfbee joined #perl6
06:05 chewie_1982 joined #perl6
06:11 jantore joined #perl6
06:12 xinming joined #perl6
06:14 pierre-vigier joined #perl6
06:20 pierre-vigier joined #perl6
06:21 skids m: class A { method foo { EVAL "class GLOBAL::B \{ method bar \{ self.WHAT.say } }" } }; A.foo; EVAL "B.new.bar";
06:21 camelia rakudo-moar a148bf: OUTPUT«(A)␤»
06:22 skids star: class A { method foo { EVAL "class GLOBAL::B \{ method bar \{ self.WHAT.say } }" } }; A.foo; EVAL "B.new.bar";
06:22 camelia star-m 2015.09: OUTPUT«(B)␤»
06:22 skids ^^That is what broke Inline::Perl5 I believe.
06:24 telex joined #perl6
06:27 M-Illandan joined #perl6
06:30 frew joined #perl6
06:30 dalek rakudo-star-daily: 59bedd6 | coke++ | log/ (2 files):
06:30 dalek rakudo-star-daily: today (automated commit)
06:30 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/59bedd6c5b
06:35 dalek rakudo/nom: 3509077 | coke++ | docs/announce/2015.12.md:
06:35 dalek rakudo/nom: don't forget the RFCs.
06:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/35090771b6
06:36 dalek rakudo/nom: b7c2ea8 | coke++ | docs/announce/2015.12.md:
06:36 dalek rakudo/nom: expand a nick
06:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7c2ea8bc1
06:39 hankache how can i get the code point from a Unicode grapheme?
06:39 hankache is there a sub to do it?
06:39 dalek rakudo/nom: c43caf8 | TimToady++ | src/core/Num.pm:
06:39 dalek rakudo/nom: treat NaN comparisons like "NaN"
06:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c43caf8b05
06:39 dalek rakudo/nom: c141b1b | TimToady++ | src/core/Complex.pm:
06:39 dalek rakudo/nom: order Complex first on .re, then .im
06:39 dalek rakudo/nom:
06:39 dalek rakudo/nom: This is just so sorts don't blow up, of course complex nubmers are
06:39 dalek rakudo/nom: "not ordered".  For comparisions with other reals we assume .im is 0.
06:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c141b1bd37
06:39 dalek rakudo/nom: d0fe88a | TimToady++ | src/core/Complex.pm:
06:39 dalek rakudo/nom: prefer cmp to <=> in Complex::cmp to handle NaN
06:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d0fe88a0a4
06:39 dalek roast: 3ce083e | TimToady++ | S (2 files):
06:39 dalek roast: test new Num and Complex cmp consistency
06:39 dalek roast: review: https://github.com/perl6/roast/commit/3ce083e8fc
06:44 [Tux] test             50000    23.032    22.917
06:44 [Tux] test-t           50000    20.695    20.580
06:44 [Tux] csv-parser       50000    28.491    28.376
06:44 * [Tux] => T-DOSE
06:47 TimToady hankache: .ord gives you the base character, or you can use .ords to get them all
06:48 TimToady m: say "\r\n".ord; say "\r\n".ords
06:48 camelia rakudo-moar a148bf: OUTPUT«13␤(13 10)␤»
06:48 TimToady m: say ord "\r\n"; say ords "\r\n"
06:48 camelia rakudo-moar a148bf: OUTPUT«13␤(13 10)␤»
06:48 TimToady or if you really meant "subroutine"...
06:49 [Coke] b2gills: if you mean in the announce for 2015.12 you don't seem to be listed yet
06:49 yoleaux 03:01Z <b2gills> [Coke]: I would like to be listed as "Brad Gilbert (b2gills)"  or "Bradley Allen Gilbert (b2gills)" etc. because "Brad Gilbert" by itself is very non-unique. ( usually associated with a tennis player )
06:51 M-eternaleye joined #perl6
06:52 parisba_ joined #perl6
06:55 * skids files RT#126754 about the EVAL/self/Inline::Perl5 thing.
06:59 TimToady skids++
07:00 TimToady m: say 1..10 cmp 1^..10
07:00 camelia rakudo-moar d0fe88: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RGJolPe91M␤Operators '..' and 'cmp' are non-associative and require parentheses␤at /tmp/RGJolPe91M:1␤------> 3say 1..107⏏5 cmp 1^..10␤    expecting any of:␤        infix␤        infix stopper␤»
07:01 TimToady m: say (1..10) cmp (1^..10)
07:01 camelia rakudo-moar d0fe88: OUTPUT«Less␤»
07:01 TimToady m: say (1.1..10) cmp (1^..10)
07:01 camelia rakudo-moar d0fe88: OUTPUT«Less␤»
07:01 TimToady that's kinda oopsie
07:01 TimToady if we think of .. and indicating intervals
07:02 TimToady rather than ranges of integers
07:03 CIAvash joined #perl6
07:04 TimToady m: say (1..100000000) cmp (1..100000000)
07:04 TimToady okay, that's bad too
07:04 camelia rakudo-moar d0fe88: OUTPUT«(timeout)»
07:04 TimToady we should really be pushing ranges toward interval logic, not integer sequence logic
07:05 pierre-vigier joined #perl6
07:20 cognominal joined #perl6
07:27 skids Well, the 1.1..10 case sets up dissonance with (1.1..10) cmp (2,3,4,5,6,7,8,9,10)
07:28 rurban joined #perl6
07:29 * TimToady is working on a patch
07:29 skids m: say (Less..More); say (More..Less);
07:29 camelia rakudo-moar d0fe88: OUTPUT«Order::Less..Order::More␤Order::More..Order::Less␤»
07:35 ShimmerFairy TimToady: should cmp (and all the other eqv ops) be based on something more general than mathematical/lexicographic ordering, so it can be more generally applicable in things like hash key sorting? It would certainly break <=> being "just a coercive cmp", and perhaps leg as just a coercive cmp too
07:37 lizmat_ T-Dose&
07:38 literal joined #perl6
07:38 avar joined #perl6
07:38 wtw joined #perl6
07:38 confuseAcat joined #perl6
07:38 crux joined #perl6
07:39 TimToady <=> and leg will stay strict ordering, just cmp needs to be generalized for sort to work
07:40 ShimmerFairy yeah, I wouldn't want <=> on Complex numbers to seemingly reveal a previously-unknown mathematical truth :P
07:42 Khisanth joined #perl6
07:45 dalek roast: a217b1a | TimToady++ | S03-operators/cmp.t:
07:45 dalek roast: test ranges with cmp
07:45 dalek roast: review: https://github.com/perl6/roast/commit/a217b1a385
07:46 dalek rakudo/nom: 45cfb29 | TimToady++ | src/core/Range.pm:
07:46 dalek rakudo/nom: order ranges first on min, then on max
07:46 dalek rakudo/nom:
07:46 dalek rakudo/nom: Again, this is just for a consistent sorting order.
07:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/45cfb29a67
07:46 dalek rakudo/nom: 474db4c | TimToady++ | src/core/Range.pm:
07:46 dalek rakudo/nom: also compare ranges against lists wisely
07:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/474db4cbc4
07:52 TimToady m: say (1..100000000) cmp (1..100000000)
07:52 camelia rakudo-moar 474db4: OUTPUT«Same␤»
07:52 TimToady m: say (1..100000000) cmp (1^..100000000)
07:52 camelia rakudo-moar 474db4: OUTPUT«Less␤»
07:52 TimToady m: say (1..100000000) cmp (1..^100000000)
07:52 camelia rakudo-moar 474db4: OUTPUT«More␤»
08:05 timotimo o/
08:05 pierrot joined #perl6
08:08 hankache joined #perl6
08:11 darutoko joined #perl6
08:12 xfix joined #perl6
08:19 grondilu joined #perl6
08:20 kaare_ joined #perl6
08:22 hankache m: say "\x263a";
08:22 camelia rakudo-moar 474db4: OUTPUT«☺␤»
08:23 vendethiel joined #perl6
08:24 hankache how can I do it the other way round?
08:24 hankache supply a grapheme and get the unicode code
08:24 hankache TimToady proposed .ord but I don't know what it is returning
08:24 timotimo m: ords("\c[SNOWMAN]")
08:24 camelia rakudo-moar 474db4: OUTPUT«WARNINGS:␤Useless use of "ords(\"\\c[SNOWMAN]\")" in expression "ords(\"\\c[SNOWMAN]\")" in sink context (line 1)␤»
08:24 timotimo m: say ords("\c[SNOWMAN]")
08:24 camelia rakudo-moar 474db4: OUTPUT«(9731)␤»
08:24 timotimo m: say ords("\c[SNOWMAN]").base(16)
08:24 camelia rakudo-moar 474db4: OUTPUT«Method 'base' not found for invocant of class 'Seq'␤  in block <unit> at /tmp/kJ9j8wx1WZ:1␤␤»
08:25 timotimo m: say ords("\c[SNOWMAN]").fmt("%x")
08:25 camelia rakudo-moar 474db4: OUTPUT«2603␤»
08:25 timotimo m: say "\x2603"
08:25 camelia rakudo-moar 474db4: OUTPUT«☃␤»
08:25 hankache m: say ords("☃");
08:25 camelia rakudo-moar 474db4: OUTPUT«(9731)␤»
08:26 hankache say "\x9731";
08:26 hankache m: say "\x9731";
08:26 camelia rakudo-moar 474db4: OUTPUT«霱␤»
08:26 timotimo string also has coercers to the Uni type for different kinds of normalization
08:26 hankache huh?
08:26 timotimo m: say "foo".^methods
08:26 camelia rakudo-moar 474db4: OUTPUT«(BUILD Int Num chomp chop pred succ simplematch match ords samecase samespace trim-leading trim-trailing trim encode NFC NFD NFKC NFKD wordcase trans indent codes chars uc lc tc fc tclc flip ord WHY WHICH Bool Str Stringy DUMP ACCEPTS Numeric gist perl com…»
08:27 timotimo m: say "á".NKFC.perl
08:27 camelia rakudo-moar 474db4: OUTPUT«Method 'NKFC' not found for invocant of class 'Str'␤  in block <unit> at /tmp/wpi8LD7vFS:1␤␤»
08:27 timotimo m: say "á".NFKC.perl
08:27 camelia rakudo-moar 474db4: OUTPUT«Uni.new(0x00e1).NFKC␤»
08:27 timotimo i don't have good examples for combining characters on hand, though
08:27 ShimmerFairy hankache: .ord outputs the codepoint as a number, so it'll print as decimal unless you format it otherwise :)
08:28 timotimo m: say "á".NFD.perl
08:28 camelia rakudo-moar 474db4: OUTPUT«Uni.new(0x0061, 0x0301).NFD␤»
08:28 ShimmerFairy m: say "$̈".ord
08:28 camelia rakudo-moar 474db4: OUTPUT«36␤»
08:28 ShimmerFairy m: say "$̈".ords
08:28 camelia rakudo-moar 474db4: OUTPUT«(36 776)␤»
08:28 ShimmerFairy timotimo: ^^^ that's what I usually do for a quick example, put an umlaut on a symbol :P
08:28 timotimo heh
08:29 timotimo i don't remember by heart which key on neo2 gives me umlaut-combiner
08:29 ShimmerFairy m: say "\r\n".ord; say "\r\n".ords;  # and of course, always this grapheme :)
08:29 camelia rakudo-moar 474db4: OUTPUT«13␤(13 10)␤»
08:29 timotimo aye
08:30 hankache feeling lost :(
08:30 timotimo what exactly troubles you?
08:30 Amnez777- joined #perl6
08:30 hankache let's start fresh
08:30 masak morning, #perl6
08:31 timotimo a fresh start and a masak, looks good to me!
08:31 hankache you have 2 ways to output unicode right?
08:31 hankache hi masak
08:31 vendethiel o/
08:31 masak a helpful passer-by mentioned to me on privmsg that http://colabti.org/irclogger/irclogger_logs/perl6 is still logging this channel
08:31 hankache \x and grapheme
08:31 hankache \c and code point name
08:31 timotimo there's also \c[name, name, name]
08:31 hankache sorry \x and code point
08:31 timotimo what do you mean by "and grapheme"?
08:31 masak and that it's both freenode policy and colabti's policy to mention in the /topic when the the channel is being logged by something
08:31 timotimo yeah
08:32 timotimo ah, yes, putting it in the topic would be good
08:32 timotimo we do have the other irclog in the topic already
08:32 timotimo hm. does the other bot respect "[off]"?
08:33 timotimo it does not
08:33 hankache m: say "\x270C"
08:33 camelia rakudo-moar 474db4: OUTPUT«✌␤»
08:33 hankache so this is one way of doing it
08:33 abaugher joined #perl6
08:33 timotimo oh, would i have to start the line with [off] so that it triggers?
08:35 timotimo looks to be the case, and both bots seem to do that
08:36 hankache m: say "\c[VICTORY HAND]"
08:36 camelia rakudo-moar 474db4: OUTPUT«✌␤»
08:36 hankache and this is the other way
08:37 timotimo there's lots more ways, of course
08:37 timotimo m: Uni.new(36, 776).perl.say
08:37 camelia rakudo-moar 474db4: OUTPUT«Uni.new(0x0024, 0x0308)␤»
08:37 timotimo m: Uni.new(36, 776).say
08:37 camelia rakudo-moar 474db4: OUTPUT«Uni:0x<0024 0308>␤»
08:37 timotimo m: Uni.new(36, 776).encode("utf8").say
08:37 camelia rakudo-moar 474db4: OUTPUT«Method 'encode' not found for invocant of class 'Uni'␤  in block <unit> at /tmp/VsniDMmrkr:1␤␤»
08:37 timotimo oh?
08:37 hankache we have a Uni class?
08:37 timotimo m: say Uni.^methods
08:37 camelia rakudo-moar 474db4: OUTPUT«(new list Uni NFC NFD NFKC NFKD codes elems Numeric Int of Str Bool Method+{<anon|57965632>}.new Method+{<anon|57965632>}.new gist perl)␤»
08:38 timotimo Uni is what powers NFC, NFD, NFKC and NFKD methods of Str
08:38 timotimo m: Uni.new(36, 776).Str.say
08:38 camelia rakudo-moar 474db4: OUTPUT«$̈␤»
08:38 timotimo ah, so just .Str; that makes a lot of sense
08:38 hankache i can't find it in http://doc.perl6.org/type.html
08:38 timotimo https://twitter.com/JoelBesada/status/670343885655293952 <3
08:39 timotimo you're right. it's missing
08:39 ShimmerFairy timotimo: despite appearances, I designed Uni and its derivatives as strings :P
08:39 ShimmerFairy (aka: I'm not the one who used the VMArray repr on them :P)
08:40 timotimo m: say KeyReducer; # isn't this dead?
08:40 camelia rakudo-moar 474db4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8C6roHQSa0␤Undeclared name:␤    KeyReducer used at line 1␤␤»
08:40 dalek doc: a92e226 | timo++ | WANTED:
08:40 dalek doc: documentation for Uni is wanted
08:40 dalek doc: review: https://github.com/perl6/doc/commit/a92e22638a
08:42 ShimmerFairy KeyReducer huh?
08:43 timotimo it's in the WANTED file still, but i think it's been killed some time ago
08:44 MilkmanDan joined #perl6
08:46 cibs joined #perl6
08:49 pierre-vigier joined #perl6
08:50 advwp_ joined #perl6
08:51 M-Illandan joined #perl6
08:51 M-eternaleye joined #perl6
08:51 parisba_ joined #perl6
08:56 RabidGravy joined #perl6
09:01 RabidGravy marnin
09:02 timotimo hey rarbirdgrarvy
09:05 molaf joined #perl6
09:05 RabidGravy :-O
09:18 nine_ Good coffee, #perl6!
09:20 rindolf joined #perl6
09:21 Humbedooh mmm coffee
09:29 masak good tieguanyin tea, nine_ :)
09:35 masak I keep wanting to boost 007 in here, because some aspects of it are getting quite cool, macro-wise and quasi-wise
09:35 hankache what is the difference between NFC,NFD?
09:35 masak but I'll put it off for a bit, until we've come a little bit further with 007 :)
09:35 masak anyway, I want to acknowledge the implementation help of sergot++ and vendethiel++, and the discussion help (on #6macros) of FROGGS++ and pdcawley++
09:38 timotimo hankache: that's things the unicode consortium came up with and defined/defines
09:38 timotimo NFC is composed, NFD is decomposed
09:38 hankache thanks timotimo
09:39 timotimo so if you have a character like ä, which is a with umlauts if your terminal doesn't show it well, there's actually a unicode codepoint for "a with umlauts", but there's also one for "a without umlauts" and the "composing umlaut" codepoint
09:41 Actualeyes joined #perl6
09:42 hankache timotimo: ah ok so you compose it either way
09:42 hankache \x (a with umlaut)
09:42 hankache or \x (a) \x (umlaut)
09:42 timotimo m: say "ä".NFD; say "ä".NFC
09:42 camelia rakudo-moar 474db4: OUTPUT«NFD:0x<0061 0308>␤NFC:0x<00e4>␤»
09:42 timotimo that's right
09:43 timotimo m: say uniname(0x61); say uniname(0x308); say uniname(0xe4)
09:43 camelia rakudo-moar 474db4: OUTPUT«LATIN SMALL LETTER A␤COMBINING DIAERESIS␤LATIN SMALL LETTER A WITH DIAERESIS␤»
09:43 spider-mario joined #perl6
09:44 hankache m: say "thank you timotimo " ~ "\c[VICTORY HAND]";
09:44 camelia rakudo-moar 474db4: OUTPUT«thank you timotimo ✌␤»
09:44 timotimo
09:54 _mg_ joined #perl6
10:02 vendethiel- joined #perl6
10:03 vtd joined #perl6
10:12 Axord joined #perl6
10:20 bartolin_ it looks like there was a new NullPointerException on JVM after the recent changes to .gistseen and .perlseen:
10:20 bartolin_ $ ./perl6-j -e 'say my @a'
10:20 bartolin_ java.lang.NullPointerException in block <unit> at -e:1
10:21 Begi joined #perl6
10:22 bartolin_ assuming that 'if sems<$WHICH>' is equivalent to 'if nqp::atkey(sems,$WHICH)' the following change seems to avoid the NPE:
10:22 bartolin_ https://gist.github.com/usev6/cc463b2166e1107f06bd
10:23 timotimo it's a bit different
10:23 timotimo can you try nqp::existskey(...) && nqp::atkey(...)?
10:23 timotimo or is this just about existskey and the actual value doesn't matter?
10:24 bartolin_ that's how I understand it (only testing whether key exists)
10:24 bartolin_ so I could try with nqp::existskey
10:24 timotimo that'd be better
10:25 timotimo i know in nqp we always prefix atkey with existskey if there's uncertainty
10:26 Begi2 joined #perl6
10:26 bartolin_ thanks, I'll try and report my findings later
10:38 Woodi joined #perl6
10:50 eiro hello
10:50 timotimo hello eiro
10:51 eiro vendethiel-, arre you on the french perl@ list ?
10:51 vendethiel- eiro: ?
10:52 eiro http://listes.mongueurs.net/mailman/listinfo < vendethiel-
10:52 vendethiel- not interested in french stuff, sorry :)
10:52 eiro i'm asking perl6 questions there.
10:52 vendethiel- i don't use mailing lists
10:53 eiro vendethiel-, :( not interested by perl6 promotion ?
10:53 eiro no mailing list ?
10:53 eiro oh my ...
10:53 vendethiel- not interested by 1) mailing lists 2) french
10:53 eiro ok ...
10:55 eiro vendethiel-, is irc the only way to communicate with the community ?
10:55 dalek Heuristic branch merge: pushed 41 commits to roast/curli by niner
10:56 dalek roast/curli: f13d3c5 | (Stefan Seifert)++ | / (6 files):
10:56 dalek roast/curli: Adapt S10-packages/precompilation.t to new CompUnit architecture
10:56 dalek roast/curli: review: https://github.com/perl6/roast/commit/f13d3c529e
10:56 dalek Heuristic branch merge: pushed 79 commits to rakudo/curli by niner
10:56 eiro ( sounds weird to me and not so convenient but ingy does it with #pegex )
10:56 vendethiel- eiro: there's an (english) mailing list (several, even) AFAIK, there's also a subreddit, comments on whatever article you're reading, etc
10:57 eiro vendethiel-, ok then ... it's just about french... not about mailing lists
11:08 _sri kernighan thinks perl6 will fail :o https://www.youtube.com/watch?v=Sg4U4r_AgJU&amp;t=57m06s
11:08 timotimo yeah, saw that :(
11:08 br4sux joined #perl6
11:12 _sri and this is where the name perl will actually hurt perl6
11:12 kjs_ joined #perl6
11:12 frobnicator joined #perl6
11:21 Skarsnik joined #perl6
11:27 c_ joined #perl6
11:32 pmurias joined #perl6
11:42 jdv79 well, that is unfortunate.  but his argument seems a bit baseless too.  too late for what?
11:43 tadzik too late. Everything that needed to be invented has already been invented
11:43 tadzik the evolution has stopped
11:43 jdv79 maybe in his world
11:48 colomon joined #perl6
11:49 Woodi Robocop still not invented ;)
11:50 _mg_ joined #perl6
11:54 Zoffix Yeah, his argument seems misinformed.
11:55 * Zoffix has no idea who that old dude is, so they don't care :P
11:58 Zoffix "X-rays will prove to be a hoax"—Lord Kelvin
12:01 nine_ Well considering the screwup that Go is, I don't put that much weight into his judgement
12:04 pmurias jdv79: he claimed to Perl 6 will be too late to save Perl
12:04 nine_ Because "Perl has stopped evolving". Clearly an expert's assertion.
12:06 Zoffix :)
12:08 Woodi actually Perl5 users prefer not-evolving :) backward compatibility holds it in place. and possibly this is (not evolving tto much) why Perl5 is alive :)
12:10 pmurias nine_: is Go really a bad fit for what google needs? it's not awesome or "cool" but it seems to fit it's intended role
12:10 ShimmerFairy nine: so, IIUC the guy's argument is "Perl has stopped evolving, and this evolution in the language family proves my point!" ? :P
12:10 Zoffix Woodi, but that's false. Perl 5 evolved quite a bit with new and shiny libs and a couple of core features.
12:11 Woodi Zoffix: yes, a bit :)
12:12 nine_ pmurias: what role is that?
12:12 grondilu so we have @array.kv, which returns @array Z=> 0..*.  What about @array.vk that would return 0..* Z=> @array  ?
12:12 Zoffix grondilu, what's the use case?
12:13 grondilu I thought about it when looking at http://rosettacode.org/wiki/Category:Perl_6
12:13 grondilu sorry
12:13 nine_ pmurias: from what I've seen, Go is excellent at writing HTTP proxies. I'm not sure for what else...
12:13 grondilu I meant http://rosettacode.org/wiki/Bitcoin/address_validation#Perl_6
12:13 Woodi and when Google rewrite android in Go ? :)
12:14 grondilu basically the use case is arbitrary alphabet to numeric.
12:14 pmurias nine_: a language with good/decent performance which restricts the amount of crazy stuff people can do
12:14 Zoffix m: my @a = 'a'..'f'; say @a.kv.pairs
12:14 camelia rakudo-moar 474db4: OUTPUT«(0 => 0 1 => a 2 => 1 3 => b 4 => 2 5 => c 6 => 3 7 => d 8 => 4 9 => e 10 => 5 11 => f)␤»
12:14 Zoffix m: my @a = 'a'..'f'; say @a.kv.pairs.invert
12:14 camelia rakudo-moar 474db4: OUTPUT«(0 => 0 a => 1 1 => 2 b => 3 2 => 4 c => 5 3 => 6 d => 7 4 => 8 e => 9 5 => 10 f => 11)␤»
12:14 Zoffix grondilu, ^ that probably does the trick.
12:15 Woodi pmurias: that's a bit like Perl6, not a new niche...
12:15 Zoffix IMO featuritis is a thing to be avoided. Anything new you add needs to be known by all programmers who later read that code :P
12:15 pmurias Woodi: that's opposite to current Perl6
12:16 Woodi pmurias: in what sense ?
12:16 pmurias Perl 6 is oriented towards maximum power for the programmer and currently doesn't offer decent performance
12:16 grondilu m: say <a b c>.pairs
12:16 camelia rakudo-moar 474db4: OUTPUT«(0 => a 1 => b 2 => c)␤»
12:16 nine_ pmurias: I guess I just prefer languages that empower people instead of restricting them. There are people who see it different, which is ok. I just don't see them as qualified to judge Perl. Just as I'm not qualified to judge Go.
12:17 Woodi pmurias: but still both languages are new ones in crowded place...
12:17 grondilu .invert is non-intuitive imo.
12:17 ShimmerFairy m: my %h = 1,9,2,3; say %h; say %h.invert
12:17 camelia rakudo-moar 474db4: OUTPUT«1 => 9, 2 => 3␤(9 => 1 3 => 2)␤»
12:17 ShimmerFairy grondilu: how so? ^^
12:18 jnthn afternoon, #perl6
12:18 grondilu for one, it's suppose to act only on a list of pairs.  I would have expected it to be a pair method actually.
12:18 grondilu so we would have @a.pairs».invert
12:18 Woodi things are very depended on "support". is Ada "alive" or evolving ? not much but military ppls will support it for many years in the future...
12:18 Woodi yo jnthn !
12:19 grondilu m: say (foo => "bar").invert
12:19 camelia rakudo-moar 474db4: OUTPUT«bar => foo␤»
12:19 nine_ Hi jnthn!
12:20 nine_ jnthn: seems like my ephemeral spec test failures really are not restricted to the curli branch. So I'm just working on fixing the precompilation tests.
12:20 grondilu m: say <a b c>.pairup
12:20 camelia rakudo-moar 474db4: OUTPUT«===SORRY!===␤Odd number of elements found for .pairup()␤»
12:21 grondilu meh
12:21 jnthn nine_: OK :)
12:24 pmurias nine_: I think there is a distinction between the amount of fun you have while programming in different languages, and the requirements Google had for Go. They would rather minimalize TIMTOWTDI and language modifiability to keep stuff simple to be able to easily transfer people in their giant codebase
12:24 kid51 joined #perl6
12:24 pierre-vigier joined #perl6
12:26 Zoffix m: sy ('Koalitee', 'Koality').pick
12:26 camelia rakudo-moar 474db4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IZpOUfnJQI␤Undeclared routine:␤    sy used at line 1. Did you mean 'so'?␤␤»
12:26 Zoffix m: say ('Koalitee', 'Koality').pick
12:26 camelia rakudo-moar 474db4: OUTPUT«Koalitee␤»
12:27 perlawhirl joined #perl6
12:28 nine_ @all: please, in the next life let's not choose a relase date that's in the month with the most social engagements
12:29 nadim Hi, can one point me at what P6 modules should look like, put where, ... I have looked in the docs but didn't find anything relevant.
12:29 Zoffix nadim, "put where", see the readme of https://github.com/perl6/ecosystem/
12:29 Skarsnik It's in the modules doc x)
12:29 Zoffix nadim, as for examples, check out http://modules.perl6.org/
12:29 jnthn http://doc.perl6.org/language/modules#Distributing_Modules
12:30 perlawhirl hi perlers
12:30 Zoffix \o
12:30 perlawhirl is there an ascii modifier for regex... ie something like...  /\d/:ascii
12:30 nadim thanks, let's see if i can get a first module going to learn a bit about p6
12:30 perlawhirl that does not match unicode
12:30 perlawhirl or does :P5 do that?
12:31 Zoffix perlawhirl, uses Perl 5's regex rules
12:31 perlawhirl kk
12:31 perlawhirl just checkin
12:31 Zoffix (it's not 100% the same, like character classes don't work, last time I checked)
12:31 dalek roast/curli: 974205d | (Stefan Seifert)++ | packages/Test/Compile.pm:
12:31 dalek roast/curli: Adapt Test::Compile to new CompUnit architecture
12:31 dalek roast/curli: review: https://github.com/perl6/roast/commit/974205d3b7
12:33 _sri nine_: calling Go a screwup is crazy, it's a mainstream success
12:34 Zoffix What's "success"?
12:34 _sri it has something perl6 does not, which is a niche
12:34 jdv79 so is java.  maybe not successfully fun to work with
12:34 jdv79 i know java is not fun at all
12:34 jdv79 idk aboutGo
12:35 nine_ _sri: really? Considering it has all of Google's marketing power behind it, I dare say it's rather disappointing. People seem much more interested in its direct competitor Rust.
12:35 _sri google is not even marketing it, they just made it because they need it
12:35 Zoffix That's all they have to do to market it, TBH
12:36 _sri and now you have big projects like docker and etcd written in Go
12:36 bjz Yeah, as far as I can see Google hasn't really been pushing it that much - more of a snowball effect
12:37 nine_ It's the language that Google develops and uses that's the designated successor of C by C's inventors. If that's not marketing, I don't know.
12:38 _sri and they didn't even call it C2!
12:38 bjz nine_: maybe big talk by its creators - but it doesn't seem like a big push by google itself, unlike how Java was marketed
12:38 jdv79 if google abandoned it would it thrive?
12:39 pmurias nine_: rust is oriented towards being the C++ successor
12:39 bjz jdv79: I would say so, it has the momentum (unfortunately)
12:39 dalek doc: 2fe4884 | (Zoffix Znet)++ | doc/Language/modules.pod:
12:39 dalek doc: Include mandatory "perl" key in the sample META file shown
12:39 dalek doc: review: https://github.com/perl6/doc/commit/2fe488461d
12:39 bjz jdv79 : also depends on if the creators still work on it
12:39 Woodi request: let's design here a the fastest (in moust cases) language and see what will happens ;)
12:40 _sri just take a look at the language google actually tried to push... Dart got more talks at goole i/o than anything else, and was a total failure
12:40 _sri +g
12:40 Woodi s/<what I said>/<proper Englsh>/g
12:40 bjz Go seems to be more driven by the creators of the language - not google itself.
12:40 _sri yea
12:41 _sri gophercon is not a google event
12:42 jdv79 are there any specific reasons there is no Inline::Ruby?
12:42 jnthn jdv79: Is "nobody implemented it yet" specific? :)
12:42 jdv79 more or less
12:43 nine_ I know I didn't write Inline::Ruby because I just don't know any Ruby ;)
12:44 jnthn .oO( Who wants to write Inline::Go? :P )
12:44 jdv79 just seems like a hole in the things p6 might want to borg
12:45 tadzik _sri: well, sending one of their Go engineers to roam from country to country to talk about it on meetups is hardly “not even marketing it”
12:46 dalek modules.perl6.org/new-db-builder: ed82d68 | (Zoffix Znet)++ | / (14 files):
12:46 dalek modules.perl6.org/new-db-builder: Rename Kwalitee to Koalitee (diakopter++)
12:46 dalek modules.perl6.org/new-db-builder:
12:46 dalek modules.perl6.org/new-db-builder: Reasons for change: (1) We have panda, so another bear-related thing fits in. (2) Perl 5 has Kwalitee and ours might be slightly different, and having same name might confuse some. (3) We could have a cute badge/logo for it! (4) I finally found who originally suggested the name and can blame them if people don"t like it
12:46 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/ed82d683a5
12:47 Zoffix jdv79, well volunteered! :)
12:47 Skarsnik lol
12:48 tadzik hahahah
12:48 tadzik I love the name
12:48 Woodi or maybe let's design ARM cpu (open hardware...) to include some high languages ? ARM Perl6 for example :)
12:48 Zoffix :)
12:48 Woodi *high level languages
12:49 Woodi with microcode updates for bugfixes...
12:49 domidumont joined #perl6
12:50 jnthn I think I can bear that name... :)
12:50 Zoffix :D
12:55 domidumont joined #perl6
12:58 bartolin_ timotimo: using 'if nqp::existskey(..) && nqp::atkey(...) { ... }' fixes the NPE
12:58 bartolin_ I created a PR for rakudo (598)
12:59 Woodi btw. just replaced script I use for some time with simple spreadsheet (table with simple formulas) in emacs... so looks like thin layer over arrays changes a lot <- idea for module...
13:06 TEttinger joined #perl6
13:06 dalek roast: 5d8a3e2 | jnthn++ | S12-class/inheritance.t:
13:06 dalek roast: Test for RT #125689.
13:06 dalek roast: review: https://github.com/perl6/roast/commit/5d8a3e2cbf
13:07 dalek roast: 8ab5d71 | jnthn++ | S32-io/socket-recv-vs-read.t:
13:07 dalek roast: Add missing plan.
13:07 dalek roast: review: https://github.com/perl6/roast/commit/8ab5d71810
13:08 dalek rakudo/nom: d89fb70 | jnthn++ | src/Perl6/World.nqp:
13:08 dalek rakudo/nom: Restructure code to avoid need for a hack.
13:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d89fb707d4
13:12 dalek modules.perl6.org/new-db-builder: f9dd08d | (Zoffix Znet)++ | Build.PL:
13:12 dalek modules.perl6.org/new-db-builder: Add all new prereqs
13:12 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/f9dd08da55
13:13 isBEKaml joined #perl6
13:19 dalek modules.perl6.org/new-db-builder: 7bd0069 | (Zoffix Znet)++ | Build.PL:
13:19 dalek modules.perl6.org/new-db-builder: Fix incorrect prereq version
13:19 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/7bd0069b4b
13:24 dalek rakudo/nom: 6a45fec | jnthn++ | src/core/Mu.pm:
13:24 dalek rakudo/nom: Tweak attribute initializer assignment semantics.
13:24 dalek rakudo/nom:
13:24 dalek rakudo/nom: Normal assignment, post-GLR, is like this:
13:24 dalek rakudo/nom:     my @a = [1,2,3];  # 3 elems
13:24 dalek rakudo/nom:     my @a = $[1,2,3]; # 1 elems
13:24 dalek rakudo/nom: This patch fixes:
13:24 dalek rakudo/nom:     (class A { has @.x }).new(x => $[1,2,3]).elems
13:24 dalek rakudo/nom: To given 1, not 3 as it did before, by removing a decont that worked
13:24 dalek rakudo/nom: around some bug we seem to no longer have.
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6a45feccb4
13:28 dalek roast: e7cf132 | jnthn++ | S12-attributes/instance.t:
13:28 dalek roast: Test for RT #123757, correct a wrong test.
13:28 dalek roast:
13:28 dalek roast: These ensure that assignment of attribute initializing values passed to
13:28 dalek roast: the constructor matches assignment semantics of ordinary variables.
13:28 dalek roast: review: https://github.com/perl6/roast/commit/e7cf132d25
13:30 lizmat joined #perl6
13:30 Skarsnik m: my $a = 4; my $b = do given $a {5 when 4; 6 when 5 }; say $b
13:30 camelia rakudo-moar 474db4: OUTPUT«()␤»
13:30 Skarsnik hm, why does this notation does not work comparing to when 4 {5} when 5 {6}?
13:31 masak anyone mind if I add colabti to the /topic ?
13:31 jnthn Skarsnik: I don't think the postfix form of when has the control exception-y behavior.
13:34 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
13:34 lizmat_ joined #perl6
13:35 jnthn OK, that was two more xmas RTs down. Easy ones because Saturday. :)
13:35 * lizmat waves from T-Dose
13:35 jnthn o/ lizmat
13:36 masak \o lizmat
13:36 lizmat jnthn masak o/
13:36 lizmat jnthn: I came upto the basic File I/O in the allotted time
13:36 lizmat about 20 people attending, no exercises though  :-)
13:37 jnthn lizmat: nice :)
13:37 jnthn Hope people foudn it interesting. :)
13:37 jnthn *found
13:37 lizmat only a few went away during the talk  :-)    but they were organizers needing to organizing chores  :-)
13:37 lizmat *to do
13:40 lizmat jnthn: what was the encoding you made to allow for binary data again ?
13:40 lizmat looking at making Text::CSV do binary parsing, so you could have JPEGs in your CSV file (yes, people do that!)
13:41 Zoffix Crazy! :)
13:42 jnthn People do WHAT?!
13:42 jnthn utf8-c8
13:42 lizmat yeah, people do that
13:42 jnthn :)
13:42 lizmat they basically do a SQL query on a table with JPEG's in them, and dump them to CSV
13:42 * jnthn is surprised by little any more :)
13:43 jnthn (In terms of "things that happen in software")
13:43 masak I think if I considered doing that, I'd quite naturally base64-encode the JPEG or something
13:43 jnthn m: say 25 / (2 + 24)
13:43 camelia rakudo-moar 6a45fe: OUTPUT«0.961538␤»
13:43 masak mostly it feels really weird to both talk about text (which naturally is in some encoding) and binary together in the same stream
13:43 jnthn Woo, less than one xmas RT per day. At this rate I'll be able to have a day off :P
13:44 lizmat jnthn++
13:44 masak jnthn++ # unless someone finds more xmas RTs :P
13:44 jnthn /o\
13:44 jnthn lunch :)
13:44 moritz has https://news.ycombinator.com/item?id=10637789 been mentioned here?
13:45 moritz it's currently the second spot on the hackernews front page
13:45 * masak likes the first comment
13:45 masak ...does Ruby suffer from a GIL of some kind?
13:46 masak (also, what makes Perl 6 more mainstream than Go and Erlang?) :)
13:51 xpen joined #perl6
13:52 Zoffix It's nice to see a generally positive feedback on that page.
13:52 pierre-vigier joined #perl6
13:53 pmurias masak: I wouldn't call Perl 6 more mainstream than Go and Erlang
13:55 moritz hence the smiley, I guess
13:56 lucasb joined #perl6
13:56 vgc7 joined #perl6
13:59 vgc7 any idea why @animals.elems would return just 1 for the elements in an array, when I created the array with three elements?
14:00 zacts joined #perl6
14:00 Zoffix m: my @animals = 1..3; say @animals.elems
14:00 camelia rakudo-moar 6a45fe: OUTPUT«3␤»
14:00 Zoffix vgc7, how did you create that array?
14:00 vgc7 my @test2 = ['ok', 'ok1', 'ok2', 'ok3'];
14:01 Zoffix vgc7, well, that contains one item
14:01 lucasb m: my @test2 = ['ok', 'ok1', 'ok2', 'ok3']; say @test2.elems
14:01 camelia rakudo-moar 6a45fe: OUTPUT«4␤»
14:01 Zoffix Oh doesn't
14:01 lucasb :)
14:01 * Zoffix is still confused about the whole container business
14:01 Zoffix m: my @test2 = ['ok', 'ok1', 'ok2', 'ok3'], 42; say @test2.elems;
14:02 camelia rakudo-moar 6a45fe: OUTPUT«2␤»
14:02 vgc7 ok, got it.
14:02 Zoffix vgc7, what was the problem?
14:03 Skarsnik hm [] is not supposed to be used for ref? x)
14:03 vgc7 my @test3 = 50, 52, 54; say @test3.elems;
14:04 vgc7 i get three now so I was using an array container before
14:04 vgc7 which returned just one
14:04 lizmat m: Buf.new(0xFE).decode("utf8-c8")   # jnthn might find this interesting
14:04 camelia rakudo-moar 6a45fe: OUTPUT«(signal SEGV)»
14:04 dalek roast: c5385b3 | usev6++ | S32-io/spurt.t:
14:04 dalek roast: Unfudge tests for rakudo.jvm
14:04 dalek roast: review: https://github.com/perl6/roast/commit/c5385b3b53
14:06 vgc7 left #perl6
14:06 Skarsnik pretty annoying to get Unhandled exception: Cannot unbox a type object
14:06 Skarsnik when require fail x)
14:07 jnthn m: my @arr = [1,2,3]; say @arr.elems
14:07 camelia rakudo-moar 6a45fe: OUTPUT«3␤»
14:07 jnthn m: my @arr = $[1,2,3]; say @arr.elems
14:07 camelia rakudo-moar 6a45fe: OUTPUT«1␤»
14:08 jnthn The $ there forces treatment of it as a single item
14:08 jnthn lizmat: Uh, yes...wtf...
14:08 dalek modules.perl6.org/new-db-builder: 775c5d5 | (Zoffix Znet)++ | Build.PL:
14:08 dalek modules.perl6.org/new-db-builder: Add missing prereqs
14:08 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/775c5d5c2e
14:08 jnthn lizmat: Please RT it
14:08 lizmat m: my $s = Buf.new(ord("A"),0xFE).decode("utf8-c8"); say $s.chars; say $s.codes; say $s.ords   # jnthn, perhaps related
14:08 camelia rakudo-moar 6a45fe: OUTPUT«2␤5␤(65 1114109 120 70 69)␤»
14:09 jnthn That's what I'd expect
14:09 jnthn You have to encode with utf8-c8 again to get the original bytes back
14:09 perlawhirl m: given True, False { when True, False { say "Why doesn't this work?" } }
14:09 camelia rakudo-moar 6a45fe: ( no output )
14:10 jnthn m: say Buf.new(ord("A"),0xFE).decode("utf8-c8").encode("utf8")
14:10 camelia rakudo-moar 6a45fe: OUTPUT«utf8:0x<41 f4 8f bf bd 78 46 45>␤»
14:10 jnthn oops
14:10 jnthn oh no, it's what I wanted but not quite :)
14:10 jnthn m: say Buf.new(ord("A"),0xFE).decode("utf8-c8")
14:10 camelia rakudo-moar 6a45fe: OUTPUT«A􏿽xFE␤»
14:11 jnthn The synthetic consists of �, which is a private use character, followed by x to indicate what follows is hex, and then a hex representation of the octet.
14:12 jnthn m: say False ~~ False;
14:12 camelia rakudo-moar 6a45fe: OUTPUT«Potential difficulties:␤    Smartmatch against False always fails; if you mean to test the topic for truthiness, use :!so or *.not or !* instead␤    at /tmp/TMGyM04RHh:1␤    ------> 3say False ~~7⏏5 False;␤FalseFalse␤»
14:12 jnthn perlawhirl: It's a case of ^^
14:13 balazs joined #perl6
14:13 perlawhirl ahh... can probably work around it by stringifying my bools... right? will see how i go
14:15 masak helpful passerby who is privmsg'ing me is suggesting we get rid of the colabti logs. (for reasons having to do with more easily conveying to visitors what's being logged, where)
14:15 balazs Hey, I'm getting "rlwrap: error: My terminal reports width=0 (is it emacs?)  I can't handle this, sorry!" when trying to do "docker run -it rakudo-star". Regular terminal, `tput cols` reports 117
14:16 lucasb should 'when True {...}' and 'when False {...}' give the same 'Potential difficulties' message?
14:19 BenGoldberg joined #perl6
14:19 jnthn m: when True { }
14:19 camelia rakudo-moar 6a45fe: ( no output )
14:19 dalek modules.perl6.org/new-db-builder: 29443e1 | (Zoffix Znet)++ | / (2 files):
14:19 dalek modules.perl6.org/new-db-builder: Do not use timezone sensitive time
14:19 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/29443e13cb
14:21 chansen_ jnthn: Are you familiar with UTF-8b? Instead of mapping Ill-formed UTF-8 octets to synthetics they are mapped to surrogates DC80..DCFF and caught if encoded with a UTF-8 encoder
14:21 chansen_ http://web.archive.org/web/20150924233213/https://www.mail-archive.com/linux-utf8@nl.linux.org/msg00080.html
14:21 chansen_ http://www.python.org/dev/peps/pep-0383/
14:22 jnthn chansen_: Yes; if we'd not had the opportunity to do it with NFG synthetics that would have been a good solution also.
14:24 lizmat jnthn: #126756
14:24 jnthn lizmat: Thanks
14:25 lizmat working with [Tux]  on creating a better test case
14:25 lizmat so far it looks like it segfaults if the first char is a synthetic
14:25 lizmat now fuzzing on it some more  :-)
14:26 jnthn :)
14:26 jnthn I'll probably just shove it thorugh valgrind and it'll tell me what I did stupid :)
14:27 pmurias masak: one interesting observation is that javascript webworkers seem to over very similiar power to parrot threads
14:29 Zoffix .tell hankache semicolons actually not needed after if()s {}{} here: http://perl6intro.com/#_if and this can use a better example of a statement needing a semicolon: http://perl6intro.com/#_syntax_overview
14:29 yoleaux Zoffix: I'll pass your message to hankache.
14:29 masak pmurias: that might be the shortest and clearest description of Parrot threads I've ever heard.
14:33 dalek modules.perl6.org/new-db-builder: 5ca64ad | (Zoffix Znet)++ | t/02-db-builder/03-dist-source-errors.t:
14:33 dalek modules.perl6.org/new-db-builder: Use a better error check for JSON malparsing test; message is different depending on module versions
14:33 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/5ca64ad71f
14:34 geekosaur balazs, docker probably can't see real terminal size; consider using stty or exporting LINES and COLUMNS
14:35 dalek modules.perl6.org/new-db-builder: 65e8ebb | (Zoffix Znet)++ | t/02-db-builder/03-dist-source-errors.t:
14:35 dalek modules.perl6.org/new-db-builder: Fix JSON malparse test
14:35 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/65e8ebb62d
14:36 balazs geekosaur, thanks. Only mentioned it since that's the way http://perl6intro.com/ says to try it. The docker image works is you just do "docker run -it rakudo-star bash", but newbs might get discouraged.
14:36 geekosaur I suspect there's configuration somewhere
14:37 [TuxCM] joined #perl6
14:37 [TuxCM] https://gist.github.com/anonymous/3904b73804ca3ed95a36
14:37 geekosaur it may work as expected some places but not others, depending on how much isolation is configured by default
14:39 lizmat jnthn: https://gist.github.com/anonymous/3904b73804ca3ed95a36 is the fuzzing version of #126756
14:40 balazs fwiw COLUMNS is set even without passing it in
14:41 masak pmurias: but it's also a bit damning, since web workers are explicitly not threads. they're shared-nothing environments.
14:45 AlexDaniel joined #perl6
14:46 jnthn lizmat: Curious place to segv...
14:46 jnthn walk &
14:47 user joined #perl6
14:48 dalek roast: 311b07e | usev6++ | S12-class/attributes.t:
14:48 dalek roast: Add tests for RT #115310
14:48 dalek roast: review: https://github.com/perl6/roast/commit/311b07e6b8
14:51 * masak .oO( "don't judge me for where I choose to segv!" ) :P
14:52 pmurias masak: parrot threads fake the sharing by translating assignment to message passing
14:53 pmurias masak: I think I could implement parrot-like threads in nqp-js fairly easily
14:54 GraveLlama joined #perl6
14:55 pmurias although the continuations I'm working on are much higher priority
14:55 masak *nod*
14:56 GraveLlama can you learn more about programming but source code
15:01 Zoffix *phew* All tests successful on the server
15:03 Zoffix 88 commits and the only change for the end user is "Kwalitee" was renamed to "Koality" ^_^
15:04 Skarsnik xD
15:05 hankache joined #perl6
15:06 RabidGravy joined #perl6
15:08 masak meh, koalitycode.com's certificate expired 113 days ago.
15:08 hankache ohai
15:08 yoleaux 14:29Z <Zoffix> hankache: semicolons actually not needed after if()s {}{} here: http://perl6intro.com/#_if and this can use a better example of a statement needing a semicolon: http://perl6intro.com/#_syntax_overview
15:08 ponzi joined #perl6
15:08 Zoffix hankache, your perl6 intro is trending on Hacker News :) #2 spot last time I checked
15:09 Zoffix (#4 spot now)
15:09 moritz #4 now
15:09 hankache hi Zoffix
15:09 Zoffix \o
15:09 hankache hi moritz
15:09 moritz \o hankache
15:10 masak hi hankache
15:10 hankache Good news, I hope we can convert more people to Perl
15:10 Zoffix Yeah :)
15:11 Skarsnik hm, does sqlite test work for someone? it segfault for me
15:11 cdg joined #perl6
15:12 hankache Skarsnik the last time i tried to install DBI it failed
15:12 hankache *DBIish
15:12 Skarsnik hm weird
15:12 moritz worked here :(
15:12 hankache but that was a month ago
15:12 hankache ohai masak
15:13 moritz please try http://hack.p6c.org/~moritz/rakudo-star-2015.11-rc0.tar.gz
15:14 Skarsnik could be my rakudo version?
15:14 hankache weird thing I didn't even put the link in Hacker News
15:14 hankache somebody else did it
15:15 lucasb the internet has a life of its own
15:16 hankache lucasb it has :)
15:16 FROGGS joined #perl6
15:17 jasanj joined #perl6
15:17 dalek modules.perl6.org/new-db-builder: 76cc2d0 | (Zoffix Znet)++ | / (2 files):
15:17 dalek modules.perl6.org/new-db-builder: Use shorter timeout when making GitHub requests
15:17 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/76cc2d0c60
15:18 hankache I made a Hacker News account today
15:18 hankache learned how GitHUb works 2 weeks ago
15:18 Skarsnik x)
15:18 hankache activated my twitter account
15:19 hankache really Perl 6 made me do all of that
15:19 TimToady another month or so and you'll be creating a new programming paradigm :)
15:19 Zoffix :P
15:19 hankache ohai TimToady
15:20 hankache I even started talking like you guys and now greet saying "ohai" instead of "hi" :D
15:21 TimToady btw, we're probably going to be getting a lot of influx here in the next while, so we should try to figure out how to scale up our irc culture when it's harder for any one person to monitor everything
15:22 AlexDaniel joined #perl6
15:22 hankache I was looking for something to learn, wandered around ruby/python/perl and then I read this post: http://strangelyconsistent.org/blog/perl-6-is-my-mmorpg
15:23 hankache It just made sense
15:23 Skarsnik Annnnnnd
15:23 Zoffix masak++
15:23 Skarsnik I found a nice vicious bug :)
15:23 TimToady it might be better to split into more irc channels before the self-reinforcing troll brigade gains critical mass, for instance
15:23 lucasb #perl6cafe :)
15:24 TimToady and we need to be more explicit that everyone is allowed to police civility
15:24 Skarsnik DBI::SQLite use a function of sqlite3 that is not in the version of sqlite3lib in debian stable
15:26 Skarsnik maybe have a channel for the ecosystem?
15:26 hankache TimToady wouldn't it be better to appoint officers (or whatever you may call them)
15:27 TimToady it almost doesn't matter how you split it; you just need to have enough little fiefdoms that people who hate each other aren't continually forced to see the other one's posting
15:27 TimToady hankache: well, we already kinda have that with people who can /oper
15:27 onix728 joined #perl6
15:27 TimToady or however you do that these days
15:28 TimToady but we need a distribution of official someones who can play whack-a-mole 24x7
15:28 dalek infrastructure-doc: 19b64df | (Zoffix Znet)++ | hosts/www.p6c.org.pod:
15:28 dalek infrastructure-doc: Update www.p6c.org.pod
15:28 dalek infrastructure-doc:
15:28 dalek infrastructure-doc: Use a different example, since modules.perl6.org no longer generates anything into /var/www/modules.perl6.org
15:28 dalek infrastructure-doc: review: https://github.com/perl6/infrastructure-doc/commit/19b64df802
15:28 masak hankache: haha, that old blog post :D
15:28 masak hankache: actually, we weren't first in saying "ohai" (or "OH HAI"). lolcats were. we just copied it.
15:29 onix728 hi! I believe there might be an error on "perl6intro.com", in section "2. Operators". Operator "ne" is described as "Equal". Example says that " 'Jane' ne 'John' " is TRUE.
15:29 moritz oh lolo
15:29 TimToady because despite our pretentions to troll hugging, there are some trolls that really are malicious, and need whacking
15:29 masak onix728: the example is correct. the description is wrong :)
15:30 moritz onix728: good that hankache is in the channel, he is the author (or one of the authors, dunno)
15:30 onix728 Right. So "ne" should be "Not equal", right?
15:30 moritz right
15:31 onix728 Good. I thought I was stupid for a second, haha
15:31 hankache onix728 you're right the description is wrong
15:31 moritz hankache: want a PR?
15:32 hankache it should be not equal, I will change it.
15:32 hankache moritz PR?
15:32 moritz hankache: pull request
15:32 onix728 pull request?
15:32 TimToady .oO(All PR is good PR.)
15:32 Zoffix :D
15:33 moritz onix728: a way to submit code changes on github
15:33 Zoffix onix728, modification of code submitted for possible merging into code of the original
15:33 onix728 yeah, I'm aware of that
15:33 hankache oh sorry sure
15:33 jasanj does perl6 support union type ?
15:33 AlexDaniel jasanj: union type?
15:33 hankache All PR is Good PR
15:33 spider-mario joined #perl6
15:33 mtj_ joined #perl6
15:34 pierre-vigier joined #perl6
15:34 lucasb hankache: while you are at it, I would suggest to change the operators types prefix/postfix example to not use 1++, ++1. I know you just used that as example, but it look strange since they are constants :)
15:35 jasanj a type can be Str or Exception
15:35 pink_mist wait, what does 1++ actually do? 0_o it ... returns 1 and ... increases the value of...? 1? 0_o
15:35 jasanj Str or Int
15:35 Zoffix m: 1++
15:35 camelia rakudo-moar 6a45fe: OUTPUT«Cannot call postfix:<++>(Int); none of these signatures match:␤    (Mu:D $a is rw)␤    (Mu:U $a is rw)␤    (Int:D $a is rw)␤    (int $a is rw)␤    (Bool:U $a is rw)␤    (Bool:D $a is rw)␤    (Num:D $a is rw)␤    (Num:U $a is rw)␤    (num …»
15:36 pink_mist ok, so it errors, thank goodness :P
15:36 pink_mist it sounded like it was supposed to be working
15:36 lucasb phew! :)
15:36 lizmat m: say <42>.WHAT   # jasanj: that what you mean ?
15:36 camelia rakudo-moar 6a45fe: OUTPUT«(IntStr)␤»
15:36 ponzi What's the most efficient way to parse a log file with a regex on the command line?
15:37 pink_mist using sed? :D
15:37 hankache lucasb noted
15:37 dalek nqp/js-cps: 534cdf7 | (Pawel Murias)++ | src/vm/js/ (2 files):
15:37 dalek nqp/js-cps: [js] WIP.
15:37 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/534cdf7688
15:37 dalek nqp/js-cps: c0b2f4b | (Pawel Murias)++ | src/vm/js/ (3 files):
15:37 dalek nqp/js-cps: [js] Continuations are just starting to partially work
15:37 dalek nqp/js-cps:
15:37 dalek nqp/js-cps: my $savecont;
15:37 dalek nqp/js-cps: nqp::continuationreset(nqp::null(), -> {
15:37 dalek nqp/js-cps:     nqp::say("#1");
15:37 dalek nqp/js-cps:     nqp::continuationcontrol(0, nqp::null(), -> $cont {
15:37 dalek nqp/js-cps:         $savecont := $cont;
15:37 dalek nqp/js-cps:     });
15:37 dalek nqp/js-cps:     nqp::say("#3");
15:37 dalek nqp/js-cps: });
15:37 dalek nqp/js-cps: nqp::say("#2");
15:37 dalek nqp/js-cps: nqp::continuationinvoke($savecont, -> {  });
15:37 dalek nqp/js-cps: nqp::say("#4");
15:37 dalek nqp/js-cps:
15:37 dalek nqp/js-cps: prints stuff in the right order.
15:37 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/c0b2f4b436
15:37 moritz ponzi: efficient in execution time or in programmer's time?
15:37 ponzi moritz: Execution time
15:37 jasanj AlexDaniel: a type can be one of several types
15:38 AlexDaniel ponzi: perhaps you should try 「perl6 -n」 ?
15:38 Zoffix lizmat, I think they mean the opposite of `subtype`
15:38 moritz ponzi: then it depends on what exactly you need; if a simple regex search is enough, then grep maybe
15:38 jasanj something like (U Number String Boolean Char)
15:38 ponzi moritz: I'll qualify that: something reasonably concise :)
15:38 colomon joined #perl6
15:39 lizmat jasanj: no, not generically, but we have currently IntStr, NumStr, ComplexStr and RatStr afaik
15:39 ponzi moritz: I mean, it used to be really easy in Perl5
15:39 Zoffix Or rather subset
15:40 AlexDaniel ponzi: perl6 -ne '.say if /foo/' mylogfile
15:40 Zoffix m: subset Foo where $_ ~~ Int or $_ ~~ Str; my Foo $x; $x = 42; say $x; $x = "42"; say $x;
15:40 camelia rakudo-moar 6a45fe: OUTPUT«42␤Type check failed in assignment to $x; expected Foo but got Str␤  in block <unit> at /tmp/_FyFCilmH7:1␤␤»
15:40 Zoffix hm weird
15:41 Zoffix m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = 42; say $x; $x = "42"; say $x;
15:41 camelia rakudo-moar 6a45fe: OUTPUT«42␤42␤»
15:41 Zoffix m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = 42; say $x; $x = "42"; say $x; $x = True;
15:41 camelia rakudo-moar 6a45fe: OUTPUT«42␤42␤»
15:41 Zoffix -_-
15:41 Zoffix Oh, True ~~ always true, right?
15:42 lizmat m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = <42>; say $x; $x = "42"; say $x;
15:42 camelia rakudo-moar 6a45fe: OUTPUT«42␤42␤»
15:43 cygx joined #perl6
15:43 cygx o/
15:43 yoleaux 20 Nov 2015 19:49Z <jnthn> cygx: I don't actually see a MAIN in that module; any idea which one it's referring to? The issue may be something to do with the code in the mainline assigning to variables, which it then exports. But the error isn't what I'd expect...
15:43 yoleaux 23 Nov 2015 15:08Z <hoelzro> cygx: I noticed your logic for detecting the libc DLL name on Windows in Native::LibC; the MSVC variant only seems to work for VS 2011 =/
15:44 jnthn m: subset Foo where Int | Str; say 1 ~~ Foo; say 1.5 ~~ Foo; say 'x' ~~ Foo;
15:44 camelia rakudo-moar 6a45fe: OUTPUT«True␤False␤True␤»
15:44 jnthn More neat to just write it that way :)
15:44 timotimo if someone has a more personal contact to brian d foy, could you ask them to either kick the Chapters/ data off of learningperl6.com or take the whole site down or something like that?
15:44 Zoffix Lulz... I tried my Int | Str $x; but that failed
15:45 cygx m: say True ~~ Int
15:45 camelia rakudo-moar 6a45fe: OUTPUT«True␤»
15:45 Zoffix m: subset Foo where Int | Str; my Foo $x = True;
15:45 camelia rakudo-moar 6a45fe: ( no output )
15:45 jnthn m: say Bool ~~ Int # because this
15:45 camelia rakudo-moar 6a45fe: OUTPUT«True␤»
15:45 Zoffix m: subset Foo where Int | Str; my Foo $x = 1/4;
15:45 camelia rakudo-moar 6a45fe: OUTPUT«Type check failed in assignment to $x; expected Foo but got Rat␤  in block <unit> at /tmp/1_pXezltJl:1␤␤»
15:46 Zoffix jasanj, ^ see that
15:46 hankache timotimo lol i trying buying the name before knowing that bryan already did
15:46 hankache i tried**
15:46 Zoffix timotimo, what Chapters/ data?
15:47 Zoffix timotimo, oh. It's not linked to from the main page
15:47 jasanj Zoffix: oh, cool
15:47 pmurias there is only a message 2011 which claims Perl 6 is changing to fast to write a book about it
15:48 Zoffix I pissed briand d foy off when I just started coding Perl 5...
15:48 leedo i've got a question about cyclic (i think) use statements: https://gist.github.com/leedo/7603df457e182976295e
15:48 pmurias * from 2011
15:48 cygx for what it's worth, Bool ~~ Int feels wrong to me
15:48 cygx is that unavoidable now that Bool is an enum?
15:48 leedo i need to 'use' this class so i can use it's type in a signature, but doing so causes rescursive use statements
15:48 Zoffix leedo, put class A {... } in B
15:48 dalek perl6-roast-data: 2e55067 | coke++ | / (9 files):
15:48 dalek perl6-roast-data: today (automated commit)
15:48 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/2e55067b1a
15:49 Zoffix leedo, literally with three dots. That's a stub
15:49 leedo Zoffix: ah! thanks
15:49 Zoffix here's an example of where I'm stubbing a role: https://github.com/zoffixznet/perl6-IRC-Client/blob/master/lib/IRC/Client.pm6#L2
15:49 ponzi How do I get `logs1.txt".IO.lines.grep(/<<\w ** 14>>/).say` to retain new lines in the output?
15:50 leedo Zoffix: yup, that seems to fix it. would be nice if this could be detected
15:50 Zoffix leedo, what do you mean detected?
15:50 leedo since it just silently hangs if i 'use A;'
15:51 Zoffix leedo, oh, that's been fixed in the most recent rakudo by nine++
15:51 Zoffix It'll now say an error when you try to use modules that use each other
15:51 leedo awesome, i think i'm a few days out of date
15:51 Zoffix like 3 or 4 days ago
15:52 dalek nqp/js-cps: 721ff06 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
15:52 dalek nqp/js-cps: [js] Make nqp::continuationinvoke return the correct value.
15:52 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/721ff06054
15:52 hankache lucasb thanks
15:52 Skarsnik hm, I think there is lot of issue with NC binding (probably a 32 bits vs 64 bits). I changed sub signature 'returns Int' to 'returns int32' and I get the right value
15:53 skids joined #perl6
15:54 lizmat ponzi: afaik, we don't support that (yet)
15:54 lizmat and probably, we wouldn't want to use the .lines interface for that
15:54 cygx ponzi: is it only about the output?
15:55 cygx then, you probably want to call .say on the elements not the whole sequence
15:55 lizmat perhaps it would be better to use the $handle.Supply.lines route better and clearer
15:56 BenGoldberg joined #perl6
15:56 ponzi cygx: I'm trying to get something close to perl5's simple -nle 'say if /\b\w{14}\b/' logs1.txt
15:58 AlexDaniel m: say (༤, ༨, ༡༥, ༡༦, ༢༣, ༤༢)
15:58 camelia rakudo-moar 6a45fe: OUTPUT«(4 8 15 16 23 42)␤»
15:58 Zoffix m: say ༤ + ༨
15:58 camelia rakudo-moar 6a45fe: OUTPUT«12␤»
15:58 psch ponzi: what's wrong with < perl6 -ne '.say if /<< \w ** 14 >>/' $file >?
15:58 AlexDaniel ponzi: hmm, what's wrong with my suggestion?
15:59 ponzi psch: It's much slower
15:59 Zoffix ponzi, than P5's version?
15:59 hankache vaillancourtmax are you here?
16:00 AlexDaniel oooh, I wonder what is going to happen
16:00 vaillancourtmax yes!
16:00 AlexDaniel .u ༪
16:00 yoleaux U+0F2A TIBETAN DIGIT HALF ONE [No] (༪)
16:00 AlexDaniel half one!
16:00 AlexDaniel m: say ༪
16:00 camelia rakudo-moar 6a45fe: OUTPUT«0.5␤»
16:00 vaillancourtmax hankache: here I am
16:00 AlexDaniel yeah!!!
16:00 AlexDaniel m: say ༪༪
16:00 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ReD0LeWDjF␤Bogus postfix␤at /tmp/ReD0LeWDjF:1␤------> 3say ༪7⏏5༪␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement mod…»
16:00 hankache Thanks for the commit
16:00 ponzi Zoffix: yes
16:01 ponzi Zoffix: 14 times slower
16:01 hankache j'ai remarque que tu parle le Francais
16:01 AlexDaniel .u ༭
16:01 yoleaux U+0F2D TIBETAN DIGIT HALF FOUR [No] (༭)
16:01 AlexDaniel m: say ༭
16:01 camelia rakudo-moar 6a45fe: OUTPUT«3.5␤»
16:01 vaillancourtmax hankache: no prob, thank you for the quick response!
16:01 Zoffix ponzi, well, P5 had like two decades to optimize itself. P6 doesn't even have a stable release yet :P P6 does use a modern compiler, so optimization is definitely possible. We just haven't had a chance to do it yet. You're welcome to give a helping hand though
16:01 vaillancourtmax hankache: oui, je suis Québécois!
16:01 Skarsnik someone to run that on a amd64 system? https://gist.github.com/Skarsnik/d4e9b31b2859114ac643
16:02 ponzi Zoffix: No CS degree so ... 'fraid not.
16:02 Zoffix ponzi, I found some things 100 times slower. In other areas, P6 is faster: http://doc.perl6.org/language/faq#Is_Perl_6_fast_enough_for_me%3F
16:02 cygx ponzi: perhapy try .join("\n").say and see if that's any faster?
16:02 Skarsnik my vm64 bits are unavailable at the moment :(
16:02 * colomon is fond of tradtitional Québécois msuic
16:02 colomon *music
16:02 hankache vaillancourtmax enchante je suis Libanais
16:02 ponzi cygx: Yes, that sounds feasible.
16:02 vaillancourtmax colomon: any favorites? :)
16:02 hankache do you kind mind if we talk French or shall we switch to English?
16:03 vaillancourtmax hankache: nice! content de faire votre connaissance!
16:03 colomon vaillancourtmax: Le Vent du Nord, Genticourm, Andre Brunet
16:03 hankache do you guys**
16:03 vaillancourtmax hankache: perhaps in the interest of the group we could revert to English
16:03 hankache vaillancourtmax indeed
16:04 AzeraTeX joined #perl6
16:04 vaillancourtmax colomon: that's cool! where do you know them from? (may I recommand "Les Coyboys Fringuants" and "Mes Aieux" as well)
16:04 pmurias ponzi: not sure if a CS degree would help with hacking on Rakudo at all
16:04 skids Skarsnik: left in gist comment
16:05 Skarsnik thx
16:05 Zoffix damn. Found a serious flaw in my design of the new builder for modules.perl6.org in that any dists that got some errors (like GitHub timeouts) would get nixed from the db :P
16:06 Zoffix well.. not "serious" but it looks like I'm gonna break my fire-and-forget approach to building :P
16:06 pmurias Zoffix: re two decades to optimize itself, are we faster than perl1?
16:06 AzeraTeX Hello, Is there a PDF version of Perl6 docs as a single file somewhere? Thanks
16:06 leedo Zoffix: i actually get a new error using the stub, "The following packages were stubbed but not defined: A"
16:07 Skarsnik skids, err that sucks you get the same value x)
16:07 Zoffix Actually, that problem is present on our current modules.perl6.org.
16:07 Brock AzeraTeX: not that I know of
16:07 colomon vaillancourtmax: met Le Vent du Nord at the Wheatland Festival in Michigan (my wife knew Benoit Borque from Matapat), met Genticourm and Andre at Gooderich Ontario, though they’ve all been to Michigan a bunch.
16:08 Skarsnik someone else has a 32bits system? x)
16:08 skids Skarsnik: I don't know why amd64 and i686 would be different.
16:08 AzeraTeX Brock Ok, good to know
16:08 lucasb AzeraTeX: I wish there was, but no. On the other hand, there is this course in pdf: https://github.com/rakudo/star/blob/master/docs/2015-spw-perl6-course.pdf
16:08 leedo https://gist.github.com/leedo/7603df457e182976295e if anyone has a moment :)
16:08 colomon vaillancourtmax: I will check out those two bands, they do indeed sound interesting.
16:08 Zoffix leedo, try moving this outside class {}; put it after use v6: https://gist.github.com/leedo/7603df457e182976295e#file-a-pm-L4
16:09 AzeraTeX lucasb I'll take a look, thanks
16:09 Skarsnik skids, I suspect that C int on 64bits is int64 and Perl6 Int is int64 everytime (yes it's confusing)
16:09 leedo Zoffix: seems to be the same error message
16:10 Zoffix ¯\_(ツ)_/¯ no idea
16:10 khw joined #perl6
16:10 [Coke] ~
16:11 kmel joined #perl6
16:11 Skarsnik leedo, I think you still need to have a use A or use B in one of the class?
16:11 Zoffix leedo, ooh
16:11 Zoffix no
16:12 Zoffix Oh
16:13 Zoffix weird
16:13 cygx Skarsnik: P6 int32 <-> C int on both architectures, and P6 Int <-> C long long as well
16:14 cygx 895812289686267399 is just 3008007 with some gargabe added to the most significant bits
16:14 cygx *garbage
16:14 * mst twitches at calling a class B
16:14 mst even if it's presumably less dangerous in perl6 than perl5 ;)
16:15 skids just don't use X or Z :-)
16:15 masak mst: what people end up doing in Perl 6 is calling the class X...
16:15 masak skids++ beat me to it :)
16:15 masak mst: X which is the namespace for Perl 6 exceptions
16:15 jnthn m: class X { }; ooh look syntax error!!!
16:15 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IbvPKbzUq1␤Bogus postfix␤at /tmp/IbvPKbzUq1:1␤------> 3class X { }; ooh look syntax error7⏏5!!!␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement …»
16:15 jnthn The compiler now resolves its exception types directly in the setting :)
16:16 AlexDaniel m: say ༳
16:16 camelia rakudo-moar 6a45fe: OUTPUT«-0.5␤»
16:16 mst masak: that's going to be really fun
16:16 jnthn So it's a lot less bad than it used to be :)
16:16 mst given I have a reflex to use X/Y/Z from perl5 reserving B
16:16 psch m: class X { }
16:16 camelia rakudo-moar 6a45fe: ( no output )
16:16 Skarsnik cygx, should I blame NC or people putting Int when they should put int (I have lot of segfault/error in DBI SQlite because of that)
16:16 mst I hate you all.
16:16 psch m: class X { }; X.new
16:16 camelia rakudo-moar 6a45fe: ( no output )
16:16 masak mst: we hug you too! :P
16:16 hankache joined #perl6
16:17 Zoffix leedo, no idea :)
16:17 AzeraTeX joined #perl6
16:17 jnthn Given the setting's own resolution of exceptions will also find the right thing, there's only so much trouble you can get into with declaring a class X these days.
16:17 Zoffix leedo, well, other than not having a has A $foo :)
16:18 Zoffix just has $foo
16:18 CIAvash joined #perl6
16:18 leedo Zoffix: yeah, well the real example is a bit different https://github.com/leedo/p6-web-scraper/blob/master/lib/Web/Scraper/Rule.pm#L21
16:18 cygx Skarsnik: git blame tells me it's azawawi's fault ;)
16:18 leedo was just trying to golf it down
16:18 maxvaillancourt joined #perl6
16:19 leedo but i can find some other solution
16:19 Zoffix leedo, my guess would be it's possible, I just don't know how.
16:19 Skarsnik cygx, I was thinking maybe NC should warn to not do that?
16:19 Zoffix And if it's not possible, it needs to be made possible :P
16:20 Skarsnik and ok, why the fuck I work on a 32bits system xD
16:20 psch m: my Str sub f() { }; my sub g() returns Str { }; my sub h(--> Str) { }; say &f.WHAT; say &g.WHAT; say &h.WHAT
16:20 camelia rakudo-moar 6a45fe: OUTPUT«(Sub)␤(Sub+{Callable[Str]})␤(Sub)␤»
16:20 timotimo awwaiid: you have a little error in one of your hacker news comments: -> { $^n/2 + 3 } should give an error, because the "-> {" specifies a signature of (), but the $^n declares a positional parameter
16:20 timotimo m: -> { $^n / 2 + 3 }
16:20 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1szlIxWavy␤Placeholder variable '$^n' cannot override existing signature␤at /tmp/1szlIxWavy:1␤------> 3<BOL>7⏏5-> { $^n / 2 + 3 }␤»
16:20 psch jnthn: those should all be +{Callable[Str]} for RT #125988, right?
16:21 psch m: my Str sub f() { }; my sub g() returns Str { }; my sub h(--> Str) { }; say &f.WHAT; say &g.WHAT; say &h.WHAT # these, for clarity
16:21 camelia rakudo-moar 6a45fe: OUTPUT«(Sub)␤(Sub+{Callable[Str]})␤(Sub)␤»
16:22 jnthn psch: I think we should treat them all as equivalent to returns, yeah.
16:22 psch right, i'll give that a go
16:22 jnthn You'll look into catching dupes too? :)
16:23 psch yeah, i think --> doesn't get caught yet
16:23 psch m: my Int f (--> Str) { }
16:23 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8f4uyqscEy␤Malformed my␤at /tmp/8f4uyqscEy:1␤------> 3my Int7⏏5 f (--> Str) { }␤»
16:23 psch m: my Int sub f (--> Str) { }
16:23 camelia rakudo-moar 6a45fe: OUTPUT«Sub object coerced to string (please use .gist or .perl to do that)  in any throw at src/Perl6/World.nqp:3710␤5===SORRY!5=== Error while compiling /tmp/xuonRkI4Cz␤Redeclaration of return type for f (previous return type was Str)␤at /tmp/xuonRkI4C…»
16:23 psch ah
16:23 psch neat
16:23 psch m: sub f (--> Str) returns Int { }
16:23 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/e8j0A7wcvq␤Redeclaration of return type for f (previous return type was Str)␤at /tmp/e8j0A7wcvq:1␤»
16:24 raiph joined #perl6
16:24 psch well, seems we catch them all already
16:24 psch 'cause < my Int sub f () returns Str > is in the ticket
16:24 psch m: my Int sub f () returns Str
16:24 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0KGqLAFBYu␤Missing block␤at /tmp/0KGqLAFBYu:1␤------> 3my Int sub f () returns Str7⏏5<EOL>␤    expecting any of:␤        new name to be defined␤»
16:24 psch m: my Int sub f () returns Str { }
16:24 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hWN_bzfvQl␤Redeclaration of return type for f (previous return type was Int)␤at /tmp/hWN_bzfvQl:1␤»
16:24 flussence I see that "Perl has stopped evolving" quote in the backlog and immediately thought of a response —
16:25 psch looks like i don't need to catch dupes, just make the mixin work
16:25 flussence why wait decades for random environmental mutations to improve the language when we have gene splicing technology? :)
16:25 psch and the Binder seems to already deal with that
16:25 psch with the mixin, i mean
16:25 hankache flussence++
16:26 Zoffix So.... anyone smarter has the solution for leedo's problem https://gist.github.com/leedo/7603df457e182976295e ?
16:27 Zoffix (the error is in output.txt file there)
16:27 cygx Skarsnik: the current situation regarding nativecall type mapping is not ideal
16:27 hankache and to those asking why adopt Perl 6 I say:
16:27 hankache “A good hockey player plays where the puck is. A great hockey player plays where the puck is going to be.”
16:27 skids Skarsnik: added a crusty 32bit system result to the gist, same issue there.
16:29 skids (plus I had to add a .0 to the soname)
16:30 awwaiid timotimo: thanks, fixed
16:31 Mokok joined #perl6
16:31 cygx m: 3008007.base(16).say; 940747062170741226.base(16).say
16:31 camelia rakudo-moar 6a45fe: OUTPUT«2DE607␤D0E3478002DE9EA␤»
16:31 Mokok Hi
16:31 [TuxCM] joined #perl6
16:32 hankache hi Mokok
16:37 Fleurety joined #perl6
16:39 timotimo awwaiid: thank you for participating in the hackernews discussion :)
16:39 timotimo skids: having to add .0 to the soname is a "distributions only installing the symlink if the -dev or -devel package is installed" thing
16:41 timotimo i really don't understand why there's so little FUD in that thread
16:41 cygx Skarsnik: https://github.com/perl6/DBIish/issues/32
16:41 pmurias timotimo: it's not reddit?
16:42 psch eh, HN had plenty of FUD up until a few months ago too
16:42 Skarsnik timotimo, Well when I read do about that, you should not use the .so, but the so.version
16:42 Skarsnik cygx, thx, I am currently doing that
16:42 Skarsnik cygx, it's not only the return type, Int in parameter is an issue too
16:43 timotimo i used to call it "HaterNews" because it was so bad
16:43 cygx Skarsnik: which I mentioned in the ticket ;)
16:43 Skarsnik Oh yeah...
16:43 Skarsnik damn that will be a nightmare to commit my work on DBI xD
16:46 _mg_ joined #perl6
16:48 Skarsnik cygx, how I can make https://github.com/perl6/DBIish/blob/master/lib/DBDish/SQLite/StatementHandle.pm6#L34 work now? since $idx + 1 is Int
16:49 AlexDaniel m: ^2¹²⁸ .pick().base(36).say
16:49 camelia rakudo-moar 6a45fe: OUTPUT«4URK58ST4KN9WSZEY6A3RC127␤»
16:50 AlexDaniel m: ^2¹²⁸ .pick().base(36).say
16:50 camelia rakudo-moar 6a45fe: OUTPUT«3JVKVXNR7WKJ4MTBU7THVXO04␤»
16:50 AlexDaniel m: ^2¹²⁸ .pick().base(36).say
16:50 camelia rakudo-moar 6a45fe: OUTPUT«4WWAAKRCC51Y6C8AQTAIG6KY5␤»
16:51 cygx Skarsnik: it fails to dispatch?
16:51 Skarsnik Yes, because it try to find something that match Int for the second argument, and they are all int32 now
16:51 timotimo cygx: did you know nativecall has a "long" type that maps to C long?
16:52 timotimo m: use NativeCall; say long.perl
16:52 camelia rakudo-moar 6a45fe: OUTPUT«NativeCall::Types::long␤»
16:52 timotimo Skarsnik: ^
16:52 cygx timotimo: yes?
16:52 AlexDaniel m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join ''
16:52 camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RgFm8OwUSy␤Two terms in a row␤at /tmp/RgFm8OwUSy:1␤------> 3omb.map({ ^2 .pick ?? .uc !! .lc }).join7⏏5 ''␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤ …»
16:52 AlexDaniel m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join('')
16:52 camelia rakudo-moar 6a45fe: ( no output )
16:52 AlexDaniel m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join('').say
16:52 camelia rakudo-moar 6a45fe: OUTPUT«B4OjUgnqUvj924J4rfqxT6IB3␤»
16:52 Skarsnik NC::Types has doubledouble and stuff too x)
16:52 flussence IWBNI .base() could take an array of characters... but now I think about it, I guess it's trivial enough to do that with .polymod and Z
16:53 timotimo maybe that'd help for DBI
16:53 timotimo who knows. i certainly don't :)
16:53 Skarsnik I write my int32 $tmp = $idx +1; but it's weird x)
16:55 cygx Skarsnik: note that the sqlite3_bind() family of multi subs is not native, ie they could keep their Int parameters
16:55 zengargoyle good * everybody
16:55 Skarsnik Oh xD
16:55 cygx Skarsnik: but what's the failure mode? type check failure?
16:56 cygx as far as I'm aware, calling a sub that expects a native integer with an Int parameter should work
16:56 Skarsnik it could no't find a matching signature
16:57 AlexDaniel m: say (33..126 .pick.chr)
16:57 camelia rakudo-moar 6a45fe: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '7⏏5~' (indicated by 7⏏)␤  in block <unit> at /tmp/hSmLVh0_Fd:1␤␤Actually thrown at:␤  in block <unit> at /tmp/hSmLVh0_Fd:1␤␤»
16:57 AlexDaniel in '⏏~'… yeah…
16:58 cygx m: multi foo(int32 $) { say "ok" }; my int32 $i = 41; foo $i + 1
16:58 camelia rakudo-moar 6a45fe: OUTPUT«ok␤»
16:58 Skarsnik m: multi sub foo(int32 $a, Str $s) {say "foo1" }; multi sub foo(int32 $a, Int $s) {say "foo2" }; foo(1, "s");
16:58 camelia rakudo-moar 6a45fe: OUTPUT«Cannot call foo(Int, Str); none of these signatures match:␤    (int32 $a, Str $s)␤    (int32 $a, Int $s)␤  in block <unit> at /tmp/0diWAflm3G:1␤␤»
16:58 Woodi perl6intro.com do not mention roles... I think ppls like them becouse they are "faster" then full inheritance
17:02 cygx m: multi sub foo(int32 $a, Str $s) {say "foo1" }; multi sub foo(int32 $a, Int $s) {say "foo2" }; my int32 $i = 0; foo($i + 1, "s");
17:02 camelia rakudo-moar 6a45fe: OUTPUT«foo1␤»
17:02 cygx Skarsnik: giving $idx a type might work
17:03 Skarsnik that what I did, then I revert _bind to Int because there are not native yes ^^
17:05 Skarsnik and all sqlite test passed :)
17:05 cygx \o/
17:05 jdv79 .tell dha maybe you could talk to mr. foy about what timo is talkin bout
17:05 yoleaux jdv79: I'll pass your message to dha.
17:05 Skarsnik 5 occurences of deprecated code :)
17:09 kjs_ joined #perl6
17:11 Woodi heh, totally forget masak++ MMORPG blog mentioned EVE :) but I think in EVE there is some (mass) form of new_users training, maybe even governed or supervised somehow by CCP: pack them into new aliance by hundreds or thousands, give basic equipment for free and try to conquer some galaxy :)  earlier total noobs do NPC/AI standard training
17:12 Woodi can we organize some crowd-sourced programming project ? :)
17:13 AlexDaniel Woodi: like perl6 itself?
17:14 Woodi AlexDaniel: nah :)
17:14 Woodi noobs..basic hardeness is required :)
17:16 Woodi once again: Perl have problems with easy GUI...
17:16 epicurious joined #perl6
17:16 Skarsnik easy Gui?
17:17 AlexDaniel by the way, is it possible to interact with java libs from perl6 on jvm?
17:17 isBEKaml Skarsnik: probably Tk kind of easy?
17:17 timotimo AlexDaniel: yes
17:17 coetry joined #perl6
17:17 AlexDaniel so, you can for example use Swing and stuff?
17:17 Skarsnik If I want to write something with a Gui I write C++ or C# so I don't have an issue with that xD
17:18 Woodi AlexDaniel: I think: yes
17:18 AlexDaniel Skarsnik: and how does that help?
17:18 Skarsnik *issue with perl not doing it
17:18 AlexDaniel ah
17:18 Woodi Tk (or Tcl) was Sun invention ?
17:19 psch AlexDaniel: https://www.youtube.com/watch?v=6r7bNYVdUVw has a short demo of some GUI lib on r-j
17:19 Woodi Skarsnik: If I want gui I do C# too becouse it's so easy...
17:20 psch AlexDaniel: r-j isn't quite in a spot to do that anymore, though.  you'd need the last release before GLR-merge, 2015.07 or so i think
17:21 Skarsnik cygx, oh yeah related to NC, I had a quick look at your Native::Libc, I liked the typedpointer stuff. does it work with NC?
17:21 psch AlexDaniel: https://perl6advent.wordpress.com/2014/12/12/day-12-towards-cleaner-jvm-interoperability/ describes most of the state from pre-GLR-merge
17:23 spaceships joined #perl6
17:25 cygx Skarsnik: if it hasn't succumbed to bitrot, it should
17:26 cygx note that I stopped working on it a while ago when I started on an alternative to NativeCall
17:26 cygx https://github.com/cygx/p6-tinycc/blob/libc/lib/CTypes.pm
17:27 AlexDaniel psch: thanks!
17:27 cygx the problem I had was that uing NativeCall added about 1.5m of bytecode to each precompiled module that uses it
17:27 cygx *using
17:27 Skarsnik lol
17:28 Skarsnik I like the C prefix for each type, make it less confusing I think
17:30 psch AlexDaniel: https://youtu.be/6r7bNYVdUVw?t=950 is the timestamp, in case you don't want to watch the whole video.. :)
17:30 * cygx needs to go hunt down some groceries
17:30 cygx o/
17:30 timotimo good luck!
17:30 timotimo pesky little groceries
17:34 dalek DBIish: 00e34cc | (Sylvain Colinet)++ | lib/DBDish/SQLite/ (3 files):
17:34 dalek DBIish: Fix all nativestuff
17:34 dalek DBIish: review: https://github.com/perl6/DBIish/commit/00e34cc282
17:34 dalek DBIish: 929d30e | (Sylvain Colinet)++ | lib/DBDish/SQLite/Native.pm6:
17:34 dalek DBIish: forget one!
17:34 dalek DBIish: review: https://github.com/perl6/DBIish/commit/929d30e06d
17:34 dalek DBIish: c79069e | (Zoffix Znet)++ | lib/DBDish/SQLite/ (3 files):
17:34 dalek DBIish: Merge pull request #33 from Skarsnik/master
17:34 dalek DBIish:
17:34 dalek DBIish: Fix all the nativecall stuff in SQLite
17:34 dalek DBIish: review: https://github.com/perl6/DBIish/commit/c79069e148
17:39 loren joined #perl6
17:40 loren Evening, perl6..
17:41 timotimo hi
17:41 loren I try to compiler perl6 on msys2, it's really hard, but i'm successed
17:42 Skarsnik msys2? what is that? x)
17:42 loren U don't know that ?
17:42 timotimo that's why he's asking, i think
17:42 moritz loren: please document what you did
17:43 moritz loren: and if there are thiings we can improve to make it easier, please let us know
17:43 hankache joined #perl6
17:44 Skarsnik Oh thix. Hey good luck with that :)
17:44 Skarsnik *thx
17:44 Skarsnik *this
17:44 Skarsnik whatever
17:44 timotimo we call this self in perl6
17:45 dalek rakudo/nom: c88bcaf | chromatic++ | / (2 files):
17:45 dalek rakudo/nom: Improved credits.
17:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c88bcafcbc
17:45 dalek rakudo/nom: 16411d6 | moritz++ | / (2 files):
17:45 dalek rakudo/nom: Merge pull request #599 from chromatic/improve-credits
17:45 dalek rakudo/nom:
17:45 dalek rakudo/nom: Improved credits.
17:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/16411d6d62
17:45 timotimo will that ^ cause chromatic to be removed from all contributor script invocations in the future?
17:45 Zoffix 0.o chromatic doesn't want their name in credits? :/
17:45 loren Many seeting in Configure.pl is error under msys2, i edit some file, but i'm not sure whether have some other side effect
17:46 timotimo or will it just show up with whatever the author name of the commits was?
17:46 loren Skarsnik, you can google with key word 'msys2'
17:46 timotimo Zoffix: are you surprised? chromatic has been very bitter about perl6 for some time now
17:46 Skarsnik loren, yes I just looked at it. could be very useful :)
17:47 Zoffix timotimo, first time I heard of it (and now I see the message on that PR). A bit ironic, considering Modern Perl 4th edition has a colourful butterfly on the cover -_-
17:47 moritz Zoffix: there are a lot of things ironic about that situation, but people have a right to their own opinion, of course
17:48 Zoffix Sure. :)
17:48 timotimo i don't know what made chromatic so unhappy about perl6 related stuff, so i can't say much more
17:48 loren Skarsnik, yep
17:48 Khisanth joined #perl6
17:50 ggoebel6 joined #perl6
17:51 loren You can use almost all gnu tools under msys2
17:53 loren In the next few days i'll write down this, may be i can make a perl-script-patch
17:57 loren 0.0.. ee, night everyone , bye bye
17:58 Zoffix night
17:58 timotimo night loren
17:58 loren Em, :)
17:59 kjs_ joined #perl6
18:00 dalek modules.perl6.org/new-db-builder: d69411a | (Zoffix Znet)++ | lib/ModulesPerl6/ (2 files):
18:00 dalek modules.perl6.org/new-db-builder: Implement build salvage routines
18:00 dalek modules.perl6.org/new-db-builder:
18:00 dalek modules.perl6.org/new-db-builder: If a new build of a dist that"s already in the db fails (e.g. due to network errors), we need to catch that and update the Build ID in the database for that dist, so that it does not get purged as a removed dist at the end of the build process.
18:00 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/d69411a2ac
18:00 Skarsnik Is there a way to display the line number with Test?
18:00 dalek star: 428f676 | moritz++ | tools/build/Makefile.in:
18:00 dalek star: Tell peple to run modules-test instead of a broken prove command
18:00 dalek star:
18:00 dalek star: the prove command is broken for modules that come with *.pm files
18:00 dalek star: in t/lib/ and assume relative paths (such as DBIish)
18:00 dalek star: review: https://github.com/rakudo/star/commit/428f676df1
18:01 timotimo Skarsnik: doesn't it show them?
18:01 moritz Skarsnik: failed tests show the line number, no?
18:01 moritz ok, if nobody has objections, I'm going to release R* 2015.11 now
18:01 Skarsnik I mean like even he does not fail
18:01 Zoffix Go for it :)
18:02 Zoffix Skarsnik, $?LINE ?
18:02 zengargoyle joined #perl6
18:02 Zoffix Skarsnik, http://doc.perl6.org/language/variables#Compile-time_variables
18:03 dalek modules.perl6.org/new-db-builder: c11faff | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist.pm:
18:03 dalek modules.perl6.org/new-db-builder: Use better variable name
18:03 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/c11faff4a1
18:03 Skarsnik I am adding test to DBIish and... well I don't feel like updating the xx #test 2x for everytest. It could be better if it just display the line associated with the test :)
18:03 moritz http://hack.p6c.org/~moritz/rakudo-star-2015.11.tar.gz
18:03 Skarsnik well it will probably still not work with DBIish because it's in an eval ><
18:04 moritz you can also give the tests distinct names, so that search for them becomes trivial
18:07 Skarsnik yes I am dumb, forget I say something xD
18:07 moritz release tagged and uploaded
18:08 Zoffix moritz++
18:10 timotimo moritz: thanks! that's excellent!
18:10 timotimo hoelzro: will you do the honors of updating the rakudo star docker image for us?
18:11 timotimo hoelzro: also, do you know anything about the "too many pre-built docker images come with outdated system stuff and have lots and lots of security issues" thing? do we do okay-ish with our rakudo star docker thing?
18:15 pnu joined #perl6
18:22 abaugher joined #perl6
18:27 kjs_ joined #perl6
18:31 yqt joined #perl6
18:32 kjs_ joined #perl6
18:35 Skarsnik should Moar show some BT or something when an assert fail? x)
18:35 Skarsnik moar: tpp.c:62: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed.
18:35 Skarsnik Abandon
18:35 dalek star: 1cafd78 | moritz++ | tools/star/release-guide.pod:
18:35 dalek star: Update release guide with the last two releases
18:35 dalek star: review: https://github.com/rakudo/star/commit/1cafd78b50
18:35 Ben_Goldberg joined #perl6
18:35 pierre-vigier joined #perl6
18:35 moritz http://rakudo.org/2015/11/28/announce-rakudo-star-release-2015-11-now-in-beta/
18:35 psch m: say nqp::istype(Any, Int)
18:35 camelia rakudo-moar 16411d: OUTPUT«0␤»
18:36 lucasb no need for 'use nqp' anyore?
18:37 lucasb *anymore
18:37 psch huh, i didn't even notice
18:37 psch i assume camelia loses the complaint..?
18:38 psch yeah, looks like it.  it still comes through locally
18:38 psch m: note "foo"
18:38 camelia rakudo-moar 16411d: OUTPUT«foo␤»
18:38 psch m: $*ERR.say: "foo"
18:38 camelia rakudo-moar 16411d: OUTPUT«foo␤»
18:38 psch m: nqp::sayfh(nqp::getstderr(), "foo")
18:38 camelia rakudo-moar 16411d: OUTPUT«foo␤»
18:38 psch weird
18:40 psch m: sub f() { }; say &f.returns
18:40 camelia rakudo-moar 16411d: OUTPUT«(Mu)␤»
18:41 psch ah, maybe camelia runs with RAKUDO_NO_DEPRECATIONS rather
18:42 psch m: sub f is DEPRECATED("foo") { }; f()
18:42 camelia rakudo-moar 16411d: ( no output )
18:42 psch which fits with that one not complaining either
18:42 lucasb psch: hm, that makes sense. thanks
18:47 lucasb moritz++ thanks for the star release! sorry for not having tried the RC and given feedback.
18:54 tadzik hmm
18:54 tadzik m: my @fib = ^2,*+*...*; say @fib[5]
18:54 camelia rakudo-moar 16411d: OUTPUT«===SORRY!===␤Too few positionals passed; expected 2 arguments but got 1␤»
18:55 tadzik does this not work anymore post-glr, or am I misremembering some detail?
18:55 lucasb m: my @fib = |^2,*+*...*; say @fib[5]
18:55 camelia rakudo-moar 16411d: OUTPUT«5␤»
19:00 Begi joined #perl6
19:02 BenGoldberg_ joined #perl6
19:03 p6curious joined #perl6
19:12 telex joined #perl6
19:13 BenGoldberg joined #perl6
19:14 Ben_Goldberg joined #perl6
19:19 ggoebel7 joined #perl6
19:21 tadzik ah, hm
19:21 cdg joined #perl6
19:22 dalek doc: 4937611 | Mouq++ | util/missing-types.p6:
19:22 dalek doc: Fix/improve util/missing-types.p6
19:22 dalek doc: review: https://github.com/perl6/doc/commit/4937611bbd
19:30 dalek star: 27c0039 | hoelzro++ | / (3 files):
19:30 dalek star: Add Linenoise to modules
19:30 dalek star:
19:30 dalek star: Linenoise provides tab completion and history support for the builtin
19:30 dalek star: REPL
19:30 dalek star: review: https://github.com/rakudo/star/commit/27c0039267
19:30 dalek star: ed5d4d8 | moritz++ | / (3 files):
19:30 dalek star: Merge pull request #54 from hoelzro/add-linenoise
19:30 dalek star:
19:30 dalek star: Add Linenoise to modules
19:30 dalek star: review: https://github.com/rakudo/star/commit/ed5d4d83d3
19:31 ggoebel7 joined #perl6
19:32 TimToady tadzik: could we make rakudobrew a little less reliant on having a MAKE= in the makefile?  is blowing up right now on systems where 'make' is the obvious default
19:32 TimToady maybe look for gmake, then make?
19:33 * TimToady temporarily patched rakudobrew to do make('make $command') instead of dying
19:33 TimToady (locally)
19:34 TimToady probably needs gmake or so on BSDoids
19:34 dalek nqp/js-cps: 4ea8d09 | (Pawel Murias)++ | src/vm/js/ (2 files):
19:34 dalek nqp/js-cps: [js] Refactoring that will allow us to add CPS support in more places.
19:34 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/4ea8d09933
19:34 dalek nqp/js-cps: f5cc532 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
19:34 dalek nqp/js-cps: [js] make binding to lexical variables support CPS
19:34 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/f5cc53201f
19:34 dalek nqp/js-cps: adf7955 | (Pawel Murias)++ | src/vm/js/ (2 files):
19:34 dalek nqp/js-cps: [js] CPS bugfixes
19:34 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/adf79559f5
19:35 TimToady maybe check if 'make -v' returns /GNU/
19:41 Quom_ straw poll: in doc, should the Uni types be listed under Type -> Basic, Type -> Composite, or Type -> Domain-specific ?
19:42 jnthn Not Basic :)
19:43 tadzik TimToady: hmm, I was not aware that it's reliant on that
19:43 timotimo i wouldn't call it a composite type ... or really domain-specific
19:43 moritz Quom_: I'd put it in the same category as Blob and Buf
19:43 tadzik ah, found the offender: https://github.com/tadzik/rakudobrew/commit/b11f74cc532068c736513885b10e2618c9fa6e33
19:43 moritz which happens to be "composite"
19:44 vendethiel joined #perl6
19:44 Quom_ moritz: I had similar thoughts, just hesitated since composite doesn't seem to be quite the right place
19:46 tadzik TimToady: so the problem is that moar/nqp/rakudo's makefiles actually rely on gmake, but don't specify that on certain systems?
19:46 moritz https://en.wikipedia.org/wiki/Perl_6 says "Over the years, Perl 6 has undergone several alterations in its direction. The introduction of concepts from Python and Ruby were early influences,[citation needed]"
19:46 tadzik (I'm not sure I understand the issue)
19:47 moritz does anybody have something citable regarding the python and ruby influence?
19:51 RabidGravy I'd just emove it
19:51 btyler anything of value still live in https://github.com/perl6/mu/tree/master/examples ? just saw someone link to https://github.com/perl6/mu/blob/master/examples/concurrency/stm-contend.pl (circa 2006) as an example of Perl6 concurrency
19:51 RabidGravy remove
19:51 dalek rakudo/nom: d831a48 | TimToady++ | src/ (5 files):
19:51 dalek rakudo/nom: Complex <=>, plus $*SIGNIFICANCE
19:51 dalek rakudo/nom:
19:51 dalek rakudo/nom: We now can do <=> on Complex, which fails with a slightly less LTA
19:51 dalek rakudo/nom: message if either .im.abs exceeds 1e-15 (by default).  We also add an
19:51 dalek rakudo/nom: approximately-equal operator, infix:<≅> (Texas version =~=), to do
19:51 dalek rakudo/nom: approximate numerical equal with the same threshold.  A dynamic scope may
19:51 dalek rakudo/nom: override the default by setting $*SIGNIFICANCE.  Coercion from complex
19:51 dalek rakudo/nom: to real now pays attention to this also, so Num(i ** 2) returns -1.
19:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d831a48710
19:53 btyler at first glance almost everything in that directory is >5 years old
19:55 RabidGravy Everything
19:55 RabidGravy enter key slip
19:57 Quom_ A lot of it still seems valid…
19:57 dalek roast: 28d19e6 | TimToady++ | S (3 files):
19:57 dalek roast: test approximation, complex <=> behavior
19:57 dalek roast: review: https://github.com/perl6/roast/commit/28d19e6462
19:58 moritz it's easy; run it. If it doesn't work, git rm
19:58 Quom_ It'd be better to add a disclamer to all of them "THIS CODE IS OUTDATED AND HAS NOT BEEN VETTED"
19:58 RabidGravy :)
19:58 Quom_ or that
19:59 TimToady tadzik: > rakudobrew test
19:59 TimToady Spectesting moar-nom
19:59 TimToady Couldn't determine correct make program. Aborting.
19:59 grondilu approximation operator?  Neat.
20:00 TimToady if I change the else to run("make $command"); it works fine here on Linux Mint
20:00 p6curious I'm cutting my teeth on perl6 with a proof of concept implementation of a toy project. With traits/roles it looks like my implementation will be really easy to do but I'm not sure about what is a good or bad idea.
20:00 grondilu I'm not sure about the choice of name for $*SIGNIFICANCE though
20:00 moritz the wikipedia page for Perl 6 says "junctions now occupy a central place in Perl 6's design"
20:00 p6curious These are my notes on a dataflow system, I'd appreciate any feedback or comments https://gist.github.com/anonymous/d8940e7f132b4087e67a
20:00 Quom_ doc/htmlify is pathologically slow now, geez. 45 minutes now, not even close to done.
20:00 moritz it doesn't feel very central to me anymore
20:01 moritz any ideas for wording improvements?
20:01 TimToady grondilu: it's kinda de-huffmanized on purpose, if that's what you're worried about
20:01 moritz Quom_: do you have Inline::Python installed?
20:01 TimToady or do you think the concept is wrong?
20:01 jnthn TimToady: https://rt.perl.org/Ticket/Display.html?id=124316 could do with a decision; it seems to trip people up now and then
20:01 Quom_ moritz: Ah.
20:01 moritz Quom_: that makes integration with pygments much faster
20:01 grondilu no I just don't think the term "significance" is well chosen.
20:01 moritz Quom_: if you have neither Inline::Python nor pygments installed, no syntax hilighting happens, and it's also faster
20:02 Quom_ Heh, thanks.
20:02 TimToady jnthn: it's difficult to know the intent of an lvalue, but we could disable autotruncation on lvalues, I suppose
20:02 grondilu my first thought would have been "NUMERIC_THRESHOLD" or something
20:03 TimToady well, the name is negotiable
20:03 Skarsnik moritz, hm I tried your gather idea for DBIsh method row(:$hash) {gather { while my $row = self._row(:hash($hash)) { take $row }}} when when I write my @row = $sth.row() I get everything ~~
20:04 grondilu TimToady: btw have you read my meditation on perl 6.  I was wondering why we don't define for instance Real as 'subset Real of Complex where *.im == 0;'
20:04 moritz Skarsnik: might need to call .lazy on the return value of the gather
20:04 * grondilu forgot the question mark in the first sentence
20:04 jnthn TimToady: We don't reliably know when it's an l-value also...
20:05 moritz grondilu: mostly because subset types don't perform well
20:05 moritz grondilu: and that approach would make every real value have a useless memory slot for imaginary numbers
20:06 Skarsnik moritz, on take $row?
20:06 _mg_ joined #perl6
20:06 grondilu there's also the possibility of defining Real as a Role.   role Real does Complex { method im { 0 }; ... }
20:06 moritz Skarsnik: gather { ... }.lazy
20:06 TimToady Real *is* a role
20:07 grondilu but it does not implement Complex
20:07 grondilu m: say pi ~~ Complex
20:07 camelia rakudo-moar 16411d: OUTPUT«False␤»
20:07 moritz grondilu: because not all reals are complex
20:07 grondilu aren't they??
20:07 Skarsnik moritz, Cannot .elems a lazy list
20:07 Skarsnik ~~
20:07 moritz grondilu: when you learn math in school, you learn real numbers, and later (maybe) complex numbers, as defined in terms of real numbers
20:08 coetry joined #perl6
20:08 moritz grondilu: reals being a subset of complex is one way to see it; another is that reals don't know anything about complex math, and complex math is defined in terms of reals
20:08 moritz grondilu: and that's the approach that works better for computers
20:09 p6curious native complex support in perl has been a great feature for me while I learn how to do DSP
20:09 TimToady we've intentionally steered clear of any sort of numeric tower
20:09 grondilu I'm not quite convinced but that's ok, I'll trust you judgement.
20:10 moritz grondilu: one can also define integers as a subset of reals, but that's not very efficient
20:10 grondilu well they are Reals in Perl 6
20:11 grondilu m: say 1 ~~ Real
20:11 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:11 moritz grondilu: right; I should have said "Rat"
20:11 moritz with denominator 1
20:11 grondilu yes Int not being Rat is what motivated me to write a meditation in the first place.
20:11 jnthn TimToady: Another option is that only ..Inf or ..* auto-truncates
20:12 p6curious grondilu: personally I prefer the types to be predictable in terms of performance and resources and to allow me to use them for optimization when needed
20:12 TimToady jnthn: that might turn out saner
20:12 moritz I've updated https://en.wikipedia.org/wiki/Perl_6 a bit. Notable changes include listing Niecza as a historic implementation rather than a current one
20:12 p6curious its one of the things that has impressed me the most about perl6
20:13 moritz p6curious: that's curious, because it's a rather simple thing to do, in comparison to all the other awesome features we offer :-)
20:13 moritz (like lazy lists, grammars, a meta object protocol)
20:13 psch hm, wiring up all the bits for return-type constrained callable parameters might be a bit harder than anticipated... :/
20:13 Quom_ moritz++
20:13 jnthn TimToady: There's always :v as an escape hatch to filter out non-existing things.
20:14 jnthn TimToady: So I think it would probably work out OK.
20:14 p6curious moritz: yeah but in perl6 you get everything from doing that to not doing that the steps between as you need it, its not the only good p6 feature but it is a great one
20:14 TimToady we can try it
20:14 jnthn Aye
20:14 moritz I still think that the section on junctions is too long, and we should have something on concurrency/reactive programming
20:15 moritz p6curious: nod
20:15 p6curious moritz: in regards to the other awesome things p6 does I'm working if I have good or bad ideas in https://gist.github.com/anonymous/d8940e7f132b4087e67a
20:15 p6curious because I can p5 with and without antlers or cowbells but I'm not used to the new behavior that comes with p6
20:16 TimToady m: say i ** 2 ≅ -1
20:16 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:17 moritz TimToady: sometimes you scare me :-)
20:17 TimToady m: say Num(i ** 2) == -1
20:17 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:17 TimToady that's the scary one
20:18 p6curious that behavior with i is beautiful
20:18 TimToady m: my $*SIGNIFICANCE = 1e-20; say Num(i ** 2) == -1
20:18 camelia rakudo-moar d831a4: OUTPUT«Can not convert -1+1.22464679914735e-16i to Num: imaginary part not zero␤  in block <unit> at /tmp/qV7PDqoc1y:1␤␤Actually thrown at:␤  in block <unit> at /tmp/qV7PDqoc1y:1␤␤»
20:19 b2gills The Wikipedia entry on Perl 6 still says " Today, Perl 6 specification continues almost entirely within the Synopses"
20:19 TimToady heh
20:19 grondilu I'm not sure I understand why it's not exactly -1
20:19 Quom_ m: say exp(-i*pi) ≅ -1
20:19 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:19 Skarsnik m: say i ** 2
20:19 camelia rakudo-moar d831a4: OUTPUT«-1+1.22464679914735e-16i␤»
20:19 masak I'm trying to remember where I read that an absolute tolerance for floating-point is only so useful, since floating-point values can be very very fine or very very coarse depending on their magnitude.
20:20 TimToady m: i * i == -1
20:20 camelia rakudo-moar d831a4: OUTPUT«WARNINGS:␤Useless use of "==" in expression "* i == -" in sink context (line 1)␤»
20:20 TimToady m: say i * i == -1
20:20 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:20 psch oh well, the ticket is only about redecl of return type in post constraints of callable parameters, so... vOv
20:20 masak grondilu: because of floating-point loss of precision.
20:20 TimToady obviously it's not using multiplication for **
20:20 grondilu even for **2??
20:20 masak grondilu: yes
20:20 p6curious masak: the tolerance is defined by the computation performed, ordering, and inputs but can be accurately described - if you'd like I can send you a url to a great paper on it
20:20 masak grondilu: basically, it comes down to the precision of trigonometric functions
20:21 moritz grondilu: ** is implemented very generally by going to polar coordinates
20:21 grondilu it's using the euler formula even for **2?  That seems LTA.
20:21 TimToady m: say (⅓ ** 2).WHAT
20:21 moritz grondilu: patches welcome
20:21 camelia rakudo-moar d831a4: OUTPUT«(Rat)␤»
20:21 znpy joined #perl6
20:21 TimToady we do it for Rat
20:21 TimToady but apparently not for Complex
20:21 masak p6curious: not sure what you're talking about -- the tolerance in Rakudo seems to be a dynamic variable, defaulting to a small constant.
20:22 p6curious masak: sorry I wasn't refering to the interpreter, the tolerance of the computation is defined in terms of those variables
20:22 TimToady though if we fix that for Complex, the tests I just did with i ** 2 are wrongish
20:22 grondilu for my cliford module I implemented the exponentiation to an integer power with a recursive formula.  I thought that was standard procedure.
20:22 p6curious masak: when performing ieee floating point arithmetic anyway
20:22 moritz TimToady: you can always use cos(pi) or so in your tests
20:22 moritz m: say cos(pi)
20:22 camelia rakudo-moar d831a4: OUTPUT«-1␤»
20:22 masak p6curious: I was referring to the newly-introduced $*SIGNIFICANCE
20:23 TimToady m: say cos(pi).WHAT
20:23 camelia rakudo-moar d831a4: OUTPUT«(Num)␤»
20:23 moritz m: printf '%20f', cos(pi)
20:23 camelia rakudo-moar d831a4: OUTPUT«           -1.000000»
20:23 moritz m: printf '%.20f', cos(pi)
20:23 camelia rakudo-moar d831a4: OUTPUT«-1.00000000000000000000»
20:23 moritz m: printf '%.20f', cos( 5* pi)
20:23 camelia rakudo-moar d831a4: OUTPUT«-1.00000000000000000000»
20:23 TimToady m: say cos(pi) ≅ -1
20:23 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:23 moritz m: say exp(i * pi)
20:23 camelia rakudo-moar d831a4: OUTPUT«-1+1.22464679914735e-16i␤»
20:23 moritz that's a nice one
20:23 RabidGravy meanwhile there still isn't a great fsa module
20:23 moritz should be -1
20:23 TimToady m: say cos(pi) == -1
20:23 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:23 TimToady er...
20:23 p6curious masak: well the value is useful if you can define what your required tolerances are https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
20:24 p6curious "What Every Computer Scientist Should Know About Floating-Point Arithmetic"
20:24 moritz TimToady: I retract my statement; use exp(i * pi) :-)
20:24 masak p6curious: ah; that's probably where I read it in the first place.
20:24 TimToady m: say exp(i * pi) == -1
20:24 camelia rakudo-moar d831a4: OUTPUT«False␤»
20:24 p6curious masak: I already know how to use that exact dynamic variable to achieve a solution to a problem in DSP that requires functions to do otherwise
20:24 TimToady m: say exp(i * pi) ≅ -1
20:24 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:24 TimToady 'kay
20:24 p6curious I didn't even know it was there, that is awesome
20:25 grondilu I think there should be a multi candidate at least for infix:<**>(Num $, 2)
20:25 grondilu though I don't know it that would be costly
20:26 uruwi How much would it cost?
20:26 RabidGravy a couple of quid
20:27 moritz m: say 'secret123' ~~ /<:Letter>/ & /<:Digit>/
20:27 camelia rakudo-moar d831a4: OUTPUT«True␤»
20:27 uruwi Or at least have something for infix:<**>(Num $, Int $)
20:27 grondilu I was talking about perfmance, just to be clear
20:27 uruwi Yes.
20:28 grondilu multi infix:<**>(Num $x, Int $n where $n %% 2) { ($x ** ($n / 2)) ** 2 }; multi infix:<**>(Num $x, 2) { $x * $x }
20:28 moritz m: say '|' ~~ /<:Punctuation>/
20:28 camelia rakudo-moar d831a4: OUTPUT«Nil␤»
20:28 dalek roast: 16b3b97 | TimToady++ | S03-operators/ (2 files):
20:28 dalek roast: use better not-quite -1 from moritz++
20:28 dalek roast: review: https://github.com/perl6/roast/commit/16b3b977b7
20:28 moritz m: say '|' ~~ /<:Symbol>/
20:28 camelia rakudo-moar d831a4: OUTPUT«「|」␤»
20:31 dalek doc: 98d172d | Mouq++ | type-graph.txt:
20:31 dalek doc: Track type changes in type-graph.txt
20:31 dalek doc:
20:31 dalek doc: Removed classes that no longer exist or don't seem to be part of the
20:31 dalek doc: public API, track renames, add new types.
20:31 dalek doc: review: https://github.com/perl6/doc/commit/98d172dfb5
20:31 grondilu also:  multi infix:<**>(Num $x, 1) { $x }
20:32 TimToady m: my $i = i; say sum $i ** 3 xx 100000; say now - INIT now
20:32 camelia rakudo-moar d831a4: OUTPUT«-1.83697019872196e-11-100000i␤3.48665696␤»
20:33 TimToady m: my $i = i; say sum $i * $i * $i xx 100000; say now - INIT now
20:33 camelia rakudo-moar d831a4: OUTPUT«0-100000i␤0.19395056␤»
20:33 uruwi also multi infix:<**>(Num $x, Int $n where $n % 2) { $x * ($x ** ($n +> 1)) ** 2 }
20:33 grondilu much faster isn't it?
20:34 moritz one has to take care with highter powers though
20:34 TimToady I'd say we shouldn't worry about whether * is slower than **
20:34 uruwi We'll have to see
20:34 TimToady I think the algo already deals with that
20:34 uruwi Algo?
20:35 uruwi I wonder how fast handling the special case of integer powers will be, though
20:35 TimToady m: say 1.1 ** 1000
20:35 camelia rakudo-moar d831a4: OUTPUT«2.46993291800583e+41␤»
20:35 uruwi m: say FatRat.new(1.1) ** 1000
20:35 camelia rakudo-moar d831a4: OUTPUT«Type check failed in binding nu; expected Int but got Rat␤  in block <unit> at /tmp/X_S66eIznD:1␤␤»
20:35 uruwi m: say FatRat.new(11, 10) ** 1000
20:35 camelia rakudo-moar d831a4: OUTPUT«246993291800582633412408838508522147770973.338523839623486918295183073939037543317536786611645694619197380356118903652336353379872657100896124379265553665528220182035787267332290114824345321175602006762454560941121206341730768120481737776346551122263516794…»
20:35 grondilu the recursive algortithm makes O(log($n)) iterations.  It should be fine.
20:36 moritz Horner schema?
20:36 uruwi And we could hardcode small powers so they get inlined, if Rakudo already does that.
20:36 TimToady we just need to move it from Num to Numeric, more or less
20:36 uruwi And by doing that, I mean inlining subs.
20:36 grondilu that'd be nice.  Then I could remove it from my clifford module which implements from Numeric.
20:37 grondilu s/implements from/implements/
20:38 RabidGravy but will it all help to calculate vat accurately enough to satisfy German accountants?
20:38 grondilu I think we can avoid the where constraint by using :<%> as well
20:39 TimToady hmm, we appear not to have a Num,Int candidate either
20:39 TimToady I wonder if accuracy is an issue on that...
20:39 grondilu m: multi infix:<**>(Numeric $x, Int $n) { ($x**($n div 2))**2 * $x**($n % 2) }
20:39 camelia rakudo-moar d831a4: ( no output )
20:40 uruwi But for performance let's write
20:40 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my
20:40 camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RveO03kvm7␤Malformed my␤at /tmp/RveO03kvm7:1␤------> 3ulti infix:<**>(Numeric $x, Int $n) { my7⏏5<EOL>␤»
20:41 * TimToady is going to gnaw on a leftover turky leg, and will leave the details up to others :)
20:41 TimToady *turkey
20:41 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }
20:41 camelia rakudo-moar d831a4: ( no output )
20:41 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say 3 ** 5;
20:41 camelia rakudo-moar d831a4: OUTPUT«243␤»
20:41 grondilu m: multi infix:<**>(Numeric $x, Int $n) { $_ * $_ * ($n %% 2 ?? 1 !! $x) given $x**($n div 2) }
20:41 camelia rakudo-moar d831a4: ( no output )
20:42 uruwi I hope Rakudo optimizes multiplication by 1 to a no-op
20:42 grondilu doesn't it already?  Jeez.
20:43 Zoffix joined #perl6
20:43 uruwi m: say sum(rand xx 1000000); say now - INIT now
20:43 camelia rakudo-moar d831a4: OUTPUT«500259.442383936␤0.8569873␤»
20:43 uruwi m: say sum((rand * 1) xx 1000000); say now - INIT now
20:43 camelia rakudo-moar d831a4: OUTPUT«499904.497990099␤1.7196412␤»
20:43 uruwi m: say sum((rand) xx 1000000); say now - INIT now
20:43 camelia rakudo-moar d831a4: OUTPUT«500265.715377109␤0.87283581␤»
20:43 uruwi Seems not
20:43 masak m: say ("42" * 1).^name # have to be careful, though. sometimes it's not a no-op
20:43 camelia rakudo-moar d831a4: OUTPUT«Int␤»
20:44 grondilu m: multi infix:<*>(Num $x, 1) { $x }; say sum((rand * 1) xx 1000000); say now - INIT now
20:44 Zoffix left #perl6
20:44 camelia rakudo-moar d831a4: OUTPUT«(timeout)»
20:44 uruwi Try only 100k
20:44 grondilu m: multi infix:<*>(Num $x, 1) { $x }; say sum((rand * 1) xx 100000); say now - INIT now
20:45 camelia rakudo-moar d831a4: OUTPUT«49930.4541765529␤2.48894951␤»
20:45 uruwi So about 25 seconds if you overload the multi.
20:45 uruwi Guess Rakudo doesn't even remove the autoboxing in that case.
20:46 grondilu I suspect it's because it must check for the RHS to be equal to 1 each time.
20:47 uruwi We also need a to-do list for optimizations
20:48 jnthn .oO( Things people assume don't already exist... :) )
20:48 uruwi Probably exists
20:48 jnthn That particular case is not likely to be anywhere high on the list.
20:48 RabidGravy and ponies, we need more ponies
20:49 uruwi Ponies!
20:50 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 343) xx 1000000); say now - INIT now;
20:50 camelia rakudo-moar d831a4: OUTPUT«44935581777924999704181427036132920669201551947414825857294325676926460044859591780950643756450152378523524574913023716238598282243547251135483449791579228771959627000000␤0.879192␤»
20:50 uruwi m: say sum((3 ** 343) xx 1000000); say now - INIT now;
20:50 camelia rakudo-moar d831a4: OUTPUT«44935581777924999704181427036132920669201551947414825857294325676926460044859591780950643756450152378523524574913023716238598282243547251135483449791579228771959627000000␤0.9026408␤»
20:50 uruwi Okay special case is slightly faster
20:51 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((1.1 ** 12345) xx 1000000); say now - INIT now;
20:51 camelia rakudo-moar d831a4: OUTPUT«Inf␤0.7178909␤»
20:51 uruwi m: say sum((1.1 ** 12345) xx 1000000); say now - INIT now;
20:51 camelia rakudo-moar d831a4: OUTPUT«Inf␤0.676156␤»
20:51 uruwi Woah, that's actually slower this time
20:51 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((2 ** 12345) xx 1000000); say now - INIT now;
20:51 camelia rakudo-moar d831a4: OUTPUT«1641710106882582163560207416639065014101272355307358812721161030879250941713901442801590345364394577348704191271404016671955103310856571853327210892364011930444934571162997688443443034792354894624363806721170151232832991313919041792876782591733085367387619…»
20:51 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((2 ** 12345) xx 1000000).chars; say now - INIT now;
20:51 camelia rakudo-moar d831a4: OUTPUT«3723␤1.8150558␤»
20:51 grondilu wait
20:52 uruwi m: say sum((2 ** 12345) xx 1000000).chars; say now - INIT now;
20:52 camelia rakudo-moar d831a4: OUTPUT«3723␤1.7813772␤»
20:52 uruwi This is confusing; even with integers, it's slightly slower on high powers
20:52 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 1000000).chars; say now - INIT now;
20:52 camelia rakudo-moar d831a4: OUTPUT«Memory allocation failed; could not allocate 24 bytes␤»
20:52 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 100000).chars; say now - INIT now;
20:52 camelia rakudo-moar d831a4: OUTPUT«Memory allocation failed; could not allocate 24 bytes␤»
20:52 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
20:52 camelia rakudo-moar d831a4: OUTPUT«58908␤3.3095929␤»
20:52 uruwi m: say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
20:52 camelia rakudo-moar d831a4: OUTPUT«58908␤3.2856385␤»
20:53 uruwi About the same
20:53 * uruwi brought Rakudo to its knees
20:53 uruwi Thankfully, even RPG-whose-name-is-yet-to-be-known won't have 58908-digit damage values
20:54 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 1234567) xx 1000).chars; say now - INIT now;
20:54 camelia rakudo-moar d831a4: OUTPUT«(timeout)»
20:54 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 1234567) xx 100).chars; say now - INIT now;
20:54 grondilu m: multi infix:<**>(Numeric $x, Int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
20:54 RabidGravy even banks don't have 58908 digit values in their ledgers
20:54 grondilu m: multi infix:<**>(Numeric $x, Int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*$s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
20:55 camelia rakudo-moar d831a4: OUTPUT«(timeout)»
20:55 camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VMhMuUC7fS␤Missing required term after infix␤at /tmp/VMhMuUC7fS:1␤------> 3 ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*7⏏5; }; say sum((3 ** 123456) xx 10000).cha␤    expecting any of:␤        prefi…»
20:55 camelia rakudo-moar d831a4: OUTPUT«58908␤3.28767769␤»
20:55 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say (3 ** 1234567).chars; say now - INIT now;
20:55 grondilu m: multi infix:<**>(Numeric $x, int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*$s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
20:55 camelia rakudo-moar d831a4: OUTPUT«(timeout)»
20:55 camelia rakudo-moar d831a4: OUTPUT«58908␤3.2993645␤»
20:56 uruwi RIP Rakudo
20:56 jnthn I'm suspect it'd complete if you did it locally :)
20:57 grondilu maybe a non-recursive version would be faster?
20:58 jnthn Quite probably
20:58 uruwi How to do it non-recursively?
20:58 grondilu do a loop, iteratively raising to the square
20:59 uruwi Still not done locally...
20:59 grondilu until you reach the exponent
20:59 KingSpeedy joined #perl6
20:59 psch m: sub f(&b:(--> Str)) { }; say nqp::getattr(nqp::decont(&f.signature.params[0]), Parameter, '$!post_constraints')[0].returns # vOv
20:59 camelia rakudo-moar d831a4: OUTPUT«(Mu)␤»
21:00 psch somehow <typename> doesn't reach there..?
21:00 psch as in, in Perl6::Actions.fakesignature there's nothing there either
21:01 kid51 joined #perl6
21:01 MadcapJake joined #perl6
21:01 psch weirdly though, it's in the cursor, but the .ast for signature *doesn't* have it..?
21:01 psch where "in the cursor" means "the rule matched" :/
21:02 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
21:02 camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gRux3Pv5Uz␤Strange text after block (missing semicolon or comma?)␤at /tmp/gRux3Pv5Uz:1␤------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; } $x * $y }␤»
21:02 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
21:02 camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OzLi5ACjXk␤Strange text after block (missing semicolon or comma?)␤at /tmp/OzLi5ACjXk:1␤------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; $x * $y }; ␤»
21:02 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
21:02 camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4LhD6ntkwD␤Strange text after block (missing semicolon or comma?)␤at /tmp/4LhD6ntkwD:1␤------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; } $x * $y }␤»
21:02 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;}; $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
21:02 camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FkAItyoKMz␤Strange text after block (missing semicolon or comma?)␤at /tmp/FkAItyoKMz:1␤------> 3$x * $y;}; $x = $x * $x; $n = $n +> 1; }7⏏5 $x * $y }; say sum((3 ** 123456) xx 100␤»
21:02 uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;}; $x = $x * $x; $n = $n +> 1; }; $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
21:02 camelia rakudo-moar d831a4: OUTPUT«58908␤3.2788730␤»
21:02 MadcapJake hello everyone! Just published v1.1.0 of language-perl6fe for Atom, lots of bugfixes (especially inside large/complicated regexes). (jnthn, everything inside grammar.nqp seems to work for me now) let me know if you see anything needing fixing!
21:03 MadcapJake https://github.com/MadcapJake/language-perl6fe/releases
21:03 grondilu uruwi: it's going to be a bit painful.  I suggest you try it on your machine.  I'm sure there are even smarter ways to do it.
21:03 psch MadcapJake++
21:04 colomon joined #perl6
21:05 masak MadcapJake: cool!
21:06 ilbelkyr_ joined #perl6
21:07 MadcapJake give that grammar.nqp file a try! Unfortunately Atom is a bit slow on large files, but it still only takes a couple seconds to highlight the whole thing (that's with a whole bunch of CPU-intensive packages running too)
21:07 znpy` joined #perl6
21:09 hankache joined #perl6
21:12 pmurias Would it be possible to use the real Perl6 grammar to do the syntax highlighting?
21:13 arnsholt Probably, but it's probably not engineered the optimal way for that
21:13 hankache evening everybody
21:13 MadcapJake it is possible with Atom (I was just asking about this on their slack), but it isn't supported and those who've tried have had their efforts constantly broken by Atom patches
21:13 uruwi Shoot
21:13 arnsholt Since a syntax highlighter will have to deal with incorrect programs most of the time, and a compiler grammar will tend to stop fast when something's wrong
21:13 uruwi language-perl6fe is better than Atom's own highlighting
21:14 MadcapJake uruwi: thanks! that's my goal! xD
21:14 psch uruwi: i'm pretty sure that was at least some of MadcapJake++'s motivation :)
21:14 hankache Perl 6 FE is waaaay better
21:14 * psch doesn't wanna fiddle with sshfs or somesuch to get the putty session into atom...
21:15 uruwi Does it recognize .p6 extensions yet?
21:15 colomon joined #perl6
21:16 uruwi So exponentiation grows quadratically with the exponent.
21:16 uruwi As the size of the result grows linearly.
21:16 MadcapJake uruwi: check out the readme, there's three routes you can take to apply to files
21:19 MadcapJake now time to get back to working on linter-perl6!
21:23 hankache MadcapJake++
21:24 rgrau joined #perl6
21:26 pmurias arnsholt: the grammar could be taught to do error recovery or just highlight up to the error
21:26 pmurias arnsholt: the annoying problem is hooking it up with the editor
21:26 lizmat joined #perl6
21:27 MadcapJake psch: https://atom.io/packages/sftp-deployment or https://atom.io/packages/remote-atom might help alleviate some fiddliness
21:27 masak I think I'm with arnsholt here. compilation and syntax highlighting are two quite different uses.
21:27 masak the kind of recovery a syntax highlighter needs to consider aren't necessarily beneficial to a parser in a compiler.
21:29 RabidGravy I have this thing with syntax highlighting: I can totally do without it and have done for most of my life, but it really annoys me when it's wromg
21:29 Skarsnik err than... funny?
21:29 Skarsnik nvm
21:29 mst masak: seems like you could share the tokenizer-ish bit but not all the layers above that
21:30 mst though, er, it strikes me that maybe the recovery code in a synhi engine and the 'produce as useful an error as possible' code in a compiler might also share some stuff
21:32 Fleurety joined #perl6
21:34 rickvanlieshout joined #perl6
21:35 grondilu uruwi: FYI:  https://en.wikipedia.org/wiki/Exponentiation_by_squaring
21:35 masak mst: part of the problem of sharing a tokenizer layer is that Perl 6 grammars fundamentally don't think of tokenization as something separate from the rest of parsing.
21:35 psch m: sub f(--> Bool) { }; sub h () { }; say &f.signature ~~ &h.signature # aha!
21:35 camelia rakudo-moar d831a4: OUTPUT«True␤»
21:35 psch m: sub f(--> Bool) { }; sub h () { }; say &h.signature ~~ &f.signature
21:35 camelia rakudo-moar d831a4: OUTPUT«True␤»
21:36 masak psch: that looks wrong.
21:36 psch masak: yes, i agree
21:37 pmurias masak: if the editor itself doesn't support using the Perl 6 grammar we will run into the problem where for every language extension (slang/macro) your tool support will deteriorate
21:38 mst masak: guess you're going to end up learning how to abstract that then :)
21:38 masak mst: :)
21:39 pmurias masak: if the editor itself doesn't support using the Perl 6 grammar we will run into the problem where for every language extension (slang/macro) your tool support will deteriorate
21:39 masak mst: it may be an oversimplification, but I've found that the following two things are basically polar opposites: (a) reliable, simple tokenization, and (b) slangs
21:40 masak mst: perhaps it's simpler than that, though. Perl 6 is pretty attached to the idea of "one-pass parsing", having been burned by p5 regexes etc.
21:41 masak one-pass parsing, taken to the extreme, means no separate tokenization step.
21:44 * lizmat tries to refrain from adding "archimoct" to the credits list for 2015.12
21:46 masak better not.
21:47 lizmat I better not refrain?  :-)
21:47 masak better not add an anagram of someone who went to the trouble of sending a pull request to remove himself from being mentioned.
21:48 lizmat yeah, I know.  Still, for better or worse, he has been part of the process and I think should be mentioned
21:49 lizmat but I'll try harder
21:49 psch "explicitly not wanting to be mentioned" trumps "should be mentioned" i think
21:50 psch i don't understand the reason or motivation, but it's obviously important to chromatic not to be mentioned, and especially with having contributed that should be respected
21:50 masak right. it's about respecting someone's wishes.
21:52 mst probably "no wish to reignite certain previous dramastorms"
21:53 RabidGravy where would we all be without darama
21:53 masak which, incidentally, would also be a reason to respectfully not mention :)
21:53 RabidGravy drama
21:54 masak RabidGravy: among friends, contented? this is a trick question, right? :)
21:54 [TuxCM] joined #perl6
21:54 mst right. I mean, I don't really care very much about his feelings. but I do care that he's right :D
21:56 dalek perl6-examples: e193c1b | (Steve Mynott)++ | categories/cookbook/15interactivity/15-02-test-interactive-program.pl:
21:56 dalek perl6-examples: .t now works via isatty
21:56 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/e193c1b108
21:56 RabidGravy don't know the story, don't want to know the story but tone is everything
21:57 Begi2 joined #perl6
22:00 leedo sorry to repeat a question i asked earlier, but does anyone have a suggestion for how to get this working? https://gist.github.com/leedo/7603df457e182976295e
22:02 jnthn leedo: If you want to have a strongly typed, circular dependency between two classes then they need to go in the same file.
22:03 jnthn Then the stubbing will work out fine.
22:03 leedo ah, ok thanks!
22:03 jnthn (One of the places where Perl 6 is somewhat opinionated. :))
22:04 * masak .oO( Matz is opinionated so we are opinionated ) :P
22:04 jnthn ...what? :)
22:05 psch probably "Math"?
22:05 masak jnthn: the normal Ruby motto is "Matz is nice so we are nice"
22:05 psch oh
22:05 jnthn Oh :)
22:05 dalek doc: 7b9859e | (Steve Mynott)++ | doc/Language/classtut.pod:
22:05 dalek doc: correct two typos
22:05 dalek doc: review: https://github.com/perl6/doc/commit/7b9859e390
22:05 * masak should come with some kind of explanatory legend
22:06 leedo in my real code, the only example i need the circular dependency is to use the type in a given/when https://github.com/leedo/p6-web-scraper/blob/master/lib/Web/Scraper/Rule.pm#L21
22:07 dalek modules.perl6.org/new-db-builder: 6c3c48b | (Zoffix Znet)++ | Build.PL:
22:07 dalek modules.perl6.org/new-db-builder: Add prereqs
22:07 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/6c3c48b92e
22:07 BenGoldberg joined #perl6
22:07 leedo combining into one file does indeed fix it
22:08 psch well, the tough part is now that i have a post_constraint for a parameter in a signature, but its signature is actually the signature of a where block that does smart matching...
22:08 lizmat good night, #perl6!
22:09 leedo maybe i'll just do some duck typing instead
22:10 BenGoldberg joined #perl6
22:11 dalek modules.perl6.org/new-db-builder: ff2564d | (Zoffix Znet)++ | t/ (4 files):
22:11 dalek modules.perl6.org/new-db-builder: Move timestamp regex into t::Helper class, so we don"t duplicate it all over the place
22:11 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/ff2564d22b
22:13 lizmat joined #perl6
22:14 dalek modules.perl6.org/new-db-builder: c80736a | (Zoffix Znet)++ | bin/build-project-list.pl:
22:14 dalek modules.perl6.org/new-db-builder: Add logos_dir option, for easier testing
22:14 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/c80736a9e1
22:15 kjs_ joined #perl6
22:15 p6curious I'm trying to make sure I yield my powers of traits and roles for good but I'm not sure about what is a bad idea; specifically I'm worried about when to use what and what it'll do to the global namespace
22:15 Ben_Goldberg joined #perl6
22:15 p6curious I've got my thoughts collected into one place, feedback would be highly appreciated even if it just on how to express the idea better https://gist.github.com/anonymous/d8940e7f132b4087e67a
22:16 p6curious the p6 bits are at the bottom, it is my concept of how to implement the parts that are used above
22:16 RabidGravy wield
22:16 psch weld?
22:17 timotimo yeld.
22:17 psch p6curious: fwiw, traits and roles are supposed to be powerful, and i don't know if we have enough ecosystem around to have figured out DOs and DONTs for them
22:17 p6curious psch: I was wondering if anyone knew what bad ideas were yet
22:17 autark joined #perl6
22:18 RabidGravy yeah, it's just do it and when it becomes a bad idea sort it out
22:18 p6curious in my head causing the namespace to change behavior for things that aren't involved in what ever is being done is bad
22:18 p6curious and traits I don't see how to keep scoped tightly, but I have no idea what I'm doing
22:18 raoulvdberge joined #perl6
22:19 p6curious for my case I think I want roles on objects and traits on the attributes (not an attribute holding an object with traits)
22:19 p6curious that is reflected in the classes in my concept I linked
22:19 RabidGravy well people have to explicitly include your code to get your trait so it's their/your lookout dpesn't affect anyone else
22:19 jnthn traits are implemented by writing multi subs, which are lexically scoped
22:19 jnthn Only somebody importing the module you implement them in would get them
22:19 p6curious so if I add traits they are not visible to anything except for what ever scope is using what ever brought the trait in?
22:19 p6curious excellent
22:20 p6curious any thoughts on applying traits to attributes? for my case I want to mark some attributes as being 'registers' which are going to be the external interface to the things
22:20 psch fwiw, traits and roles seem conceptionally linked to me
22:20 psch as in, traits are often used to apply roles, for one
22:20 p6curious traits seem to be a way to shortcut a role definition
22:21 RabidGravy psch also in some places the terms are used interchangeably
22:21 p6curious right, so I guess a better question would be: are there any thoughts on applying a role to an attribute instead of storing an object with a role in the object?
22:21 psch p6curious: a trait_mod<is>(Attribute $a ...){ ... } applies to an Attribute
22:21 psch p6curious: but Attribute isa Any
22:21 psch so it's still an object, of course
22:21 raoulvdberge joined #perl6
22:22 p6curious because for my case I don't want to do anything with the object in the attribute itself, but I want to be able to introspect the object that has attributes to find ones that are registers
22:22 jnthn sleep &
22:22 p6curious I hit this before with Reflex and Moose and just had to give up because I could never wrap my head around it
22:22 psch m: class A { has $.a }; say A.^attributes[0].WHAT
22:22 camelia rakudo-moar d831a4: OUTPUT«(Attribute)␤»
22:22 psch m: class A { has $.a }; A.^attributes[0] does role { method foo { say "foo" } }; A.new.a.foo
22:22 camelia rakudo-moar d831a4: OUTPUT«Method 'foo' not found for invocant of class 'Any'␤  in block <unit> at /tmp/Fr3J9Niqr9:1␤␤»
22:22 p6curious psch: yeah I've got some code that can do things to an attribute, and I know I can mix things into the meta class
22:23 psch m: class A { has $.a }; A.^attributes[0] does role { method foo { say "foo" } }; A.^attributes[0].foo; A.new.a.foo
22:23 camelia rakudo-moar d831a4: OUTPUT«foo␤Method 'foo' not found for invocant of class 'Any'␤  in block <unit> at /tmp/8aItvoXnB7:1␤␤»
22:23 p6curious i'm just wondering if this is a good idea, or I guess if anyone can say why I should do something else
22:23 psch the latter shows that the (anon) role on the Attribute doesn't influence the contained object
22:23 p6curious perfect
22:23 psch i think 'handles' is the trait that shows this better, from the ones in CORE
22:23 psch (or trait_mod, rather)
22:25 * stmuk_ likes the way all ecosystem modules are 100% NYI Kwalitee :)
22:25 p6curious hmmmmm it sounds like it is a safe assumption to say that if an object winds up with a role on its attributes it wasn't through a surprise, so it is not a bad idea to muck with the metaobject for that attribute
22:25 p6curious I don't like surprises
22:26 p6curious psch: thanks for the brain cycles
22:26 RabidGravy p6curious, if the role on th attribute messes something up you'll know at compile time
22:26 p6curious that is a great way to break
22:27 mst attaching roles to attributes is a time honoured way to attach metadata to them
22:27 mst that gets done in Moose all the time
22:27 p6curious though I had a not great error the other day, I wasn't sure if I should file a bug report on it
22:27 RabidGravy indeed
22:27 p6curious I was working with roles on a class and there was a failure during compile, the error had no file/line information and I can't recall if it even mentioned the offending class
22:29 stmuk_ ah https://github.com/zoffixznet/perl6-Kwalitee exists
22:30 p6curious if I encounter non-optimal error output during compile should I report it as a bug?
22:31 Zoffix joined #perl6
22:31 Zoffix stmuk_, it's a WIP. Will be fixed after I'm done with db builder stuff. But 98% of dists have 100% Kwalitee :)
22:32 Zoffix m: say 100* (1 - 15/459)
22:32 camelia rakudo-moar d831a4: OUTPUT«96.732026␤»
22:32 psch p6curious: keep in mind though that if you modify the meta object directly it sticks
22:33 p6curious psch: I would need to be careful to make sure I did not apply the change to every single attribute system wide?
22:33 psch p6curious: right, that's why i used "does" on the single Attribute from .^attributes
22:34 p6curious ok, thank you. is it valid to pass arguments to a trait like can be done with a role?
22:34 p6curious because I want to be able to define a lot of different behavior for a register and the most clean way looks to be args on roles or traits - I haven't got trait args to work
22:34 timotimo p6curious: yes, you can report sub-optimal error output
22:34 timotimo p6curious: we usually call that "LTA error messages" for Less Than Awesome
22:35 p6curious it'll parse and compile and the trait sub is invoked - but I can't find my args anyway
22:35 p6curious timotimo: ok I'll do that from now on
22:35 BenGoldberg_ joined #perl6
22:35 RabidGravy trait args work, let me find an example
22:36 RabidGravy https://github.com/jonathanstowe/AccessorFacade/blob/master/lib/AccessorFacade.pm e.g.
22:37 TimToady shouldn't it be spelled Koalatee?
22:37 pierre-vigier joined #perl6
22:37 snarkyboojum joined #perl6
22:37 p6curious derp, thats pretty bad, i've used NativeCall, I should already know trait args work
22:37 timotimo "shortcommings"
22:38 Zoffix TimToady, that hasn't been merged yet. I need to write more tests before I do so :)
22:38 p6curious ah that brings up a question of mine: I used nativecall to wrap libxml for fun and went to use valgrind to search for memory leaks with libxml managed ram
22:39 p6curious I never found a way to get my out of scope objects go GC before the test program exited so it always showed leaks
22:39 p6curious is there a way to force GC to check for leaks like that?
22:39 psch p6curious: nothing really reliable.  nqp::force_gc exists, but afaik doesn't do anything if there's nothing to be done, or something..?
22:39 timotimo i'm not sure i understand - the GC only manages GC-allocated objects, so anything libxml creates for you wouldn't be handled
22:40 dalek modules.perl6.org/new-db-builder: 0dcb411 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder.pm:
22:40 dalek modules.perl6.org/new-db-builder: Output log to STDERR consistently
22:40 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/0dcb411705
22:40 timotimo maybe you mean the submethod DESTROY?
22:40 * psch doesn't usually muck with those magical, internal bits
22:40 psch well, deeply internal, i.e. MoarVM :P
22:40 timotimo DESTROY will be called on your object after they become garbage. however, moarvm will not call DESTROY on everything when it shuts down
22:41 psch m: class A { submethod DESTROY { say "collected" } }; A.new; nqp::force_gc; sleep 10
22:41 camelia rakudo-moar d831a4: ( no output )
22:41 dalek rakudo/nom: 96af2dc | (Ronald Schmidt)++ | CREDITS:
22:41 dalek rakudo/nom: Update CREDITS - fix duplicate listing for me / ronaldxs / ronaldxs@software-path.com
22:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96af2dc91c
22:41 dalek rakudo/nom: 458cd81 | (Will Coleda)++ | CREDITS:
22:41 dalek rakudo/nom: Merge pull request #600 from ronaldxs/patch-1
22:41 dalek rakudo/nom:
22:41 dalek rakudo/nom: Update CREDITS - fix duplicate listing for me / ronaldxs / ronaldxs@s…
22:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/458cd81bcb
22:41 psch that's what i mean with "not really reliable".  afaict the A.new is sunk and should be collectable
22:42 psch but mumble nursery-size mumble generation something something vOv
22:43 dalek rakudo-star-daily: 6dc6240 | coke++ | log/ (2 files):
22:43 dalek rakudo-star-daily: today (automated commit)
22:43 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/6dc6240207
22:43 p6curious timotimo: naw, I wound up with GC implemented nativecall wrapped objects, but they didn'g GC to invoke destroy to call xmlfree
22:43 timotimo right, as i said, you're not guaranteed that things will have DESTROY called when the program exits
22:43 p6curious there was objects fully out of scope and GC had stuff to do but never did, as far as I could tell - if I can tell the vm to force gc I think that'll do it
22:44 p6curious I just need it for testing to make sure it doesn't leak anyway
22:44 [Coke] I see a one off add of a name to the xmas people: note that we still have a ton of repos to go through, so we probably don't need lots of one offs until those are all added.
22:45 stmuk_ [Coke]: can you explain why you closed https://github.com/rakudo/rakudo/pull/601?
22:54 eiro joined #perl6
22:57 dalek rakudo/nom: 8b4686f | (Steve Mynott)++ | tools/CREDITS.pl6:
22:57 dalek rakudo/nom: skip chromatic in credits
22:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8b4686f353
22:57 dalek rakudo/nom: 1da6d1c | (Steve Mynott)++ | docs/announce/2015.12.md:
22:57 dalek rakudo/nom: add Sue Spence to Xmas release credits
22:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1da6d1cf5b
22:57 dalek rakudo/nom: 31f9abb | (Will Coleda)++ | / (2 files):
22:57 dalek rakudo/nom: Merge pull request #602 from stmuk/nom
22:57 dalek rakudo/nom:
22:57 dalek rakudo/nom: Add Sue Spence to release announcement
22:57 dalek rakudo/nom: - also removes chromatic from future CREDITS auto-updates
22:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/31f9abb779
22:58 stmuk_ [Coke]: thanks
22:58 dalek rakudo/nom: c83a8de | coke++ | docs/announce/2015.12.md:
22:58 dalek rakudo/nom: Keep sorted.
22:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c83a8de92d
22:58 AndyDee joined #perl6
23:02 masak "keep sorted". sage advice in general.
23:03 Zoffix "Thanks to everyone who has worked to make this release happen over the past 15 years." 0.o 15 years. Wow, what an accomplishment.
23:05 Zoffix Especially with so few names
23:07 Zoffix 15 years ago I only know how to write a few lines of Pascal :P
23:07 Zoffix s/know/knew/;
23:07 vendethiel 15 years ago, I could barely speak :P.
23:07 Zoffix :P
23:08 stmuk_ make us feel old :P
23:13 dalek modules.perl6.org/new-db-builder: 8c7f26b | (Zoffix Znet)++ | / (6 files):
23:13 dalek modules.perl6.org/new-db-builder: Add stub tests to ensure ALL of our classes show up in Devel::Cover report
23:13 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/8c7f26ba03
23:14 [Coke] niner== Stefan Seifert ?
23:14 RabidGravy stmuk_, you/we are old
23:14 [Coke] Zoffix: the list is far from done
23:16 Zoffix noted
23:16 masak [Coke]: aye.
23:16 diakopter Zoffix: I'm also thinking Koalatee is bettar
23:17 Zoffix diakopter, vs. Koalitee?
23:17 diakopter yah
23:17 diakopter (ditto TimToady)
23:17 RabidGravy wan't it Schwern who first coined the term? get him to call
23:18 Zoffix .oO( Schwern?? )
23:18 RabidGravy yes
23:18 diakopter RabidGravy: maybe kwalitee, but not the koala pun; that was me I think?
23:19 Zoffix .oO( who is Schwern? )
23:19 Zoffix Yeah, based on a log grep, it was diakopter who proposed the Koala pun
23:19 * Zoffix wishes they were familiar with how to do a quick file content substitution on a tree of files
23:20 RabidGravy Oh mate https://github.com/schwern
23:20 Zoffix Face looks familiar
23:20 RabidGravy made most of the P5 test stuff work nicely
23:20 Zoffix And I'm following that account
23:20 diakopter must. resist. posting. mugshot. link.
23:23 psch well, the only thing wrong about this patch is a bad "expecting any of"...
23:25 bzipitidoo joined #perl6
23:25 [Coke] ven == vendethiel ?
23:26 vendethiel [Coke]: yes
23:26 psch ..but calling !fresh_highexpect on the CURSOR instead of $/ solves that \o/
23:26 vendethiel i can connect ven if you want me to :P
23:27 bzipitidoo anyone taking reports of web site problems?  Code in angle brackets is missing on several pages.
23:28 Zoffix bzipitidoo, which website? :)
23:28 uruwi > Sex
23:28 bzipitidoo http://examples.perl6.org/categories/interpreters/RPN.html
23:29 bzipitidoo my token  Item {  ||  };
23:29 dalek rakudo/nom: 524dd3a | peschwa++ | src/Perl6/Actions.nqp:
23:29 dalek rakudo/nom: Mixin Callable[$type] for all ways of declaring return type.
23:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/524dd3a8bc
23:29 dalek rakudo/nom: 9dc8630 | peschwa++ | src/Perl6/Actions.nqp:
23:29 dalek rakudo/nom: Fix a "Sub object coerced to string" warning.
23:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9dc8630ace
23:29 dalek rakudo/nom: c22c744 | peschwa++ | src/core/Signature.pm:
23:29 dalek rakudo/nom: Don't ignore return types when calling ACCEPTS with Signatures.
23:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c22c7442ab
23:29 dalek rakudo/nom: bb931c8 | peschwa++ | src/Perl6/Actions.nqp:
23:29 dalek rakudo/nom: Fix RT #125988.
23:29 dalek rakudo/nom:
23:29 dalek rakudo/nom: I doubt this is the cleanest possible, but it's the workiest I could figure out.
23:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb931c8fd1
23:29 tadzik Koalatee sounds like Manatee
23:29 timotimo that's no surprise, given it's a cross of a koala and a manatee
23:30 psch tests tomorrow, if no one beats me to it
23:31 bzipitidoo I was trying to make sense of that line.  Took me a while to realize it was wrong.  Correct code is at  https://github.com/perl6/perl6-examples/blob/master/categories/interpreters/RPN.pl
23:31 Zoffix bzipitidoo, thanks, reported: https://github.com/perl6/perl6-examples/issues/38
23:31 stmuk_ odd ... colour syntax has broken on examples.
23:31 Zoffix bzipitidoo, feel free to submit a PR to that repo, if you figure out what's wrong.
23:31 diakopter .g "koala tee"
23:31 yoleaux http://www.koalatee.com/
23:31 stmuk_ I'll take a look tomorrow
23:31 diakopter oh noes
23:32 ozmq joined #perl6
23:32 Zoffix That's exactly what I thought about the name lol :) A Koala in a T-shirt
23:32 Zoffix But it's too late!!! 'cause...
23:32 diakopter tee shirt made of koala fur
23:32 dalek modules.perl6.org/new-db-builder: 3af345f | (Zoffix Znet)++ | / (14 files):
23:32 dalek modules.perl6.org/new-db-builder: Rename Koalitee to Koalatee by popular demand
23:32 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/3af345f0f9
23:33 timotimo +1
23:33 AlexDaniel .oO( Coality ⛏)
23:34 Zoffix .u ⛏
23:34 yoleaux U+26CF PICK [So] (⛏)
23:36 uruwi That's going to break lots of poop
23:36 uruwi .u poo
23:36 yoleaux U+1434 CANADIAN SYLLABICS POO [Lo] (ᐴ)
23:36 yoleaux U+1435 CANADIAN SYLLABICS Y-CREE POO [Lo] (ᐵ)
23:36 yoleaux U+A576 VAI SYLLABLE POO [Lo] (ꕶ)
23:36 uruwi .u pile of poo
23:36 yoleaux U+1F4A9 PILE OF POO [So] (💩)
23:36 Zoffix :S
23:36 diakopter .u pile
23:36 yoleaux U+1F4A9 PILE OF POO [So] (💩)
23:37 uruwi That commit will break THAT.
23:37 Zoffix uruwi, which commit?
23:37 Zoffix .u dong
23:37 yoleaux U+1B61 BALINESE MUSICAL SYMBOL DONG [So] (᭡)
23:37 yoleaux U+20AB DONG SIGN [Sc] (₫)
23:38 * Zoffix snickers
23:38 uruwi The one that renamed Koalitee to Koalatee
23:38 uruwi .me penis
23:38 uruwi .u penis
23:38 yoleaux No characters found
23:38 diakopter uruwi: but why
23:39 uruwi .me ass
23:39 uruwi .u ass
23:39 yoleaux U+0611 ARABIC SIGN ALAYHE ASSALLAM [Mn] (◌ؑ)
23:39 yoleaux U+22A6 ASSERTION [Sm] (⊦)
23:39 yoleaux U+12461 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH [Nl] (𒑡)
23:39 Zoffix uruwi, why do you think it'll break anything?
23:39 uruwi If modules depend on it being named Koalitee?
23:39 RabidGravy it's so Saturday night
23:39 bzipitidoo zoffix: thx.  Also, could http://doc.perl6.org/language/regexes have 2 errors, near the "Keep it small" section?
23:39 bzipitidoo my regex example {     <preamble>     [     || <choice_1>     || <choice_2>     || <choice_3>     ]+     <postamble> }
23:39 diakopter uruwi: but Koalitee hasn't even existed yet
23:40 stmuk_ m: say "\c[BEAR FACE]"
23:40 camelia rakudo-moar c83a8d: OUTPUT«🐻␤»
23:40 Zoffix uruwi, I haven't released my P6 Koalatee module (currently named Kwalitee) and the above commit is internal stuff used by the modules.perl6.org infrastructure that no modules use :)
23:41 RabidGravy 💩
23:41 bzipitidoo Seems like "[    ||" is wrong
23:41 uruwi .u dick
23:41 yoleaux No characters found
23:41 uruwi .u piss
23:41 yoleaux No characters found
23:41 uruwi .u cock
23:41 yoleaux U+1F378 COCKTAIL GLASS [So] (🍸)
23:42 uruwi At least.
23:42 uruwi .u hell
23:42 yoleaux No characters found
23:42 TimToady bzipitidoo: an initial | or || is allowed
23:42 Zoffix uruwi, /msg yoleaux .u whatever works too
23:42 Quom_ Keep it PG guys
23:42 stmuk_ m: say "\c[KOALA]\c[HOT BEVERAGE]""
23:42 camelia rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZRVNK3FDQN␤Two terms in a row␤at /tmp/ZRVNK3FDQN:1␤------> 3say "\c[KOALA]\c[HOT BEVERAGE]"7⏏5"␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement …»
23:42 stmuk_ m: say "\c[KOALA]"~"\c[HOT BEVERAGE]""
23:42 camelia rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o1tFh90QFU␤Two terms in a row␤at /tmp/o1tFh90QFU:1␤------> 3say "\c[KOALA]"~"\c[HOT BEVERAGE]"7⏏5"␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        stateme…»
23:42 bzipitidoo What does an initial || mean?  Same as if it wasn't there, or that some sort of null string is a valid match?
23:42 RabidGravy chimps are dead
23:42 Zoffix m: say "\c[KOALA]\c[HOT BEVERAGE]"
23:42 camelia rakudo-moar c83a8d: OUTPUT«🐨☕␤»
23:43 ozmq Advent is upon us here in the Antipodes, where all the koalas are.
23:43 ozmq I have followed Perl 6 since its inception, and have been a lurker on the #perl6 backlogs for much of that time. It has provided me with a daily dose of technical entertainment, a soap opera with a wonderful cast of smart, funny, and sympathetic characters.
23:43 ozmq Nearly there. As Tiny TimToady might say, everyone++.
23:43 stmuk_ its drinking
23:43 TimToady bzipitidoo: it's mostly a no-op, useful for formatting a multiline alteration
23:43 TimToady however, it does have an effect on a subsequent @alteratives match
23:43 TimToady whether it chooses short-circuit vs longest-token matching
23:44 Quom_ bzipitidoo: Think of it like having a trailing comma at the end of a multi-line list. Makes editing more convenient and can look nicer
23:44 RabidGravy ozmq, I'd lay off the luudes mate ;-)
23:44 diakopter hm
23:44 diakopter ozmq++ # sentiment appreciated!
23:45 stmuk_ is there a "TEACUP WITH HANDLE"
23:45 Zoffix Man, IRC makes me so unproductive :(
23:45 Zoffix left #perl6
23:46 dalek rakudo/nom: e0a4039 | coke++ | docs/announce/2015.12.md:
23:46 dalek rakudo/nom: Add docs contributors
23:46 dalek rakudo/nom:
23:46 dalek rakudo/nom: https://github.com/perl6/doc
23:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e0a4039a72
23:47 ranger joined #perl6
23:47 bzipitidoo mostly a NOP, but not quite?  Is there an example that shows different results with those 2 versions of an alternation?
23:48 timotimo two versions? do you mean | and ||?
23:48 TimToady |@foo vs ||@foo
23:49 timotimo ah
23:49 timotimo i've always seen that as a prefix, separate from the infix | and || operators
23:49 bzipitidoo No, I mean     [ somematch || someothermatch ]    vs   [ || somematch || someothermatch ]
23:49 timotimo there is 0 difference between these two
23:49 BenGoldberg_ joined #perl6
23:50 AlexDaniel hm, what if
23:50 TimToady m: my @foo = <ab abc>; say "abcd" ~~ / || @foo/; say "abc" ~~ /| @foo/
23:50 camelia rakudo-moar c83a8d: OUTPUT«「ab」␤「abc」␤»
23:50 TimToady m: my @foo = <ab abc>; say "abcd" ~~ / || @foo/; say "abcd" ~~ /| @foo/; say "abcd" ~~ /@foo/
23:50 camelia rakudo-moar c83a8d: OUTPUT«「ab」␤「abc」␤「abc」␤»
23:50 TimToady defaults to |
23:50 AlexDaniel m: say 'foo' if || 5 < 20 || 50 > 3;
23:50 camelia rakudo-moar c83a8d: OUTPUT«foo␤»
23:50 AlexDaniel m: say 'foo' if || 5 < 20 || 50 > 3 ||;
23:50 camelia rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bfVeCcWOS5␤Missing required term after infix␤at /tmp/bfVeCcWOS5:1␤------> 3say 'foo' if || 5 < 20 || 50 > 3 ||7⏏5;␤    expecting any of:␤        prefix␤        term␤»
23:51 AlexDaniel m: say 'foo' if && 5 < 20 && 50 > 3;
23:51 camelia rakudo-moar e0a403: OUTPUT«5===SORRY!5=== Error while compiling /tmp/J_cbr3Sfeu␤Two terms in a row␤at /tmp/J_cbr3Sfeu:1␤------> 3say 'foo' if &&7⏏5 5 < 20 && 50 > 3;␤    expecting any of:␤        infix␤        infix stopper␤»
23:51 TimToady er, that prefix::<||> isn't doing what you think it's doing...
23:51 TimToady it's a funny accident that it works
23:51 AlexDaniel oh really? What is it doing then?
23:51 masak something unspeakable.
23:51 TimToady m: say ||5
23:51 camelia rakudo-moar e0a403: OUTPUT«5␤»
23:51 TimToady m: say | |5
23:51 camelia rakudo-moar e0a403: OUTPUT«5␤»
23:51 psch flat flat 5
23:51 AlexDaniel m: say |||5
23:51 camelia rakudo-moar e0a403: OUTPUT«5␤»
23:51 psch neat
23:52 AlexDaniel yeah, that's what I thought… well…
23:52 RabidGravy nasty
23:52 AlexDaniel TimToady: dunno, maybe it should?
23:52 TimToady it would be ambiguous with a real | or || prefix
23:53 psch m: say "abcd" ~~ /^(a | b | bc | cd)*?$/; say "abcd" ~~ /^(@a)*?$/
23:53 camelia rakudo-moar e0a403: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ab8STlQM6r␤Variable '@a' is not declared␤at /tmp/Ab8STlQM6r:1␤------> 3(a | b | bc | cd)*?$/; say "abcd" ~~ /^(7⏏5@a)*?$/␤»
23:53 psch m: my @a = < a b bc cd >; say "abcd" ~~ /^(@a)*?$/
23:53 camelia rakudo-moar e0a403: OUTPUT«Nil␤»
23:53 AlexDaniel does double flat make any difference?
23:53 TimToady depends on the context
23:53 AlexDaniel oh well
23:54 psch that would've been the answer to that "find the original words from a space-less string" blog post a bit ago, but alas, it's bugged :/
23:54 BenGoldberg_ joined #perl6
23:54 TimToady m: say <a b c>; say || <a b c>
23:54 camelia rakudo-moar e0a403: OUTPUT«(a b c)␤abc␤»
23:55 AlexDaniel not a big issue, I don't think that a lot of people want to write || stuff on every line… That being said, maybe it will make sense to make it more “consistent”…
23:55 znpy` joined #perl6
23:55 AlexDaniel I mean on separate lines
23:56 TimToady given that nobody's ever thought of that up till now, I doubt the feature will be in high demand
23:56 RabidGravy I think there should be a bot that collects the people who connect and disconnect without saying anything
23:56 TimToady and puts them where?
23:56 stmuk_ my client ignores those people
23:56 RabidGravy interesting statistic
23:56 RabidGravy drunk tank
23:57 dalek modules.perl6.org/new-db-builder: 1f44796 | (Zoffix Znet)++ | / (2 files):
23:57 dalek modules.perl6.org/new-db-builder: Improve test/pod coverage of ::Dists model to 100%
23:57 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/1f44796658
23:58 stmuk_ http://act.yapc.eu/lpw2015/schedule

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

Perl 6 | Reference Documentation | Rakudo