»ö« 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 1Actually 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 1Actually 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 1Actually 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 1Actually 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/AE1noiOF57Unable 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«42the 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 1Actually 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«TrueFalse» | ||
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«42the 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/uOzK6Vzzb5Strange 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/950CT13PEvCannot understand $!bar in this contextat /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/qZ1SVq3bGwVariable $.bar used where no 'self' is availableat /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» |