»ö« 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.
00:00 pierre-vigier left
ajr_ Thanks AD. 00:00
00:00 pierre-vigier joined 00:07 maslan joined 00:12 leont joined 00:16 SCHAAP137 joined 00:18 cpage_ joined
AlexDaniel haha! For years that thing made me laugh. Close your eyes and block your ears, quotes around arguments is the most secure way when using qqx! 00:24
especially if those are double quotes!
from perl6advent.wordpress.com/2014/12/...om-perl-6/
my @commit_results = qqx/git commit -am "$message"/.lines;
00:29 revhippie joined 00:31 firstdayonthejob left 00:33 ZoffixWin joined, ZoffixWin left, ZoffixWin joined
ZoffixWin Would you say this C++ program can be done via NativeCall? gist.github.com/zoffixznet/b896db31ba3d7672edb2 00:34
I see some custom "types" and objects... 00:35
gfldex btAlignedObjectArray<btCollisionShape*> collisionShapes; <-- template
ZoffixWin Maybe I'm trying to bite off way too big a piece of pie to chew 00:36
leont ZoffixWin: that C++ is the equivalent of using mid-90s perl code :-/ 00:42
ZoffixWin heh 00:43
It's one of the examples that came with libbullet
leont There's lots of such code out there (just like with perl5), but I would fire anyone still writing like that in 2016 00:44
00:49 laz78 left
skids Looks better than the code most college grads can produce, so I guess you'd be paying rather competitive wages then :-) 00:52
00:53 pierre-vigier left, pierre-vigier joined 00:58 pierre-vigier left
leont I never said I'd succeed at running a company! :-p 01:03
(also, for some reason my tolerance for this sort of thing is way lower in C++ than in other languages) 01:04
01:06 ajr_ left 01:09 alpha123 left 01:14 leont left 01:15 ZoffixWin left 01:22 laz78 joined
orbus hey at least it has a lot of comments 01:28
01:31 sufrostico left 01:41 rickbike joined 01:46 ELBeavers joined 01:49 yqt left 01:51 ELBeavers left 02:05 BenGoldberg left 02:06 xpen joined
dalek kudo-star-daily: 56dc069 | coke++ | log/ (5 files):
today (automated commit)
02:32
kudo-star-daily: 4959942 | coke++ | log/ (5 files):
today (automated commit)
kudo-star-daily: 0c2eef4 | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: 3e41392 | coke++ | / (6 files):
today (automated commit)
02:43 mcmillhj left 02:45 mcmillhj joined 02:46 maslan left
dalek c: 5dbb3a1 | LLFourn++ | doc/Language/modules.pod:
separate EXPORT examples
02:55
02:58 revhippie left
rickbike Geetings Perl6! 02:58
02:59 colomon left 03:00 colomon joined
timotimo hello there 03:00
rickbike Hash keys can be integers, yeah?
timotimo you're checking in during sleepy-time for almost most of our devs
yeah, but only if you have an "object hash". regular hashes will stringify everything for you
rickbike The issue I have is how to use an integer hash key in MAIN options 03:01
timotimo you get an object hash literal by writing :{ ... } insetad of just { ... }
oh. but args don't actually have a concept of ints 03:02
as all you get from the OS is strings
rickbike heres how Main parses options 03:03
if !$stopped && $passed-value ~~ /^ ( '--' | '-' | ':' ) ('/'?) (<-[0..9\.]> .*) $/ {
my ($switch, $negate, $arg) = (~$0, ?((~$1).chars), ~$2);
timotimo oh 03:04
rickbike So an integer hash key '--42' turns into '-42'
timotimo so it doesn't like numbered flags
03:04 ggoebel9 joined
timotimo at all 03:04
03:04 n0xff joined
rickbike I filed a bug but I'm trying to understand what the intention is 03:05
timotimo i see the bug
just someone assuming you'd never want to have numbers as flags
clearly they've never played with ipv6 in their life
rickbike I have a csv file with years as column headings 03:06
03:06 ggoebel8 left 03:07 SCHAAP137 left
rickbike Not understanding if the fix should allow positive integers 03:08
timotimo what does your CLI design look like that you actually want the keys to correspond to csv header pieces?
llfourn .tell gfldex I don't seem to be able to subscribe to your blog :S 03:09
yoleaux llfourn: I'll pass your message to gfldex.
03:09 laz78 left
rickbike I want to filter by columns, some of which have integer headers 03:09
03:10 n0xff left, laz78 joined
timotimo why wouldn't it be like --no 42 --no blah --no foobar 03:10
instead of --42 --blah --foobar ?
rickbike good point! 03:11
timotimo it's still not cool that you can't have numbers as flags
rickbike yes 03:12
timotimo especially for -4 and -6
03:16 revhippie joined
llfourn .tell gfldex nvm I found it, it's a funny popup thing 03:18
yoleaux llfourn: I'll pass your message to gfldex.
03:34 ELBeavers joined 03:39 ELBeavers left 03:44 noganex_ joined 03:45 ParsonsNose joined 03:47 noganex left, colomon left 03:51 colomon joined 03:54 kid51 left 03:56 ParsonsNose left, Averna joined 03:59 lsm-desktop left 04:00 dj_goku left 04:02 dj_goku joined, Averna left 04:03 Averna joined 04:04 Averna left, Averna joined, lsm-desktop joined 04:07 Herby_ joined
Herby_ Evening, everyone! 04:07
o/
04:11 skids left
Herby_ \o 04:12
o/
timotimo hey herby how are you doing
04:12 Psyche^_ joined
Herby_ Doing well, just had some pizza and am about to work on understanding Grammars. Yourself? 04:13
timotimo my sleep schedule is messed up, so i'm awake at 5am
"still" awake 04:14
Herby_ You work nights?
timotimo no, i work flexibly
Herby_ ah ok. Programmer by trade?
04:15 treaki_ joined
Herby_ I worked nights in a hospital for years, threw my sleep schedule out of whack for a long time 04:15
timotimo hehe. yeah, programming is what i do
04:16 jack_rabbit joined
Herby_ I'd like to program for a living but I don't think I have the necessary base talent for it 04:16
04:16 Psyche^ left
Herby_ I can write extremely small hacks/scripts but have never completed and released a project in any language 04:16
timotimo it seems like most people who work in programming - or at least those trying to get a job - are actually super crazy useless? or something? 04:17
i don't really know
no clue how small "extremely small" is 04:18
Herby_ lol, its a perfectly legit unit of measurement :)
I'm a nurse but I work with the electronic health records. I've wrote a couple of small decision support modules, and auditing scripts for work
04:18 treaki left
Herby_ using perl. rewrote a few in perl 6 before I left 04:19
I read an article talking about how easy electronic medical equipment (IV pumps etc...) are to hack
timotimo ah, yeah 04:20
Herby_ that seems like it would be an interesting field of work
timotimo may be interesting, but i imagine it'd be hard to get into?
Herby_ yeah. probably be a free-lancer or consultant of some sort 04:21
what languages do you use for your day job?
timotimo will medical hardware companies actually look for people like that? or accept them if they came knocking on their door?
currently javascript; i also expect to be working some java at that job, too
before that job i did python
Herby_ from my limited understanding, the device manufacturers are probably the big players in that. they might hire some "consultants" to poke holes in their solutions, so they can patch it 04:22
timotimo is perl your first language?
Herby_ Python was my first but I'm at a complete beginner level in it. Perl and Perl 6 too
timotimo if you're interested in that topic, there was a talk at the recent chaos communication congress by a lady with an implanted defibrilator and another dude and they talked about how she hacked/investigated
Herby_ yeah, that stuff really interests me 04:23
timotimo media.ccc.de/v/32c3-7273-unpatchable - there you go
in english language, too
Herby_ thanks, got it playing now 04:24
04:25 cpage_ left 04:28 Averna left, Averna joined
ugexe is there a nice way to do bracket matching in regex (yet)? 04:32
04:32 lostinfog joined, lostinfog left
timotimo don't think so :< 04:33
04:40 quester joined 04:55 laz78 left, pierre-vigier joined 04:56 revhippie left 04:59 Averna left, pierre-vigier left 05:09 cpage_ joined
timotimo Object of type Tree in QAST::WVal, but not in SC 05:18
isn't that great?
05:22 ELBeavers joined 05:27 ELBeavers left 05:29 laz78 joined 05:30 kaare_ joined 05:35 yurivish left, Herby_ left 05:40 pierre-vigier joined 05:42 Cabanossi left 05:43 mr-foobar left, mr-foobar joined 05:46 Cabanossi joined 05:48 mr-foobar left 05:55 Averna joined 06:07 laz78 left 06:09 laz78 joined 06:23 pierre-vigier left 06:30 rickbike left 06:33 ZoffixWin joined, ZoffixWin left, ZoffixWin joined
ZoffixWin The API version warning in NativeCall is bloody annoying. 06:43
Can't it just use whatever it can find?
I ain't got a version for a lib I'm trying to use. 06:44
06:48 pierre-vigier joined
ZoffixWin Hm.... what possible problem can it be if I'm getting "Cannot find method 'CALL-ME'" when calling a nativecalled sub? gist.github.com/zoffixznet/11c536e6956818a694b9 06:48
06:50 sammers left
ZoffixWin m: use NativeCall; sub system (Str) is native {*}; system "ls *foo*"; system q{echo 'what could possibly go wrong' > foo}; system "cat foo"; 06:55
camelia rakudo-moar 775271: OUTPUT«ls: cannot access *foo*: No such file or directory␤what could possibly go wrong␤»
06:55 laz78 left
ZoffixWin So much for restricted setting :) 06:55
m: use NativeCall; sub system (Str) is native {*}; system "rm foo"
camelia ( no output )
ZoffixWin ^ moritz dunno if there's a way to make that stop working
sortiz \o #perl6 06:58
ZoffixWin \o 07:00
sortiz ZoffixWin, As far as MoarVM don't have more powers/privileges that the invoking user, I don't see any problem. 07:01
Unless you are talking about camelia ;) 07:02
ZoffixWin or installation of botnets or email spam bots.
07:02 sammers joined
ZoffixWin I can just use camelia add my public key and then ssh and I got a free, internet-connected box 07:03
sortiz That the use case of Restricted.settings, no?
ZoffixWin But even a plain old rm -fr ran by a curious idiot leads to a lot of work restoring things
I guess.
You can use `run` to do those things. 07:04
m: run 'ls';
camelia rakudo-moar 775271: OUTPUT«run is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in sub run at src/RESTRICTED.setting line 14␤ in block <unit> at /tmp/7ILeTngF3O line 1␤␤»
07:04 domidumont joined
sortiz I see something of that kind happen the other day, and someone has to enter rescue mode. 07:05
ZoffixWin Yeah, the chmod stuff. But at least that's easy to fix 07:06
(unless something else happened)
sortiz I hope all that can be ironed in time. 07:09
pierre-vigier m: sub t( *@x) { say @x;} ; t(1..2);t(1..2,5..7);
camelia rakudo-moar 775271: OUTPUT«[1 2]␤[1 2 5 6 7]␤»
07:10 domidumont left, ggoebel10 joined
pierre-vigier m: sub t(@l1,@l2) { say @l1;say @l2} t( (1..3,5..7) , (1,2,4) ); 07:10
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p3o3M9Cci0␤Strange text after block (missing semicolon or comma?)␤at /tmp/p3o3M9Cci0:1␤------> 3sub t(@l1,@l2) { say @l1;say @l2}7⏏5 t( (1..3,5..7) , (1,2,4) );␤ expecting any of:␤ inf…»
pierre-vigier m: sub t(@l1,@l2) { say @l1;say @l2} ;t( (1..3,5..7) , (1,2,4) ); 07:11
camelia rakudo-moar 775271: OUTPUT«(1..3 5..7)␤(1 2 4)␤»
07:11 ELBeavers joined, domidumont joined
pierre-vigier In the second case, is there any way to auto flatten? a bit like the slurpy *@ ? 07:11
07:11 ggoebel9 left
ZoffixWin m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat} ;t( (1..3,(3,4),5..7) , (1,2,4) ); 07:13
camelia rakudo-moar 775271: OUTPUT«(1 2 3 3 4 5 6 7)␤(1 2 4)␤»
ZoffixWin No idea about "auto"
07:13 jme` left
pierre-vigier m: sub t( Iterable $l1, Iterable $l2 ) { say $l1; say $l2 }; t(1..4,[3,5,6..8]); 07:14
camelia rakudo-moar 775271: OUTPUT«1..4␤[3 5 6..8]␤»
ZoffixWin m: sub t( Slip $l1, Slip $l2 ) { say $l1; say $l2 }; t(1..4,[3,5,6..8]); 07:15
camelia rakudo-moar 775271: OUTPUT«Type check failed in binding $l1; expected Slip but got Range␤ in sub t at /tmp/TsApXVTUje line 1␤ in block <unit> at /tmp/TsApXVTUje line 1␤␤»
pierre-vigier m: sub t( Iterable $l1, Iterable $l2 ) { say $l1.flat; say $l2.flat}; t(1..4,[3,5,6..8]);
camelia rakudo-moar 775271: OUTPUT«(1 2 3 4)␤(3 5 6..8)␤»
pierre-vigier but is it even a good idea to accept an Iterable ... 07:16
07:16 ELBeavers left
ZoffixWin Hm, here's a stacktrace for my CALL-ME issue with NativeCall.. still no idea what's wrong :( gist.github.com/zoffixznet/11c536e...nt-1678167 07:17
07:17 rickbike joined
ZoffixWin Maybe using fancy UI libs isn't really that easy with NativeCall :/ 07:18
07:19 ggoebel10 left 07:20 CIAvash joined
pierre-vigier m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = 1..3; t(@a,@b); 07:22
camelia rakudo-moar 775271: OUTPUT«(1 2 3)␤(1 2 3)␤»
pierre-vigier m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = 1..3,5; t(@a,@b);
camelia rakudo-moar 775271: OUTPUT«(1 2 3)␤(1..3 5)␤»
07:22 azawawi joined
azawawi good morning #perl6 07:22
ZoffixWin \o
Is it morning already? :)
m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = 1..3,5; t(|@a,|@b); 07:23
camelia rakudo-moar 775271: OUTPUT«Too many positionals passed; expected 2 arguments but got 5␤ in sub t at /tmp/yeDMydqS00 line 1␤ in block <unit> at /tmp/yeDMydqS00 line 1␤␤»
ZoffixWin mmkay
pierre-vigier m: say (DateTime.new(now).hour <= 12)??"morning"!!"afternoon"; 07:25
camelia rakudo-moar 775271: OUTPUT«morning␤»
pierre-vigier m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = |1..3,5; t(@a,@b); 07:26
camelia rakudo-moar 775271: OUTPUT«(1 2 3)␤(1..3 5)␤»
pierre-vigier m: sub t(@l1,@l2 ) { say @l1.values;say @l2.values}; my @a = 1,2,3; my @b = |1..3,5; t(@a,@b); 07:27
camelia rakudo-moar 775271: OUTPUT«(1 2 3)␤(1..3 5)␤»
ZoffixWin m: say DateTime.new(now).hour
camelia rakudo-moar 775271: OUTPUT«7␤»
pierre-vigier m: sub t(@l1,@l2 ) { say @l1.fmt;say @l2.fmt}; my @a = 1,2,3; my @b = |1..3,5; t(@a,@b);
camelia rakudo-moar 775271: OUTPUT«1 2 3␤1 2 3 5␤»
07:27 ggoebel10 joined
pierre-vigier hum strange, fmt for the display is flatening 07:28
maybe i should check the implementation of fmt
07:29 rickbike left, geraud left
quester Actually... could it be that you're confusing 1..3, which is a Range, with 1...3, which is a Seq? The Seq behaves somewhat more like a List than a Range does. Just a thought. 07:30
ZoffixWin (╯°□°)╯︵┻━┻ no idea why I'm having this issue with NativeCall
pierre-vigier oh, ... might be the solution 07:31
m: say (1..2).WHAT
camelia rakudo-moar 775271: OUTPUT«(Range)␤»
pierre-vigier m: say (1..>2).WHAT
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F7rbi26MsY␤Preceding context expects a term, but found infix > instead␤at /tmp/F7rbi26MsY:1␤------> 3say (1..>7⏏052).WHAT␤»
pierre-vigier m: say (1...2).WHAT
camelia rakudo-moar 775271: OUTPUT«(Seq)␤»
ZoffixWin I was planning to write about how Perl 6 lets you easily use C libs so you don't have to know a lot of C.... but, looks like that's wishful thinking.
I've no idea what I'm doing :)
pierre-vigier thanks for telling me about ...
m: sub t(@l1,@l2 ) { say @l1.fmt;say @l2.fmt}; my @a = 1,2,3; my @b = 1...3,5; t(@a,@b); 07:32
camelia rakudo-moar 775271: OUTPUT«1 2 3␤1 2 3 5␤»
pierre-vigier indeed, working
quester Glad it helped.
pierre-vigier Found a bug in doc.perl6.org/ 07:33
where to report?
ZoffixWin github.com/perl6/doc
pierre-vigier thank you
07:33 wtw joined
pierre-vigier try to search ... in the doc, and click on it 07:33
it redirects to doc.perl6.org/routine/...
ZoffixWin That's a known bug: github.com/perl6/doc/issues/155 07:34
pierre-vigier indeed 07:35
07:36 psy__ joined 07:37 psy__ left 07:38 quester left
dalek c: 7afd9be | (James ( Jeremy ) Carman)++ | doc/Type/Str.pod:
Fixed a typo.
07:40
c: 87d76f8 | (Zoffix Znet)++ | doc/Type/Str.pod:
Merge pull request #361 from peelle/patch-1

Fixed a typo.
azawawi ZoffixWin: yup it is morning and im drinking morning coffee :) 07:41
ZoffixWin It's 2:41AM here and I'm drinking my 2:41AM coffee :)
azawawi ZoffixWin: busy fixing appveyor.yml for MagickWand Windows support
07:43 psy_ left
MadcapJake ZoffixWin: what was the problem you had with Atom? 07:44
ZoffixWin MadcapJake, seems a regression from way back: github.com/atom/atom/issues/10554 07:45
Unless I'm just the one unlucky one who stumbled on an old bug
MadcapJake potential workaround: github.com/atom/atom/issues/3622#i...t-73421592 07:47
ZoffixWin Yeah, that didn't work 07:48
MadcapJake do you use vim-mode?
ZoffixWin Probably not. It's a fresh install. All I've done is add your Perl 6 highlights and change theme from dark to light (it's broken on dark themes too) 07:49
(and it's broken on C code too)
MadcapJake what OS and version of Atom? 07:50
ZoffixWin Atom 1.4.0 on Bodhi Linux 3.1.1 (fork of Ubuntu 14.04, trusty), running inside VirtualBox on Windows7
MadcapJake glad you opened a new issue! not sure on that one :S that is a real bummer! 07:51
07:53 pierre-vigier left
azawawi Doing a 'rakudobrew build moar' on Travis CI Mac OSX VMs is like 3 times slower (5 min -> 15 min) to Linux VMs 07:59
08:00 ggoebel11 joined
azawawi see travis-ci.org/azawawi/perl6-magick.../104252845 08:01
ZoffixWin But are they the same type of boxes? I heard Apple allows you run a Mac OSX VM only on Apple's hardware.
08:01 ggoebel10 left, pierre-vigier joined
ZoffixWin So I figure Travis bought crappy, slow, and cheap apple boxes, but run Linux of fast hardware 08:01
azawawi i think it is the memory
ZoffixWin Ah
08:02 rindolf joined
azawawi to be honest, why am i testing building of perl6 on my perl6 module... 08:03
we should be focusing on better stuff like a debian pkg for rakudo star
and an msi/exe for windows 08:04
appveyor (windows) is slow also see build times ci.appveyor.com/project/azawawi/pe...ild/1.0.40
Stage parse : 166.610
ZoffixWin There was an updated on that topic on our FB page: www.facebook.com/groups/1595443877...654542020/ 08:05
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[1..3,6]; 08:06
camelia rakudo-moar 775271: OUTPUT«((1 2 3) 6)␤»
ZoffixWin If it's a module, that doesn't matter, since it'll be precompiled.
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[1...3,6];
camelia rakudo-moar 775271: OUTPUT«(1 2 3 6)␤»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[^3,6];
camelia rakudo-moar 775271: OUTPUT«((0 1 2) 6)␤»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[^3.Seq,6]; 08:07
camelia rakudo-moar 775271: OUTPUT«Potential difficulties:␤ Precedence of ^ is looser than method call; please parenthesize␤ at /tmp/ZbHZ1p8tcp:1␤ ------> 3my @a=0,1,2,3,4,5,6,7,8;say @a[^37⏏5.Seq,6];␤Method 'Seq' not found for invocant of class 'Int'␤ in block <un…»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).Seq,6];
camelia rakudo-moar 775271: OUTPUT«Method 'Seq' not found for invocant of class 'Range'␤ in block <unit> at /tmp/lcBbVvnhBX line 1␤␤»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).values,6];
camelia rakudo-moar 775271: OUTPUT«((0 1 2) 6)␤»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).lsit,6];
camelia rakudo-moar 775271: OUTPUT«Method 'lsit' not found for invocant of class 'Range'␤ in block <unit> at /tmp/Tkxgf5qHd8 line 1␤␤»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).list,6]; 08:08
camelia rakudo-moar 775271: OUTPUT«((0 1 2) 6)␤»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).List,6];
camelia rakudo-moar 775271: OUTPUT«((0 1 2) 6)␤»
ZoffixWin m: my @a=0,1,2,3,4,5,6,7,8;say @a[^3 .Slip,6];
camelia rakudo-moar 775271: OUTPUT«(0 1 2 6)␤»
ZoffixWin huggable, slip 08:09
huggable ZoffixWin, nothing found
ZoffixWin huggable, Slip
huggable ZoffixWin, class Slip [A kind of List that automatically flattens into an outer container]: doc.perl6.org/type/Slip
pierre-vigier i always forgot that one 08:10
azawawi ZoffixWin: also one more observation about appveyor and travis ci macosx builds, their output is buffered somehow. they need a flush :) 08:11
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[!^3,6]; 08:12
camelia rakudo-moar 775271: OUTPUT«(0 6)␤»
pierre-vigier m: my @a=0,1,2,3,4,5,6,7,8;say @a[|^3,6];
camelia rakudo-moar 775271: OUTPUT«(0 1 2 6)␤»
08:13 brrt joined
azawawi also we need to upload chocolatey.org/packages?q=rakudo :) 08:14
2014.12.1 is way too old
choco install rakudostar
:) 08:15
ZoffixWin :o
azawawi 103 downloads is not bad 08:16
for windows that is
everyone dismisses windows but then again a lot of business is on windows
08:17 darutoko joined
azawawi e.g. here in the middle east region it is windows-based 08:17
ZoffixWin I dismiss it with my Perl 5 modules because there are always some weird, hard-to-reproduce, sporadic bugs 08:18
azawawi ZoffixWin: because they was no build environment for you to test 08:19
ZoffixWin: now there is
08:19 hankache joined
ZoffixWin hm? I had a Windows in a VM, but I often could not reproduce the reports I got from smokers 08:20
Not to mention the coredumps when fork + unicode is involved
hankache hola #perl6 08:21
ZoffixWin \o
azawawi ZoffixWin: true, because you didnot have all the OS matrix... 08:22
ZoffixWin: s/didnot/did not/ 08:23
ZoffixWin How can I get rid of the nagging NativeCall warning?
hankache what was the Parcel type?
ZoffixWin The version one
huggable, Parcel
huggable ZoffixWin, nothing found
ZoffixWin If I explicitly add v1, I get "Cannot locate native library 'libcpuid.so.1'" 08:24
08:26 yeahnoob joined
azawawi ZoffixWin: find /usr/lib/ -name "*libcpuid*" ? 08:27
ZoffixWin lrwxrwxrwx 1 root root 18 Jan 23 03:15 /usr/local/lib/libcpuid.so -> libcpuid.so.11.1.2 08:28
But what if the user of my module has 11.1.1?
I really don't understand why this warning was added.
azawawi ZoffixWin: i hate it 08:29
cxreg ZoffixWin: wouldn't it be v11, not v1?
azawawi ZoffixWin: symbolic links were added for a reason... why should i care about the libfoo version if it works :)
cxreg well actually, those symbolic links are for compilation, not for runtime 08:30
08:30 abaugher left
cxreg versioned shared libraries are what separates us from the animals. and microsoft. 08:30
08:31 hankache left, abaugher joined
ZoffixWin cxreg, that works, but that makes the warning even more pointless. If I can ignore the difference between a subset of versions, I, as a programmer, should have a choice to ignore all versions. 08:31
azawawi cxreg: well, it complicates installation/detection procedures and wastes valuable development time :)
cxreg ZoffixWin: no argument on that point
08:31 pierre-vigier left
cxreg you should be _allowed_ to not care 08:31
even though it may result in breakage
08:33 pierre-vigier joined
cxreg ZoffixWin: but to quibble, "the difference between a subset of versions" is what semver is all about 08:33
not pointless at all
not to say that all project maintainers actually follow the rules responsibly :P 08:34
ZoffixWin What about libs that don't use semver or don't follow the rules? What if I'm using a sub that hasn't changed?
huggable, Version
huggable ZoffixWin, class Version [Module version descriptor]: doc.perl6.org/type/Version
ZoffixWin There's probably a way to specify "any" version 08:35
cxreg ZoffixWin: again, I agree with your basic point, but there's at least some reason behind why it's there
ZoffixWin m: say (v*).WHAT
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KG7RQ3qUs7␤Missing required term after infix␤at /tmp/KG7RQ3qUs7:1␤------> 3say (v*7⏏5).WHAT␤ expecting any of:␤ prefix␤ term␤»
ZoffixWin m: say (v.*).WHAT
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kzqEgGRwxr␤Malformed postfix call␤at /tmp/kzqEgGRwxr:1␤------> 3say (v.*7⏏5).WHAT␤»
cxreg maybe you could even specify version ranges or something. lots of precedent here. 08:36
ZoffixWin Looking at the source, it wants a Version object
azawawi is native(&callable)
ZoffixWin: github.com/azawawi/perl6-magickwan...ll.pm6#L10 08:37
ZoffixWin cxreg, I'd say the logic for that warning's existence is not sound. { say Nil eq 'foo' } generates a warning because comparing Nil with a string looks fishy and there's high likelyhood of an error in my code... Warning that it'd be better to specify an API version is attempting to shove someone's "best practice" down the programmer's throat. 08:38
08:38 hankache joined
cxreg I didn't add the warning o_O 08:38
ZoffixWin I'm just saying. 08:39
It's also helpful to point out it's 3:39AM here... and I'm a bit cranky :P
cxreg this is the third time i'm telling you I agree :P don't need to convince me
azawawi :) 08:40
i hate "best practice" :)
cxreg that MagickWand example looks useful if tedious
azawawi i know... my objective now to make it work on all platforms (windows, linux, mac osx) 08:41
cxreg maybe that could be golfed to a pointy block with concise syntax
for simple cases 08:42
08:42 firstdayonthejob joined
azawawi that's the problem with cross-platform... dont optimize until you figure out that it is working or not :) 08:43
the library revisions is like 1% of the total effort i need to work on to complete the wrapper library for all functions along with the OO interface 08:47
azawawi is working on making "ci.appveyor.com/project/azawawi/pe...agickwand" work :) 08:48
ZoffixWin Actually v11 only works because I have another simlink with libcpuid.so.11
m: say so (Version.new: *).Str eq '*' 08:51
camelia rakudo-moar 775271: OUTPUT«True␤»
ZoffixWin m: say so (Version.new: *) eq '*' 08:52
camelia rakudo-moar 775271: OUTPUT«True␤»
ZoffixWin Rakudobugged rt.perl.org/Ticket/Display.html?id=127354 and submitted two possible PRs: removing the warning entirely: github.com/rakudo/rakudo/pull/691 08:59
PR or use '*' version to mean 'any version': github.com/rakudo/rakudo/pull/692
08:59 ELBeavers joined, yeahnoob left
dalek c: f134e9e | (Wenzel P. P. Peppmeyer)++ | doc/Language/5to6-nutshell.pod:
get heading level in 5to6-nutshell in line with the other 5to6-*
09:00
09:04 ELBeavers left 09:11 lokien_ joined
masak antenoon, #perl6 09:16
09:16 bowtie left 09:17 bowtie joined
ZoffixWin \o 09:18
sortiz \o 09:19
09:24 TEttinger left 09:29 pierre-vigier left
ZoffixWin How do you use an enum? 09:30
m: enum cpu_vendor_t (VENDOR_INTEL => 0, 'VENDOR_AMD', 'NUM_CPU_VENDORS', VENDOR_UNKNOWN => -1); say cpu_vendor_t<VENDOR_UNKNOWN>
camelia rakudo-moar 775271: OUTPUT«(Any)␤»
09:31 pierre-vigier joined
ZoffixWin m: enum cpu_vendor_t (VENDOR_INTEL => 0, 'VENDOR_AMD', 'NUM_CPU_VENDORS', VENDOR_UNKNOWN => -1); say VENDOR_INTEL == 0 09:31
camelia rakudo-moar 775271: OUTPUT«True␤»
Juerd m: enum foo (a => 0, <b c d>); say a; say b;
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8n6ldnAelu␤Undeclared routine:␤ b used at line 1␤␤»
ZoffixWin m: enum cpu_vendor_t (VENDOR_INTEL => 0, 'VENDOR_AMD', 'NUM_CPU_VENDORS', VENDOR_UNKNOWN => -1); say VENDOR_UNKNOWN == -1
camelia rakudo-moar 775271: OUTPUT«True␤»
ZoffixWin I see.
Juerd m: enum foo (<a b c d>); say a; say b; 09:32
camelia rakudo-moar 775271: OUTPUT«a␤b␤»
Juerd m: enum foo (<a b c d>); say a == 0; say b == 1;
camelia rakudo-moar 775271: OUTPUT«True␤True␤»
Juerd m: enum foo (<a b c d>); say foo<2>;
camelia rakudo-moar 775271: OUTPUT«(Any)␤»
Juerd m: enum foo (<a b c d>); say foo<c>;
camelia rakudo-moar 775271: OUTPUT«(Any)␤»
Juerd Hmm.
m: enum foo (<a b c d>); say foo<x>;
camelia rakudo-moar 775271: OUTPUT«(Any)␤»
Juerd m: enum foo (<a b c d>); say foo(2); 09:33
camelia rakudo-moar 775271: OUTPUT«c␤»
Juerd Ah, that was it
I don't understand the (Any) though.
ZoffixWin m: enum foo (a => 0, 'b', 'c', 'd'); say a; say b
camelia rakudo-moar 775271: OUTPUT«a␤b␤»
ZoffixWin I kinda wonder why the a => 0, <b c d> doesn't work 09:34
Juerd ZoffixWin: Because that's two elements...
ZoffixWin m: enum foo (a => 0, |<b c d>); say a; say b
Juerd m: enum foo (a => 0, |<b c d>); say a; say b;
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tujrELdX6v␤Undeclared routine:␤ b used at line 1␤␤»
rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LtScsnggsI␤Undeclared routine:␤ b used at line 1␤␤»
Juerd Heh.
m: enum foo (flat a => 0, <b c d>); say a; say b;
camelia rakudo-moar 775271: OUTPUT«===SORRY!===␤Unexpected named parameter 'a' passed␤»
Juerd I give up :)
ZoffixWin m: enum foo (a => 0, <b c d>.Slip); say a; say b
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PoYwp8MbT0␤Undeclared routine:␤ b used at line 1␤␤»
ZoffixWin m: enum foo (a => 0, (<b c d>).Slip); say a; say b 09:35
camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qehDRH_qm4␤Undeclared routine:␤ b used at line 1␤␤»
ZoffixWin *shrug*
Juerd It's a declaration. You never get nice things when declaring variables :P 09:36
Although Perl <6 had a time where you'd get unofficial and unreliable state variables that were fun
(my $foo if 0;)
masak I wouldn't classify that as a "nice thing" 09:41
in other news, writing tests to increase coverage can be used for good -- it's making me write tests I definitely wouldn't have thought of on my own 09:42
09:50 brrt left, pierre-vigier left 09:55 FROGGS left 10:02 bowtie left
masak m: enum Foo << :a(0) b c d >>; say a; say b; say +a; say +b 10:03
camelia rakudo-moar 775271: OUTPUT«a␤b␤0␤1␤»
masak Juerd, ZoffixWin: ^
(granted, your forms ought probably to work as well)
hankache how do i get rid of this warning? NativeCall: Consider adding the api version of the library you want to use,
ZoffixWin lmao 10:04
10:04 pierre-vigier joined
ZoffixWin hankache, we've just had a heated discussion on the topic: irclog.perlgeek.de/perl6/2016-01-23#i_11928779 10:05
Which resulted in a rakudobug and two potential PRs: rt.perl.org/Ticket/Display.html?id=127354
And two answer your question: at the moment, specify version.
masak, thanks 10:06
10:07 bowtie joined 10:08 secwang joined 10:10 RabidGravy joined 10:13 SCHAAP137 joined
azawawi ci.appveyor.com/project/azawawi/pe...magickwand # now passing on windows 7 64-bit (AppVeyor CI) :) 10:13
initial template for testing on windows (for Perl 6 modules) github.com/azawawi/perl6-magickwan...pveyor.yml 10:14
dalek c: 17bcb7d | (Zoffix Znet)++ | doc/Language/nativecall.pod:
Grammar
10:16
ZoffixWin azawawi, how did you install Perl 6 on Windows?
azawawi github.com/azawawi/perl6-magickwan...pveyor.yml :)
ZoffixWin I see 10:17
azawawi you need to remove three lines and you're ready :)
that's why i said we need to update chocolatey.org/packages?q=rakudo 10:18
choco install rakudostar # and we're done
MadcapJake++
ZoffixWin Do I need "Microsoft SDKs"? 10:19
azawawi yup
ZoffixWin Is it free?
azawawi yup
ZoffixWin k
azawawi www.microsoft.com/en-us/download/d...px?id=8442
VS Community 2015 is also free for open source and enterprises below 250 employees 10:20
ZoffixWin So the Standard C library is included with Rakudo, basically, right? 10:22
m: use NativeCall; sub fork is native {*}; fork; say 42;
camelia rakudo-moar 775271: OUTPUT«42␤42␤»
ZoffixWin You don't need to install anything special for stuff like that ^ to work, right? 10:23
azawawi let me check
moritz ZoffixWin: it's not included with Rakudo; it's already installed on your system
ZoffixWin moritz, and on Windows and MacOS too? 10:24
or OSX
moritz ZoffixWin: sure; they are just a bit different
ZoffixWin k
moritz ZoffixWin: windows doesn't support fork, for example
10:26 perl6newbee joined
azawawi installs windows sdk 7.1 to verify 10:28
sortiz ZoffixWin, In PR#692 you want that if explicitly use Wherever (*) as apiversion, the warning was skipped, right? 10:29
ZoffixWin sortiz, no, if the version is Whatever
hm
m: say so * eq '42' 10:30
camelia rakudo-moar 775271: OUTPUT«WhateverCode.new␤»
ZoffixWin m: say * ~ ''
camelia rakudo-moar 775271: OUTPUT«WhateverCode.new␤»
ZoffixWin sortiz, I've no idea how to work with WhateverCode, but Version.new: *; or string "*" will work with my PR 10:31
10:31 ely-se joined
ZoffixWin I'm much in favour of getting rid of that warning entirely, since it'll cause people to specify API versions all over the place and modules will be breaking whenever the version of the lib isn't the same as what the other used. 10:32
ely-se .tell Skarsnik not a pair of instants (that would be called an "interval"). It's just a number of seconds.
yoleaux ely-se: I'll pass your message to Skarsnik.
moritz ZoffixWin: huh? the solution to that is to install the required version
ely-se thinks anyone who wants to design a time library should look at Noda Time
sortiz I understand well the need to have a way to avoid the warning, just want to understand the proposed implementation. 10:33
ZoffixWin moritz, but why is it required? Both libfoo v1.11 and libfoo v1.12 provide a function "foosify" that behaves exactly the same. The author of the module uses a brand new and shiny OS that has libfoo v1.12, but my stable server is still on libfoo v1.11. 10:34
It's a solution to a problem that doesn't need to exist.
RabidGravy there are a small number of libraries that don't install versioned .so files
moritz ZoffixWin: it exists, it just isn't everywhere 10:35
sortiz And I agree that a good way is to explicitly use a Whatever.
ZoffixWin moritz, I don't think it's a job of the Perl 6 compiler to make that decision, considering the warning's generated even with libraries the compiler has no clue about. 10:36
moritz ZoffixWin: right
10:40 lnrdo joined
sortiz I'm in the camp that if I use an explicit version the compiler enforces that, and understand the sense of the warning if don't specified, but with a way to say "I known what I'm doing, please shut" 10:42
moritz sortiz: ZoffixWin is talking about versions of native libraries, not version of a compiler
RabidGravy yeah, I think that's where I'm at
sortiz Yes
moritz (unless I totally misunderstood him)
sortiz moritz, yes. 10:43
azawawi I agree with ZoffixWin ... it is a solution to a problem that doesn't need to exist. It is a best practice and nothing else. We have more important things to focus on. 10:45
Different OS platform = Different practices 10:46
There is no fork on windows. Do not try to emulate it. Windows is windows and *nix is *nix
10:47 pierre-vigier left, secwang left
ZoffixWin What's the purpose of the asterisk in the subroutine body? 10:48
m: use NativeCall; sub exp2(num64) returns num64 is native { * }; say exp2 42e0
camelia rakudo-moar 775271: OUTPUT«4398046511104␤»
ZoffixWin m: use NativeCall; sub exp2(num64) returns num64 is native {}; say exp2 42e0
camelia rakudo-moar 775271: OUTPUT«4398046511104␤»
ZoffixWin With and without seems to work.
azawawi when i look at this page www.imagemagick.org/api/magick-image.php, i realize there are more important things to finish than is native(LIB, version)
s/more/way more/ 10:49
:)
RabidGravy ZoffixWin, native over-writes the CALL-ME of the sub so you can put anything in there afaik (as long as it compiles)
sortiz azawawi, Wait, even in Windows I a have a way that specify the need for specific versions of libraries.
10:49 DoverMo joined
DoverMo is there an estimate to how many synergies perl6 will leverage? 10:50
ZoffixWin "synergies"?
gfldex bingo!
yoleaux 03:09Z <llfourn> gfldex: I don't seem to be able to subscribe to your blog :S
03:18Z <llfourn> gfldex: nvm I found it, it's a funny popup thing
RabidGravy ?????? 10:51
azawawi sortiz: and while we think of a way of doing it the right way(tm), we can can re-focus our efforts of more productive things :)
DoverMo ZoffixWin, yeah
ZoffixWin DoverMo, well, what do you mean by that?
azawawi sortiz: what's more important a working libfoo wrapper under N platforms with a test suite or the right way of doing things. 10:52
sortiz azawawi, Sure. Right now I'm battling a LTA problem in my own module (LMDB)
DoverMo ZoffixWin, the interaction or cooperation of two or more organizations, substances, or other agents to produce a combined effect greater than the sum of their separate effects.
ZoffixWin DoverMo, thanks for the copy-paste from dictionary.com. What do you mean by your question? What "organizations" and "substances" do you mean? 10:53
masak DoverMo: it will leverage (approximately) 69,105 synergies.
huf how do you measure combined and separate effects? :)
ZoffixWin :)
huf yes, masak got it right
DoverMo masak, thank you : )
well you have to be able to see into the future 10:54
huf the single case when i knew what syngergy meant was in diablo 2 when points in skills gave fractional points in other skills
azawawi moritz: Any plans to release rakudo star msi anytime soon? what's holding us back on this one?
RabidGravy I don't think Perl 6 will in and of itself do any of that, but it does provide features that would enable designs to be made that can make the most of its strengths in combination with other things
moritz DoverMo: we have that. How else could we have solved the Haling problem?
gfldex DoverMo: we are right now in the process to find out what we can do with Perl 6. That will take us at least 20 years.
ZoffixWin azawawi, see the post on our FB group: www.facebook.com/groups/1595443877...654542020/
moritz azawawi: what's holding us back is the lack of a rakudo star to build an MSI from 10:55
DoverMo gfldex, oh O:
azawawi moritz: how can i help? :)
RabidGravy a programming language can't "leverage synergies", a developer does that
moritz azawawi: 1) do rakudo compiler release for Januar; make sure it tests fine both against the current roast status and against the one from the 2015.12 release 10:56
ZoffixWin huggable, where's christmas star :is: See the post on our FB group: www.facebook.com/groups/1595443877...654542020/
huggable ZoffixWin, Added where's christmas star as See the post on our FB group: www.facebook.com/groups/1595443877...654542020/
moritz azawawi: 2) do an R* release
10:56 secwang joined
moritz azawawi: 3) build the MSI 10:56
DoverMo if you quantify all developers using perl5 and then do an 'average' growth chart within the past few decades
kaare_ Of course Perl 6 can see into the future.
masak DoverMo: some of the leveraged synergies will leverage further synergies, et cetera
ZoffixWin DoverMo, Perl 5 is a different language :P
kaare_ Only problem is that right now Perl 6 is so slow that the future will arrive before Perl 6 finished the prediction ;-) 10:57
ZoffixWin haha
moritz DoverMo: please start by quantifying me :-)
ZoffixWin That's a feature, not a bug!
gfldex DoverMo: why do you want to know that? (read: you are likely asking the wrong question)
DoverMo moritz, it might take some time.. 10:58
jast the question is maybe a little bit too vague to answer
DoverMo then we'll have to use quantum perl theology 10:59
azawawi moritz: thanks for the info 11:00
ZoffixWin: what about people who do not use facebook? :)
ZoffixWin azawawi, those people will get a lesson in why it's useful to have a Facebook account :P 11:01
jast let's break this down: are we talking about diversifying synergies or streamlining synergies?
DoverMo jast, diversifying 11:02
moritz jast: we're talking about leveraging synergies to streamline second-order synergies in diverse full-stack environments
sortiz My personal position is simple: Right now, for lack of understanding I can't optimize, for example, the sink path, but if I found a detail that I can fix, I will try to fix it. 11:03
jast okay, I can see how that would empower us to shift paradigms right outside the box
I've been wondering, is Perl 6 web scale? 11:04
masak DoverMo: the diversifying synergies are very unpredictable. they "frazzle" when you don't observe them. 11:05
moritz jast: it's Web 2.0 scale, even
masak jast: Perl 6 is web scale, but the scale is a bit slow right now
jast wow
11:05 xpen left
jast masak: I think that doesn't matter as long it's the responsive kind of slow 11:05
DoverMo masak, oh
jast you can just scale horizontally
moritz likes front scaling better 11:06
jast the wikipedia page "List of buzzwords" is fun. did you know "parsing" is a buzzword?
ZoffixWin heh 11:07
masak DoverMo: but don't worry! this has absolutely no bearing on how to actually use Perl 6
11:07 sammers left
masak jast: I'm sure "parsing" can be used as a buzzword 11:07
jast I guess that means Perl 6 grammars are snake oil
masak jast: "parse" is originally sanskrit, methinks 11:08
ely-se Is it dangerous to run perl6 --doc on untrusted code?
masak jast: Perl 6 grammars are olive oil
moritz it's just a p-arse
ely-se: yes
ely-se :( ok
DoverMo masak, i don't have to observe perl within a environmentally controlled box?
masak ely-se: there was some discussion of that many years ago
on p6l 11:09
ely-se I want to make a website that renders POD for the modules on modules.perl6.org, as an exercise
ely-se likes her exercises to result in useful programs 11:10
so I guess I'll have to look up sandboxing stuff
jast there's a Pod::Parser module... marked experimental, though 11:11
masak I think the conclusion of that discussion was that --doc ought to be sandboxed by default
not sure how viable that is, though
ZoffixWin m: use NativeCall; sub signal (int32, &code) is native {}; signal 1, -> { say 42 }
camelia rakudo-moar 775271: OUTPUT«Type check failed in binding $sig; expected Signature but got Any␤ in sub param_list_for at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 58␤ in sub param_hash_for at /home/camelia/rakudo-m-inst-1/sha…»
ZoffixWin dat error
ely-se masak: I know the author of an online compile-and-run tool so I'll ask them how they did sandboxing for it. 11:12
sortiz Right now Perl 6 is just right for some of my clients current needs. I'm just waiting for R*. 11:13
dalek osystem: f2a635b | okaoka++ | META.list:
Add p6-Algorithm-AhoCorasick
11:15
osystem: ac57099 | (Zoffix Znet)++ | META.list:
Merge pull request #132 from okaoka/feature-aho-corasick

Add p6-Algorithm-AhoCorasick: github.com/okaoka/p6-Algorithm-AhoCorasick/
ZoffixWin Watch a magic trick where I make camelia DISAPPEAR! 11:17
m: say "still here"
ZoffixWin taps impatiently on desk
dalek kudo/nom: 5a04ff6 | (Tommy Stanton)++ | src/core/Exception.pm:
Fix typo in X::Seq::Consumed exception
kudo/nom: 217e976 | lizmat++ | src/core/Exception.pm:
Merge pull request #690 from tommystanton/exception-typo

Typo in X::Seq::Consumed exception
ZoffixWin Dammit.. I hate when magic tricks don't work right...
dalek kudo/nom: 89aa6c8 | (Zoffix Znet)++ | lib/NativeCall.pm6:
Fix for RT#127354

Proposal that removes the warning completely.
11:18
kudo/nom: fb0a135 | lizmat++ | lib/NativeCall.pm6:
Merge pull request #691 from zoffixznet/patch-1

Fix for RT#127354
sortiz ZoffixWin, you do it again! :) 11:19
ZoffixWin Well, I don't know why she died.
The first time I've done the trick in private, she talked afterwards
11:19 BenGoldberg joined, lokien_ left 11:20 sammers joined, molaf joined
ZoffixWin hm 11:20
11:20 camelia left
ZoffixWin :o 11:21
ZoffixWin--
Note to self... Playing with signals is a bad idea (this is what killed the bot:) m: use NativeCall; sub raise (int32) returns int32 is native {}; raise 19 11:22
I'm guess it's waiting for the SIGCONT. I wonder why it was responsive after the first time I ran that 11:23
11:26 maslan joined
ZoffixWin Oh haha. The copy running on irc.perl.org is still active. I wonder if I can use it to restart camelia :D 11:27
11:29 molaf left 11:31 pierre-vigier joined 11:33 jack_rabbit left, pierre-vigier left
azawawi what's the recommended "perl" in META.info? 11:35
"perl" : "6", ?
ZoffixWin azawawi, 6.c?
Or "6.*"
m: say so v6 before v6.c 11:36
Ah.... right...
llfourn azawawi: 6.* imo
11:36 camelia joined, camelia left, brrt joined, camelia joined
ZoffixWin Ahaha 11:37
m: say so v6 before v6.c
azawawi so what's the answer? :)
ZoffixWin The answer is "False"
azawawi not 42?
:)
ZoffixWin Did I actually manage to restart camelia using the other bot or did someone have to connect to the server? :)
11:38 ChanServ sets mode: +v camelia
camelia rakudo-moar fb0a13: OUTPUT«False␤» 11:38
llfourn ZoffixWin: no according to camelia
11:39 pierre-vigier joined
azawawi ZoffixWin: confirmed, windows 7.1 SDK + strawberry perl is all you need to use rakudobrew 11:40
ZoffixWin sweet
azawawi ==> Installing MagickWand ==> Successfully installed MagickWand # Windows 7 AMD FX-8150 gaming machine :)
azawawi install "script" package for atom to run the example :) 11:42
11:45 DoverMo left
ely-se can I specify CPAN modules as dependencies in META.info when I use Inline::Perl5? 11:47
llfourn ely-se: that's certainly an interesting question 11:48
but I don't have an answer :(
11:49 pierre-vigier left
ZoffixWin m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot 3, 4 11:53
camelia rakudo-moar fb0a13: OUTPUT«This type cannot unbox to a native number␤ in method CALL-ME at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 283␤ in block <unit> at /tmp/A1FLWvqQzT line 1␤␤»
ZoffixWin m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot 3e0, 4e0
camelia rakudo-moar fb0a13: OUTPUT«5␤»
ZoffixWin It would be nice for that to unbox automagically.
hm
m: say 4.Num
camelia rakudo-moar fb0a13: OUTPUT«4␤»
11:53 kid51 joined
BenGoldberg m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot 3.0, 4.0 11:54
camelia rakudo-moar fb0a13: OUTPUT«This type cannot unbox to a native number␤ in method CALL-ME at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 283␤ in block <unit> at /tmp/pQt4f43Oej line 1␤␤»
azawawi pasteboard.co/10uVnma1.png # The result of gist.github.com/azawawi/cdeae2c709aee411a188 on windows :)
ZoffixWin Because, basically to make a perlish sub that interfaces with a C lib, you'd need to make an intermediate that does the coercion.
azawawi++ very cool 11:55
11:55 virtualsue joined
azawawi thx 11:57
11:57 vendethiel joined 11:58 musiKk joined
ZoffixWin 0.o 11:59
m: use NativeCall; sub hypot (long , long) returns long is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«121480020004␤»
ZoffixWin m: use NativeCall; sub hypot (long, long) returns long is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«0␤»
11:59 lnrdo left
ZoffixWin Weird, eh? Comma position changes the return value 11:59
11:59 lnrdo joined
ZoffixWin But was I was gonna say is we got long but no double? 11:59
There's more actually: 12:01
12:01 hankache left
ZoffixWin m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; sub hypot (long, long) returns long is native {}; say hypot 3, 4 12:01
camelia rakudo-moar fb0a13: OUTPUT«133062896␤»
ZoffixWin dafuq? 12:02
12:03 pierre-vigier joined
ZoffixWin m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; sub hypot (long, long) returns long is native {}; say hypot 3, 4 12:04
camelia rakudo-moar fb0a13: OUTPUT«153817849␤»
ZoffixWin m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«8589934595␤»
ZoffixWin m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; ; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«17180291710␤»
ZoffixWin giggles
m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; ; ; ; ; ; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«149815081␤»
12:04 bowtie left 12:05 bowtie joined
ZoffixWin Ah, the our native stuff isn't even needed: 12:06
m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«1220935716␤»
ZoffixWin m: use NativeCall; ; ; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«0␤»
ZoffixWin m: use NativeCall; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«0␤»
12:06 sammers left
ZoffixWin m: use NativeCall; sub hypot (int16, int16) returns num64 is native {}; say hypot 3, 4 12:08
camelia rakudo-moar fb0a13: OUTPUT«4.87068332437578e-316␤»
BenGoldberg m: use NativeCall; sub hypot (int64, int64) returns int64 is native {}; say hypot 3, 4 12:09
camelia rakudo-moar fb0a13: OUTPUT«102417584␤»
BenGoldberg m: use NativeCall; sub hypot (int64, int64) returns num64 is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«4.63856575042433e-316␤»
12:10 sammers joined 12:14 pierre-vigier left
sortiz m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot num64.new(3.0), num64.new(4.0) 12:14
camelia rakudo-moar fb0a13: OUTPUT«5␤»
sortiz NativeCall can not known nor check the correctness of the types used, only if the function exists. 12:19
ZoffixWin m: use NativeCall; sub strcpy (Str, Str) returns Str is native {}; my $x = "42"; say strcpy $x, "4222222222222222222" x 42
camelia rakudo-moar fb0a13: OUTPUT«(timeout)*** Error in `/home/camelia/rakudo-m-inst-1/bin/moar': malloc(): memory corruption: 0x0000000007087b20 ***␤» 12:20
ZoffixWin m: use NativeCall; sub strcpy (Str, Str) returns Str is native {}; my @x = "42", "43"; say strcpy @x[0], @x[1]; say @x 12:22
camelia rakudo-moar fb0a13: OUTPUT«43␤[42 43]␤»
ZoffixWin :D
Oh, I misread the output :( 12:23
12:23 Zero_Dogg left, Zero_Dogg joined, Zero_Dogg left, Zero_Dogg joined
sortiz And yes, we can easy shot ourselves in the foot, the head, or kill the neighbor's cat. 12:23
m: use NativeCall; sub hypotf (num32, num32) returns num32 is native {}; say hypotf 3e0, 4e0 12:27
camelia rakudo-moar fb0a13: OUTPUT«5␤»
ely-se masak: I am thinking of using Rakudo's JVM support and JVM's sandboxing facilities for perl6 --doc. Do you think that would work? 12:29
I don't have any idea of how mature the JVM back-end is though 12:30
12:34 Cabanossi left
RabidGravy discovers there are three different installations of couchdb on his laptop, deletes two (hopefully the right two) 12:34
12:34 sammers left 12:36 azawawi left 12:37 leont joined 12:38 Cabanossi joined
geekosaur r-j: "test".say 12:39
camelia rakudo-jvm 6c0f93: OUTPUT«test␤»
geekosaur well, that's better than it's been doing recently
jvm backend has been pretty broken
ely-se ok :P 12:42
stmuk RabidGravy: what was that DB perl CI thing called?
12:47 sammers joined
stmuk ah smolder 12:48
12:50 pierre-vigier joined 12:51 maslan left 12:54 sammers left
pierre-vigier Hi #perl6 12:56
m: multi sub t( Array @l ) { say "Array" }; multi sub t( List @l ) { say "List" }; my $l = ( (1,2),(3,4) ); t( $l );
camelia rakudo-moar fb0a13: OUTPUT«Cannot call t(List); none of these signatures match:␤ (Array @l)␤ (List @l)␤ in block <unit> at /tmp/w8HXaY2nmo line 1␤␤»
pierre-vigier any Idea ?
gfldex type contraint and structure are not the same thing 12:57
pierre-vigier yes, what i want is to receive an array of array 12:58
gfldex m: my Array @a; dd @a.^name; my $l = [[1],]; dd $l.^name;
camelia rakudo-moar fb0a13: OUTPUT«"Array[Array]"␤"Array"␤»
pierre-vigier or Array of list, 12:59
the only solution is to use a where?
gfldex m: multi sub t( Array @l ) { say "Array" }; multi sub t( List @l ) { say "List" }; my Array @l = [[1],]; t( @l );
camelia rakudo-moar fb0a13: OUTPUT«Array␤»
pierre-vigier ah 13:00
understoof
understood
i need to force the type of Array element to be Array, 13:01
13:06 sammers joined
RabidGravy stmuk, it was a combo of smolder & buildbot 13:11
both of those things are eminently doable in P6 right now
(IMO) 13:12
MadcapJake I completely forgot that I made the chocolatey package for rakudo xD 13:15
13:28 virtualsue left
MadcapJake awwaiid: if you or anyone else wants to be a chocolatey maintainer for rakudo *, I can add you. I don't currently have a windows machine. 13:29
13:30 acrussell joined 13:33 brrt left
stmuk there is nothing like PPI for perl6 (or a simple API to the internal Perl 6 grammars) I suppose 13:34
13:35 lnrdo left 13:36 lnrdo joined
stmuk maybe Rakudo::Perl6::Parsing 13:38
RabidGravy well you can get at the grammar (I just keep forgetting how)
13:38 musiKk left
leont But the grammar will execute BEGIN blocks 13:41
This was discussed a few days ago, I think
13:47 Skarsnik joined
Skarsnik Hello 13:47
yoleaux 10:32Z <ely-se> Skarsnik: not a pair of instants (that would be called an "interval"). It's just a number of seconds.
RabidGravy but you could potentially alter the actions to prevent that from happening (I guess I claim no great knowledge of the matter) 13:52
13:52 virtualsue joined
leont Probably 13:52
dalek ecs: 7713048 | (Stéphane Payrard)++ | t.elm:
c
14:00
ecs: 78bcffc | (Stéphane Payrard)++ | S05-regex.pod:
<?[]> and <![]> were undocumented
moritz yes, but then you can't parse it anymore
the BEGIN time actions are necessary for registering declared symbols, new operators and so on
virtualsue \o/ Perl 6 installation partay @London Hackspace today 14:06
cognominal arf the <![]> was documented. I only searched for <?[ Anyway now if someone searches for <![ he will find it. 14:08
leont That t.elm is confusing me 14:12
cognominal: Is that an accident? 14:14
cognominal arf
I am using a atomagit. Visibily I don't master it
will fix it. 14:15
dalek ecs: ca0a0bc | (Stéphane Payrard)++ | t.elm:
delete file accidentally checked
14:16
cognominal sorry about that 14:17
leont++ for noticing
14:19 colomon left 14:20 mephinet left 14:24 ELBeavers joined 14:25 Averna left 14:27 pi1 left, pi1 joined
dalek ecs: cbb8978 | (Steve Mynott)++ | S22-package-format.pod:
remove leading v in version example
14:28
RabidGravy why do I get "Missing serialize REPR function for REPR VMException" on Travis-CI when I don't get it locally and how the hell do I diagnose ot
it
Skarsnik Oo
14:29 ELBeavers left 14:31 xpen joined 14:32 xpen left 14:33 xpen joined
orbus question - is there a baked in way to require an unsigned int in a signature? 14:34
or do I just need to check what was passed in and throw an exception if I don't like what I got?
14:34 mephinet joined
Skarsnik unsigned type are not really working properly x) 14:35
orbus that's kind of what I thought
alright, exception it is then
Skarsnik I think uint32 and uint64 are kind of fine?
orbus hrm
well I can try
let's see
it's for a BUILD method
object construction 14:36
uint64 didn't seem to constrain it 14:37
seems like it's just acting like an int
Skarsnik The issue all the intx are see as Int in type. that make being constraint around them kind of hard
orbus well, no worries 14:38
I can just put a check in the constructor
and die if I get a negative
dalek ecs: db43544 | (Steve Mynott)++ | S22-package-format.pod:
update perl version example to use 6.c type vers
14:43 sjoshi joined
Skarsnik I really need more ram :( 14:44
14:44 azawawi joined
azawawi hi 14:44
Skarsnik hello
azawawi Skarsnik: how much ram you have? :)
14:44 lokien_ joined
Skarsnik 8Gb, but the issue is to be able to run more than 1 vm at the time ^^ 14:45
azawawi 12-16 GB is good 14:46
and an SSD 14:47
finally got MagicWand to work on all three platforms (Linux, Windows and MacOS X) github.com/azawawi/perl6-magickwan...ild-status 14:48
14:48 bowtie left
Skarsnik I need to have a look at these windows build x) 14:50
14:50 bowtie joined
orbus has two vms running on a machine with 8 gb 14:51
I don't think I'd want to go much over that though
pierre-vigier class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!$m(); }; };
m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!$m(); }; };
Skarsnik win 7 (host) is hungry for ram already x)
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Gkv843v7gR␤Cannot use this form of method call with a private method␤at /tmp/Gkv843v7gR:1␤------> 3";}; method m() { my $m = "p"; self!$m()7⏏5; }; };␤»
azawawi Skarsnik: run lightweight VMs... i use lubuntu over windows 7 :) 14:52
pierre-vigier strange, is it not possible to call a private method, from a name contained in a variable?
m: class Foo { method !p() { say "private";}; method m() { self!"m"(); }; };
camelia ( no output )
pierre-vigier a string seems ok, but a variable conaining a string does not work 14:53
azawawi Skarsnik: vmware or virtualbox?
Skarsnik virtualbox
azawawi Skarsnik: go vmware then :)
pierre-vigier vmware is way more efficient than virtualbox indeed, however, not free :( 14:54
geekosaur player is free for personal use on linux
and unlike older versions is perfectly capable of creating vm-s 14:55
(you dont have what they call "restricted vms" but you don't want those. by "restricted" they mean "IT decides what you're allowed to do with that VM") 14:56
pierre-vigier m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!$m(); }; }; 14:58
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VFmCdjQSto␤Cannot use this form of method call with a private method␤at /tmp/VFmCdjQSto:1␤------> 3";}; method m() { my $m = "p"; self!$m()7⏏5; }; };␤»
azawawi im looking at the prices... fusion (on mac) is way cheaper than workstation on windows
pierre-vigier Someone not how to do that? 14:59
VMware Workstation 12 Player Free for Personal Use
from www.vmware.com/products/player/
geekosaur yes, fusion is scary cheap compared to all the other ones
azawawi yup 15:00
geekosaur I've mostly migrated to Linux but keep the Mac around specifically so I can run VMs with Fusion
ely-se Hmm, sandboxing MoarVM is difficult.
It crashes if the ioctl system call fails, but ioctl is dangerous. 15:01
Skarsnik My issue is more my host already take 6GB 15:02
so not some much ram free for vm
azawawi are there any other free CI build services (excluding travis ci & appveyor) for open source? 15:03
geekosaur S12 says that should work, btw
$obj!"$methodname"() # indirect call to private method name
oh, maybe you just need the quotes
pierre-vigier m: class Foo { method !p() { say "private";}; method m() { my $m = self.^private_nethod_table<p>; self.$m(); }; }; 15:04
camelia ( no output )
geekosaur m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!"$m"(); }; };
camelia ( no output )
pierre-vigier oh, with quote it's working, nice
other solution, get the method from the private_method_table
and call it as public
geekosaur yeh
15:04 cosarara_ joined
geekosaur m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!"$m"(); }; }; Foo.new.m 15:05
camelia rakudo-moar fb0a13: OUTPUT«private␤»
15:05 maslan joined
masak ely-se: unfortunately, I don't know enough about JVM's sandboxing facilities to sensibly answer that 15:05
Skarsnik and it could be nice if virtualbox check for free ram before try to restore a vm and fail xD 15:06
15:07 cosarara left
awwaiid MadcapJake: what is a chocholatey? 15:10
geekosaur windows package manager
stmuk openssl/nativecall seems broken on mac 15:11
15:11 BenGoldberg left
geekosaur microsoft finally figured out that hey, maybe somehting like yum or apt-get would be nice 15:11
15:13 CIAvash left 15:14 secwang left
azawawi awwaiid: chocolatey.org/packages/rakudostar 15:16
15:16 lnrdo left
azawawi geekosaur: :) 15:16
Skarsnik 2014.12.1 ? 15:17
azawawi ducks
15:18 lnrdo joined
MadcapJake lol i did it a year ago when I had a Windows rig 15:18
azawawi vs chocolatey.org/packages/strawberryperl
interesting commentary about strawberry perl chocolatey.org/packages/strawberry...ionhistory 15:20
15:21 sftf joined 15:23 BenGoldberg joined
orbus apparently StrawberryPerl 5.20.2.1 has been awaiting approval since April? 15:26
azawawi no follow up 15:27
orbus would probably just install strawberry perl
with the windows installer
15:27 TEttinger joined 15:28 azawawi left 15:30 ELBeavers joined
orbus but I guess this sort of thing might be good if you're managing a bunch of networked windows boxes 15:30
AlexDaniel m: say flat ‘earth’ 15:35
camelia rakudo-moar fb0a13: OUTPUT«(earth)␤»
AlexDaniel m: say round ‘earth’
camelia rakudo-moar fb0a13: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5earth' (indicated by ⏏)␤ in block <unit> at /tmp/hsCnlLgZyf line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/hsCnlLgZyf line 1␤␤»
15:37 molaf joined 15:38 xinming left 15:40 pierre-vigier left
RabidGravy timotimo, copying and pasting that "will lazy" code isn't quite as simple as all that it appears the closures don't quite work if you use it more than one :) 15:40
15:43 xpen left
RabidGravy nothing that turning it anto a parameterised role can't fix however 15:43
15:46 ely-se left
RabidGravy yep that works a treat 15:46
[Tux] csv-ip5xs 17.656 15:58
test 22.467
test-t 12.165
csv-parser 49.241
RabidGravy is that creeping back up again? 15:59
16:00 Peter- left 16:01 Peter- joined
awwaiid choco is like apt-get for windows?! sweet! 16:04
vendethiel ..in that every package uploaded is severely outdated, yeah :p 16:08
geekosaur heheh 16:09
ugexe if they continue on their current path it should get better. nuget is pretty cool 16:11
16:11 hankache joined
hankache is there a difference between sub foo(int32) is native('libfoo') { * }; and sub foo(int32) is native('libfoo') { ... }; ?? 16:13
Skarsnik probably not
hankache thanks Skarsnik 16:14
Skarsnik maybe if you go for multi it can have an influence?
hankache no idea 16:15
Skarsnik++ #GPTrixie
can we specify stdout to be a file instead of te terminal? 16:17
^^ for GPTrixie
16:17 xinming joined
Skarsnik > file ? 16:17
ZoffixWin Oh, is that what Trixie is lol
I never bothered to look at it and has just been wondering that it should be possible to generate NC stuff from headers :D
Skarsnik++ 16:18
Skarsnik well thx gccxml xD
I tried lot of stuff based on clang but I never managed to have something that compile on debian or just work 16:19
like cast does not want c99...
ZoffixWin Do you know what's happening here, when incorrect types are used? What are those return values? 16:21
m: use NativeCall; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«0␤»
ZoffixWin m: use NativeCall; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«0␤»
ZoffixWin m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«1220935716␤»
ZoffixWin (note: I'm just adding ';')
16:22 arlenik joined
Skarsnik lol 16:22
16:22 sQuEE` left, ely-se joined, xinming left
Skarsnik not even sure how a native with {} work 16:23
m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { * }; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«0␤»
Skarsnik m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { returns 42 }; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5_PYxRnK_7␤Undeclared routine:␤ returns used at line 1. Did you mean 'return', 'return-rw'?␤␤»
Skarsnik m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { return 42 }; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«1574504822␤»
arnsholt The body of a sub marked with is native is ignored
Skarsnik m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { return 42 }; say hypot 3, 4; say hypot 3, 4; 16:24
camelia rakudo-moar fb0a13: OUTPUT«0␤0␤»
ZoffixWin Oh, is that what is it?
16:24 sQuEE joined
arnsholt The Native role mixes in a CALL-ME method (or something like that, the exact name escapes me ATM) which overrides the whole call process 16:24
ZoffixWin Hm
m: use NativeCall; ; ; ; ; ; sub hypot (long, long) returns long is native {*}; say hypot 3, 4 16:25
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bKIVUtKIIo␤Bogus postfix␤at /tmp/bKIVUtKIIo:1␤------> 3turns long is native {*}; say hypot 3, 47⏏5␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statem…»
Skarsnik but that buggy to have random output like that
ZoffixWin m: use NativeCall; ; ; ; ; ; sub hypot (long, long) returns long is native {*}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«0␤»
ZoffixWin m: use NativeCall; ; ; ; ; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4
camelia rakudo-moar fb0a13: OUTPUT«89791560␤»
arnsholt Yeah, it's weird that adding the semicolons changes things 16:26
Hard to say why that is
Skarsnik what hypot does?
arnsholt Why it goes wrong 16:27
ZoffixWin hypotenuse
m: use NativeCall; ; ; ; ; ; sub hypot (num64, num64) returns num64 is native {}; say hypot 3e0, 4e0
camelia rakudo-moar fb0a13: OUTPUT«5␤»
ZoffixWin m: say sqrt(3**2, 4**2)
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EOkdy71oGq␤Calling sqrt(Int, Int) will never work with proto signature ($)␤at /tmp/EOkdy71oGq:1␤------> 3say 7⏏5sqrt(3**2, 4**2)␤»
jnthn hypot is defined as taking num32 afaict
16:27 skids joined
ZoffixWin It takes a double 16:27
moritz ouble hypot(double x, double y); 16:28
jnthn ah, you're right
moritz float hypotf(float x, float y);
RabidGravy ooh, I'm sure I tried this before and found it not to work as expected
ZoffixWin m: say sqrt(3**2 + 4**2)
RabidGravy m: role F[Callable $f] { method f() { say "callable" }}; role F[Str $f] { method f() { say "string" }}; my $a = 1; $a does F["foo"]; $a.f; my $b = 1; $b does F[-> { }]; $b.f
camelia rakudo-moar fb0a13: OUTPUT«5␤»
rakudo-moar fb0a13: OUTPUT«string␤callable␤»
arnsholt It's weird that adding semicolons between the use and the sub definition changes the return value, though
RabidGravy which is possibly the coolest thing in the workd
jnthn yeah...though calling it with long is violating the calling conventions. 16:29
arnsholt Although that was with the wrong type might invoke something undefined
Definitely
ZoffixWin arnsholt, my wild guess would be the incorrect types are making NC read incorrect memory areas and those areas are affected by the content of the program itself or something
jnthn It'll maybe invoke the right thing, but callee-save registers might get hosed up for example.
arnsholt ZoffixWin: Yeah, that's probably it. Since the weird example defines it with two 32 bit arguments it probably reads bogus data on the stack or some such# 16:30
jnthn If it is behaving weird with the *correct* signature then it's certainly a bug :)
arnsholt Yeah
jnthn But if it's only with bogus ones, well, memory corruption is likely.
arnsholt Yeah, I agree
jnthn And the harder we optimize NativeCall, the likelier it's going to get.
sortiz ZoffixWin, I suppose that when you use the wrong types, the demarchaling take some random values from the stack.
ZoffixWin nods 16:31
jnthn (Since the endgame is that we're just JIT-compiling the call to the C function directly into the JITting of the Perl 6 code)
(Though we're a bit off that)
ZoffixWin BTW, any idea why I was having issues earlier? getting "Cannot find method 'CALL-ME'" when calling a nativecalled sub irclog.perlgeek.de/perl6/2016-01-23#i_11928513 16:33
16:33 araujo_ joined
hankache what is sized ints? 16:34
sortiz At the machine level reading from the stack an int64 and a double, reads the same amount of memory, nothing bad happens. 16:35
ZoffixWin hankache, ints that fit into a particular number of bytes
16:35 araujo_ left
ZoffixWin m: my int16 $x = 2**15; say $x; $x = 2**16; say $x 16:35
camelia rakudo-moar fb0a13: OUTPUT«-32768␤0␤»
16:35 araujo_ joined
hankache ZoffixWin so int32 and int64 are called sized ints? 16:35
ZoffixWin Yeah
hankache ZoffixWin thanks mate 16:36
ZoffixWin m: my int16 $x = 2**15 - 1; say $x
camelia rakudo-moar fb0a13: OUTPUT«32767␤»
jnthn sortiz: Yes, but the calling conventions on x64 don't use the stack for various cases.
16:36 zakharyas joined, araujo left
Skarsnik sized int are a nice name mainly for now x) 16:36
jnthn Skarsnik: Huh? They're pretty widely implemented, even if there's some imperfections. 16:37
m: my int8 $x = 2**9; say $x
camelia rakudo-moar fb0a13: OUTPUT«0␤»
sortiz Yes, and if the stack isn't involved, you are reading bogus registers. 16:38
jnthn sortiz: Yeah, that's what I suspect is going on here
Note how the 2**9 overflows
The most useful use of native ints, outside of native call, is in packed arrays
my int8 @a[10000] will use a lot less memory than my int64 @a[10000]
ZoffixWin m: my int8 @a[100000] 16:39
camelia ( no output )
Skarsnik They should not match Int btw when using multi or ~~ or in given statement
I mean they should be usable
ZoffixWin Well, some combination of values makes camelia report a nice round number of bytes that could not be allocated and you can see the difference for different sizes
rindolf Hi all! paste.debian.net/367409/ - this gives me «Unexpected block in infix position (missing statement control word before the expression?)» - why and how can I fix it?
ZoffixWin: hi, sup?
jnthn m: say int32 ~~ Int 16:40
camelia rakudo-moar fb0a13: OUTPUT«Cannot unbox a type object␤ in block <unit> at /tmp/yc7mEmub4P line 1␤␤»
jnthn wtf...
AlexDaniel :)
jnthn m: say Str ~~ Int
camelia rakudo-moar fb0a13: OUTPUT«False␤»
jnthn m: say Int ~~ Int
camelia rakudo-moar fb0a13: OUTPUT«True␤»
jnthn Oddness
But anyway, the native ints are subclasses of Int 16:41
But also, any time you're smart-matching then you're dealing in object space
Skarsnik m: my int8 $a; given $a { when int8 { say "int8"} when Int { say "Int"}};
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9sLIpofWSv␤Strange text after block (missing semicolon or comma?)␤at /tmp/9sLIpofWSv:1␤------> 038 $a; given $a { when int8 { say "int8"}7⏏5 when Int { say "Int"}};␤»
jnthn So boxing is likely
16:41 pi2 joined, pi1 left
jnthn Skarsnik: Yes, native types don't know their type, they all box to Int 16:41
That's by design
Skarsnik That bad
AlexDaniel m: my int8 $a; given $a { when int8 { say "int8"}; when Int { say "Int"} }; 16:42
camelia rakudo-moar fb0a13: OUTPUT«Int␤»
sortiz Weird things can happen, if for example, a bad declared structure with pointers are dereferenced.
Skarsnik like even using ^name on $a will not gie you int9
jnthn Correct, because that's an object operation
AlexDaniel m: say int32.^methods 16:43
camelia rakudo-moar fb0a13: OUTPUT«Method 'methods' not found for invocant of class 'Perl6::Metamodel::NativeHOW'␤ in block <unit> at /tmp/pbmwyXA52V line 1␤␤»
jnthn Meta-OBJECT protocol
We go pretty far to let you pretend most things are objects in Perl 6
16:43 araujo__ joined
jnthn But like most other languages, we do it by autoboxing natives. 16:43
rindolf anyone?
Skarsnik I don't care how that work behind the scene. it's just, you can't do stuff based on these type
ZoffixWin rindolf, what line number is that error on? 16:44
Skarsnik and it's annoying IMO
rindolf ZoffixWin: 18.
jnthn Skarsnik: Well that's your problem. If you're using native types you are expected to care a bit more.
Skarsnik ? 16:45
You realise that annoying when working with NC?
ZoffixWin rindolf, tossing all those parenthesis makes it go away
geekosaur rindolf, I don't think the outer set of parens is legal
if you put the close paren before the arrow, it should work
Skarsnik since your dealing with 'extra' type that make sens in this context
16:46 araujo_ left
rindolf geekosaur: OK, thanks. 16:46
ZoffixWin rindolf, But you have a host of other errors.
geekosaur (of course then it's redundant)
Skarsnik I know that in regular perl6 code, these native type are fine as 'internal weird stuff' but in NC context there are more meaningful
geekosaur but -> is not an operator, it's syntax, and the syntax does not expect parens 16:47
Skarsnik m: my int8 $a; say $a.nativesize;
camelia rakudo-moar fb0a13: OUTPUT«Method 'nativesize' not found for invocant of class 'Int'␤ in block <unit> at /tmp/7lsUnuHMQn line 1␤␤»
jnthn bbi10, cheese needs attention...
16:47 pi2 left, virtualsue left 16:48 pi4 joined, ajr_ joined
sortiz Skarsnik, I'm empathetic, have some problems, mainly with unsigned types, that turns negative when boxed as Int. 16:49
16:49 lokien_ left
jnthn m: my int8 $a; say $a.VAR.of.^nativesize 16:52
camelia rakudo-moar fb0a13: OUTPUT«Method 'of' not found for invocant of class 'Int'␤ in block <unit> at /tmp/ZD6kZzSO2G line 1␤␤»
jnthn That one we should make work.
ZoffixWin What's the name for "returns" in sub cpu_clock returns int32 is native('cpuid') {} ?
trait?
jnthn ZoffixWin: Yes, it's a trait
ZoffixWin Thanks
jnthn is/does/of/returns are all traits
handles too
I think there's another one I forgot. They're all in le grammar. 16:53
geekosaur will?
jnthn Yup :)
In general, I agree natives need a decent bit more work, but they'll always have the "don't in isolation know what they are" issue. 16:54
'cus the point of them is they're just the raw data, not carrying a type flag around.
So as soon as they leave their "context" that says how they're to be interpreted, they need boxing.
Skarsnik Probably need to make extra type for NC them, so they became more meaningful 16:55
16:56 BenGoldberg left
Skarsnik m: my uint8 $a; say $a ~~ Unsigned; 16:56
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/f22FTIjYYg␤Undeclared name:␤ Unsigned used at line 1␤␤»
16:59 TEttinger left
ely-se modules.perl6.org documentation scraper is working well :) 17:00
ZoffixWin modules.perl6.org has a documentation scraper??
17:01 revhippie joined
ely-se no, I'm writing one 17:01
ZoffixWin Sweet
This reminds me tho...
ely-se github.com/rightfold/sixdoc/blob/m...doc-scrape
ZoffixWin The code that figures out whether there's a readme is case-sensitive and SDL2::Raw, for example, names it Readme.md and detection fails. 17:02
17:02 zakharyas left
ZoffixWin ely-se, cool :) 17:03
ely-se wish Pod::To::HTML had a "bare" option, to only generate the text that would go in the <body> element 17:04
ZoffixWin say DOM::Tiny->new($html)->at('body') :)
->descendant_nodes->map('xml') I guess, to remove the <body> itself 17:06
Skarsnik I should write something like that based on gumbo x)
ZoffixWin That would be great 17:08
ely-se ZoffixWin: is that Perl 5 or 6?
17:08 DrPete_ left
ZoffixWin ely-se, 5 17:09
ely-se nice
ZoffixWin ely-se, DOM::Tiny is a port of Mojo::DOM by one of the core Mojolicious members: metacpan.org/pod/DOM::Tiny
Well, the goal of it was to provide a parser WITHOUT having to install a web framework :) 17:10
ely-se I'll probably store all data in a SQLite database
much easier and safer (because user input) than dealing with files
17:12 xinming joined
dalek osystem: 436f89c | RabidGravy++ | META.list:
Add Attribute::Lazy

See github.com/jonathanstowe/Attribute-Lazy
17:14
Skarsnik nice RabidGravy x)
17:14 salva left, nchambers joined 17:15 colourspace joined
ZoffixWin weeee RabidGravy++ 17:15
RabidGravy ^ is basically the code reverted from the code changed a bit to make it pass some tests ;-)
timotimo, there ^
colourspace hello, i have perhaps a noobish regex problem i'm trying to work through. i need to match both the strings "foo - bar" and "foo - bar - baz", so i have a regex something like / <first> <separator> <second> [ <separator> <third> ]? / where second and third are an arbitrary sequence of characters NOT matching <separator>. naively i have second and third both defined as / .+ /, but as you can imagine it will greedily match second as 17:17
any idea how to make it not so greedily match?
awwaiid colourspace: try throwing a ? after the .+, as in .+? 17:19
jnthn They're syntax for matching things between separators also 17:20
*there's
colourspace jnthn that sounds exactly what i'd need, can you point me in the right direction?
ely-se How do you in English differentiate between a module defined with the module keyword and a module as distributed with META.info, lib, t, etc files?
jnthn m: say 'foo - bar' ~~ / (\w+)**2..3 % [\s*'-'\s*] /
camelia rakudo-moar fb0a13: OUTPUT«「foo - bar」␤ 0 => 「foo」␤ 0 => 「bar」␤»
jnthn m: say 'foo - bar - baz' ~~ / (\w+)**2..3 % [\s*'-'\s*] /
camelia rakudo-moar fb0a13: OUTPUT«「foo - bar - baz」␤ 0 => 「foo」␤ 0 => 「bar」␤ 0 => 「baz」␤»
jnthn **2..3 is the "match 2 to 3 times" quantifier 17:21
% can be used with any quantifier and means "match the thing to the right between each of the matches of the quantified thing"
doc.perl6.org/language/regexes#Modi...ier%3A_%25
17:21 autark joined
colourspace ok thank you, i will play around with these suggestions 17:22
17:22 araujo_ joined 17:24 araujo__ left 17:29 alpha123 joined
skids ely-se: "distribution"? 17:29
17:32 colourspace left
ely-se skids: yeah I went with that :P 17:32
17:36 DrPete_ joined
ZoffixWin m: use NativeCalls; sub hypot (uint32_t, uint32_t) is native {} 17:40
camelia rakudo-moar fb0a13: OUTPUT«===SORRY!===␤Could not find NativeCalls in:␤ /home/camelia/.perl6/2015.12-218-gfb0a135␤ /home/camelia/rakudo-m-inst-1/share/perl6/site␤ /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-1/share/perl6␤ …»
ZoffixWin m: use NativeCall; sub hypot (uint32_t, uint32_t) is native {}
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rIwkeuSvoL␤Invalid typename 'uint32_t' in parameter declaration. Did you mean 'uint32'?␤at /tmp/rIwkeuSvoL:1␤------> 3use NativeCall; sub hypot (uint32_t7⏏5, uint32_t) is native {}␤»
dalek c/jgoff-regex-substitution: a606c27 | (Jeffrey Goff)++ | doc/Language/regexes.pod:
Basic documentation for the s/// operator.
ZoffixWin hmmmm
The NativeCall's learning curve is super steep (if you don't know C, I mean) 17:41
17:41 khw joined
Skarsnik just use gptrixie xD 17:41
17:42 mollmerx joined
ZoffixWin Yup, installing it right now :) 17:42
Hm, actually this plays well into my blog post... I'll show that even an idiot like me can use C libraries :P 17:43
Skarsnik Well translation C definition -> perl6 is not even half the work 17:44
You still need to know some C to understand how some stuff are to be handled
ZoffixWin I wonder if we can improve that actually. I see in Haskel, they can just do C.include "<stdio.h>" and go to town: www.fpcomplete.com/blog/2015/05/inline-c 17:45
Skarsnik how they parse the header? 17:47
ZoffixWin No idea.
Skarsnik and it's cute for stdio probably 17:48
but I have header that involve 150 files
ZoffixWin Later on that page they say "we use a function from C's GNU Scientific Library", so I assume it works with bigger things too. 17:49
Hm "*resolve stage failed for modules.perl6.org/dist/App::GPTrixie: Project modules.perl6.org/dist/App::GPTrixie not found in the ecosystem)" 17:50
Ah, right, I've used the full URL instead of module name >_<
Skarsnik xD 17:52
17:52 ggoebel12 joined 17:54 ggoebel11 left
DrForr About to make a pull request for s/// documentation. 17:55
(currently waiting for the indexer to run.) 17:56
17:57 espadrine joined
ZoffixWin Skarsnik, sent you a PR to fix typos and I see I typoed myself with "thatsome" here that should be left alone as "some": github.com/Skarsnik/gptrixie/pull/...d2eec7d8R6 17:58
I've no idea how to modify a commit with GitHub's web interface :) 17:59
Skarsnik just redo a commit? 18:00
ZoffixWin I installed the module but `gptrixie` is not available.
Skarsnik it update the pr
ZoffixWin I don't see any redo options 18:01
Skarsnik I mean do another commit
hm, I have no idea where/how panda install 'binary' 18:02
18:02 jme` joined
Skarsnik and I probably forget to put a #!/bin/env perl6 18:02
ZoffixWin Ah, yeah, that did it (the commit) 18:03
DrForr Wow. When the docs said it would take a while they.. weren't kidding.
18:04 colomon joined, lnrdo left
ZoffixWin Ah, yeah, it's installed in /home/zoffix/./.rakudobrew/moar-nom/install/share/perl6/site/bin/gptrixie, but that's not in my path 18:04
18:04 sftf left
ZoffixWin bummer.... 18:05
18:06 xtreak joined, travis-ci joined
travis-ci Doc build passed. Jeffrey Goff 'Basic documentation for the s/// operator.' 18:06
travis-ci.org/perl6/doc/builds/104314461 github.com/perl6/doc/commit/a606c27cb574
18:06 travis-ci left
Skarsnik panda did not warn about that? 18:06
xtreak Is there a release schedule for perl6?
ZoffixWin Skarsnik, nope 18:07
flussence xtreak: Rakudo is released the third Saturday of each month. 18:08
ZoffixWin xtreak, not at the moment. As far as I know, the Rakudo release schedule is being modified and decided on at the moment. It'll still be monthly, though. As for Perl 6 the language, I think it's yearly, with the next release being around Diwali
18:16 ggoebel13 joined 18:17 ggoebel12 left 18:18 _mg_ joined 18:21 laz78 joined 18:23 domidumont left
dalek href="https://perl6.org:">perl6.org: 2d93ad0 | (Zoffix Znet)++ | source/downloads/index.html:
Include panda's module binaries dir in the PATH addition
18:24
RabidGravy in case anyone's interested just updated that Attribute::Lazy so that you can get access to the instance in the builder 18:26
which makes it much more useful 18:27
18:28 hc0d3r joined 18:31 leont left
RabidGravy that's definitely not what I set out to do today 18:36
dalek c/jgoff-regex-substitution: 28826ed | (Jeffrey Goff)++ | doc/Language/regexes.pod:
Reindexed =head markers
18:36 _mg_ left
ZoffixWin Am I doing anything obviously wrong? I'm getting "An exception occurred while parameterizing CArray" gist.github.com/zoffixznet/bd204722f68b70bd5709 18:37
Skarsnik uint32_t does not exist x) 18:38
18:38 leont joined
RabidGravy yeah that's what I thought 18:38
ZoffixWin Oh
RabidGravy you get the funny error because of the way it gets applied at compile time or something
ZoffixWin What do I use instead of unit32_t? 18:39
RabidGravy uint32
Skarsnik I should probably replace these type since there are in c99
but I need th pray first to redoing my type-eq operator does not segfault moar again xD 18:40
18:42 yurivish joined
RabidGravy I wouldn't replace them 18:44
I'd just document that you don't need the _t in NC code :) 18:45
ZoffixWin :( "Native call expected return type with CPointer representation, but got a CStruct" 18:47
This is the code gist.github.com/zoffixznet/c0421f531653043cfdb3 18:48
18:49 nchambers left, nchambers joined 18:50 nchambers left
ZoffixWin return type of what :S 18:52
*sigh* time to take a break from this tuff 18:55
18:57 colomon left 18:59 xtreak left, colomon joined, mollmerx left
Skarsnik ZoffixWin, weird, what line? 19:03
19:03 nchambers joined
ZoffixWin Skarsnik, 43. I now added the full error in the comment: gist.github.com/zoffixznet/c0421f5...nt-1678384 19:04
Skarsnik oh yeah make sense
you give it a cpu_raw_data but it expect a Pointer[cpu_raw_data] 19:05
but it's probably a case of just replaceing Pointer[cpu_raw_data] with cpu_raw_data is rw
19:06 ifim joined, _mg_ joined
hankache why when i run tests i see this line: "done without supply or react in block <unit> at t/00-load.t line 7" ?? 19:06
Skarsnik make test on rakudo? 19:08
RabidGravy because there is a "done" without a supply or react block :)
you want done-testing
Skarsnik did you write done testing instead of done-testing?
RabidGravy it's been like that for months
hankache RabidGravy++ Skarsnik++ #silly done
i can delete it safely right? my understanding is that i don't need "done" if i specify a plan. Am i right? 19:09
RabidGravy yes 19:10
hankache thanks you gents
ZoffixWin Skarsnik, that just results in segmenation fault :/ 19:12
19:13 perl6newbee left
ZoffixWin Skarsnik, that just results in segmenation fault :/ 19:13
oops
dalek c: a606c27 | (Jeffrey Goff)++ | doc/Language/regexes.pod:
Basic documentation for the s/// operator.
c: 28826ed | (Jeffrey Goff)++ | doc/Language/regexes.pod:
Reindexed =head markers
c: b8a03ba | RabidGravy++ | doc/Language/regexes.pod:
Merge pull request #363 from perl6/jgoff-regex-substitution

