»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
AlexDaniel MasterDuke: I have no idea why it took so long to understand that diff… 00:00
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 left, willthechill joined
AlexDaniel good point 00:03
huggable: dunno
huggable AlexDaniel, ¯\_(ツ)_/¯
MasterDuke could add a ':continue-on-error' option
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
00:05 pierre_ joined 00:08 Celelibi_ is now known as Celelibi 00:09 pierre_ left 00:10 kurahaupo left 00:16 lizmat joined 00:18 samb1 joined, vytas joined 00:19 timotimo joined, dogbert17 joined, ugexe joined 00:20 parisba joined 00:21 parisba is now known as Guest20361
dalek c: 6366e6b | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod:
state that state variables are shared between threads
00:24
00:30 pierre_ joined 00:32 huggable left, huggable joined 00:39 BrassLantern left 00:45 cpage_ left, cpage__ is now known as cpage_ 00:54 Guest20361 is now known as parisba_ 01:02 jdv79_ left, diakopte1 is now known as diakopter 01:05 pierre_ left 01:06 pierre_ joined 01:07 jdv79 joined
lizmat And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/05/24/...m-houston/ 01:07
01:18 cpage__ joined
AlexDaniel lizmat: perhaps mention bisectable as well? So that people who were not backlogging know that such tool exists 01:19
lizmat AlexDanielL I must have missed that... could you explain in a few lines what it does ? 01:20
AlexDaniel lizmat: see this irclog.perlgeek.de/perl6/2016-05-20#i_12514921
lizmat AlexDaniel++ # item added to P6W 01:24
AlexDaniel lizmat: the bot is actually called “bisectable” 01:25
bisectable: help
bisectable AlexDaniel: Like this: bisect: good=v6.c bad=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT 128181
AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/99cd58b
lizmat AlexDaniel: updated
AlexDaniel interesting… that's a different commit 01:26
timotimo maybe because the bot doesn't know about skipping meaningless commits? or something? 01:27
timotimo AFK 01:28
AlexDaniel 6d120ca is right after 99cd58b, hmm… 01:33
so it is very close but not quite
01:34 ptolemarch left 01:35 mojca1 joined 01:36 mojca left 01:41 molaf left
AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4 01:42
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/99cd58b
AlexDaniel ok it's not a random glitch
01:46 ilbot3 left
geekosaur off by one / losing a commit if the list isn't (odd or even depending on algorithm( 01:47
)?
01:48 ilbot3 joined, ssotka left, Actualeyes joined
geekosaur (quick, someone push a commit and see if it changes again) 01:49
AlexDaniel geekosaur: here is the log gist.github.com/AlexDaniel/20c3695...a687f72488
let's see if I have an old log… 01:50
and here is an old one: gist.github.com/AlexDaniel/a9f42e4...1a38c3eb75 01:51
01:52 mojca1 left
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
the newer one goes 3 - 0
I think it's losing one somewhere
01:54 molaf joined
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:55
AlexDaniel geekosaur: well I'm just using git 01:56
geekosaur oh. heh
AlexDaniel geekosaur: so if there's a bug, it's in git itself, which does not sound very likely
the right answer probably is that there are actually two answers depending on your path… but why? 01:57
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!) 01:58
02:00 adu joined
geekosaur gist.github.com/AlexDaniel/20c3695...e1-txt-L28 02:00
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
02:01 Zoffix joined
AlexDaniel ah, damnit 02:01
geekosaur no, I think git is right here
AlexDaniel geekosaur: ok, that's a bug in my bot
my assumption that it will end on the broken commit was wrong
geekosaur right, if it has one left it has to verify that that one builds or not
if it builds then it's the previous commit to that that is bad 02:02
previously tested that is
AlexDaniel yeah, sure. For some reason I thought that git will switch to the bad commit anyway
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: perl6.party/feed/ 02:03
AlexDaniel geekosaur: thanks, good catch
02:03 mr-foobar left 02:04 kid51 left 02:10 cpage__ left, slobo_ joined, slobo_ left 02:12 slobo left
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
bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/99cd58b
02:21 sufrostico left 02:25 bisectable left, bisectable joined
AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4 02:25
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/6d120ca 02:26
..
..diff --git a/src/core/Any-iterable-methods.pm b/src/core/Any-iterable-methods.pm
..index f7768d0..7ae58fb 100644
AlexDaniel oh noes
bisectable ..--- a/src/core/Any-iterable-methods.pm
02:26 bisectable left 02:28 Khisanth left
Zoffix hah 02:29
02:29 avenj left
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?
yoleaux japhb: I'll pass your message to masak.
02:30 lizmat left 02:31 bisectable joined
AlexDaniel bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4 02:31
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/6d120ca
AlexDaniel geekosaur++ 02:32
02:32 bisectable left, bisectable joined
AlexDaniel bisect: try { NaN.Rat == NaN; exit 0 }; exit 1 02:33
bisectable AlexDaniel: (2016-05-02) github.com/rakudo/rakudo/commit/e2f1fa7
AlexDaniel ok, this example was wrong
bisect: for ‘q b c d’.words -> $a, $b { }; CATCH { exit 0 }; exit 1
bisectable AlexDaniel: (2016-03-01) github.com/rakudo/rakudo/commit/1b6c901
02:38 cpage_ left 02:41 avenj joined
japhb AlexDaniel: That is one extremely cool tool! 02:43
02:44 adu left, Khisanth joined
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 02:45 ssotka left 02:52 lizmat joined, noganex joined 02:54 adu joined 02:56 noganex_ left
AlexDaniel japhb: I have an idea on how to make it even more awesome. But that's for tomorrow :) 03:01
03:01 |2701 left
japhb ++AlexDaniel in that case. :-) 03:01
03:04 finanalyst joined 03:07 pierre_ left 03:09 zakharyas joined 03:23 pierre joined 03:27 lizmat left, AlexDaniel left 03:29 adu left 03:48 pierre left 03:50 zakharyas left 03:54 pierre joined 04:22 khw left 04:32 huggable left 04:37 Cabanossi left 04:41 Cabanossi joined, pierre left 04:42 labster left 04:45 cpage_ joined 04:53 labster joined 04:55 buharin joined 05:04 cpage_ left 05:10 sno left 05:16 M-matthew left
buharin hi 05:17
help me
05:19 buharin left 05:21 M-tadzik joined, M-matthew joined 05:30 _mg_ joined 05:42 pierre_ joined 05:46 pierre_ left 05:50 pierre_ joined 05:54 CIAvash joined 06:09 domidumont joined, Lucas_One_ joined 06:13 domidumont left 06:14 domidumont joined 06:15 pRiVi left, pRiVi joined 06:17 literal left, literal joined 06:20 buharin joined 06:21 mrsolo joined 06:23 clkao joined, Fleurety left 06:24 sno joined 06:25 jnap_ joined 06:27 darutoko joined 06:30 Fleurety joined, _mg_ left
nine buharin: what's up? 06:30
masak .oO( (0, 1, 0) )
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?
buharin I am looking for something like
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.
masak (morning, #perl6) 06:31
buharin perl interactive console tutorial
I see something similar for javascript already
a couple exercises to make from console
masak japhb: I noticed I had done commits earlier to that repo; I can use them as a guide ;)
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:32
06:34 mojca joined
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:39
06:40 mojca left 06:41 _mg_ joined 06:43 MasterDuke left 06:44 _mg_ left, tbrowder left 06:45 firstdayonthejob joined 06:47 buharin left, peteretep joined 06:48 pierre_ left 06:49 pierre joined, _mg_ joined 06:51 _mg_ left 06:53 boegel|quassel is now known as boegel, boegel left, firstdayonthejob left, boegel joined 07:00 _mg_ joined 07:16 sjn_ is now known as sjn 07:28 wamba joined 07:29 bjz joined 07:31 bjz left 07:32 bjz joined 07:40 bjz left 07:41 bjz joined 07:42 dakkar joined 07:46 bjz left 07:52 RabidGravy joined 07:54 mojca joined 07:58 pierre left, araujo joined 07:59 bjz joined 08:12 mr-foobar joined
RabidGravy erp 08:21
08:23 rindolf joined
masak m: say "erp".flip 08:24
camelia rakudo-moar b348f2: OUTPUT«pre␤»
moritz m: say "erp".comb.pick(*).join 08:26
camelia rakudo-moar b348f2: OUTPUT«per␤»
masak m: say .roll(6).join given "erp".comb 08:27
camelia rakudo-moar b348f2: OUTPUT«eppepp␤»
masak eppepp! :D
RabidGravy quick implement it!! 08:29
haven't spent a documentation day for ages, let's have a look 08:30
classicprogrammerpaintings.com/post...ment-about 08:32
08:32 Actualeyes left 08:34 finanalyst_ joined, finanalyst left 08:35 Actualeyes joined 08:37 rindolf left 08:41 finanalyst_ left 08:42 finanalyst_ joined 08:43 M-tadzik is now known as tadzik 08:50 rindolf joined 08:52 binjoy_ joined 08:58 pierre_ joined 09:03 pierre_ left 09:05 domidumont left, domidumont joined
moritz I find classicprogrammerpaintings.com/post...oreau-1876 very fitting 09:11
RabidGravy :)
09:12 pierre_ joined 09:13 binjoy_ left 09:14 finanalyst_ left
RabidGravy computer science people, what the traditional "first class" that is given as the first example of object oriented programming? 09:34
that is one without inheritance 09:35
09:38 willthechill left
moritz a classical one is Point with x and y, and then Rectangle with two points 09:38
and then later one can use those with inheritance too
stmuk animal and vehicle 09:40
RabidGravy yeah, the person -> employee one is used by Stroustrup I think 09:41
just looking at github.com/perl6/doc/issues/454 and it might be helpful to have a first example that is familiar 09:42
tadzik I remember the Perl 5 discussion about it in perloop or ootut 09:44
I think they settled for File and File::MP3?
yep, seems like that (ootut)
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
09:45 domidumont left, domidumont joined
stmuk oh perldoc perltoot has been renamed! 09:48
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
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 ;-)
tadzik timotimo: oh noes. Here lies OOP :(
timotimo it's a Buf::MP3
which can't derive from File, or from File::MP3
09:53 ocbtec joined
stmuk I don't think MP3 OO is good for beginners 09:55
perldoc.perl.org/5.8.8/perlboot.html 09:56
something like that is better
09:58 bjz_ joined 10:00 bjz left
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␤␤»
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␤␤»
Ulti even
not sure I like we have Inf against ISO expectations just for rationals :/
does it even ever come up in a meaningful way?
m: say 0/0 10:11
camelia rakudo-moar b348f2: OUTPUT«NaN␤»
Ulti m: say 1/0
camelia rakudo-moar b348f2: OUTPUT«Inf␤»
Ulti is especially not ok in my mind
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
Ulti they're all a divide by zero exception :P 10:13
if we have Inf then 0/0 should be 0
10:13 YoungFrog joined
arnsholt I agree it's weird that nums and ints have different behaviour when divided by zero 10:13
Not sure what you mean with "nothing sized bits of nothing" though 10:16
Ulti 0 / 0
RabidGravy I've gone with Point and rectangle
Ulti an infinitely small piece of nothing is still nothing
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
arnsholt I'm more confused by 1/0 being Inf
10:17 xinming_ left
Ulti its limit 0 10:17
essentially
plenty of mathmagicians have attempted to deal with /0 10:18
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
But more importantly, the limit of 1/x as x approaches zero is not the same as 1/0
10:20 xinming joined
dalek c: 150933b | RabidGravy++ | doc/Language/classtut.pod:
Provide a less elaborate example to start

Closes #454
10:20
Ulti yeah which is why I am outraged the Rat type has this behaviour given its an exact representation :D
10:24 TEttinger left, kid51 joined 10:26 pierre_ left 10:29 gnull joined 10:30 eyck joined 10:31 grondilu joined, Actualeyes left 10:37 levine joined
levine Hello! 10:41
masak hello levine 10:42
10:42 pierre_ joined 10:43 levine left 10:45 Actualeyes joined
Zoffix bisect: 1/0; exit 0 10:50
bisectable Zoffix: (2016-05-23) github.com/rakudo/rakudo/commit/b348f2f
Zoffix bisect: try { 1/0 }; exit $! ?? 1 !! 0 10:51
bisectable Zoffix: (2016-05-23) github.com/rakudo/rakudo/commit/b348f2f
Zoffix bisect: try { 1/0 }; exit $! ?? 0 !! 1
bisectable Zoffix: (2015-12-25) github.com/rakudo/rakudo/commit/07fecb5
Zoffix Weird, I could've swore 1/0 used to throw too :/
masak m: say 1/0 10:52
camelia rakudo-moar b348f2: OUTPUT«Inf␤»
masak m: say 42/0
camelia rakudo-moar b348f2: OUTPUT«Inf␤»
masak m: say Inf/0
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␤␤»
Zoffix I'm more bugged by the inconsistency than it returning Inf. 10:55
m: say 1¹/0 10:56
camelia rakudo-moar b348f2: OUTPUT«Inf␤»
Zoffix m: say 1e1/0
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␤␤»
Zoffix shakes head
11:00 abraxxa joined
masak m: say (1/0).^name 11:02
camelia rakudo-moar b348f2: OUTPUT«Rat␤»
masak oh, so it is actually a Rat 11:03
m: say 1/0 === Inf
camelia rakudo-moar b348f2: OUTPUT«False␤»
masak m: say 1/0 == Inf
camelia rakudo-moar b348f2: OUTPUT«True␤»
masak coolness
11:05 pierre_ left 11:08 brabo left 11:09 brabo joined
Zoffix m: say 1/0 + .5 11:10
camelia rakudo-moar b348f2: OUTPUT«Inf␤»
Zoffix m: say 1/0 + τ
camelia rakudo-moar b348f2: OUTPUT«Inf␤»
Zoffix :o neat. CryEngine (stuff used by game Crysis) is opensourced now: github.com/CRYTEK-CRYENGINE/CRYENGINE 11:13
11:13 labster left
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
titsuki Hi all. I have a question. 11:15
m: my $a = IntStr.new(0,"a"); $a.^methods.say; # The same method name appears twice. Is this a bug ?
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…»
masak titsuki: good question. 11:16
moritz not necessarily
masak titsuki: I suspect not, but I agree it's a little bit weird/confusing
moritz .^methods includes methods from superclasses
so there's likely one from IntStr and one from Int
and maybe one from Str too 11:17
m: say <42>.^methods.grep(*.name eq 'perl).perl
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…»
moritz m: say <42>.^methods.grep(*.name eq 'perl').perl
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␤»
titsuki moritz: I see. thanks.
moritz m: say <42>.^methods.grep(*.name eq 'perl').map({.params[0].type})
camelia rakudo-moar b348f2: OUTPUT«Method 'params' not found for invocant of class 'Method'␤ in block <unit> at /tmp/MleuPnxcYG line 1␤␤»
moritz m: say <42>.^methods.grep(*.name eq 'perl').map({.signature.params[0].type})
camelia rakudo-moar b348f2: OUTPUT«((Mu) (Mu) (Mu))␤»
moritz huh
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␤␤»
moritz m: say <42>.^methods.grep(*.name eq 'perl').map(*.package)
camelia rakudo-moar b348f2: OUTPUT«((Mu) (Mu) (Mu))␤»
moritz huh
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:24 RabidGravy left 11:35 llfourn joined 11:51 kid51 left 11:58 |2701 joined 12:20 sufrostico joined 12:21 pmurias joined 12:22 wamba left 12:32 pierre_ joined, huggable joined 12:42 sufrostico left 12:51 perlpilot_ is now known as perlpilot 12:57 bjz_ left 12:58 bjz joined 13:02 sufrostico joined 13:03 wamba joined 13:12 sufrostico left 13:15 Sgeo left 13:18 mr-foobar left 13:23 kaare_ joined 13:39 skids joined 13:43 RabidGravy joined 13:47 brrt joined, ZoffixW joined
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
m: say 42
camelia rakudo-moar b348f2: OUTPUT«42␤»
ZoffixW camelia, fine! Be that way! I'll find another bot! 13:53
13:53 ZoffixW left 13:54 acrussell joined 13:55 parisba_ is now known as parisba
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
13:59 cdg joined
moritz dual values? 13:59
RabidGravy the problem with "allomorph" is that it's a rather rich metaphor in this case 14:00
14:00 acrussell_ joined
Juerd Similar things are called dualvar in Perl 5 14:00
14:00 acrussell left, acrussell_ is now known as acrussell
RabidGravy yeah, 14:01
moritz but it's really the value that's dual, not the variable
(also in p5, afaict)
14:01 cdg left
Juerd moritz: It's a dual-use variable... :) 14:01
14:02 cdg joined
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
moritz well, the variable points to just one SV. But I guess one could say that the SV is somehow part of the variable
brrt ah, but we have another distinction up our sleeve
value, variable, and container
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
moritz and in the case of IntStr, it's really the value that's dual.
RabidGravy yeah 14:04
moritz so I'd call the familiy of types "Dual Value Types"
brrt Juerd: decent point, on the other hand, what is a variable then?
i've found that 'variable' is the most annoying concept in all of programming
RabidGravy moritz yeh, I think I'll go with that in the subtitle
moritz brrt: a variable is a lexical thing in your program code
brrt precisely because they transparantly yield their value, but aren't their value
Juerd brrt: A variable is what we call the combination of 2 or more of (value, name, container) :-)
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
Juerd Possibly even 1 or more
RabidGravy: Why do you need a noun?
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
Juerd brrt: I do that with a whiteboard and some markers, but without that I find it hard.
brrt right... it is hard... and that strategy probably only works well with visual thinking people 14:07
which is a larger set than symbolical thinkers, but still quite short of 'all the people'
Juerd brrt: The word 'container' usually clarifies a lot for people. They know all kinds of containers from real life. 14:10
brrt hah, but a container from perl6 is a rather unique concept 14:11
the closest parallel i can find in languages are python properties
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.
brrt some people find the properties thing elegant. these people are mad, i tell ya
14:11 llfourn left
brrt that is true, yes 14:12
now please explain the difference between assignment and binding :-P
personally, i'd probably say that binding is an optimization and you needn't worry about it today
Juerd Well, that's where you can't easily use 'container' as a real-world metaphor anymore, and 'document' becomes easier :) 14:13
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...
brrt hmm
documents... interesting idea 14:14
Juerd The container would be the carrier, e.g. a sheet of paper
And that carries (no pun intended) another complication: a document can span multiple containers, er, carriers :)
brrt yeah.... hmmm
14:14 lizmat joined
lizmat clickbaits p6weekly.wordpress.com/2016/05/24/...m-houston/ 14:15
Juerd clicks
brrt already read it
timotimo also already read it
14:15 kaare_ left
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
without one doing so explicitly of course
14:21 ZoffixW joined
ZoffixW RabidGravy, and MAIN 14:21
s/and/also/; # I don't know if there are more thingies
perl6 -e 'sub MAIN($x) {say $x.WHAT}' 42
RabidGravy but would a good generalization be "they are created when the context implies stringification, but the string representation suggests they are numbers"
ZoffixW lizmat, also already read it :) 14:22
moritz lizmat++
14:22 pmurias left 14:23 lizmat_ joined
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
RabidGravy which is the same really just different words 14:24
14:24 kaare__ joined
ZoffixW RabidGravy, maybe then "the context is stringy"? 14:24
ilmari m: .WHAT.say for "42", «42» 14:25
camelia rakudo-moar b348f2: OUTPUT«(Str)␤(IntStr)␤»
ZoffixW 🤷
We have a “Using Perl 6” book? 0.o 14:28
14:29 pmurias joined
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
ZoffixW Hm, "Latest commit a5f3c17 on Aug 25, 2015"
Just noticed it mentioned as included in R* in Rakudo's release announcement... 14:30
RabidGravy, +1
14:31 lizmat left, xinming left
ZoffixW Oh. Though you can do this trick that may be useful to some: 14:31
m: my $x = IntStr.new: 42, 'the answer to life, the universe, and everything'; say $x+0; say $x
camelia rakudo-moar b348f2: OUTPUT«42␤the answer to life, the universe, and everything␤»
14:33 xinming joined
RabidGravy yes, but that's covered by the description of the constructor ;-) The "magic creation of allomorphic thingies" needs separate mention 14:35
14:36 kaare_ joined
ZoffixW Ah, I thought you wanted to forgo documenting the IntStr and ilk types altogether 14:36
ilmari no, just document where they are created automatically in those places, rather than in the type documentation 14:37
14:38 khw joined
RabidGravy please feel free to do this yourself ;-p 14:38
lizmat_ commute&
14:38 lizmat_ is now known as lizmat 14:39 lizmat left
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:39
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:41
14:42 pierre_ left, eyck left, Fleurety left, M-matthew left, dogbert17 left, pecastro left, kaare__ left 14:44 Ven joined 14:45 aries_liuxueyang left, rindolf left
Ven o/ 14:47
14:47 aries_liuxueyang joined, jack_rabbit left
ZoffixW \o 14:47
14:49 rindolf joined
perlpilot \o/ 14:50
14:50 mojca left
pmurias \o 14:50
14:50 mojca joined
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:51
14:56 zhmylove left, ptolemarch joined
Ven pmurias: I'm always here to bikeshed :) 14:56
14:56 zhmylove joined 14:57 yd joined, mojca left
ZoffixW Is there anyone who knows how to operate dates stuff in Wikipedia editor? On this page, the release says "0 days ago": en.wikipedia.org/wiki/Rakudo_Perl_6 14:59
15:00 yd left
ZoffixW It's listed as this. No idea what's wrong with it: latest release date = {{Start date and age|2016|05|21}} 15:00
jast looks fine 15:01
it's documented here: en.wikipedia.org/wiki/Template:Sta...te_and_age
ZoffixW weird. oh well 15:02
15:02 kerframil joined 15:06 brrt left 15:07 cdg left, Tonik joined 15:08 cdg joined 15:09 zhmylove left 15:12 zhmylove joined, _mg_ left 15:14 ZoffixW left 15:19 domidumont left
b2gills m: .say for <42>.+perl 15:24
camelia rakudo-moar b348f2: OUTPUT«IntStr.new(42, "42")␤42␤"42"␤IntStr.new␤»
b2gills m: @*ARGS = "42"; sub MAIN ($x) { say $x.^name }
camelia rakudo-moar b348f2: OUTPUT«IntStr␤»
Tonik Why is it that any(...)=all(...) means all(any(...), any(...), ...) but not any(all(...), all(...), ...)?
timotimo because all gets interpreted before any 15:27
15:31 pmurias left 15:34 cognominal joined
Tonik mkay 15:35
when am I gonna be able to land a perl 6 job?
15:40 jameslenz joined, llfourn_ joined
MadcapJake Shouldn't the IO::Socket::Async example have $conn.close after the $conn.write line? 15:40
15:41 |2701 left
MadcapJake First example here: doc.perl6.org/type/IO::Socket::Async 15:41
b2gills Tonik: Give us a minute, it's only been a few months 15:42
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
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
15:44 ZoffixW joined
geekosaur sounds to me like a bug to be fixed elsewhere 15:44
MadcapJake ahh that could be
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
ZoffixW Tonik, I technically have a "Perl 6" job, but I decide which tech we use, for example. 15:45
15:45 eyck joined, Fleurety joined, M-matthew joined, dogbert17 joined, pecastro joined
RabidGravy MadcapJake, I think I omitted the close after testing with telnet rather than the client in the example 15:46
15:46 Fleurety left
RabidGravy it's sufficiently long ago that I have forgotten the circumstance 15:47
MadcapJake yeah in telnet it just exits the telnet session with $conn.close 15:48
*on the server side
15:49 pmurias joined
MadcapJake but it properly handles "Connection: keep-alive" even with $conn.close (and doesn't keep the browser tab spinning) 15:50
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:55
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:56
15:57 eyck left, M-matthew left, dogbert17 left, pecastro left
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
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
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 :( 15:59
ZoffixW Looks fine to me. The first 6 results all contain relevant results. 16:00
Actually, the entire first page looks decent to me.
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
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 :)
Tonik so ~~ is indeed that weird context dependent smart match operator and not just the new way to say =~? 16:01
RabidGravy it's not that weird 16:02
MadcapJake ~~ is sugar for RHS.ACCEPTS(LHS)
Tonik hm
ZoffixW Tonik, no, there's no =~ in P6
MadcapJake What is =~ in Perl 5? 16:03
ZoffixW Binding operator
MadcapJake So := in P6?
RabidGravy "Str" ~~ Regex
ZoffixW used for regex matches, s///. and tr//
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
MadcapJake huh, sounds confusing :P
geekosaur Tonik, the closest thing to perl 5's =~ is perl 6's given
16:05 AlexDaniel joined
ZoffixW MadcapJake, "Binary "=~" binds a scalar expression to a pattern match" 16:05
AlexDaniel star: say 1/0
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␤␤»
AlexDaniel m: say 1/0
camelia rakudo-moar b348f2: OUTPUT«Inf␤»
ZoffixW I knew I wasn't crazy!
MadcapJake interesting, so it's kind of like `$_ = "string"; s///` ?
geekosaur but given is more general, as =~ only does something for pattern matches whereas given will "topicalize" (locally bind $_) for any expression
ZoffixW Tonik, since Perl 6 has proper types, smartmatch isn't at all that crazy
RabidGravy anyhow, I think I am going to document the "sub val" from allomporphs.pm in the Str documentation
16:06 Guest_85757 joined, eyck joined, M-matthew joined, dogbert17 joined, pecastro joined, Guest_85757 left
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
RabidGravy yeah the P5 smartmatch had too many flaky heuristics
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
16:07 zhmylove left, zhmylove joined
RabidGravy y'see that makes perfect sense to me 16:07
AlexDaniel bisect: say 1/0; CATCH { exit 0 }; exit 1
bisectable AlexDaniel: (2016-05-22) github.com/rakudo/rakudo/commit/7a4ca4d
AlexDaniel ZoffixW: there you go.
Tonik Zoffix, is 42 different from "42" now? 16:08
ZoffixW Tonik, waaay different :)
Tonik :(
ZoffixW Tonik, 42 is an Int, and "42" is a Str :)
MadcapJake RabidGravy: how does it? Seems almost right-associative in a language that's mostly left-associative
ZoffixW m: say so "0"; say so 0;
camelia rakudo-moar b348f2: OUTPUT«True␤False␤»
geekosaur isn't it an allomorphic IntStr?
m: "42".WHAT.say
camelia rakudo-moar b348f2: OUTPUT«(Str)␤»
ZoffixW Tonik, ^ the eval above is the biggest difference. "0" is no longer false
geekosaur hm, nope
MadcapJake geekosaur: only if you do val("42") I think
ZoffixW m: say val '42' 16:09
camelia rakudo-moar b348f2: OUTPUT«42␤»
ZoffixW m: say val('42').WHAT
camelia rakudo-moar b348f2: OUTPUT«(IntStr)␤»
ZoffixW m: say 42 + "42"
camelia rakudo-moar b348f2: OUTPUT«84␤»
MadcapJake m: say val('42') + val('42')
camelia rakudo-moar b348f2: OUTPUT«84␤»
ZoffixW Tonik, ^ but you can still do things that make sense even if it's a Str tho. Look up the Cool type
huggable, Cool
huggable ZoffixW, Value that can be treated as a string or number interchangeably: docs.perl6.org/type/Cool
MadcapJake huggable: hug ZoffixW 16:10
huggable hugs ZoffixW
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 :/
AlexDaniel huggable: hug bisectable
huggable hugs bisectable
AlexDaniel <3
geekosaur Tonik, you won't have to unlearn that much given Cool, that's kinda the point of it
MadcapJake Tonik: just transpose what you think there to mean Cool
RabidGravy Zoffix, I don't think it's in there from a grep of the docs and so on
geekosaur you *can* be more precise with types, but you don't *have* to be
ZoffixW RabidGravy, oh, my bad. I must be misremembering 16:11
MadcapJake Isn't Cool an abbreviation for something?
ZoffixW Yeah. 16:12
S99#Cool
AlexDaniel ZoffixW: it's kinda interesting that with bisect you can search for commits :)
MadcapJake syn just says "I'm cool with an argument of that type."
ZoffixW Hm.. no bot. It might be there
RabidGravy no worries, it's just a factory for allomorphs anyway, not a great deal to document
AlexDaniel ZoffixW: I mean, for features that were implemented, not just bugs
ZoffixW AlexDaniel, yeah
Tonik google image search for 'cool' turns up some psychedelic pics
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
camelia rakudo-moar b348f2: OUTPUT«42␤the answer to life, the universe, and everything␤»
MadcapJake ZoffixW: ah thanks!
ZoffixW Tonik, ^ that's the equivalent of the P5's dualvar more or less :)
16:14 andreoss` joined, pierre_ joined, pierre_ left
MadcapJake In fact there already is a warning message at the bottom of the intro material (perhaps converge on one?) 16:14
(the latter is much nicer looking though less obvious) 16:15
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
MadcapJake, well, the argument that introduced the bright red message was that the existing message is not obvious enough :)
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. github.com/perl6/mu/blob/master/ut...org.sh#L38
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
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
c'mon, using a presentational tool for creating content is what all the cool kids do these days! ;)
MadcapJake lol 16:21
ZoffixW I guess this can be used: metacpan.org/pod/Pod::Simple::HTML...fter_title
MadcapJake ZoffixW: here's the front page github.com/perl6/mu/blob/4ab82aae4...index.html
16:21 Ven left
ZoffixW Really? How come not this: github.com/perl6/specs/blob/master...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
It looks like there is another script for updating the site: github.com/perl6/mu/blob/master/do...update-syn 16:24
ZoffixW MadcapJake, I think `feather` no longer exists.
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
errr *perl6/spec repo
I think what you dug up is something that used to run on the feather server 16:26
MadcapJake ahh I see
well I searched in the repo of the original link you sent wrt this
so then the same file is really github.com/perl6/specs/blob/master...index.html in perl6/spec 16:27
ZoffixW Yeah, the update script is in mu.. or at least it should be...
Can someone with access to hack check whether the local script has this line in change in it? The -css /blah blah bit? github.com/perl6/mu/blob/master/ut...org.sh#L38
It needs to be --css /perl-with-historical-message.css not --css /perl.css
16:28 marc____ joined
MadcapJake I would but I forgot my password xD 16:29
ZoffixW pfft.. passwords. So uncivilized.
marc____ Hi, I am newbie in perl6. What is the status and feature of perl6 for high performance web sites? G
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.
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
16:32 xinming left, huggable left, huggable joined
MadcapJake Has anyone tried any threading benchmarks after the latest moarvm work? 16:33
16:33 xinming joined
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:33
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:34 marc____ left
ZoffixW MadcapJake, I believe before, because it wasn't merged yet. And I was using Bailador. I saved the old code in a branch: github.com/zoffixznet/perl6.party/...l6-version 16:36
But the reason I kinda just gave up on it is 'cause two other of my scripts were leaking too.
huggable was (is?) leaking some on each message 16:37
irclog.perlgeek.de/perl6/2016-05-08#i_12449184
On the bright side, that prompted me to learn C :) Almost done with K&R
MadcapJake Last time I tried Bailador was pre-christmas so I'm not too experienced with it. 16:39
ZoffixW You can't do concurrent stuff with it, which is kinda a bummer. 16:40
Though I think ufobat is working to address that. 16:41
MadcapJake yeah big time!
16:41 kerframil left
MadcapJake HTTP::Server::Tiny does concurrency (Crust uses it and last I checked it was moderately fast) 16:41
I'm gonna see if I can whip up a little webapp today 16:42
ZoffixW \o/
[Coke] yawns 16:43
MadcapJake rakudobrew build moar seems faster: 5m 46s 16:46
16:46 dogbert2 joined 16:49 dogbert17 left 16:53 dakkar left, mspo left, ZoffixW left 16:56 sno left 16:59 tbrowder joined 17:02 abraxxa left
tbrowder g'day folks, a doc proposal: please check out my rough proposal at gist <gist.github.com/tbrowder/c062e40c7...1c3f8>. It references my "perl6-docs" branch at <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
17:03 mojca joined 17:08 ZoffixW joined 17:09 ocbtec left
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
Maybe "Programs", "Executables", "Tools", "Apps" *shrug*
"Perl 6 Programs" like you have on HomePage.pod sounds good to me 17:11
17:15 pierre joined 17:16 kurahaupo joined 17:17 kaare_ left 17:18 ZoffixW left 17:20 pierre left
dalek c: b02c2f0 | RabidGravy++ | doc/Type/ (4 files):
Add doc pages for "allomorphs"

Covers #418
17:28
c: 819be1a | RabidGravy++ | doc/Type/Str.pod:
Document the val() from allomorphs.pm

Covers #418
c: 5f2684c | RabidGravy++ | doc/Language/glossary.pod:
add allomorph to glossary

covers #418
c: 66b0beb | RabidGravy++ | type-graph.txt:
Add the *Str to type graph
RabidGravy what larks 17:34
gosh that got in quickly 17:39
17:40 wamba left, domidumont joined 17:41 labster joined
perlpilot RabidGravy++ 17:43
17:45 buharin joined 17:47 sno joined
grondilu is watching youtu.be/CEs1g94qNso. He didn't know :from<Perl5> was already working. 17:48
17:52 willthechill joined
buharin hello my friends :) 17:59
18:00 cdg left
tbrowder ZoffixW: I like "Programs" (or "Executables") but young people may like "Apps" (too tablety [word of the day TM] for me). 18:02
18:02 pmurias left 18:03 pierrot_ is now known as pierrot
dalek c: 16ace3b | RabidGravy++ | doc/Language/classtut.pod:
Remove a superfluous >
18:03
18:06 itaipu joined, mojca left
Xliff How do I go about writing a module that needs access to an accessory file? 18:08
I'm deploying a module that needs an .sqlite3 file. Is there a unified way to access it without hard coded paths? 18:09
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:14
(you specify the name in the META6 resources list) 18:15
18:16 eyck left, pecastro left, eyck joined
dalek c: 0f205bd | RabidGravy++ | doc/Language/classtut.pod:
Grr, not tabs
18:17
18:21 spider-mario joined 18:22 andreoss` left 18:23 _mg_ joined 18:25 gorgonzola joined
timotimo grondilu: has been working for at least a year now i believe 18:26
grondilu: we haven't been making enough noise, apparently!
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:27
jdv79 isn't there a perl6-j exec? 18:28
i think perl6 is just a symlink to that; maybe
oh, its just a copy it seems 18:30
gorgonzola mmm, i don't see any -j in the man. are those command line switches documented somewhere? 18:32
18:34 ZoffixW joined
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
ZoffixW gorgonzola, it's not a switch, it's the name of the executable 'perl6-j'
gorgonzola OOH.
ZoffixW Not sure whether it's included in debian packages tho 18:35
gorgonzola it is not
jdv79 is there a seperate pacakage for it or is it just unpackaged?
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?
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 ^H.
gorgonzola jdv79 so far, i've only found 'rakudo' in deb archives, and that one pulls in moarvm
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%
gorgonzola jdv79, oh sure, I just wanted to make sure that that was what i needed to do
timotimo, cool, i'll look into it.
thank you all for the help!
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!)
aight, i'll go play with it some more and come back if i have any other issues. bye! 18:39
18:39 acrussell left
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
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
dalek c: ee9ffbf | (Christopher Bottoms)++ | doc/Language/regexes.pod:
Fixed comment, minor wording edit
18:45
c: 061bdcc | RabidGravy++ | doc/Language/regexes.pod:
Merge pull request #546 from molecules/patch-2

