Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-05-24

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 AlexDaniel MasterDuke: I have no idea why it took so long to understand that diff…
00:02 AlexDaniel MasterDuke: one use case when it will get in the way is if I wanted to work with non-existent paths that I will create myself later in the code
00:02 MasterDuke failing does match POSIX like Sam S. said on the ticket
00:03 willthechill joined #perl6
00:03 AlexDaniel good point
00:03 AlexDaniel huggable: dunno
00:03 huggable AlexDaniel, ¯\_(ツ)_/¯
00:03 MasterDuke could add a ':continue-on-error' option
00:05 MasterDuke but the problem is that the non-existent part that you want to fill in later could be a symlink, which could mean that the actual path when created would differ from the pre-resolved path
00:05 pierre_ joined #perl6
00:16 lizmat joined #perl6
00:18 samb1 joined #perl6
00:18 vytas joined #perl6
00:19 timotimo joined #perl6
00:19 dogbert17 joined #perl6
00:19 ugexe joined #perl6
00:20 parisba joined #perl6
00:24 dalek doc: 6366e6b | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod:
00:24 dalek doc: state that state variables are shared between threads
00:24 dalek doc: review: https://github.com/perl6/doc/commit/6366e6b1cc
00:30 pierre_ joined #perl6
00:32 huggable joined #perl6
01:06 pierre_ joined #perl6
01:07 jdv79 joined #perl6
01:07 lizmat And another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2016/05/24/2016-21-a-quick-one-from-houston/
01:18 cpage__ joined #perl6
01:19 AlexDaniel lizmat: perhaps mention bisectable as well? So that people who were not backlogging know that such tool exists
01:20 lizmat AlexDanielL I must have missed that...  could you explain in a few lines what it does ?
01:20 AlexDaniel lizmat: see this http://irclog.perlgeek.de/perl6/2016-05-20#i_12514921
01:24 lizmat AlexDaniel++  # item added to P6W
01:25 AlexDaniel lizmat: the bot is actually called “bisectable”
01:25 AlexDaniel bisectable: help
01:25 bisectable AlexDaniel: Like this: bisect: good=v6.c bad=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT 128181
01:25 AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4
01:25 bisectable AlexDaniel: (2016-03-18) https://github.com/rakudo/rakudo/commit/99cd58b
01:25 lizmat AlexDaniel: updated
01:26 AlexDaniel interesting… that's a different commit
01:27 timotimo maybe because the bot doesn't know about skipping meaningless commits? or something?
01:28 * timotimo AFK
01:33 AlexDaniel 6d120ca is right after 99cd58b, hmm…
01:33 AlexDaniel so it is very close but not quite
01:35 mojca1 joined #perl6
01:46 AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4
01:46 bisectable AlexDaniel: (2016-03-18) https://github.com/rakudo/rakudo/commit/99cd58b
01:46 AlexDaniel ok it's not a random glitch
01:48 ilbot3 joined #perl6
01:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:48 Actualeyes joined #perl6
01:49 geekosaur (quick, someone push a commit and see if it changes again)
01:49 AlexDaniel geekosaur: here is the log https://gist.github.com/AlexDaniel/20c36959588d3b82650350a687f72488
01:50 AlexDaniel let's see if I have an old log…
01:51 AlexDaniel and here is an old one: https://gist.github.com/AlexDaniel/a9f42e46b38a9a3a013ad51a38c3eb75
01:52 AlexDaniel sure the path is different, but I don't think that the answel should be different
01:52 geekosaur right, this one goes 3 - 1 - 0
01:52 geekosaur the newer one goes 3 - 0
01:52 geekosaur I think it's losing one somewhere
01:54 molaf joined #perl6
01:55 geekosaur so, when you bisect an odd-length list, you get [n commits] - center - [n commits]. if it's even length then there's no center commit, you have to take one from one side or the other and the resulting lists are of different lengths --- naïve algorithms tend to miss this and drop the "extra" list item
01:56 AlexDaniel geekosaur: well I'm just using git
01:56 geekosaur oh. heh
01:56 AlexDaniel geekosaur: so if there's a bug, it's in git itself, which does not sound very likely
01:57 AlexDaniel the right answer probably is that there are actually two answers depending on your path… but why?
01:58 geekosaur oh wait, both of those logs end at 6d120ca. and the first one actually tests 99cd58b (but then says 6d120ca is the first bad commit... and that's the one returned above as 99cd58b!)
02:00 adu joined #perl6
02:00 geekosaur https://gist.github.com/AlexDaniel/20c36959588d3b82650350a687f72488#file-gistfile1-txt-L28
02:01 AlexDaniel sometimes I wish git bisect had some “excessive” mode that would do a couple of extra checks in order to find out if something is fishy
02:01 Zoffix joined #perl6
02:01 AlexDaniel ah, damnit
02:01 geekosaur no, I think git is right here
02:01 AlexDaniel geekosaur: ok, that's a bug in my bot
02:01 AlexDaniel my assumption that it will end on the broken commit was wrong
02:01 geekosaur right, if it has one left it has to verify that that one builds or not
02:02 geekosaur if it builds then it's the previous commit to that that is bad
02:02 geekosaur previously tested that is
02:02 AlexDaniel yeah, sure. For some reason I thought that git will switch to the bad commit anyway
02:03 Zoffix stmuk, I changed my feed's format to be the same as another blog in pl6anet, but it's still not showing up. The only difference is I used a different date format, but I think XML::Feed should handle it fine, as it's per Atom spec. Any idea what may be wrong? This is my feed: http://perl6.party/feed/
02:03 AlexDaniel geekosaur: thanks, good catch
02:10 slobo_ joined #perl6
02:15 AlexDaniel kk let's see if it can be reproduced now (it now includes some newer commits, so the path will be different)
02:15 AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4
02:15 bisectable AlexDaniel: (2016-03-18) https://github.com/rakudo/rakudo/commit/99cd58b
02:25 bisectable joined #perl6
02:25 AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4
02:26 bisectable AlexDaniel: (2016-03-18) https://github.com/rakudo/rakudo/commit/6d120ca
02:26 bisectable ..
02:26 bisectable ..diff --git a/src/core/Any-iterable-methods.pm b/src/core/Any-iterable-methods.pm
02:26 bisectable ..index f7768d0..7ae58fb 100644
02:26 AlexDaniel oh noes
02:26 bisectable ..--- a/src/core/Any-iterable-methods.pm
02:29 Zoffix hah
02:30 lizmat afk again&
02:30 japhb .tell masak I've been effectively offline (in the IRC sense) for a week or two.  Oddly, your question about adding benchmarks to perl6-bench happened to show up in my backlog.  Did you get your question answered?
02:30 yoleaux japhb: I'll pass your message to masak.
02:31 bisectable joined #perl6
02:31 AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4
02:31 bisectable AlexDaniel: (2016-03-18) https://github.com/rakudo/rakudo/commit/6d120ca
02:32 AlexDaniel geekosaur++
02:32 bisectable joined #perl6
02:33 AlexDaniel bisect: try { NaN.Rat == NaN; exit 0 }; exit 1
02:33 bisectable AlexDaniel: (2016-05-02) https://github.com/rakudo/rakudo/commit/e2f1fa7
02:33 AlexDaniel ok, this example was wrong
02:33 AlexDaniel bisect: for ‘q b c d’.words -> $a, $b { }; CATCH { exit 0 }; exit 1
02:33 bisectable AlexDaniel: (2016-03-01) https://github.com/rakudo/rakudo/commit/1b6c901
02:41 avenj joined #perl6
02:43 japhb AlexDaniel: That is one extremely cool tool!
02:44 Khisanth joined #perl6
02:44 japhb .tell masak And in general, the answer for perl6-bench these days is "forgiveness >> permission; just ask any committer for help".  I review the commit history whenever I'm around, so if it's really off the wall, I'll notice eventually.
02:44 yoleaux japhb: I'll pass your message to masak.
02:44 ssotka joined #perl6
02:45 ssotka left #perl6
02:52 lizmat joined #perl6
02:52 noganex joined #perl6
02:54 adu joined #perl6
03:01 AlexDaniel japhb: I have an idea on how to make it even more awesome. But that's for tomorrow :)
03:01 japhb ++AlexDaniel in that case.  :-)
03:04 finanalyst joined #perl6
03:09 zakharyas joined #perl6
03:23 pierre joined #perl6
03:54 pierre joined #perl6
04:41 Cabanossi joined #perl6
04:45 cpage_ joined #perl6
04:53 labster joined #perl6
04:55 buharin joined #perl6
05:17 buharin hi
05:17 buharin help me
05:21 M-tadzik joined #perl6
05:21 M-matthew joined #perl6
05:30 _mg_ joined #perl6
05:42 pierre_ joined #perl6
05:50 pierre_ joined #perl6
05:54 CIAvash joined #perl6
06:09 domidumont joined #perl6
06:09 Lucas_One_ joined #perl6
06:14 domidumont joined #perl6
06:15 pRiVi joined #perl6
06:17 literal joined #perl6
06:20 buharin joined #perl6
06:21 mrsolo joined #perl6
06:23 clkao joined #perl6
06:24 sno joined #perl6
06:25 jnap_ joined #perl6
06:27 darutoko joined #perl6
06:30 Fleurety joined #perl6
06:30 nine buharin: what's up?
06:30 * masak .oO( (0, 1, 0) )
06:30 yoleaux 02:30Z <japhb> masak: I've been effectively offline (in the IRC sense) for a week or two.  Oddly, your question about adding benchmarks to perl6-bench happened to show up in my backlog.  Did you get your question answered?
06:30 buharin I am looking for something like
06:30 yoleaux 02:44Z <japhb> masak: And in general, the answer for perl6-bench these days is "forgiveness >> permission; just ask any committer for help".  I review the commit history whenever I'm around, so if it's really off the wall, I'll notice eventually.
06:31 masak (morning, #perl6)
06:31 buharin perl interactive console tutorial
06:31 buharin I see something similar for javascript already
06:31 buharin a couple exercises to make from console
06:31 masak japhb: I noticed I had done commits earlier to that repo; I can use them as a guide ;)
06:32 masak japhb: I did feel the lack of a brief guide for people like me who want to add benchmarks. if I feel really ambitious I might add one.
06:34 mojca joined #perl6
06:39 nine buharin: I'm sorry, I'm not up to speed with our current documentation efforts. But if you stick around the good people working on that will turn up :)
06:41 _mg_ joined #perl6
06:44 firstdayonthejob joined #perl6
06:47 peteretep joined #perl6
06:49 pierre joined #perl6
06:49 _mg_ joined #perl6
06:53 boegel joined #perl6
07:00 _mg_ joined #perl6
07:28 wamba joined #perl6
07:29 bjz joined #perl6
07:32 bjz joined #perl6
07:41 bjz joined #perl6
07:42 dakkar joined #perl6
07:52 RabidGravy joined #perl6
07:54 mojca joined #perl6
07:58 araujo joined #perl6
07:59 bjz joined #perl6
08:12 mr-foobar joined #perl6
08:21 RabidGravy erp
08:23 rindolf joined #perl6
08:24 masak m: say "erp".flip
08:24 camelia rakudo-moar b348f2: OUTPUT«pre␤»
08:26 moritz m: say "erp".comb.pick(*).join
08:26 camelia rakudo-moar b348f2: OUTPUT«per␤»
08:27 masak m: say .roll(6).join given "erp".comb
08:27 camelia rakudo-moar b348f2: OUTPUT«eppepp␤»
08:27 masak eppepp! :D
08:29 RabidGravy quick implement it!!
08:30 RabidGravy haven't spent a documentation day for ages, let's have a look
08:32 RabidGravy http://classicprogrammerpaintings.com/post/144504221020/lead-angular-expert-after-announcement-about
08:34 finanalyst_ joined #perl6
08:35 Actualeyes joined #perl6
08:42 finanalyst_ joined #perl6
08:50 rindolf joined #perl6
08:52 binjoy_ joined #perl6
08:58 pierre_ joined #perl6
09:05 domidumont joined #perl6
09:11 moritz I find http://classicprogrammerpaintings.com/post/144602205627/git-detached-head-state-gustave-moreau-1876 very fitting
09:11 RabidGravy :)
09:12 pierre_ joined #perl6
09:34 RabidGravy computer science people, what the traditional "first class" that is given as the first example of object oriented programming?
09:35 RabidGravy that is one without inheritance
09:38 moritz a classical one is Point with x and y, and then Rectangle with two points
09:38 moritz and then later one can use those with inheritance too
09:40 stmuk animal and vehicle
09:41 RabidGravy yeah, the person -> employee one is used by Stroustrup I think
09:42 RabidGravy just looking at https://github.com/perl6/doc/issues/454 and it might be helpful to have a first example that is familiar
09:44 tadzik I remember the Perl 5 discussion about it in perloop or ootut
09:44 tadzik I think they settled for File and File::MP3?
09:44 tadzik yep, seems like that (ootut)
09:45 tadzik For example, we could create an "File::MP3" class which inherits from "File". An "File::MP3" is-a more specific type of "File". All mp3 files are files, but not all files are mp3 files.
09:45 domidumont joined #perl6
09:48 stmuk oh perldoc perltoot has been renamed!
09:49 stmuk deleted even
09:49 RabidGravy I think in the fullness of time the objects and classes things need to be reworked, as there is a lot of duplication and probable forward reference
09:52 timotimo tadzik: what about a in-memory buffer that's an mp3 file without a file? :P
09:53 RabidGravy isn't that A Buf ;-)
09:53 tadzik timotimo: oh noes. Here lies OOP :(
09:53 timotimo it's a Buf::MP3
09:53 timotimo which can't derive from File, or from File::MP3
09:53 ocbtec joined #perl6
09:55 stmuk I don't think MP3 OO is good for beginners
09:56 stmuk http://perldoc.perl.org/5.8.8/perlboot.html
09:56 stmuk something like that is better
09:58 bjz_ joined #perl6
10:08 Ulti m: say 1e1/0
10:08 camelia rakudo-moar b348f2: OUTPUT«Attempt to divide 10 by zero using /␤  in block <unit> at /tmp/o325RT4u6W line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/o325RT4u6W line 1␤␤»
10:09 Ulti m: say 1e0/0
10:09 camelia rakudo-moar b348f2: OUTPUT«Attempt to divide 1 by zero using /␤  in block <unit> at /tmp/UT6IKbSfo9 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/UT6IKbSfo9 line 1␤␤»
10:09 Ulti even
10:09 Ulti not sure I like we have Inf against ISO expectations just for rationals :/
10:09 Ulti does it even ever come up in a meaningful way?
10:11 Ulti m: say 0/0
10:11 camelia rakudo-moar b348f2: OUTPUT«NaN␤»
10:11 Ulti m: say 1/0
10:11 camelia rakudo-moar b348f2: OUTPUT«Inf␤»
10:11 Ulti is especially not ok in my mind
10:12 Ulti clearly nothing sized bits of nothing should probably not be infinite :S
10:12 timotimo nothing-sized bits of nothing aren't infinite, they are NaN
10:13 Ulti they're all a divide by zero exception :P
10:13 Ulti if we have Inf then 0/0 should be 0
10:13 YoungFrog joined #perl6
10:13 arnsholt I agree it's weird that nums and ints have different behaviour when divided by zero
10:16 arnsholt Not sure what you mean with "nothing sized bits of nothing" though
10:16 Ulti 0 / 0
10:16 RabidGravy I've gone with Point and rectangle
10:16 Ulti an infinitely small piece of nothing is still nothing
10:17 arnsholt No, division by zero is undefined
10:17 Ulti the idea of divide 0 being an infinite slicing of things which is where Inf comes from
10:17 arnsholt I'm more confused by 1/0 being Inf
10:17 Ulti its limit 0
10:17 Ulti essentially
10:17 Ulti plenty of mathmagicians have attempted to deal with /0
10:19 arnsholt The limit of 1/x as x approaches zero can be both Inf and -Inf, depending on which side of zero you approach the limit from
10:19 arnsholt But more importantly, the limit of 1/x as x approaches zero is not the same as 1/0
10:20 xinming joined #perl6
10:20 dalek doc: 150933b | RabidGravy++ | doc/Language/classtut.pod:
10:20 dalek doc: Provide a less elaborate example to start
10:20 dalek doc:
10:20 dalek doc: Closes #454
10:20 dalek doc: review: https://github.com/perl6/doc/commit/150933b027
10:20 Ulti yeah which is why I am outraged the Rat type has this behaviour given its an exact representation :D
10:24 kid51 joined #perl6
10:28 gnull joined #perl6
10:30 eyck joined #perl6
10:31 grondilu joined #perl6
10:37 levine joined #perl6
10:41 levine Hello!
10:42 masak hello levine
10:42 pierre_ joined #perl6
10:45 Actualeyes joined #perl6
10:50 Zoffix bisect: 1/0; exit 0
10:50 bisectable Zoffix: (2016-05-23) https://github.com/rakudo/rakudo/commit/b348f2f
10:51 Zoffix bisect: try { 1/0 }; exit $! ?? 1 !! 0
10:51 bisectable Zoffix: (2016-05-23) https://github.com/rakudo/rakudo/commit/b348f2f
10:51 Zoffix bisect: try { 1/0 }; exit $! ?? 0 !! 1
10:51 bisectable Zoffix: (2015-12-25) https://github.com/rakudo/rakudo/commit/07fecb5
10:51 Zoffix Weird, I could've swore 1/0 used to throw too :/
10:51 masak m: say 1/0
10:51 camelia rakudo-moar b348f2: OUTPUT«Inf␤»
10:52 masak m: say 42/0
10:52 camelia rakudo-moar b348f2: OUTPUT«Inf␤»
10:52 masak m: say Inf/0
10:52 camelia rakudo-moar b348f2: OUTPUT«Attempt to divide Inf by zero using /␤  in block <unit> at /tmp/q1FsLsA8ch line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/q1FsLsA8ch line 1␤␤»
10:55 Zoffix I'm more bugged by the inconsistency than it returning Inf.
10:56 Zoffix m: say 1¹/0
10:56 camelia rakudo-moar b348f2: OUTPUT«Inf␤»
10:56 Zoffix m: say 1e1/0
10:56 camelia rakudo-moar b348f2: OUTPUT«Attempt to divide 10 by zero using /␤  in block <unit> at /tmp/HORDUrrpEd line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/HORDUrrpEd line 1␤␤»
10:56 * Zoffix shakes head
11:00 abraxxa joined #perl6
11:02 masak m: say (1/0).^name
11:02 camelia rakudo-moar b348f2: OUTPUT«Rat␤»
11:03 masak oh, so it is actually a Rat
11:03 masak m: say 1/0 === Inf
11:03 camelia rakudo-moar b348f2: OUTPUT«False␤»
11:03 masak m: say 1/0 == Inf
11:03 camelia rakudo-moar b348f2: OUTPUT«True␤»
11:03 masak coolness
11:09 brabo joined #perl6
11:10 Zoffix m: say 1/0 + .5
11:10 camelia rakudo-moar b348f2: OUTPUT«Inf␤»
11:10 Zoffix m: say 1/0 + τ
11:10 camelia rakudo-moar b348f2: OUTPUT«Inf␤»
11:13 Zoffix :o neat. CryEngine (stuff used by game Crysis) is opensourced now: https://github.com/CRYTEK-CRYENGINE/CRYENGINE
11:13 Zoffix I wonder if it's possible to build something usable from inside Perl 6.
11:13 * Zoffix imagines the headline Perl 6 Crysis :D
11:15 titsuki Hi all. I have a question.
11:15 titsuki m:  my $a = IntStr.new(0,"a"); $a.^methods.say; # The same method name appears twice. Is this a bug ?
11:15 camelia rakudo-moar b348f2: OUTPUT«(new Int Numeric Str perl perl Bridge sqrt sign ACCEPTS sin tan cotan acosech Numeric Str abs base narrow conj atan2 cosec new is-prime pred WHICH asec acotan cosh ceiling acos acosec sech unpolar log10 atanh log exp Rat acosh truncate gist round sinh tanh…»
11:16 masak titsuki: good question.
11:16 moritz not necessarily
11:16 masak titsuki: I suspect not, but I agree it's a little bit weird/confusing
11:16 moritz .^methods includes methods from superclasses
11:16 moritz so there's likely one from IntStr and one from Int
11:17 moritz and maybe one from Str too
11:17 moritz m: say <42>.^methods.grep(*.name eq 'perl).perl
11:17 camelia rakudo-moar b348f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AE1noiOF57␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/AE1noiOF57:1␤------> 3<42>.^methods.grep(*.name eq 'perl).perl7⏏5<EOL>␤    expecting any of:␤        sing…»
11:17 moritz m: say <42>.^methods.grep(*.name eq 'perl').perl
11:17 camelia rakudo-moar b348f2: OUTPUT«(method perl (Mu $: | is raw) { #`(Method|48755976) ... }, method perl (Mu $: | is raw) { #`(Method|42372640) ... }, method perl (Mu $: | is raw) { #`(Method|42132080) ... }).Seq␤»
11:17 titsuki moritz: I see. thanks.
11:17 moritz m: say <42>.^methods.grep(*.name eq 'perl').map({.params[0].type})
11:17 camelia rakudo-moar b348f2: OUTPUT«Method 'params' not found for invocant of class 'Method'␤  in block <unit> at /tmp/MleuPnxcYG line 1␤␤»
11:17 moritz m: say <42>.^methods.grep(*.name eq 'perl').map({.signature.params[0].type})
11:17 camelia rakudo-moar b348f2: OUTPUT«((Mu) (Mu) (Mu))␤»
11:17 moritz huh
11:18 moritz m: say <42>.^methods.grep(*.name eq 'perl').map({.namespace})
11:18 camelia rakudo-moar b348f2: OUTPUT«Method 'namespace' not found for invocant of class 'Method'␤  in block <unit> at /tmp/fjC00jFbQJ line 1␤␤»
11:18 moritz m: say <42>.^methods.grep(*.name eq 'perl').map(*.package)
11:18 camelia rakudo-moar b348f2: OUTPUT«((Mu) (Mu) (Mu))␤»
11:18 moritz huh
11:19 moritz introspection belongs to the MOP, and the MOP is not for the faint of hearted
11:19 * masak .oO( not for the faint of spades )
11:35 llfourn joined #perl6
11:58 |2701 joined #perl6
12:20 sufrostico joined #perl6
12:21 pmurias joined #perl6
12:32 pierre_ joined #perl6
12:32 huggable joined #perl6
12:58 bjz joined #perl6
13:02 sufrostico joined #perl6
13:03 wamba joined #perl6
13:23 kaare_ joined #perl6
13:39 skids joined #perl6
13:43 RabidGravy joined #perl6
13:47 brrt joined #perl6
13:47 ZoffixW joined #perl6
13:47 ZoffixW It's cause it's all the same method with the same sig and the second set of Mus is because you'r calling it on Method objects.
13:47 * ZoffixW pokes camelia
13:47 ZoffixW m: say 42
13:47 camelia rakudo-moar b348f2: OUTPUT«42␤»
13:53 ZoffixW camelia, fine! Be that way! I'll find another bot!
13:54 acrussell joined #perl6
13:59 RabidGravy I'm just starting the docs on IntStr and family, and I'm trying to find something succinct other than allomorph to describe them as a group up front
13:59 cdg joined #perl6
13:59 moritz dual values?
14:00 RabidGravy the problem with "allomorph" is that it's a rather rich metaphor in this case
14:00 acrussell_ joined #perl6
14:00 Juerd Similar things are called dualvar in Perl 5
14:01 RabidGravy yeah,
14:01 moritz but it's really the value that's dual, not the variable
14:01 moritz (also in p5, afaict)
14:01 Juerd moritz: It's a dual-use variable... :)
14:02 cdg joined #perl6
14:02 Juerd moritz: The distinction between values and variables is thin in Perl
14:02 RabidGravy yeah, in P5 it's a trick made possible by the SV having a numeric and string slot
14:02 moritz well, the variable points to just one SV. But I guess one could say that the SV is somehow part of the variable
14:02 brrt ah, but we have another distinction up our sleeve
14:02 brrt value, variable, and container
14:03 Juerd brrt: In that list I'd use 'name' instead of 'variable'
14:03 RabidGravy well IntStr is a type, that can represent values in two ways
14:03 moritz and in the case of IntStr, it's really the value that's dual.
14:04 RabidGravy yeah
14:04 moritz so I'd call the familiy of types "Dual Value Types"
14:04 brrt Juerd: decent point, on the other hand, what is a variable then?
14:04 brrt i've found that 'variable' is the most annoying concept in all of programming
14:04 RabidGravy moritz yeh, I think I'll go with that in the subtitle
14:04 moritz brrt: a variable is a lexical thing in your program code
14:04 brrt precisely because they transparantly yield their value, but aren't their value
14:04 Juerd brrt: A variable is what we call the combination of 2 or more of (value, name, container) :-)
14:05 moritz brrt: in many languages it's not even an object at run time
14:05 RabidGravy also, will document "allomorph" in the glossary with links to the types
14:05 Juerd Possibly even 1 or more
14:05 Juerd RabidGravy: Why do you need a noun?
14:06 brrt well, i know what it is. now try to explain it to someone who doesn't?
14:06 RabidGravy because there is a category of them and I need something to put in a subtitle
14:06 Juerd brrt: I do that with a whiteboard and some markers, but without that I find it hard.
14:07 brrt right... it is hard... and that strategy probably only works well with visual thinking people
14:07 brrt which is a larger set than symbolical thinkers, but still quite short of 'all the people'
14:10 Juerd brrt: The word 'container' usually clarifies a lot for people. They know all kinds of containers from real life.
14:11 brrt hah, but a container from perl6 is a rather unique concept
14:11 brrt the closest parallel i can find in languages are python properties
14:11 Juerd They know that there are containers for specific kinds of contents, they know that there are general-purpose containers. They know that a container can be empty and that it can be called something, but that different people can call it different things. And that it may be referred to by some identifier, possibly a number, which can be registered in shipping logs, etc.
14:11 brrt some people find the properties thing elegant. these people are mad, i tell ya
14:12 brrt that is true, yes
14:12 brrt now please explain the difference between assignment and binding :-P
14:12 brrt personally, i'd probably say that binding is an optimization and you needn't worry about it today
14:13 Juerd Well, that's where you can't easily use 'container' as a real-world metaphor anymore, and 'document' becomes easier :)
14:13 Juerd We're used to copying documents and we're used to referring to them by number. The complex thing here is that in the real world, the copy is referred to by the same numbers...
14:13 brrt hmm
14:14 brrt documents... interesting idea
14:14 Juerd The container would be the carrier, e.g. a sheet of paper
14:14 Juerd And that carries (no pun intended) another complication: a document can span multiple containers, er, carriers :)
14:14 brrt yeah.... hmmm
14:14 lizmat joined #perl6
14:15 * lizmat clickbaits https://p6weekly.wordpress.com/2016/05/24/2016-21-a-quick-one-from-houston/
14:15 * Juerd clicks
14:15 * brrt already read it
14:15 * timotimo also already read it
14:18 RabidGravy on the subject of the allomorphic thingies is <0 1 2 3 4> (for example) the only place that they get made?
14:18 RabidGravy without one doing so explicitly of course
14:21 ZoffixW joined #perl6
14:21 ZoffixW RabidGravy, and MAIN
14:21 ZoffixW s/and/also/; # I don't know if there are more thingies
14:21 ZoffixW perl6 -e 'sub MAIN($x) {say $x.WHAT}' 42
14:21 RabidGravy but would a good generalization be "they are created when the context implies stringification, but the string representation suggests they are numbers"
14:22 ZoffixW lizmat, also already read it :)
14:22 moritz lizmat++
14:23 lizmat_ joined #perl6
14:23 RabidGravy I'm going to run with that and if someone disagrees they can change it later
14:23 ZoffixW I'd say they're created when the source is string-based, but we can ascertain they're infact numbers
14:24 RabidGravy which is the same really just different words
14:24 kaare__ joined #perl6
14:24 ZoffixW RabidGravy, maybe then "the context is stringy"?
14:25 ilmari m: .WHAT.say for "42", «42»
14:25 camelia rakudo-moar b348f2: OUTPUT«(Str)␤(IntStr)␤»
14:25 ZoffixW 🤷
14:28 ZoffixW We have a “Using Perl 6” book? 0.o
14:29 pmurias joined #perl6
14:29 RabidGravy I think the places that happens should be documented properly in those places, rather than in the types as there will be too much repetition
14:29 timotimo ZoffixW: we had one
14:29 ZoffixW Hm, "Latest commit a5f3c17 on Aug 25, 2015"
14:30 ZoffixW Just noticed it mentioned as included in R* in Rakudo's release announcement...
14:30 ZoffixW RabidGravy, +1
14:31 ZoffixW Oh. Though you can do this trick that may be useful to some:
14:31 ZoffixW m: my $x = IntStr.new: 42, 'the answer to life, the universe, and everything'; say $x+0; say $x
14:31 camelia rakudo-moar b348f2: OUTPUT«42␤the answer to life, the universe, and everything␤»
14:33 xinming joined #perl6
14:35 RabidGravy yes, but that's covered by the description of the constructor ;-)  The "magic creation of allomorphic thingies" needs separate mention
14:36 kaare_ joined #perl6
14:36 ZoffixW Ah, I thought you wanted to forgo documenting the IntStr and ilk types altogether
14:37 ilmari no, just document where they are created automatically in those places, rather than in the type documentation
14:38 khw joined #perl6
14:38 RabidGravy please feel free to do this yourself ;-p
14:38 lizmat_ commute&
14:39 RabidGravy It needs to be mention in the types that some things will create them magically, of course the detailed discussion should be in e.g. the quoting documentation
14:41 RabidGravy because the likelihood is that someone is going to find themselves with one in hand and look up the type to find where it come from
14:44 Ven joined #perl6
14:47 Ven o/
14:47 aries_liuxueyang joined #perl6
14:47 ZoffixW \o
14:49 rindolf joined #perl6
14:50 perlpilot \o/
14:50 pmurias \o
14:50 mojca joined #perl6
14:51 pmurias Ven: thanks for the arguments observation, once rakudo.js is at the point I can benchmark things I'll try that and see if it makes a difference
14:56 ptolemarch joined #perl6
14:56 Ven pmurias: I'm always here to bikeshed :)
14:56 zhmylove joined #perl6
14:57 yd joined #perl6
14:59 ZoffixW Is there anyone who knows how to operate dates stuff in Wikipedia editor? On this page, the release says "0 days ago": https://en.wikipedia.org/wiki/Rakudo_Perl_6
15:00 yd left #perl6
15:00 ZoffixW It's listed as this. No idea what's wrong with it: latest release date    = {{Start date and age|2016|05|21}}
15:01 jast looks fine
15:01 jast it's documented here: https://en.wikipedia.org/wiki/Template:Start_date_and_age
15:02 ZoffixW weird. oh well
15:02 kerframil joined #perl6
15:07 Tonik joined #perl6
15:07 cdg joined #perl6
15:12 zhmylove joined #perl6
15:24 b2gills m: .say for <42>.+perl
15:24 camelia rakudo-moar b348f2: OUTPUT«IntStr.new(42, "42")␤42␤"42"␤IntStr.new␤»
15:24 b2gills m: @*ARGS = "42"; sub MAIN ($x) { say $x.^name }
15:24 camelia rakudo-moar b348f2: OUTPUT«IntStr␤»
15:24 Tonik Why is it that  any(...)=all(...)  means  all(any(...), any(...), ...)  but not  any(all(...), all(...), ...)?
15:27 timotimo because all gets interpreted before any
15:34 cognominal joined #perl6
15:35 Tonik mkay
15:35 Tonik when am I gonna be able to land a perl 6 job?
15:40 jameslenz joined #perl6
15:40 llfourn_ joined #perl6
15:40 MadcapJake Shouldn't the IO::Socket::Async example have $conn.close after the $conn.write line?
15:41 MadcapJake First example here: doc.perl6.org/type/IO::Socket::Async
15:42 b2gills Tonik: Give us a minute, it's only been a few months
15:43 Tonik b2gills, that sentence... o_O
15:43 geekosaur MadcapJake, I'd expect that the IO::Socket::Async loses its only reference after the Supply is exhausted, and is closed when it's collected
15:44 MadcapJake geekosaur: if you try the example, it closes like 10 seconds later, while if you add $conn.close it does the right thing and closes the connection after the data is transmitted
15:44 ZoffixW joined #perl6
15:44 geekosaur sounds to me like a bug to be fixed elsewhere
15:44 MadcapJake ahh that could be
15:45 MadcapJake yeah my browser window just keeps spinning while if I add $conn.close, it's instantaneous
15:45 ZoffixW Tonik, when someone decides to give you compensation for writing Perl 6 code? :)
15:45 mspo joined #perl6
15:45 ZoffixW Tonik, I technically have a "Perl 6" job, but I decide which tech we use, for example.
15:45 eyck joined #perl6
15:45 Fleurety joined #perl6
15:45 M-matthew joined #perl6
15:45 dogbert17 joined #perl6
15:45 pecastro joined #perl6
15:46 RabidGravy MadcapJake, I think I omitted the close after testing with telnet rather than the client in the example
15:47 RabidGravy it's sufficiently long ago that I have forgotten the circumstance
15:48 MadcapJake yeah in telnet it just exits the telnet session with $conn.close
15:48 MadcapJake *on the server side
15:49 pmurias joined #perl6
15:50 MadcapJake but it properly handles "Connection: keep-alive" even with $conn.close (and doesn't keep the browser tab spinning)
15:55 Tonik Zoffix, a compensation and an H1B visa, please.  I guess it would be easier if I learned some Java, but I'm prone to depressions so Java is a suicide risk for me
15:56 ZoffixW Tonik, my point was the issue is entirely statistical. There's nothing stopping person A from giving person B some money for coding Perl 6. It's just your probability of finding person A is rather slim, because the language is just like 4 months old.
15:57 ZoffixW Tonik, and I always feel happy when coding Perl 6. Not sure whether that translates into anything positive when one is ill with depression, though.
15:57 Tonik Zoffix, okay, I see what you mean
15:58 ZoffixW :)
15:58 RabidGravy of course getting paid to make Perl 6 could just be a factor of ones latitude to choose a technology for a project
15:59 Tonik Let's hope the current standard perl 6 does turn out to be stable.  Because if you google "perl 6" you find so many conflicting descriptions :(
16:00 ZoffixW Looks fine to me. The first 6 results all contain relevant results.
16:00 ZoffixW Actually, the entire first page looks decent to me.
16:00 MadcapJake your best bet is to build something that makes money with Perl 6, like (a monetized) webapp (with a Perl 6 backend), or some framework that you could provide paid contracting/support for, or perhaps something with crypto-currencies/stock-trading
16:00 RabidGravy it is stable, people write software with it, for a number of application domains it would be a perfect choice even now (assuming you can find enough people who have the skills :)
16:01 Tonik so ~~ is indeed that weird context dependent smart match operator and not just the new way to say =~?
16:02 RabidGravy it's not that weird
16:02 MadcapJake ~~ is sugar for RHS.ACCEPTS(LHS)
16:02 Tonik hm
16:02 ZoffixW Tonik, no, there's no =~ in P6
16:03 MadcapJake What is =~ in Perl 5?
16:03 ZoffixW Binding operator
16:03 MadcapJake So := in P6?
16:03 RabidGravy "Str" ~~ Regex
16:03 ZoffixW used for regex matches, s///. and tr//
16:04 ZoffixW MadcapJake, oh, heh... I guess "binding operator" in P5 is a different term than "binding operator" in P6
16:04 Tonik okay, I'll get back to you when I'm better prepared to voice my reservations about the smart match
16:04 MadcapJake huh, sounds confusing :P
16:04 geekosaur Tonik, the closest thing to perl 5's =~ is perl 6's given
16:05 AlexDaniel joined #perl6
16:05 ZoffixW MadcapJake, "Binary "=~" binds a scalar expression to a pattern match"
16:05 AlexDaniel star: say 1/0
16:05 camelia star-m 2016.01: OUTPUT«Attempt to divide 1 by zero using div␤  in block <unit> at /tmp/CmoXL1k0o3 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/CmoXL1k0o3 line 1␤␤»
16:05 AlexDaniel m: say 1/0
16:05 camelia rakudo-moar b348f2: OUTPUT«Inf␤»
16:05 ZoffixW I knew I wasn't crazy!
16:05 MadcapJake interesting, so it's kind of like `$_ = "string"; s///` ?
16:05 geekosaur but given is more general, as =~ only does something for pattern matches whereas given will "topicalize" (locally bind $_) for any expression
16:05 ZoffixW Tonik, since Perl 6 has proper types, smartmatch isn't at all that crazy
16:05 RabidGravy anyhow, I think I am going to document the "sub val" from allomporphs.pm in the Str documentation
16:06 Guest_85757 joined #perl6
16:06 eyck joined #perl6
16:06 M-matthew joined #perl6
16:06 dogbert17 joined #perl6
16:06 pecastro joined #perl6
16:06 ZoffixW RabidGravy, FWIW, I think I recall someone documenting it somewhere already
16:06 geekosaur perl 5 made an abortive attempt to make $_ be more amenable to general binding/topicalization, but it broke way too much stuff
16:06 RabidGravy yeah the P5 smartmatch had too many flaky heuristics
16:07 MadcapJake The one weird thing to me about ~~ is that it calls ACCEPTS on the RHS with LHS as arg rather than the obverse
16:07 zhmylove joined #perl6
16:07 RabidGravy y'see that makes perfect sense to me
16:07 AlexDaniel bisect: say 1/0; CATCH { exit 0 }; exit 1
16:07 bisectable AlexDaniel: (2016-05-22) https://github.com/rakudo/rakudo/commit/7a4ca4d
16:07 AlexDaniel ZoffixW: there you go.
16:08 Tonik Zoffix, is 42 different from "42" now?
16:08 ZoffixW Tonik, waaay different :)
16:08 Tonik :(
16:08 ZoffixW Tonik, 42 is an Int, and "42" is a Str :)
16:08 MadcapJake RabidGravy: how does it? Seems almost right-associative in a language that's mostly left-associative
16:08 ZoffixW m: say so "0"; say so 0;
16:08 camelia rakudo-moar b348f2: OUTPUT«True␤False␤»
16:08 geekosaur isn't it an allomorphic IntStr?
16:08 geekosaur m: "42".WHAT.say
16:08 camelia rakudo-moar b348f2: OUTPUT«(Str)␤»
16:08 ZoffixW Tonik, ^ the eval above is the biggest difference. "0" is no longer false
16:08 geekosaur hm, nope
16:08 MadcapJake geekosaur: only if you do val("42") I think
16:09 ZoffixW m: say val '42'
16:09 camelia rakudo-moar b348f2: OUTPUT«42␤»
16:09 ZoffixW m: say val('42').WHAT
16:09 camelia rakudo-moar b348f2: OUTPUT«(IntStr)␤»
16:09 ZoffixW m: say 42 + "42"
16:09 camelia rakudo-moar b348f2: OUTPUT«84␤»
16:09 MadcapJake m: say val('42') + val('42')
16:09 camelia rakudo-moar b348f2: OUTPUT«84␤»
16:09 ZoffixW Tonik, ^ but you can still do things that make sense even if it's a Str tho. Look up the Cool type
16:09 ZoffixW huggable, Cool
16:09 huggable ZoffixW, Value that can be treated as a string or number interchangeably: https://docs.perl6.org/type/Cool
16:10 MadcapJake huggable: hug ZoffixW
16:10 * huggable hugs ZoffixW
16:10 Tonik it took me a while to accept the idea that a 'scalar' is a string and a number at the same time and it's actually pretty cool, now I have to unlearn that :/
16:10 AlexDaniel huggable: hug bisectable
16:10 * huggable hugs bisectable
16:10 AlexDaniel <3
16:10 geekosaur Tonik, you won't have to unlearn that much given Cool, that's kinda the point of it
16:10 MadcapJake Tonik: just transpose what you think there to mean Cool
16:10 RabidGravy Zoffix, I don't think it's in there from a grep of the docs and so on
16:10 geekosaur you *can* be more precise with types, but you don't *have* to be
16:11 ZoffixW RabidGravy, oh, my bad. I must be misremembering
16:11 MadcapJake Isn't Cool an abbreviation for something?
16:12 ZoffixW Yeah.
16:12 ZoffixW S99#Cool
16:12 AlexDaniel ZoffixW: it's kinda interesting that with bisect you can search for commits :)
16:12 MadcapJake syn just says "I'm cool with an argument of that type."
16:12 ZoffixW Hm.. no bot. It might be there
16:12 RabidGravy no worries, it's just a factory for allomorphs anyway, not a great deal to document
16:12 AlexDaniel ZoffixW: I mean, for features that were implemented, not just bugs
16:12 ZoffixW AlexDaniel, yeah
16:12 Tonik google image search for 'cool' turns up some psychedelic pics
16:13 ZoffixW MadcapJake, "Convenient OO Loop"
16:13 MadcapJake the header on design.perl6.org is a great idea, but the color is awful and why doesn't it actually link to docs and test suite? Without links we're hardly encouraging people to continue searching, rather just closing the tab.
16:14 ZoffixW m: my $x = IntStr.new: 42, 'the answer to life, the universe, and everything'; say $x+0; say $x
16:14 camelia rakudo-moar b348f2: OUTPUT«42␤the answer to life, the universe, and everything␤»
16:14 MadcapJake ZoffixW: ah thanks!
16:14 ZoffixW Tonik, ^ that's the equivalent of the P5's dualvar more or less :)
16:14 andreoss` joined #perl6
16:14 pierre_ joined #perl6
16:14 MadcapJake In fact there already is a warning message at the bottom of the intro material (perhaps converge on one?)
16:15 MadcapJake (the latter is much nicer looking though less obvious)
16:16 ZoffixW Which reminds me... my fix yesterday to show that message on individual pages didn't come through. For some reason the generating script still uses the old name of the stylesheet :/
16:16 ZoffixW MadcapJake, well, the argument that introduced the bright red message was that the existing message is not obvious enough :)
16:17 MadcapJake I figured that, but the new one is just eye-bleed worthy. But more importantly, including the links to said "better destinations" is needed
16:17 ZoffixW And by the script I mean this one and ``--css /perl-with-historical-message.css'' command line switch that doesn't seem to be being passed to the generating thing that's actually running.  https://github.com/perl6/mu/blob/master/util/update-design.perl6.org.sh#L38
16:18 ZoffixW MadcapJake, ah, as for the links: the message is generated by CSS which doesn't allow to generate markup :)
16:18 MadcapJake ZoffixW: why use CSS to generate those? o_O
16:20 ZoffixW MadcapJake, because the docs are generated by a script that uses a Perl 5 module, and I don't think it lets you add custom markup anywhere you want.
16:20 ZoffixW c'mon, using a presentational tool for creating content is what all the cool kids do these days! ;)
16:21 MadcapJake lol
16:21 ZoffixW I guess this can be used: https://metacpan.org/pod/Pod::Simple::HTML#html_header_after_title
16:21 MadcapJake ZoffixW: here's the front page https://github.com/perl6/mu/blob/4ab82aae42ddbdaff4189a6a24024b3e07fc387a/docs/feather/syn_index.html
16:23 ZoffixW Really? How come not this: https://github.com/perl6/specs/blob/master/html/index.html
16:23 MadcapJake I searched for the word "radically" as it's a rare word on design.perl6.org and that is the only place it shows up :P
16:24 MadcapJake It looks like there is another script for updating the site: https://github.com/perl6/mu/blob/master/docs/feather/script/update-syn
16:24 ZoffixW MadcapJake, I think `feather` no longer exists.
16:25 MadcapJake but that html file is definitely used as, like I said, it's the only place where the word "radically" is written in the whole perl6/mu repo
16:25 ZoffixW there's radically in perl6/mu repo
16:25 ZoffixW errr *perl6/spec repo
16:26 ZoffixW I think what you dug up is something that used to run on the feather server
16:26 MadcapJake ahh I see
16:26 MadcapJake well I searched in the repo of the original link you sent wrt this
16:26 MadcapJake so then the same file is really https://github.com/perl6/specs/blob/master/html/index.html in perl6/spec
16:27 ZoffixW Yeah, the update script is in mu.. or at least it should be...
16:27 ZoffixW Can someone with access to hack check whether the local script has this line in change in it? The -css /blah blah bit? https://github.com/perl6/mu/blob/master/util/update-design.perl6.org.sh#L38
16:27 ZoffixW It needs to be --css /perl-with-historical-message.css not --css /perl.css
16:28 marc____ joined #perl6
16:29 MadcapJake I would but I forgot my password xD
16:29 ZoffixW pfft.. passwords. So uncivilized.
16:29 marc____ Hi, I am newbie in perl6. What is the status and feature of perl6 for high performance web sites? G
16:30 marc____ Congratulation for the great work.
16:30 ZoffixW marc____, not there yet. Although, the current work is focused on performance, so try checking back in a few months.
16:32 MadcapJake I'd say that Perl 6 has two things that support webapp dev: an excellent concurrency model and strong support for rapid prototyping
16:32 huggable joined #perl6
16:33 MadcapJake Has anyone tried any threading benchmarks after the latest moarvm work?
16:33 xinming joined #perl6
16:33 ZoffixW My latest attempt to build a Perl 6 web app resulted in my server eating 2GB of RAM in 1 hour and swapping like a hot '60s couple.
16:34 ZoffixW Granted, the issue may be in my code or in the module I use, but still :(
16:34 MadcapJake two questions: before or after the frame work in moarvm? and what modules were you using?
16:36 ZoffixW MadcapJake, I believe before, because it wasn't merged yet. And I was using Bailador. I saved the old code in a branch: https://github.com/zoffixznet/perl6.party/tree/perl6-version
16:36 ZoffixW But the reason I kinda just gave up on it is 'cause two other of my scripts were leaking too.
16:37 ZoffixW huggable was (is?) leaking some on each message
16:37 ZoffixW http://irclog.perlgeek.de/perl6/2016-05-08#i_12449184
16:37 ZoffixW On the bright side, that prompted me to learn C :) Almost done with K&R
16:39 MadcapJake Last time I tried Bailador was pre-christmas so I'm not too experienced with it.
16:40 ZoffixW You can't do concurrent stuff with it, which is kinda a bummer.
16:41 ZoffixW Though I think ufobat is working to address that.
16:41 MadcapJake yeah big time!
16:41 MadcapJake HTTP::Server::Tiny does concurrency (Crust uses it and last I checked it was moderately fast)
16:42 MadcapJake I'm gonna see if I can whip up a little webapp today
16:42 ZoffixW \o/
16:43 * [Coke] yawns
16:46 MadcapJake rakudobrew build moar seems faster: 5m 46s
16:46 dogbert2 joined #perl6
16:53 mspo left #perl6
16:59 tbrowder joined #perl6
17:03 tbrowder g'day folks, a doc proposal: please check out my rough proposal at gist <https://gist.github.com/tbrowder/c062e40c7228f1ad91ff69eabfc1c3f8>. It references my "perl6-docs" branch at <https://github.com/tbrowder/doc/tree/perl6-docs>. It is a WIP but in shape to run and look at locally.  Basically it adds a new tab on the doc home page with info on the Perl 6 executable. etc.
17:03 mojca joined #perl6
17:08 ZoffixW joined #perl6
17:09 ZoffixW tbrowder, +1 on the inclusion, but -1 on 'Perl 6' for the tab name, as it implies other tabs are not for Perl 6.
17:09 ZoffixW Maybe "Programs", "Executables", "Tools", "Apps" *shrug*
17:11 ZoffixW "Perl 6 Programs" like you have on HomePage.pod sounds good to me
17:15 pierre joined #perl6
17:16 kurahaupo joined #perl6
17:28 dalek doc: b02c2f0 | RabidGravy++ | doc/Type/ (4 files):
17:28 dalek doc: Add doc pages for "allomorphs"
17:28 dalek doc:
17:28 dalek doc: Covers #418
17:28 dalek doc: review: https://github.com/perl6/doc/commit/b02c2f0c74
17:28 dalek doc: 819be1a | RabidGravy++ | doc/Type/Str.pod:
17:28 dalek doc: Document the val() from allomorphs.pm
17:28 dalek doc:
17:28 dalek doc: Covers #418
17:28 dalek doc: review: https://github.com/perl6/doc/commit/819be1aea2
17:28 dalek doc: 5f2684c | RabidGravy++ | doc/Language/glossary.pod:
17:28 dalek doc: add allomorph to glossary
17:28 dalek doc:
17:28 dalek doc: covers #418
17:28 dalek doc: review: https://github.com/perl6/doc/commit/5f2684cd9c
17:28 dalek doc: 66b0beb | RabidGravy++ | type-graph.txt:
17:28 dalek doc: Add the *Str to type graph
17:28 dalek doc: review: https://github.com/perl6/doc/commit/66b0bebd5f
17:34 RabidGravy what larks
17:39 RabidGravy gosh that got in quickly
17:40 domidumont joined #perl6
17:41 labster joined #perl6
17:43 perlpilot RabidGravy++
17:45 buharin joined #perl6
17:47 sno joined #perl6
17:48 * grondilu is watching https://youtu.be/CEs1g94qNso.  He didn't know :from<Perl5> was already working.
17:52 willthechill joined #perl6
17:59 buharin hello my friends :)
18:02 tbrowder ZoffixW: I like "Programs" (or "Executables") but young people may like "Apps" (too tablety [word of the day TM] for me).
18:03 dalek doc: 16ace3b | RabidGravy++ | doc/Language/classtut.pod:
18:03 dalek doc: Remove a superfluous >
18:03 dalek doc: review: https://github.com/perl6/doc/commit/16ace3ba07
18:06 itaipu joined #perl6
18:08 Xliff How do I go about writing a module that needs access to an accessory file?
18:09 Xliff I'm deploying a module that needs an .sqlite3 file. Is there a unified way to access it without hard coded paths?
18:14 RabidGravy if you want to distribute the file with your module then you can stick it in the resources directory then get the installed path from %?RESOURCES
18:15 RabidGravy (you specify the name in the META6 resources list)
18:16 eyck joined #perl6
18:17 dalek doc: 0f205bd | RabidGravy++ | doc/Language/classtut.pod:
18:17 dalek doc: Grr, not tabs
18:17 dalek doc: review: https://github.com/perl6/doc/commit/0f205bd295
18:21 spider-mario joined #perl6
18:22 _mg_ joined #perl6
18:25 gorgonzola joined #perl6
18:26 timotimo grondilu: has been working for at least a year now i believe
18:26 timotimo grondilu: we haven't been making enough noise, apparently!
18:27 gorgonzola hello all! Just a quick question that I can't seem to find in the docs: Do I need to recompile to change the rakudo backend from moarVM to JVM when using debian built packages? The instructions to switch that I've found so far make reference to Configure.pl at compile time, but since they are rather old, I was wondering if this was still necessary or not. Thanks!
18:28 jdv79 isn't there a perl6-j exec?
18:28 jdv79 i think perl6 is just a symlink to that; maybe
18:30 jdv79 oh, its just a copy it seems
18:32 gorgonzola mmm, i don't see any -j in the man. are those command line switches documented somewhere?
18:34 ZoffixW joined #perl6
18:34 gorgonzola There's also --target=JVM, but what I'm reading seems to indicate that this is for different stages
18:34 geekosaur it's not a switch, it's part of the name
18:34 ZoffixW gorgonzola, it's not a switch, it's the name of the executable 'perl6-j'
18:34 gorgonzola OOH.
18:35 ZoffixW Not sure whether it's included in debian packages tho
18:35 gorgonzola it is not
18:35 jdv79 is there a seperate pacakage for it or is it just unpackaged?
18:36 gorgonzola ok, so it seems rakudo backends are defined at compile time, and the deb packages are compiled against moarvm.
18:36 timotimo i wonder if debian ships a version of rakudo that's fine with rakudo-j?
18:36 jdv79 unless you need a pkg its fairly trivial to compile from source iirc.  haven't does the java one in a year though so not sure .
18:36 gorgonzola jdv79 so far, i've only found 'rakudo' in deb archives, and that one pulls in moarvm
18:37 jdv79 plus iirc the java version isn't as compliant as the moar one so you're in less stable waters
18:37 timotimo compiling rakudo-jvm is easy-peasy, but you'll need to check out a slightly older commit to have it actually compile 100%
18:37 gorgonzola jdv79, oh sure, I just wanted to make sure that that was what i needed to do
18:37 gorgonzola timotimo, cool, i'll look into it.
18:37 gorgonzola thank you all for the help!
18:38 timotimo 2016.04 is probably enough to get jvm
18:38 gorgonzola (like, for real: I'm impressed with the speed with which y'all chipped in. I've been away from the perl community for a long time, and these five minutes have basically reassured me that this is still an awesome community. keep it up!)
18:39 gorgonzola aight, i'll go play with it some more and come back if i have any other issues. bye!
18:40 ZoffixW gorgonzola, there are two communities now :) Perl 5 is still chugging along with yearly releases (their channel is #perl)
18:40 timotimo there's a few perl5-community-people in here, too, though
18:41 mst there's some overlap, but while lots of people use both languages, there are fewer people who are proeprly active in both *communities*
18:41 * mst considers this state of affairs totally reasonable
18:45 dalek doc: ee9ffbf | (Christopher Bottoms)++ | doc/Language/regexes.pod:
18:45 dalek doc: Fixed comment, minor wording edit
18:45 dalek doc: review: https://github.com/perl6/doc/commit/ee9ffbf9e4
18:45 dalek doc: 061bdcc | RabidGravy++ | doc/Language/regexes.pod:
18:45 dalek doc: Merge pull request #546 from molecules/patch-2
18:45 dalek doc:
18:45 dalek doc: Fixed comment, minor wording edit
18:45 dalek doc: review: https://github.com/perl6/doc/commit/061bdccac4
18:46 acrussell joined #perl6
18:47 cpage_ joined #perl6
18:47 * b2gills .oO( That's something that I wouldn't have expected, mst and totally reasonable on the same line )
18:48 buharin hi
18:48 buharin help me please
18:48 b2gills with what?
18:48 buharin I am looking for job
18:49 perlpilot buharin: jobs.perl.org for perl jobs in general
18:49 buharin ya I know
18:49 buharin but I need just for now
18:49 buharin I will code some part of code and you buy me a food from Tesco
18:49 buharin on deliver
18:50 ZoffixW Aren't you in Poland?
18:50 buharin yeah
18:50 lizmat joined #perl6
18:50 buharin I am
18:50 ZoffixW :o there are Tescos in Poland :o
18:50 buharin yep
18:50 buharin xD
18:50 buharin many Tescos
18:50 buharin hah
18:50 * lizmat waves from IAH with 3% battery left
18:51 * ZoffixW waves back
18:54 pecastro joined #perl6
18:55 ZoffixW 1% of battery per minute :P
18:58 masak mst: I'm not so active in the Perl 5 community... but I sometimes feel I'm trying to admire it from as short a distance as possible :)
18:58 mr-foobar joined #perl6
18:59 perlpilot What does it mean to be "active in the community" anyway?
19:00 ZoffixW Answer questions. Write blogs. Spread the word, methinks.
19:00 ZoffixW Maybe write modules too
19:00 ZoffixW Give talks and attend them.
19:01 moritz perlpilot: it can be as simple as answering questions
19:01 moritz attending workshops/conferences
19:01 moritz write a line of docs here and there
19:01 moritz any of those qualify, IMHO
19:02 perlpilot What would you call "using Perl for 24 years and helping people on one #perl or another for 20+ years"?  :)
19:02 kaare_ joined #perl6
19:03 * ZoffixW tries to come up with an "you're old" joke and fails...
19:03 perlpilot I wouldn't consider myself "active" really.   Maybe off and on.  But mostly I'm present in the community.  :)
19:03 ZoffixW :)
19:04 pochi what's the perl6 way of doing 'use FindBin qw($Bin); use lib qq($Bin/../lib)'?
19:05 perlpilot pochi: good question.   I think there's some built-in thing that eludes me right now.
19:05 ZoffixW m: $*PROGRAM-NAME # unsure
19:05 camelia rakudo-moar b348f2: ( no output )
19:05 ZoffixW m: say $*PROGRAM-NAME # unsure
19:05 camelia rakudo-moar b348f2: OUTPUT«/tmp/Hb8XHMqwli␤»
19:06 ZoffixW m: say $*PROGRAM # unsure
19:06 camelia rakudo-moar b348f2: OUTPUT«"/tmp/PQz2FSC3He".IO␤»
19:07 perlpilot m: say $*PROGRAM.basename
19:07 camelia rakudo-moar b348f2: OUTPUT«xHBV3oaRvf␤»
19:07 perlpilot m: say $*PROGRAM.dirname
19:07 camelia rakudo-moar b348f2: OUTPUT«/tmp␤»
19:08 pochi and combine it with File::Spec?
19:08 perlpilot m: say $*PROGRAM.dirname.IO.parent.child("lib");
19:08 camelia rakudo-moar b348f2: OUTPUT«"/lib".IO␤»
19:09 perlpilot :-)
19:09 pochi cool :-)
19:09 ZoffixW huggable, FindBin :is: dirname.
19:09 huggable ZoffixW, Added FindBin as dirname.
19:09 ZoffixW huggable, FindBin :is: m: say $*PROGRAM.dirname.IO.parent.child("lib");
19:09 huggable ZoffixW, Added FindBin as m: say $*PROGRAM.dirname.IO.parent.child("lib");
19:12 dalek doc: 48c9826 | (Jan-Olof Hendig)++ | doc/Type/Seq.pod:
19:12 dalek doc: Fixed broken link
19:12 dalek doc: review: https://github.com/perl6/doc/commit/48c9826894
19:13 RabidGravy I just use $*PROGRAM.parent.child("lib")
19:14 perlpilot yeah, that.
19:14 ZoffixW That's different tho:
19:14 ZoffixW m: say $*PROGRAM.parent.child("lib")
19:14 camelia rakudo-moar 19e91e: OUTPUT«"/tmp/lib".IO␤»
19:14 ZoffixW m: say $*PROGRAM.dirname.IO.parent.child("lib")
19:14 camelia rakudo-moar 19e91e: OUTPUT«"/lib".IO␤»
19:14 ZoffixW m: $*PROGRAM.parent.parent.child("lib")
19:14 camelia rakudo-moar 19e91e: ( no output )
19:14 ZoffixW m: say $*PROGRAM.parent.parent.child("lib")
19:14 camelia rakudo-moar 19e91e: OUTPUT«"/lib".IO␤»
19:14 ZoffixW \o/
19:15 perlpilot some combination of .parent and .child  and maybe with a .canonpath or .abspath thrown in for good measure.
19:15 ZoffixW uggable, FindBin :is: m: say $*PROGRAM.parent.parent.child("lib"); # same as: use FindBin qw($Bin); use lib qq($Bin/../lib)
19:15 ZoffixW huggable, FindBin :is: m: say $*PROGRAM.parent.parent.child("lib"); # same as: use FindBin qw($Bin); use lib qq($Bin/../lib)
19:15 huggable ZoffixW, Added FindBin as m: say $*PROGRAM.parent.parent.child("lib"); # same as: use FindBin qw($Bin); use lib qq($Bin/../lib)
19:16 perlpilot (I'm really not sure how this behaves in the presence of symlinks and such)
19:16 RabidGravy ZoffixW, you understand how the docs are generated,  if I want something in a language/ page indexed as a sub - is it X<sub foo|sub> ?
19:16 * perlpilot goes back to writing some Perl 5 code
19:17 pochi I had to 'use lib $*PROGRAM.dirname.IO.parent.child("lib").path'
19:17 pochi then the following use'ings worked fine
19:18 pochi parent.parent also seems to work
19:21 ZoffixW RabidGravy, I don't understand, but my wild guess would be X<foo|sub> or X<foo|subroutines> I'm unsure. My "knowledge" involves running grep -Ri 'X<' .  in the doc repo and copying that it finds :)
19:22 RabidGravy Oh right, that's what I'm doing
19:22 RabidGravy :)
19:32 mojca joined #perl6
19:33 dogbert2 o/ #perl6
19:35 dogbert2 RabidGravy: nice job with the Allomorphs
19:35 RabidGravy I'd actually been meaning to do it for ages
19:36 RabidGravy thought I'd have a documentation day
19:36 dogbert2 nice, found a tiny problem though :), this link: http://doc.perl6.org/language/glossay#Allomorph
19:36 RabidGravy typo
19:36 RabidGravy missing r
19:37 dogbert2 yep, should I fix it?
19:37 RabidGravy It should be http://doc.perl6.org/language/glossary#Allomorph
19:37 RabidGravy sure
19:37 dogbert2 will do
19:39 tony-o RabidGravy: 404
19:39 dogbert17 joined #perl6
19:40 * dogbert17 nick corrected
19:40 RabidGravy no http://doc.perl6.org/language/glossary#Allomorph is fine, just missed a character
19:42 tony-o oh, didn't see that correction come
19:43 dalek doc: f7eea45 | (Jan-Olof Hendig)++ | doc/Type/ (4 files):
19:43 dalek doc: Fixed typo
19:43 dalek doc: review: https://github.com/perl6/doc/commit/f7eea455f2
19:44 acrussell joined #perl6
19:46 wamba joined #perl6
19:47 jjido joined #perl6
19:54 lizmat joined #perl6
19:58 |2701 joined #perl6
19:59 jjido joined #perl6
20:03 rindolf joined #perl6
20:04 lizmat commute to FRA&
20:10 cdg joined #perl6
20:16 firstdayonthejob joined #perl6
20:21 pierrot joined #perl6
20:28 cpage_ joined #perl6
20:30 vendethiel joined #perl6
20:31 Ven joined #perl6
20:31 dalek doc: 76cacac | (Sterling Hanenkamp)++ | doc/Language/functions.pod:
20:31 dalek doc: fix small double is typo
20:31 dalek doc: review: https://github.com/perl6/doc/commit/76cacac203
20:32 huggable joined #perl6
20:36 hoelzro do we have a good module for manipulating a DOM, like Mojo::DOM? I want to parse a bunch of HTML files and do something like $dom.find('div#mw-normal-catlinks')
20:38 * timotimo didn't have to do that kind of stuff yet
20:42 AlexDaniel hoelzro: yea, XML?
20:42 AlexDaniel hoelzro: https://github.com/supernovus/exemel
20:42 AlexDaniel hoelzro: if you want to parse HTML then use https://github.com/Skarsnik/perl6-gumbo
20:42 hoelzro AlexDaniel: let's hope that my HTML is also well formed XML =)
20:42 AlexDaniel hoelzro: use gumbo for that
20:42 hoelzro ah, thanks!
20:42 AlexDaniel hoelzro: gumbo returns XML::Document
20:42 hoelzro wonderful
20:43 AlexDaniel hoelzro: so the xml stuff I linked above still applies, even if you have some weird html5 stuff
20:43 hoelzro that's almost exactly what I needed, thanks AlexDaniel!
20:44 hoelzro all I need (well, want) now is a way to search using CSS3
20:44 richi235 joined #perl6
20:44 AlexDaniel hoelzro: you meant this? https://github.com/supernovus/perl6-xml-query
20:45 pochi m: class Foo { has Code $.cb; method foo($x) { $.cb($x) } } Foo.new( cb => -> $z { say $z } ).foo("hello world")
20:45 camelia rakudo-moar 19e91e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uOzK6Vzzb5␤Strange text after block (missing semicolon or comma?)␤at /tmp/uOzK6Vzzb5:1␤------> 3Code $.cb; method foo($x) { $.cb($x) } }7⏏5 Foo.new( cb => -> $z { say $z } ).foo("␤    expecting an…»
20:45 hoelzro AlexDaniel: wow, you're making my day =)
20:45 pochi m: class Foo { has Code $.cb; method foo($x) { $.cb($x) } }; Foo.new( cb => -> $z { say $z } ).foo("hello world")
20:45 camelia rakudo-moar 19e91e: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in method foo at /tmp/oFXTkldTO5 line 1␤  in block <unit> at /tmp/oFXTkldTO5 line 1␤␤»
20:45 pochi is that a bug?
20:46 AlexDaniel m: class Foo { has Code $.cb; method foo($x) { $!cb($x) } }; Foo.new( cb => -> $z { say $z } ).foo("hello world")
20:46 camelia rakudo-moar 19e91e: OUTPUT«hello world␤»
20:47 pochi why isn't my version working?
20:48 jjido joined #perl6
20:49 masak m: class Foo { has Code $.cb; method foo($x) { $.cb()($x) } }; Foo.new( cb => -> $z { say $z } ).foo("hello world")
20:49 camelia rakudo-moar 19e91e: OUTPUT«hello world␤»
20:50 masak pochi: because `$!cb` is an attribute but `$.cb` is a *call* (to an accessor). two sets of parens work, as above: first set for the accessor, and second set to invoke the extracted Code object
20:51 pochi ah
20:51 pochi I thought they were regular variables
20:51 masak most of the time, the manage to look like them
20:52 pochi sanity restored :-)
20:52 masak something like `$.attr` is always a (late-bound) invocation
20:52 timotimo right, because subclasses are allowed to override the behaviour
20:53 masak I find I never use that in practice :)
20:53 masak but yes, that's possible
20:53 masak I find I fret more about whether to use `$!foo` versus `$.foo`, than I do actually using the late-bound possibilities
20:58 masak perhaps because I don't rely much on subclassing in the first place (though it does have its uses)
20:59 timotimo right
21:04 Ven joined #perl6
21:08 itaipu joined #perl6
21:22 TEttinger joined #perl6
21:25 [Coke] ugh. went to test port for mojca, had to reinstall everything because of OS upgrade
21:31 dalek doc: f994048 | RabidGravy++ | doc/Language/nativecall.pod:
21:31 dalek doc: Add some documentation of the exported subs
21:31 dalek doc:
21:31 dalek doc: covers #537
21:31 dalek doc: review: https://github.com/perl6/doc/commit/f994048c63
21:37 AlexDaniel joined #perl6
21:42 pmurias joined #perl6
21:48 dalek doc: fcfeaf7 | RabidGravy++ | doc/Language/nativecall.pod:
21:48 dalek doc: The search result was weird
21:48 dalek doc: review: https://github.com/perl6/doc/commit/fcfeaf70f5
21:51 buharin_ joined #perl6
21:55 wamba joined #perl6
21:57 mojca joined #perl6
21:59 xiaomiao joined #perl6
22:00 mojca1 joined #perl6
22:03 pmurias buharin_: which city in Poland are you in?
22:09 kid51 joined #perl6
22:20 skids joined #perl6
22:21 Sgeo joined #perl6
22:38 tadzik . o O ( there's literally like 5 of us! )
22:43 sftp joined #perl6
23:26 _28_ria joined #perl6
23:39 gfldex that's a nice operator that is hiding in plain sight http://stackoverflow.com/questions/37423541/define-a-subroutine-that-can-be-called-via-method-syntax/37425138#37425138
23:45 Zoffix What's nice about it?
23:47 Zoffix If I were logged in, I'd down vote that answer. It adds operator that confusingly looks like a method call, does the opposite operation than what's asked, and isn't a method call, which prevents chaining.
23:48 gfldex It appears to solve a problem while creating a completely new class of unreadability. Some days I'm inclined to admire pure evil for it's ingenious apparent solutions.
23:49 Zoffix Well, never mind the second point (as the OP themselves is confused), but the rest stands.
23:50 Zoffix gfldex, but why not go with the simplest solution, which I now note is lacking in your answer as well:
23:50 Zoffix m: 125.&sqrt.say
23:50 camelia rakudo-moar 19e91e: OUTPUT«11.1803398874989␤»
23:51 gfldex i believe my 3rd example is just that
23:51 Zoffix m: sub sq { $^a² }; say 4.&sq
23:51 camelia rakudo-moar 19e91e: OUTPUT«16␤»
23:52 Zoffix gfldex, how come it's a method?
23:52 Zoffix Are there some benefits as opposed to the last eval above?
23:52 gfldex the OP asked for a method, so he got one.
23:52 Zoffix ¯\_(ツ)_/¯
23:52 gfldex i'm not sure but a method might have access to private attributes
23:57 Zoffix m: class Foo { has $!bar = 'meow'; }; my method baz { say $!bar }; Foo.new.&baz
23:57 camelia rakudo-moar 19e91e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/950CT13PEv␤Cannot understand $!bar in this context␤at /tmp/950CT13PEv:1␤------> 3r = 'meow'; }; my method baz { say $!bar7⏏5 }; Foo.new.&baz␤»
23:58 Zoffix m: class Foo { has $.bar = 'meow'; }; my method baz { say $.bar }; Foo.new.&baz
23:58 camelia rakudo-moar 19e91e: OUTPUT«meow␤»
23:58 Zoffix m: class Foo { has $.bar = 'meow'; }; sub baz { say $.bar }; Foo.new.&baz
23:58 camelia rakudo-moar 19e91e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qZ1SVq3bGw␤Variable $.bar used where no 'self' is available␤at /tmp/qZ1SVq3bGw:1␤------> 3s $.bar = 'meow'; }; sub baz { say $.bar7⏏5 }; Foo.new.&baz␤    expecting any of:␤        argument list…»
23:58 Zoffix gfldex++
23:59 Zoffix m: class Foo { has $.bar = 'meow'; }; sub baz { say $^a.bar }; Foo.new.&baz
23:59 camelia rakudo-moar 19e91e: OUTPUT«meow␤»

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

Perl 6 | Reference Documentation | Rakudo