Add documentation for s/// operator
ely-se i.imgur.com/XkUG6OJ.png :)
hahainternet so i saw wenderen.github.io/Ruler-Series/ on HN, but i can't seem to figure out if it's possible to zip two infinite lists
i assume i'm doing something dumb, so i thought i'd ask for an example :D 19:14
ZoffixWin ely-se++
Skarsnik lol
RabidGravy You'd want a lazy zip I guess but I don't think there is one
hahainternet hmm actually now it works
m: say ((1,3...*) Z (2,4...*))
camelia rakudo-moar fb0a13: OUTPUT«(...)␤»
hahainternet well
AlexDaniel what is it? Fastest merge in the west contest? 19:15
hahainternet m: say ((1,3...*) Z (2,4...*))[^10]
camelia rakudo-moar fb0a13: OUTPUT«((1 2) (3 4) (5 6) (7 8) (9 10) (11 12) (13 14) (15 16) (17 18) (19 20))␤»
19:15 lnrdo joined
hahainternet so that's nice 19:15
Skarsnik ZoffixWin, you will need to know what the lib does with the pointer. that can change how to declare the functon/use it
ZoffixWin hmmm
19:15 lnrdo left
ZoffixWin K. I'm gonna leave NC for now :) I need to learn way more first 19:15
Skarsnik You can say it's a drawback of wanting to do 'magic' stuff in NC and don't have a malloc 19:16
I can't translate a c declaration directly because of that
ZoffixWin Ah 19:17
Skarsnik yes a function taking a * cstruct can be written in NC with just the cstruct
but sometime it's wrong 19:18
That why the generator in gptrixie is called dumb
RabidGravy I think the native documentation probably wants a note saying that some things are easier if you build a C wrapper for the functions yourself
Skarsnik it does not make smart choice
19:19 colomon left 19:20 colomon joined, musiKk joined
hahainternet i might be being stupid, but in the above example, is there a nice way to have those two element lists flattened into one? 19:21
ely-se many modules seem to attempt to mkdir /home/rightfold/.perl6/2015.12/dist
why is that? I'm on a read-only FS
hahainternet i swear i have done this before, but i can't think
19:22 nchambers left
Skarsnik lol 19:22
AlexDaniel m: say (flat (1,3...*) Z (2,4...*))[^10] 19:23
camelia rakudo-moar fb0a13: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
AlexDaniel hahainternet: I don't think that it is what you mean. So what do you mean?
hahainternet no that's what i meant, i didn't realise you could call flat like that 19:24
that works perfectly
AlexDaniel m: say flat ((1,3...*) Z (2,4...*))[^10]
camelia rakudo-moar fb0a13: OUTPUT«(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)␤»
hahainternet i assumed something like Z, might work as Z==> does, but clearly the list part happens a little 'earlier' 19:25
19:33 colomon left 19:34 ajr_ left, ajr_ joined 19:35 colomon joined
masak ely-se: I don't know why it's trying to create that directory -- but your scenario ("I am on a read-only FS") feels like it should (be made to) work 19:35
19:36 psy_ joined
dalek c: 106a629 | (Wenzel P. P. Peppmeyer)++ | doc/Language/control.pod:
doc once
19:42
c: 8a758ad | (Wenzel P. P. Peppmeyer)++ | doc/Language/control.pod:
doc quietly
osystem: 411820f | RabidGravy++ | META.list:
Give that the prooper URL