Fixed comment, minor wording edit
18:46 acrussell joined 18:47 cpage_ joined
b2gills .oO( That's something that I wouldn't have expected, mst and totally reasonable on the same line ) 18:47
buharin hi 18:48
help me please
b2gills with what?
buharin I am looking for job
perlpilot buharin: jobs.perl.org for perl jobs in general 18:49
buharin ya I know
but I need just for now
I will code some part of code and you buy me a food from Tesco
on deliver
ZoffixW Aren't you in Poland? 18:50
buharin yeah
18:50 lizmat joined
buharin I am 18:50
ZoffixW :o there are Tescos in Poland :o
buharin yep
xD
many Tescos
hah
lizmat waves from IAH with 3% battery left
ZoffixW waves back 18:51
18:54 lizmat left, pecastro joined
ZoffixW 1% of battery per minute :P 18:55
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
18:58 mr-foobar joined 18:59 gorgonzola left
perlpilot What does it mean to be "active in the community" anyway? 18:59
ZoffixW Answer questions. Write blogs. Spread the word, methinks. 19:00
Maybe write modules too
Give talks and attend them.
moritz perlpilot: it can be as simple as answering questions 19:01
attending workshops/conferences
write a line of docs here and there
any of those qualify, IMHO
perlpilot What would you call "using Perl for 24 years and helping people on one #perl or another for 20+ years"? :) 19:02
19:03 kaare_ joined
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. :)
ZoffixW :)
pochi what's the perl6 way of doing 'use FindBin qw($Bin); use lib qq($Bin/../lib)'? 19:04
perlpilot pochi: good question. I think there's some built-in thing that eludes me right now. 19:05
ZoffixW m: $*PROGRAM-NAME # unsure
camelia ( no output )
ZoffixW m: say $*PROGRAM-NAME # unsure
camelia rakudo-moar b348f2: OUTPUT«/tmp/Hb8XHMqwli␤»
ZoffixW m: say $*PROGRAM # unsure 19:06
camelia rakudo-moar b348f2: OUTPUT«"/tmp/PQz2FSC3He".IO␤»
perlpilot m: say $*PROGRAM.basename 19:07
camelia rakudo-moar b348f2: OUTPUT«xHBV3oaRvf␤»
perlpilot m: say $*PROGRAM.dirname
camelia rakudo-moar b348f2: OUTPUT«/tmp␤»
pochi and combine it with File::Spec? 19:08
perlpilot m: say $*PROGRAM.dirname.IO.parent.child("lib");
camelia rakudo-moar b348f2: OUTPUT«"/lib".IO␤»
perlpilot :-) 19:09
pochi cool :-)
ZoffixW huggable, FindBin :is: dirname.
huggable ZoffixW, Added FindBin as dirname.
ZoffixW huggable, FindBin :is: m: say $*PROGRAM.dirname.IO.parent.child("lib");
huggable ZoffixW, Added FindBin as m: say $*PROGRAM.dirname.IO.parent.child("lib");
dalek c: 48c9826 | (Jan-Olof Hendig)++ | doc/Type/Seq.pod:
Fixed broken link
19:12
RabidGravy I just use $*PROGRAM.parent.child("lib") 19:13
perlpilot yeah, that. 19:14
ZoffixW That's different tho:
m: say $*PROGRAM.parent.child("lib")
camelia rakudo-moar 19e91e: OUTPUT«"/tmp/lib".IO␤»
ZoffixW m: say $*PROGRAM.dirname.IO.parent.child("lib")
camelia rakudo-moar 19e91e: OUTPUT«"/lib".IO␤»
ZoffixW m: $*PROGRAM.parent.parent.child("lib")
camelia ( no output )
ZoffixW m: say $*PROGRAM.parent.parent.child("lib")
camelia rakudo-moar 19e91e: OUTPUT«"/lib".IO␤»
19:14 buharin left
ZoffixW \o/ 19:14
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)
huggable, FindBin :is: m: say $*PROGRAM.parent.parent.child("lib"); # same as: use FindBin qw($Bin); use lib qq($Bin/../lib)
huggable ZoffixW, Added FindBin as m: say $*PROGRAM.parent.parent.child("lib"); # same as: use FindBin qw($Bin); use lib qq($Bin/../lib)
perlpilot (I'm really not sure how this behaves in the presence of symlinks and such) 19:16
19:16 acrussell left
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
pochi I had to 'use lib $*PROGRAM.dirname.IO.parent.child("lib").path' 19:17
then the following use'ings worked fine
parent.parent also seems to work 19:18
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:21
19:21 domidumont left
RabidGravy Oh right, that's what I'm doing 19:22
:)
19:32 mojca joined
dogbert2 o/ #perl6 19:33
RabidGravy: nice job with the Allomorphs 19:35
RabidGravy I'd actually been meaning to do it for ages
thought I'd have a documentation day 19:36
dogbert2 nice, found a tiny problem though :), this link: doc.perl6.org/language/glossay#Allomorph
RabidGravy typo
missing r
dogbert2 yep, should I fix it? 19:37
RabidGravy It should be doc.perl6.org/language/glossary#Allomorph
sure
dogbert2 will do
19:39 dogbert2 left, CIAvash left
tony-o RabidGravy: 404 19:39
19:39 dogbert17 joined
dogbert17 nick corrected 19:40
19:40 ZoffixW left
RabidGravy no doc.perl6.org/language/glossary#Allomorph is fine, just missed a character 19:40
tony-o oh, didn't see that correction come 19:42
dalek c: f7eea45 | (Jan-Olof Hendig)++ | doc/Type/ (4 files):
Fixed typo
19:43
19:44 acrussell joined 19:46 wamba joined 19:47 jjido joined 19:48 kaare_ left 19:54 lizmat joined 19:55 jjido left 19:58 cpage_ left, |2701 joined 19:59 jjido joined 20:01 rindolf left 20:03 rindolf joined
lizmat commute to FRA& 20:04
20:04 lizmat left 20:10 cdg joined 20:14 rindolf left 20:15 darutoko left 20:17 firstdayonthejob joined 20:21 pierrot left, pierrot joined 20:27 _mg_ left, mojca left 20:28 cpage_ joined 20:30 vendethiel joined 20:31 Ven joined
dalek c: 76cacac | (Sterling Hanenkamp)++ | doc/Language/functions.pod:
fix small double is typo
20:31
20:31 acrussell left 20:32 huggable left, huggable joined
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:36
20:38 jjido left
timotimo didn't have to do that kind of stuff yet 20:38
20:41 Ven left, TakinOver left
AlexDaniel hoelzro: yea, XML? 20:42
hoelzro: github.com/supernovus/exemel
hoelzro: if you want to parse HTML then use github.com/Skarsnik/perl6-gumbo
hoelzro AlexDaniel: let's hope that my HTML is also well formed XML =)
AlexDaniel hoelzro: use gumbo for that
hoelzro ah, thanks!
AlexDaniel hoelzro: gumbo returns XML::Document
hoelzro wonderful
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:43 wamba left
hoelzro all I need (well, want) now is a way to search using CSS3 20:44
20:44 richi235 joined
AlexDaniel hoelzro: you meant this? github.com/supernovus/perl6-xml-query 20:44
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…»
hoelzro AlexDaniel: wow, you're making my day =)
pochi m: class Foo { has Code $.cb; method foo($x) { $.cb($x) } }; Foo.new( cb => -> $z { say $z } ).foo("hello world")
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␤␤»
pochi is that a bug?
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␤»
pochi why isn't my version working? 20:47
20:48 jjido joined
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␤»
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:50
pochi ah 20:51
I thought they were regular variables
masak most of the time, the manage to look like them
20:52 AlexDaniel left
pochi sanity restored :-) 20:52
masak something like `$.attr` is always a (late-bound) invocation
timotimo right, because subclasses are allowed to override the behaviour
masak I find I never use that in practice :) 20:53
but yes, that's possible
I find I fret more about whether to use `$!foo` versus `$.foo`, than I do actually using the late-bound possibilities
perhaps because I don't rely much on subclassing in the first place (though it does have its uses) 20:58
timotimo right 20:59
21:04 Ven joined 21:07 itaipu left 21:08 itaipu joined, skids left 21:22 TEttinger joined
[Coke] ugh. went to test port for mojca, had to reinstall everything because of OS upgrade 21:25
dalek c: f994048 | RabidGravy++ | doc/Language/nativecall.pod:
Add some documentation of the exported subs