Maybe it could be made a bit smarter in this regard
19:46
RabidGravy me-- # how many times do I need to do that
masak we could have Travis check against such a URL 19:50
RabidGravy it's entirely possible in that one case the module list builder thingy could have worked out the proper URL 19:56
ZoffixWin Not in the last one :) 19:59
(unless you mean it should be made to be able to work it out)
RabidGravy yes that is exactly what I meant
ZoffixWin It's very easy to do with modules.perl6.org, but I'm unsure what other things use that META.list 20:00
RabidGravy sure, and iin the end I need to just not keep making that mistake 20:01
is the "will" trait word actually different in the grammar so it can take a block like that or is there something I'm missing i traits.pm ? 20:04
20:06 sjoshi left 20:08 nchambers joined
jnthn RabidGravy: No, it's different in the grammar 20:09
RabidGravy: is parses one way, will another, and returns/does/of a third
ely-se I'm not sure what to do with respect to licenses of the POD /cc ZoffixWin 20:11
RabidGravy cool, I guess that ouughta be documented somewhere
dalek osystem: 80ac5f9 | (Zoffix Znet)++ | META.list:
Fix modules that have build errors

  [META.info is now META6.json]: stmuk/p6-String-Koremutake, stmuk/p6-Text-VimColour, stmuk/p6-html-restrict, stmuk/p6-eco-readme, fayland/perl6-Cache-LRU