covers #537
21:31
21:32 Ven left 21:37 AlexDaniel joined 21:42 pmurias joined
dalek c: fcfeaf7 | RabidGravy++ | doc/Language/nativecall.pod:
The search result was weird
21:48
21:49 jjido left 21:51 buharin_ left, buharin_ joined 21:55 wamba joined 21:57 bonsaikitten left, mojca joined 21:59 xiaomiao joined 22:00 mojca1 joined 22:01 mojca left
pmurias buharin_: which city in Poland are you in? 22:03
22:09 kid51 joined 22:10 wamba left 22:20 skids joined 22:21 Sgeo joined 22:27 spider-mario left, pmurias left
tadzik . o O ( there's literally like 5 of us! ) 22:38
22:40 AlexDaniel left 22:42 sftp left 22:43 sftp joined 22:44 grondilu left 22:47 Xliff left 22:59 firstdayonthejob left 23:13 RabidGravy left 23:26 _28_ria joined 23:35 Tonik left
gfldex that's a nice operator that is hiding in plain sight stackoverflow.com/questions/3742354...8#37425138 23:39
23:40 cognominal left
Zoffix What's nice about it? 23:45
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:47
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:48
Zoffix Well, never mind the second point (as the OP themselves is confused), but the rest stands. 23:49
gfldex, but why not go with the simplest solution, which I now note is lacking in your answer as well: 23:50
m: 125.&sqrt.say
camelia rakudo-moar 19e91e: OUTPUT«11.1803398874989␤»
gfldex i believe my 3rd example is just that 23:51
Zoffix m: sub sq { $^a² }; say 4.&sq
camelia rakudo-moar 19e91e: OUTPUT«16␤»
Zoffix gfldex, how come it's a method? 23:52
Are there some benefits as opposed to the last eval above?
gfldex the OP asked for a method, so he got one.
Zoffix ¯\_(ツ)_/¯
gfldex i'm not sure but a method might have access to private attributes
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␤»
Zoffix m: class Foo { has $.bar = 'meow'; }; my method baz { say $.bar }; Foo.new.&baz 23:58
camelia rakudo-moar 19e91e: OUTPUT«meow␤»
Zoffix m: class Foo { has $.bar = 'meow'; }; sub baz { say $.bar }; Foo.new.&baz
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…»
Zoffix gfldex++
m: class Foo { has $.bar = 'meow'; }; sub baz { say $^a.bar }; Foo.new.&baz 23:59
camelia rakudo-moar 19e91e: OUTPUT«meow␤»