ZoffixWin ely-se, I'm not a lawyer, but I think a blurb on your thing stating that the copyright belongs to the original authors and you're only displaying their content yada yada would work 20:13
20:13 ifim` joined
ZoffixWin s/your thing/modules.perl6.org/; # Since I'm hoping we'll just add it into that :) 20:14
20:15 ifim left
musiKk question: why is "{0} or 1" a Block but "{0} and 1" is an Int? 20:16
ely-se ZoffixWin: for now: 6doc.rightfold.sexy/ (yes that's my domain name xD)
ZoffixWin haha
20:17 darutoko left
RabidGravy m: say so {0} 20:17
camelia rakudo-moar fb0a13: OUTPUT«True␤»
ZoffixWin musiKk, lazy evaluation? {0} is true, so it never gets to the "or 1" bit, but with the latter it reaches to the second part
timotimo yeah, foobar and barbaz evaluates to barbaz if foobar is true 20:18
and a code block is true
musiKk sure but why is essentially "true or 1" a block then?
ZoffixWin oh, man, you can see all that modules include in distros in that list! ely-se++
musiKk, no, {0} is a block
musiKk ZoffixWin: I know. but "{0} or 1" is a block, too. 20:19
gfldex neither or nor and coerce to bool
RabidGravy it's just you're askiing to evaluate it in a boolean context
timotimo musiKk: "foo" or 1 is a Str
ely-se ZoffixWin: it's all stored as SQL so I can easily add search functionality too once I index more of META.info files than just name and source-url
timotimo musiKk: Version.new() or 1 is a Version
musiKk: for the same reason, { 0 } or 1 is a Block
musiKk oooh
ZoffixWin :) 20:20
musiKk yeah right, thanks. didn't see if for some reason.
*it 20:21
ZoffixWin ely-se, none of my modules are in that list because I keep my docs only in README.md X)
timotimo :)
ZoffixWin Which I probably shouldn't be doing... p6doc, then auto-generate README.md is the way to go
ely-se ZoffixWin: I have only indexed a few modules anyway 20:22
because it takes a lot of time to set up sandboxes which are needed because perl6 --doc can execute arbitrary code
I should parallelise it but :effort: 20:24
20:28 TEttinger joined 20:30 yqt joined, BenGoldberg joined 20:34 AlexDani` joined, AlexDani` is now known as AlexDaniel` 20:36 AlexDaniel left 20:38 AlexDaniel` is now known as AlexDaniel
ely-se All those DateTime::TimeZone modules take a long time to extract documentation from, and they are undocumented. 20:45
May want to special-case those :)
ZoffixWin :)
TimToady m: say so Version.new 20:50
camelia rakudo-moar fb0a13: OUTPUT«True␤»
TimToady I could argue that should be false, just so versions have a distinguished defined but false value
20:52 espadrine left
ely-se why should versions be false? 20:52
make them false if they aren't the current value :P 20:53
ZoffixWin m: say so Version.new: False
camelia rakudo-moar fb0a13: OUTPUT«True␤»
ZoffixWin m: say so Version.new: ''
camelia rakudo-moar fb0a13: OUTPUT«True␤»
ZoffixWin :S
ely-se m: say perl Version.new: False
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XzLF14XGlt␤Undeclared routine:␤ perl used at line 1␤␤»
20:53 TEttinger left 20:54 TEttinger joined 20:56 lichtkind joined
ely-se oh great 21:06
you can't extract a module's documentation without having its dependencies installed
21:07 hankache left 21:09 arlenik left
ely-se or maybe you can 21:11
hmmm
apparently only sometimes
stmuk grrrr Mac's OpenSSL doesn't support TLSv1.2 and OpenSSL module is broken as a result 21:13
Grrrr stmuk: I did not do it; I was not even there! 21:16
21:16 hc0d3r left
leont stmuk: what? That doesn't sound right 21:18
stmuk its 0.9.8 21:21
I think their browser uses a different SSL library
21:22 hankache joined
AlexDaniel is it part of their attempts to get rid of GPLv3? 21:22
stmuk I think its Apache Licence so its more likely NIH 21:23
they never added any GPLv3 stuff
AlexDaniel riiight…
stmuk: yeah but that was the reason why they were shipping some really old stuff 21:24
because some projects switched to GPLv3
leont Wow, that is old
21:27 _mg_ left
AlexDaniel if it is Apache License, then what's their problem? NIH is not enough (because they are already using it!) 21:27
stmuk I suppose they don't care
21:28 colomon left 21:31 _mg_ joined
timotimo oh hey TimToady 21:31
hankache how come for a specific module, the tests are all ok on my local machine, but some of them fail on travis ? 21:34
github.com/hankache/perl6-Imlib2
the Imlib module was dead and I am trying to revive it 21:35
21:37 ely-se left 21:39 ely-se joined
hankache any idea? 21:41
21:43 colomon joined
stmuk maybe travis is headless and doesn't have an X server? 21:44
RabidGravy almost certainly I would say
21:44 lsm-desktop left
RabidGravy it would be skip the tests if e.g. $DISPLAY isn't set 21:44
hankache most errors are: Cannot modify an immutable Range 21:45
jdv79 what is imlib needing a x server?
*why
stmuk github.com/perl6/gtk-simple/commit...a991f68f02 21:46
21:46 lsm-desktop joined, Sgeo left
stmuk its a graphocal library isn't it? 21:46
speelt rite
hankache travis-ci.org/hankache/perl6-Imlib2 21:47
21:47 araujo__ joined
jdv79 oh, i never used it that way. just to gen graphics files or resize images. 21:47
cool 21:48
21:48 araujo_ left
hankache jdv79 yes this is what i use it for. The latest PR was from 2014, I am trying to bring it up to speed 21:48
i even found "Parcel" inside ;) 21:49
RabidGravy :-\
ancieunte
jdv79 sweet
ely-se m: sub infix:<iff>(Bool:D $a, Bool:D $b) { $a eqv $b }; say((True, False) Xiff (True, False))
camelia rakudo-moar fb0a13: OUTPUT«(True False False True)␤»
ely-se :D :D :D
hankache stmuk the failed tests returned this error: "Cannot modify an immutable Range" weird eh! 21:51
stmuk maybe preGLRism 21:52
hankache but how come tests are ok on my local machine?
stmuk errr
hankache i have the latest rakudo
This is Rakudo version 2015.12-218-gfb0a135 built on MoarVM version 2015.12-29-g8079ca5 21:53
stmuk dunno reasons :)
maybe its something else
hankache ok 21:54
:)
jdv79 maybe the tests are not of a high caliber 21:58
RabidGravy Sometimes you get those weird "cannot modify ... " errors when something gone broke in some asynchronous code, saw a lot of it when I was fixing Net::AMQP
stmuk blame travis
21:58 ajr_ left
hankache jdv79 I didn't write the tests, just forked the repo and made all required changes while making sure tests run 21:59
stmuk Travis Bickle
RabidGravy it's a pain if you can't reprododuce locally
dalek kudo-star-daily: 015df23 | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: 74ae2d6 | coke++ | / (6 files):
today (automated commit)
hankache stmuk yeah travis is drunk
21:59 colomon left 22:00 colomon joined
RabidGravy you might try our theory out by running the tests with "DISPLAY= prove -e 'perl6 -Ilib' t" 22:00
22:01 Biappi joined, Biappi left
hankache RabidGravy why not. let's see what happens 22:01
22:02 _mg_ left
stmuk github.com/gelstudios/gitfiti 22:02
hankache lol
ely-se I'm going to work on Inline::False (strlen.com/false-language) tomorrow 22:08
ZoffixWin lmao
ely-se I've always wanted to implement False.
ZoffixWin wants to do Brainfuck
That language always mystified me and its vulgarity appeals to me :) 22:09
22:09 kaare_ left 22:10 Sgeo joined
ely-se Bra*infuck isn't particularly interesting IMO 22:10
hankache ely-se++ ZoffixWin++
ely-se hankache: what for?
hankache ely-se #Inline::False 22:11
ely-se oh :p
hankache RabidGravy "DISPLAY= prove -e 'perl6 -Ilib' t" goes in "script:" ? 22:13
22:18 mprelude left, mprelude joined 22:24 araujo__ left
DrForr I was thinking Malbolge :) 22:26
22:28 araujo__ joined
musiKk question: I can't find anything in the docs about specifying the return type of a routine with the "returns" keyword and I don't remember where I read about it. Is it the same as using -->? 22:28
ZoffixWin I believe so
m: sub foo returns int32 { }; say &foo.^signature 22:29
camelia rakudo-moar fb0a13: OUTPUT«Method 'signature' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤ in block <unit> at /tmp/QE_JhFCfWx line 1␤␤»
ZoffixWin m: sub foo returns int32 { }; say &foo.signature
camelia rakudo-moar fb0a13: OUTPUT«( --> int32)␤»
musiKk maybe legacy syntax? 22:30
ZoffixWin TMTOWTDI more likely
Are there any tutorials for slangs?
musiKk I thought about that but still find it weird. Just doesn't feel right.
I guess it's safe to say --> is more idiomatic? 22:31
ZoffixWin uses returns
musiKk I guess I need to read more code before making assumptions like that. 22:33
ZoffixWin Well, it's also a brand new language... Many things to become "idiomatic" are yet to be established :)
musiKk It's just the lack of (easy to find) documentation that made me think that.
Yeah. Though funnily enough many useful information I find is from 2010-2013. 22:34
RabidGravy hankache, I was proposing you ran that on your local match 22:35
er machine
ely-se how can I get a scalar container out of a hash?
RabidGravy to emulate how it might be on travis
ely-se m: my %h = 1 => 2; %h{1}.VAR.say 22:36
camelia rakudo-moar fb0a13: OUTPUT«2␤»
ely-se m: my %h = 1 => 2; %h{1}.VAR.perl.say 22:37
camelia rakudo-moar fb0a13: OUTPUT«Int.new␤»
ely-se m: my %h = 1 => 2; %h{1}.VAR.WHAT.say
camelia rakudo-moar fb0a13: OUTPUT«(Scalar)␤»
ely-se m: my %h = 1 => 2; %h{1}.VAR = 5; %h.say
camelia rakudo-moar fb0a13: OUTPUT«Cannot assign to a readonly variable or a value␤ in block <unit> at /tmp/ZxGDzzFG2Y line 1␤␤»
ely-se m: my %h = 1 => 2; my $x := %h{1}.VAR; $x = 5; %h.say 22:38
camelia rakudo-moar fb0a13: OUTPUT«Cannot assign to a readonly variable or a value␤ in block <unit> at /tmp/ltLUh6ktXq line 1␤␤»
RabidGravy musiKk, the --> can be used in places where the returns can't
geekosaur if you have the VAR cn't you only bind to it?
RabidGravy m: my &foo = -> $x --> Int { 1 }; say &foo.signature
camelia rakudo-moar fb0a13: OUTPUT«($x --> Int)␤»
ely-se m: my %h = 1 => 2; my $x := %h{1}.VAR; $x := 5; %h.say
camelia rakudo-moar fb0a13: OUTPUT«1 => 2␤»
ely-se m: my %h = 1 => 2; %h{1}.VAR := 5; %h.say
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6PgS2Iw_zy␤Cannot use bind operator with this left-hand side␤at /tmp/6PgS2Iw_zy:1␤------> 3my %h = 1 => 2; %h{1}.VAR := 57⏏5; %h.say␤»
ely-se geekosaur: nah, binding is for lexpads, not for containers
22:39 colomon left
ely-se my: ($).WHAT.say 22:39
m: ($).WHAT.say
camelia rakudo-moar fb0a13: OUTPUT«(Any)␤»
22:39 hankache left, mscha joined
musiKk RabidGravy: Makes sense. Is the opposite also true? 22:39
TimToady generally prefers --> 22:40
RabidGravy I'm not sure myself
mscha In perl 5, I use the following to “remove diacritics”: use Unicode::Normalize qw(normalize); $str = normalize('NFD', $str); $str =~ s{\p{Mn}}{}g;
Any idea how to do that in perl6?
leont Is there any use-case for the return type? 22:41
I can imagine it being useful for optimizations, but I don't think we're there yet
Is there anything else that can reasonably be done with it
22:41 colomon joined
TimToady m: sub foo (--> 42) {}; say foo 22:41
camelia rakudo-moar fb0a13: OUTPUT«42␤»
TimToady m: sub foo (--> 42) { 43 }; say foo 22:42
camelia rakudo-moar fb0a13: OUTPUT«WARNINGS for /tmp/7Pzkkaj28L:␤Useless use of constant integer 43 in sink context (line 1)␤42␤»
ZoffixWin :o
22:42 araujo_ joined, aindilis joined
ZoffixWin leont, output validation? 22:43
22:43 araujo__ left
leont I can see that point, but it doesn't feel like it'd be very useful when I know what object I just created 22:43
TimToady it's not about you :) 22:44
it's the contract with the user
ZoffixWin Why not? 22:45
m: sub foo (--> Int) { { "complex code and conditionals" }; return "foo"; }; foo
camelia rakudo-moar fb0a13: OUTPUT«WARNINGS for /tmp/kf6t6fL6Lg:␤Useless use of constant string "complex code and conditionals" in sink context (line 1)␤Type check failed for return value; expected Int but got Str␤ in sub foo at /tmp/kf6t6fL6Lg line 1␤ in block <unit> at /tmp/kf6t…»
ZoffixWin m: sub kelvin (--> Int where * > 0 ) { return -42; }; kelvin 22:46
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bT0HmrKe3G␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/bT0HmrKe3G:1␤------> 3sub kelvin (--> Int7⏏5 where * > 0 ) { return -42; }; kelvin␤»
leont Fair enough, I do like that part
ZoffixWin :/
weird error
RabidGravy yeah because even if your code is doing the right thing, it doesn't mean the rest is
AlexDaniel m: sub foo returns 42 {}; say foo 22:47
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ua4bajlaBv␤Malformed trait␤at /tmp/ua4bajlaBv:1␤------> 3sub foo returns7⏏5 42 {}; say foo␤»
AlexDaniel this does not work though
what was the third and fourth way to do it?
RabidGravy so yeah, there are places where --> is required 22:48
:)
when I was working on Tinky I was playing with dispatchers and I can foresee you might want to consider the return type as well as the types of the arguments 22:49
AlexDaniel m: sub foo of 42 {}; say foo 22:50
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Bu5bsoJLKa␤Malformed trait␤at /tmp/Bu5bsoJLKa:1␤------> 3sub foo of7⏏5 42 {}; say foo␤»
AlexDaniel ok this one does not work too :)
RabidGravy e.g. "run all the methods that say they do this trait and return this thing" 22:51
AlexDaniel and sure this doesn't work too
m: my 42 sub foo {}; say foo
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SPtKCEHmHk␤Malformed my␤at /tmp/SPtKCEHmHk:1␤------> 3my7⏏5 42 sub foo {}; say foo␤»
musiKk What's a "my sub" again...? 22:54
RabidGravy redundant for the most part, as subs are by default lexically scoped
AlexDaniel m: my Int sub A {}; sub B(--> Int) {}; sub C returns Int {}; sub D of Int {}; say (&A, &B, &C, &D)».returns
camelia rakudo-moar fb0a13: OUTPUT«((Int) (Int) (Int) (Int))␤»
musiKk Ok. So we have three ways of specifying the return type.
AlexDaniel musiKk: 4
musiKk What's the 4th? I know -->, returns and "my RETTYPE sub ..." 22:55
RabidGravy of
AlexDaniel musiKk: all of them listed ↑
22:56 hankache joined
musiKk Sorry. Hard to see between all the compile errors. :) 22:56
AlexDaniel huggable: return :is: my Int sub A {}; sub B(--> Int) {}; sub C returns Int {}; sub D of Int {}; say (&A, &B, &C, &D)».returns
huggable AlexDaniel, Added return as my Int sub A {}; sub B(--> Int) {}; sub C returns Int {}; sub D of Int {}; say (&A, &B, &C, &D)».returns
TimToady m: sub foo { also returns Int; 42}; say foo
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/27sqT2Uupj␤Method 'has_returns' not found for invocant of class 'Mu'␤at /tmp/27sqT2Uupj:1␤»
ZoffixWin :o 22:57
hankache what is the equivalent of Int in native type. int32 or int64?
ZoffixWin hankache, yeah
AlexDaniel hankache: just int as well, I guess
ZoffixWin :)
m: my Int $x = 2**100; my int64 $y = 2**100; say $x, $y 22:58
camelia rakudo-moar fb0a13: OUTPUT«Cannot unbox 101 bit wide bigint into native integer␤ in block <unit> at /tmp/K3lFeiGcjR line 1␤␤»
ZoffixWin orly
AlexDaniel m: my int128 $x = 2**100; say $x
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5===␤Type 'int128' is not declared. Did you mean any of these?␤ int16␤ int32␤␤at /tmp/WxyxQvciSK:1␤------> 3my int1287⏏5 $x = 2**100; say $x␤Malformed my␤at /tmp/WxyxQvciSK:1␤------> 3my7⏏5 int128 $x = 2**10…»
hankache AlexDaniel NC complains wheb it sees plain int
AlexDaniel hankache: ah yeah
RabidGravy m: use NativeCall; say nativesizeof(int); 22:59
camelia rakudo-moar fb0a13: OUTPUT«8␤»
AlexDaniel though I'm not quite sure why… what if some function has “int” in its parameter?
why would I hard code int32 or int64 in this case?
hankache AlexDaniel hence my question 23:00
RabidGravy or indeed int16
TimToady p6's 'int' is rarely the same as C's 'int'
hankache since NC nags about int whith what should i replace it?
ely-se m: my $f = *.say; $f(1)
camelia rakudo-moar fb0a13: OUTPUT«1␤»
ely-se m: my &f = *.say; $f(1)
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j3CT0EUoMP␤Variable '$f' is not declared. Did you mean '&f'?␤at /tmp/j3CT0EUoMP:1␤------> 3my &f = *.say; 7⏏5$f(1)␤»
ely-se O:
TimToady there oughta be a Cint type or so
lunch & 23:01
ely-se m: *.say.WHAT.say
camelia rakudo-moar fb0a13: OUTPUT«(WhateverCode)␤»
ely-se m: *.say.WHAT ~~ Callable
camelia ( no output )
ely-se m: say *.say.WHAT ~~ Callable
camelia rakudo-moar fb0a13: OUTPUT«True␤»
ely-se :(
AlexDaniel huggable: return :is: sub A(--> Int) {}; sub B returns Int {}; sub C of Int {}; my Int sub D {}; say (&A, &B, &C, &D)».returns 23:02
huggable AlexDaniel, Added return as sub A(--> Int) {}; sub B returns Int {}; sub C of Int {}; my Int sub D {}; say (&A, &B, &C, &D)».returns
AlexDaniel better order 23:03
RabidGravy m: (*.say)("foooo")
camelia rakudo-moar fb0a13: OUTPUT«foooo␤»
ely-se aha! 23:04
(* && *) and (* || *) don't WhateverCode
that's nasty 23:05
RabidGravy BUG OR DESIGN? PLACE YOUR BETS NOW!
:)
AlexDaniel m: say (* && *).WHAT 23:06
camelia rakudo-moar fb0a13: OUTPUT«(Whatever)␤»
leont If you're not sure if something would whatever-curry, don't use it anyway: it will confuse others
sortiz Design
AlexDaniel - WHAT? - Whatever!
23:06 SCHAAP137 left
TimToady && and || are more like control code than like operators 23:06
hankache n.m.m 23:07
AlexDaniel TimToady: it was definitely more important to point that out than to enjoy your lunch :)
sortiz RabidGravy, *.say is -> { $^arg.say } 23:08
hankache mm.n.n..m,n.n.n..n..m.n..nn.n.nn.n.n..n.n.n.n?n.n.n.n.nn,n.n.n.n.n.n.n.nn.n.n.nn.n.n.
TimToady you wouldn't expct 'if' or 'unless' to autocurry
TimToady can type while he's chewing :)
RabidGravy sortiz, thanks but I know that
hankache sorry ;)
AlexDaniel m: say {$^a && $^b}(2, 5)
camelia rakudo-moar fb0a13: OUTPUT«5␤»
ely-se maybe it should be listed in the traps on doc.perl6.org 23:09
23:09 hankache left
AlexDaniel huggable: traps :is: doc.perl6.org/language/traps 23:09
huggable AlexDaniel, Added traps as doc.perl6.org/language/traps
AlexDaniel huggable: traps :is: doc.perl6.org/language/traps
huggable AlexDaniel, Added traps as doc.perl6.org/language/traps
RabidGravy "not everything will generate a WhateverCode, if in doubt don't do it" 23:10
ely-se What class provides an in-memory IO handle? 23:12
I want to capture what is written to $*OUT
RabidGravy ZoffixWin recently made an IO::SomethingOrOther that does that 23:13
ely-se hmm github.com/hoelzro/p6-io-string/
Skarsnik Test::Output? 23:14
I think it use something he write for
ZoffixWin modules.perl6.org/repo/IO::MiddleMan
ely-se, ^ 23:15
mscha m: sub remove-diacritics($str) { $str.comb».NFD»[0]».chr.join; }; say remove-diacritics('Héllò, Wöřld!'); 23:20
camelia rakudo-moar fb0a13: OUTPUT«Hello, World!␤»
mscha (To answer my own question from 40 minutes ago.)
revhippie neat 23:21
AlexDaniel mscha: oh I remember that
ZoffixWin mscha, thanks for mentioning :) 23:22
I don't see .NFD documented on docs.perl6.org
mscha, how did you figure it out?
AlexDaniel irclog.perlgeek.de/perl6/2015-11-12#i_11522549 23:23
mscha Zoffixwin, Googling and trying. :) I found .NFD fairly early, but it is somewhat underdocumented.
Cool, I came up with essentially the same thing as TimToady! 23:24
AlexDaniel huggable: unzalgo :is: irclog.perlgeek.de/perl6/2015-11-12#i_11522549
huggable AlexDaniel, Added unzalgo as irclog.perlgeek.de/perl6/2015-11-12#i_11522549
ZoffixWin Created issue: github.com/perl6/doc/issues/365
23:31 araujo__ joined
ZoffixWin m: my $code = 'das4q35wtsf5.,[<>]]'; $code.subst-mutate: /:g <-[<>]>/, ''; $code.say 23:31
camelia rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Sp0HQJu8eQ␤Unrecognized regex modifier :g␤at /tmp/Sp0HQJu8eQ:1␤------> 3q35wtsf5.,[<>]]'; $code.subst-mutate: /:7⏏5g <-[<>]>/, ''; $code.say␤ expecting any of:␤ argument list␤ …»
ZoffixWin I forget, how do I replace ALL chars?
m: my $code = 'das4q35wtsf5.,[<>]]'; $code.subst-mutate: /<-[<>]>/, '', :g; $code.say
camelia rakudo-moar fb0a13: OUTPUT«<>␤»
ZoffixWin Ah
23:32 araujo_ left
dalek c: 6701bcf | (Zoffix Znet)++ | doc/Type/Str.pod:
make it more clear positionals from subst apply to subst-mutate too
23:34
Skarsnik Feel free to improve/complete this page btw x) doc.perl6.org/language/modules-extra
23:34 alpha123 left
TimToady m: my $code = 'das4q35wtsf5.,[<>]]'; $code ~~ s:g[<-[<>]>] = ''; $code.say 23:35
camelia rakudo-moar fb0a13: OUTPUT«<>␤»
ZoffixWin hm 23:36
TimToady m: my $code = 'das4q35wtsf5.,[<>]]'; say S:g[<-[<>]>] = '' given $code 23:37
camelia rakudo-moar fb0a13: OUTPUT«<>␤»
23:38 laz78 left 23:40 keusej joined 23:41 keusej left 23:44 sufrostico joined 23:47 pierre-vigier joined 23:52 keusej joined 23:53 pierre-vigier left, keusej left, keusej joined, secwang joined 23:54 lichtkind left, ifim` left, pierre-vigier joined 23:59 AlexDaniel left