»ö« 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 troys_ is now known as troys 00:01 BenGoldberg joined 00:02 rvhausen joined
Morfent inb4 it's some obscure libidn2 bug 00:02
00:03 rvhausen left
Morfent is there a way to create a list of multi subs through some form of metaprogramming? 00:06
the only way i can think of is eval but i'd rather that be the last resort 00:07
lizmat m: my &a := sub { say "foo" }; a() # like this ? 00:08
camelia foo
Morfent i mean like
i have a list of method names 00:09
the c functions they write are identical in how they work
00:10 llfourn joined
lizmat m: class A {}; BEGIN A.^add_method( "a", method { say "foo" } ); A.a # like this ? 00:10
camelia foo
Morfent that's not quite what i mean 00:11
lizmat Morfent: then I hope someone else will be able to help you, as I'm very tired and it's time for me to get some sleep 00:12
sleep&
Morfent tha's alright, dw about it
have a good nit
s/nit/night
00:16 Cabanossi left 00:18 Cabanossi joined, pilne joined
MasterDuke Morfent: can you explain in a little more detail? 00:21
Morfent alright 00:23
so i'm porting Net:DNS from perl 5
but i need to port its dependencies as well 00:24
once of them, Net::LibIDNS2, has some subroutines to convert string encodings between utf8, local, utf32 00:25
only probablem is afaik there is no utf32 support yet, which i'll have to work on myself 00:27
00:27 Actualeyes joined 00:28 sena_kun left
Morfent i'd rather not use ``CArray[uint32]`` to deal with utf32 00:28
00:30 lookatme joined
lookatme o/ 00:31
Morfent are there any plans on implementing utf32 supporting?
p6: ut32.net
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
ut32 used at line 1
Morfent p6: ut32.ne2
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
ut32 used at line 1
Morfent p6: ut32.ne3 00:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
ut32 used at line 1
Morfent fucking typosed
p6: ut32.new
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
ut32 used at line 1
Morfent p6: utf32.new
camelia ( no output )
Morfent p6: utf32.new.decode
camelia Unknown string encoding: 'utf32'
in block <unit> at <tmp> line 1
lookatme m: say buf32.new
camelia Buf[uint32]:0x<>
lookatme m: say "hmm".encode("utf32") 00:33
camelia Unknown string encoding: 'utf32'
in block <unit> at <tmp> line 1
lookatme m: say "hmm".encode("utf16")
camelia utf16:0x<68 6d 6d>
Morfent buf32.ne('test'.encode('utf32').list)
buf32.new('test'.encode('utf32').list) 00:34
pm6: buf32.new('test'.encode('utf32').list)
p6: buf32.new('test'.encode('utf32').list)
camelia Unknown string encoding: 'utf32'
in block <unit> at <tmp> line 1
Morfent sorry for the spam
lookatme m: say "hmm".encode("utf-32") 00:35
camelia Unknown string encoding: 'utf32'
in block <unit> at <tmp> line 1
lookatme m: say utf32.new.encoding 00:36
camelia utf-32
lookatme Don't know what happen
Morfent m: say 'test'.encode('utf8').list.encode('utf32') 00:40
camelia No such method 'encode' for invocant of type 'Seq'
in block <unit> at <tmp> line 1
00:40 ZzZombo joined
Morfent m: say 'test'.encode('utf8').list.map({ .encode('utf32') }) 00:40
camelia No such method 'encode' for invocant of type 'Int'
in block <unit> at <tmp> line 1
lookatme m: say 'test'.encode('utf8').encode('utf32') 00:41
camelia No such method 'encode' for invocant of type 'utf8'. Did you mean 'decode'?
in block <unit> at <tmp> line 1
lookatme m: say 'test'.encode('utf8').decode('utf32') 00:42
camelia Can not decode a utf-8 buffer as if it were utf32
in block <unit> at <tmp> line 1
lookatme :)
00:42 xi- left 00:43 xi joined 00:44 xi left 00:47 japhb joined
Morfent are any of yall well-versed in lldb? 00:50
00:50 xi joined
Morfent i'm not asking for you to debug my code or anything, but if you could point me to some resources to help teachh me the ropes 00:52
that's help me immensely 00:53
00:55 comborico1611 joined, DarthGandalf left, DarthGandalf joined
geekosaur apple has an lldb/gdb cheatsheet somewhere 01:04
and I think a tutorial 01:06
01:13 raschipi joined 01:14 cdg_ joined
Morfent that'll help a lot 01:15
thanks geekosaur
01:18 cdg left, cdg_ left 01:30 troys is now known as troys_ 01:38 Rawriful left 01:42 TimToady left
Morfent for a c library port i'm porting to perl 6, i want to be able to access macro values, but that can't be done with nativecall on its own. would something like makeing a build script to compile a c library that does not export some header macros that i need. is it bad practice to overwrite macros and redefine them as extern constants? 01:42
s/that does not export/that exports/g 01:44
01:44 TimToady joined
Morfent i'm debating ditching the idea of Net::LibIDN2 being a port of the perl5 port 01:50
there are a lot of features in the library that are not exposed, like some of the features from libidn 01:51
but are useful
01:52 jeromelanteri joined
lookatme The macro not exists in dynamic library :) 01:52
If you want access macro, I think you can write some help function in your help library, like: github.com/araraloren/Net-FTPlib/b...plibhelp.c 01:54
I write a test function test if __UINT64_MAX defined 01:55
Morfent i'll run a test
if there a simple way to compose functions in perl 6? 01:58
i haven't worked out how to do it like i would in js (yeah, yeah, i know) 01:59
comborico1611 Goodnight.
lookatme compose function ?
comborico1611, good night!
comborico1611 Thanks, bud!
Night. 02:00
Morfent like
comborico1611 Maybe we'll talk tomorrow!
02:00 comborico1611 left
lookatme I can read some js :) 02:00
gfldex Morfent: see docs.perl6.org/type/Callable#index...combinator 02:01
lookatme oh, I know :) 02:02
Morfent that reminds me a bit of fp languages gfldex 02:03
i'm glad this lang let's you do fp if you want to
or oop if that floats your boat
02:05 kyan left
lookatme m: sub f($p){ say 'f'; $p / 2 }; sub g($p){ say 'g'; $p * 2 }; say() <== f() <== g() <== 2; 02:06
camelia g
f
2
lookatme That like this feature :)
MasterDuke gfldex: heh, i went to the docs repo to create an issue about infix:<∘> not being in the operators page, but you beat me to it 02:07
02:10 Zoffix joined
Zoffix m: my %xy{Mu}; say %xy 02:10
camelia {}
Zoffix How to find out whether a hash was parametarized with Mu keys?
Morfent m: sub foo() { ::?NAME.say } 02:11
camelia 5===SORRY!5=== Error while compiling <tmp>
No such symbol '::?NAME'
at <tmp>:1
------> 3sub foo() { ::?NAME7⏏5.say }
Morfent m: sub foo() { ::NAME.say } 02:12
camelia 5===SORRY!5=== Error while compiling <tmp>
No such symbol 'NAME'
at <tmp>:1
------> 3sub foo() { ::NAME7⏏5.say }
Zoffix m: sub foo() { &?ROUTINE.name.say }
camelia ( no output )
Zoffix m: sub foo() { &?ROUTINE.name.say }()
camelia foo
Morfent thanks
02:13 ryn1x joined
TimToady m: my %xy{Mu}; say %xy.keyof 02:15
camelia (Mu)
Zoffix TimToady++ thanks
lookatme m: my %xy{Mu}; say %xy.keyof; say %xy.of; 02:17
camelia (Mu)
(Any)
ryn1x My copy of Parsing with Perl 6 just shipped! So excited! 02:18
Zoffix \o/ 02:19
Morfent unrelated to the convo, but i ran into a bug with dns resolution for simple http requests 02:21
02:22 Zoffix left
Morfent i'm praying it's not because i fucked up resolve.com, but the code i wrote works fine in ubuntu with the same dns settings 02:22
*resolv.conf 02:23
TimToady not running a proxy, I presume 02:24
Morfent nope
TimToady sometimes has to drop his vpn to get sane address resolution...
Morfent i don't run a vpn 02:25
i tested dns resolution in node and had no problems with it 02:26
though i don't trust node from my experience with it
from when i tried to debug it, i narrowed down what could be making dns resolution to fail 02:28
02:32 leah2 left, cpage left, tyil left, nine_ left, silug left, char_var[buffer] left, ilbot3 left, lizmat left, epony left, tailgate left, MilkmanDan left 02:35 leah2 joined, cpage joined, tyil joined, nine_ joined, silug joined, char_var[buffer] joined, ilbot3 joined, lizmat joined, epony joined, tailgate joined, leguin.freenode.net sets mode: +v ilbot3 02:36 MilkmanDan joined, squashable6 left, reportable6 left, unicodable6 left, bisectable6 left, bloatable6 left, nativecallable6 left, quotable6 left
lookatme :P 02:36
02:36 leah2 left 02:37 troys_ is now known as troys 02:39 leah2 joined 02:42 piojo joined 02:46 ilbot3 left
piojo eval: spurt 'sandbox/Zot.pm6', 'use XXX; sub zot() returns Array of Numeric is export { my Numeric @a; return @a; }' 02:50
evalable6 (exit code 1) Failed to open file /home/bisectable/git/whateverable/sandbox/Zot.pm6: Read-only file system
in block <unit> at /tmp/OGNWZH_PdD line 1
piojo Was the sandbox directory removed? AlexDaniel showed me this last week (working, obviously) 02:51
It looks like rt.perl.org/Public/Bug/Display.html?id=128287 is the same issue as my bug, but should give a better git bisect, since the testcase itself looks more powerful than my testcase. 02:58
02:58 ilbot3 joined, ChanServ sets mode: +v ilbot3 03:00 aborazmeh joined, aborazmeh left, aborazmeh joined 03:01 pilne left 03:02 colomon left, Cabanossi left 03:03 Cabanossi joined 03:04 colomon joined
lookatme Any module has ioctl available currently ? 03:08
03:10 cdg joined
Morfent not yet it looks like 03:10
lookatme I want make a script execute command in other terminal :
:)
Inspired by this blog post: www.humbug.in/2010/utility-to-send-...ls-ttypts/ 03:11
Morfent that's a really good idea 03:12
but what are the security implications?
lookatme lunch time & 03:13
03:13 TEttinger joined 03:19 cdg_ joined 03:20 cdg left 03:30 Cabanossi left 03:33 Cabanossi joined 03:35 rgrau left 03:43 colomon left 03:45 troys is now known as troys_ 03:46 colomon joined
Morfent is nativecall not intended to try load libfoo.so.0 if you try to make a subroutine like sub idn2_free(Pointer) is native('idn2', v0) { * } 04:09
04:09 troys_ is now known as troys 04:10 raschipi left
Morfent p6: sub idn2_check_version(Str? --> Nil) is native('idn2', v0) { * } 04:11
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3sub idn2_check_version(Str7⏏5? --> Nil) is native('idn2', v0) { * }
expecting any of:
constraint
formal parameter
Morfent p6: sub idn2_check_version(Str $version? --> Nil) is native('idn2', v0) { * }
camelia 5===SORRY!5=== Error while compiling <tmp>
Can't use unknown trait 'is native' in a sub+{callable[nil]} declaration.
at <tmp>:1
expecting any of:
rw raw hidden-from-backtrace hidden-from-USAGE
pure default DEPRECATED …
Morfent p6: sub idn2_check_version(Str) is native('idn2', v0) { * } 04:12
camelia 5===SORRY!5=== Error while compiling <tmp>
Can't use unknown trait 'is native' in a sub declaration.
at <tmp>:1
expecting any of:
rw raw hidden-from-backtrace hidden-from-USAGE
pure default DEPRECATED inlinable nodal…
Morfent oh
p6: use NativeCall; sub idn2_check_version(Str) is native('idn2', v0) { * }
camelia ( no output )
Morfent p6: use NativeCall; sub idn2_check_version(Str) is native('idn2', v0) { * } idn2_check_version('0')
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3version(Str) is native('idn2', v0) { * }7⏏5 idn2_check_version('0')
expecting any of:
infix
Morfent p6: use NativeCall; sub idn2_check_version(Str) is native('idn2', v0) { * }; idn2_check_version('0')
camelia Cannot locate native library 'libidn2.so.0': libidn2.so.0: cannot open shared object file: No such file or directory
in method setup at /home/camelia/rakudo-m-inst-1/share/perl6/sources/24DD121B5B4774C04A7084827BFAD92199756E03 (NativeCall) line 28…
Morfent alright i'll stop stamming 04:13
04:13 BenGoldberg left 04:17 Cabanossi left 04:18 Cabanossi joined 04:26 wamba joined 04:28 aborazmeh left 04:48 rvhausen joined 04:50 rvhausen left
lookatme Morfent, only root can do that operator (write something to terminal) 04:50
Morfent oh 04:51
that's fair
lookatme I success execute a `ls` command in other terminal 04:53
sudo perl6 -MNativeCall -e 'sub ioctl(int32, int32, Str --> int32) is native(Str) { * }; say $*PID; my $x = "/proc/16168/fd/0".IO.resolve.open(:rw); say $x.native-descriptor; say ioctl($x.native-descriptor(), 0x5412, $_) for [ "l", "s", "\n" ]; my $var := cglobal("libc.so.6", "errno", int32); say $var; $x.close; '
you can try this command, replace 16168 with your terminal pid
A lot of fun :P 04:54
04:54 cdg_ left 04:55 cdg joined 04:59 cdg left 05:01 Cabanossi left 05:02 Cabanoss- joined, Cabanoss- is now known as Cabanossi
Morfent for a library using nativecall to wrap a c library 05:03
i'll need to make a build script to ensure the library can be found when using the library? 05:04
*will i
using just the libname like the native call docs don't work for badly configured env variables or odd install locations 05:07
05:08 geekosaur left 05:16 geekosaur joined
Morfent worked it out -- write a build script, offer parametres to customize where the library is and any extra compiler flags needed 05:22
only problem is how make that friendly with zef 05:23
05:31 Cabanossi left 05:32 Cabanossi joined 05:36 wamba left 05:42 piojo left 05:46 konsolebox left, piojo joined, konsolebox joined 05:53 domidumont joined 05:58 domidumont left, troys is now known as troys_ 05:59 domidumont joined, Cabanossi left 06:01 troys_ is now known as troys 06:02 Cabanossi joined 06:11 khw left
AlexDaniel piojo: looking… 06:11
yoleaux 01:39Z <Zoffix> AlexDaniel: can this ticket be closed? It got fix and tests and was resolved but then I see you marked it as open and taken but no reason was stated: rt.perl.org/Ticket/Display.html?id...et-history
06:20 darutoko joined 06:28 konsolebox left 06:29 wamba joined 06:30 konsolebox joined 06:41 committable6 left, wander joined
wander m: my $x := (42, 43); $x = 100 06:42
camelia Cannot assign to an immutable value
in block <unit> at <tmp> line 1
wander m: my \x := (42, 43); x = 100
camelia Cannot modify an immutable Int (42)
in block <unit> at <tmp> line 1
wander Should the latter report the same message as the former? If not, why? 06:43
06:43 coverable6 left, statisfiable6 left, releasable6 left, evalable6 left, greppable6 left, benchable6 left 06:44 committable6 joined, committable6 left, piojo left 06:45 committable6 joined, ChanServ sets mode: +v committable6 06:46 committable6 left 06:47 committable6 joined, committable6 left, committable6 joined, ChanServ sets mode: +v committable6, committable6 left 06:48 committable6 joined, ChanServ sets mode: +v committable6, committable6 left, committable6 joined, ChanServ sets mode: +v committable6 06:49 committable6 left
wander Besides, &infix:<o>() looks like .self, doesn't it? 06:49
m: say &infix:<o>().("Anything") 06:50
camelia Anything
wander m: say &infix:<o>().(Any)
camelia (Any)
wander m: say &infix:<o>(1, 1) # what signatures do you have ?
camelia Type check failed in binding to parameter '<anon>'; expected Callable but got Int (1)
in block <unit> at <tmp> line 1
wander m: &infix:<o>(1, 2) # what signatures do you have ?
camelia Type check failed in binding to parameter '<anon>'; expected Callable but got Int (1)
in block <unit> at <tmp> line 1
06:51 domidumont left
lookatme m: say (&infix:<o>(1, 1)).signature 06:55
camelia Type check failed in binding to parameter '<anon>'; expected Callable but got Int (1)
in block <unit> at <tmp> line 1
lookatme m: say (&infix:<o>(sub f() { }, sub g() {})).signature
camelia (|args is raw)
Geth doc: db05b11515 | (Alex Chen)++ | 2 files
Add infix:<∘> to Operators
wander Calling infix:<∘>(Int, Int) will never work with any of these multi signatures: 06:56
()
(&f)
(&f, &g --> Block:D)
well, as infix:<o> defined as "infix", this looks somewhat...tricky? 06:57
lookatme why ?
wander infix:<o>() likes `.self`, infix:<o>(&f) returns &f 06:58
it's an infix, but can do something don't like an infix
lookatme m: say infix:<o>
camelia { ... }
lookatme m: say infix:<o>.code
camelia No such method 'code' for invocant of type 'WhateverCode'. Did you mean any of these?
clone
none
note
one

in block <unit> at <tmp> line 1
06:58 piojo joined
lookatme m: say infix:<o>.signature 06:58
camelia (;; $whatevercode_arg_37 is raw)
lookatme m: say (&infix:<o>).signature 06:59
camelia (&?, &?)
wander maybe I will say, hey, infix:<o> is no more than a function, so things go well :)
lookatme The parameter is optional 07:00
Every operator is a sub :)
and regex and method :) 07:01
07:02 lowbro joined, lowbro left, lowbro joined
Geth doc: e9821adaf7 | (Luca Ferrari)++ | 2 files
Remove reference to Perl 5 in not 5-to-6 document.

As of discussion <github.com/perl6/doc/issues/1705> related to my previous pull request <github.com/perl6/doc/pull/1704> I decided to remove the explicit reference to Perl 5 and to make it a separate section in the 5-to-6 part related to regexps.
07:09
doc: 700085ca76 | (Luca Ferrari)++ (committed using GitHub Web editor) | 2 files
Merge pull request #1706 from fluca1978/fix-comment-regexp

Remove reference to Perl 5 in not 5-to-6 document.
07:11 committable6 joined, ChanServ sets mode: +v committable6, bisectable6 joined 07:12 committable6 left, committable6 joined 07:14 committable6 left, domidumont joined 07:15 bisectable6 left, Cabanossi left, MasterDuke left 07:16 committable6 joined, ChanServ sets mode: +v committable6 07:17 Cabanossi joined 07:18 committable6 left, nativecallable6 joined, ChanServ sets mode: +v nativecallable6, reportable6 joined, releasable6 joined, quotable6 joined, committable6 joined, coverable6 joined, ChanServ sets mode: +v quotable6, ChanServ sets mode: +v committable6, ChanServ sets mode: +v coverable6, benchable6 joined, bloatable6 joined, evalable6 joined, ChanServ sets mode: +v evalable6, unicodable6 joined, bisectable6 joined, squashable6 joined, greppable6 joined, ChanServ sets mode: +v greppable6, statisfiable6 joined, ChanServ sets mode: +v statisfiable6
AlexDaniel eval: spurt 'sandbox/Zot.pm6', 'use XXX; sub zot() returns Array of Numeric is export { my Numeric @a; return @a; }' 07:19
evalable6
AlexDaniel piojo: ↑ fixed I think 07:20
piojo AlexDaniel: Thank you! 07:22
eval: spurt 'sandbox/XXX.pm6', 'my Numeric @x;' 07:23
evalable6
piojo c: 2015.12,HEAD use Zot; zot(); 07:24
committable6 piojo, gist.github.com/7361551029e07d4fea...a313318be6
piojo c: 2015.12,HEAD use lib 'sandbox'; use Zot; zot();
committable6 piojo, gist.github.com/c22c5509c8f76690c6...064dc3ab9a
lookatme eval: use lib 'sandbox'; use Zot; say zot; # ?will work 07:25
evalable6 (exit code 1) Type check failed for return value; expected Array[Numeric] but got Array[Nu…
lookatme, Full output: gist.github.com/f8e14894846315c36d...e1648657ef
07:25 wander left
piojo lookatme: I wanted to see the oldest perl6 output as well. 07:26
AlexDaniel: it looks like the oldest Perl 6 is failing as well, so this isn't a regression.
lookatme eval: spurt 'sandbox/Pid.pm6', 'use NativeCall; sub getppid(--> long) is native(Str) {*}' 07:27
evalable6
lookatme eval: use lib 'sandbox'; use Pid; say getppid();
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/dCMgL5WOC2
Undeclared routine:
getppid used at line 1
lookatme eval: spurt 'sandbox/Pid.pm6', 'use NativeCall; sub getppid(--> long) is export is native(Str) {*}'
AlexDaniel piojo: oh…
evalable6
lookatme eval: use lib 'sandbox'; use Pid; say getppid(); 07:28
evalable6 30215
lookatme awesome!
piojo AlexDaniel: You found that a change to USAGE triggered this bug, and now we know why (probably): the bug is triggered when two modules use a parameterized type
AlexDaniel ah, it's ok as long as you specify the lib path. OK then 07:29
07:30 eliasr joined
AlexDaniel piojo: what was the ticket again? 07:31
piojo AlexDaniel: rt.perl.org/Public/Bug/Display.html?id=132525 07:32
AlexDaniel piojo: oh heh, so there are three tickets for this… :) 07:33
c: all use lib 'sandbox'; use Zot; zot(); 07:34
committable6 AlexDaniel, gist.github.com/4f641222f141961987...714fa09028
piojo AlexDaniel: Can you close my bug, since the other one has a stronger test case?
AlexDaniel piojo: so turns out that you're right that there is a bigger underlying issue? :)
piojo of course there was an underlying issue! pfft ;) 07:35
07:36 imcsk8 left, imcsk8 joined
AlexDaniel piojo: I can, but I really don't want to. All three tickets are now linked together, and your ticket demonstrates a more specific case 07:36
07:36 rurban joined
piojo AlexDaniel: okay, that's a good point 07:37
my test case is weaker, but more likely
I also don't know the RT bug workflow. 07:38
07:38 rurban1 joined 07:42 rurban left 07:44 sena_kun joined 07:47 rurban1 left 07:55 cdg joined 07:56 troys left 07:59 cdg left 08:00 zakharyas joined 08:05 Grauwolf left 08:06 Grauwolf joined 08:08 wamba left 08:09 abraxxa joined 08:14 wamba joined 08:23 rindolf joined 08:30 gfldex left 08:32 wamba left 08:36 dakkar joined 08:37 gfldex joined 08:43 lookatme left 08:52 woolfy joined, shady0wl_ joined 08:53 woolfy left 08:56 char_var[buffer] left 09:05 zakharyas1 joined 09:06 zakharyas left 09:07 scimon joined
scimon Ok.... I'm missing some kind of trick. Apparently it's possible to get this (0,1,*+*…*)[^31]».say 3 characters shorter.... And I'm stumped. 09:42
10:04 zakharyas1 left 10:05 zakharyas joined 10:15 astj left, astj joined 10:20 astj left 10:21 astj joined 10:37 TEttinger left 10:42 Ven`` joined
Ven`` o/, #perl6 10:42
can someone explain this one to me?
m: ([|"0123".comb>>.Int Xor 2]).perl.say; ([0, |"0123".comb>>.Int Xor 2]).perl.say; 10:43
camelia [1]
[2, 2, 1, 2, 3]
mienaikage scimon: Looks familiar, code-golf.io?
scimon Yes you wee scunner you. 10:44
10:45 zakharyas left
scimon There's some trick I'm missing. I mean I saved 3 characters moving to unicode but... Arrgh. 10:45
(Hope you're doing well BTW)
mienaikage Am doing good thanks 🙂 Same to you! 10:46
geekosaur Ven``, if I had to take a WAG at that, I'd guess precedence of >> is not what you expect
scimon I note you didn't tell me how you managed to pull off 18 characters there... 10:47
Ven`` m: (0, (|"0123".comb>>.Int) Xor 2).perl.say; # geekosaur
camelia (2, 2, 1, 2, 3).Seq
geekosaur and the shift in type causes the shift in behavior somehow
10:48 zakharyas joined
geekosaur hm, then prec of or (or X metaop is screwing with precedence unintentially) 10:48
unintentionally
mienaikage All I can say is, needs more unicode 😉
geekosaur which seems like it might make more sense (insofar as it makes any sense at all...) anyway
Ven`` I really don't understand, though. 10:50
scimon: code-golf.io counts in characters, not in bytes?
scimon It does.
Ven`` :\ That's bad.
scimon Which is awesome and gives perl6 even more super powers.
mienaikage You might spot a hint in docs.perl6.org/language/operators#infix_... 10:51
Ven`` I'm going to keep believing counting bytes is the proper way :).
geekosaur I am guessing that it's somehow (despite the slip, possibly it's applying it at the wrong level?) getting a list of lists instead of a single list at the Xor and this is changing the behavior. why, I don't know. it smells fishy but might be a DWIM/WAT 10:52
10:53 cdg joined
Ven`` m: ("0123".comb>>.Int Xor 2).perl.say 10:54
camelia (2, 1, 2, 3).Seq
Ven`` m: my @a = 1, 2, 3; say (|@a).perl;
camelia slip(1, 2, 3)
Ven`` m: my @a = 1, 2, 3; say ([|@a]).perl;
camelia [1, 2, 3]
10:55 astj left, wamba joined 10:58 cdg left 11:02 cschwenz joined 11:04 astj joined
cschwenz which bits of the documentation do i need to look at to figure out how to emit a raw bitstream to STDOUT from a perl6 script? 11:04
11:07 astj left 11:08 scimon left, spider-mario left, wamba left 11:10 scimon joined 11:20 cdg joined 11:25 cdg left 11:27 astj joined 11:28 Zoffix joined
Zoffix cschwenz: this docs.perl6.org/type/IO::Handle#method_encoding this docs.perl6.org/type/IO::Handle#method_write and this docs.perl6.org/type/Blob 11:29
m: $*OUT.encoding: Nil; $*OUT.write: Blob.new: 32, 65, 68 11:30
camelia AD
cschwenz ta zoffix! :-)
11:32 pmurias joined 11:34 astj left 11:36 spider-mario joined
Zoffix m: $*OUT.write: Blob.new: 32, 65, 68 11:38
camelia AD
Zoffix Now I remember, we allow binary writes even in character mode.
11:38 astj joined 11:40 itaipu joined 11:42 Zoffix left
Geth doc: 2f9fb9bd6f | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/operators.pod6
Fix ∘'s name

it's either `infix:<∘>` or `infix ∘`, not `infix <∘>`
11:49
synopsebot Link: doc.perl6.org/language/operators
11:50 nine_ is now known as nine 11:53 cdg joined 11:56 astj left, astj joined 11:58 cdg left 12:00 cdg joined, astj left 12:05 wamba joined, cdg left 12:08 cdg joined 12:12 cdg left 12:18 cdg joined
Geth doc: ce6e0196b1 | (Alex Chen)++ | 2 files
Remove duplicate document on ∘
12:20
12:22 cdg left 12:26 cdg joined 12:28 zakharyas left 12:31 cdg left, xi left 12:33 xi- joined 12:47 astj joined 12:53 astj left
Geth doc: b56885bfe7 | (Alex Chen)++ | 2 files
Improve documents on set ops
12:56
buggable New CPAN upload: LIVR-2.0.0.tar.gz by KOORCHIK cpan.metacpan.org/authors/id/K/KO/...0.0.tar.gz 13:08
13:13 cpage_ joined
scimon b 13:22
(ww)
13:25 astj joined 13:26 raschipi joined 13:28 astj left 13:32 astj joined 13:34 wander joined
wander When people talk about "Programming language", they focus more on the *Programming* part. 13:40
But when it comes to Perl 6, *Language* might be more important. 13:41
In other languages, if you ask counting the "length" of a List/String, what jumps out is, hmm, first set a counter, such as i, to 0, then run a for-loop, blablabla...
In Perl 6, the precedure will be, should I use .words, .bytes, .chars or .elems, that is, to choose a proper *word*.
Quite interesting to me.
lizmat pings Zoffix for a twitter worthy quote :-) 13:44
13:46 cdg joined, zakharyas joined 13:47 wander left
AlexDaniel buggable: testneeded 13:48
buggable: tag testneeded
buggable AlexDaniel, There are 30 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details
13:49 khw joined 13:50 cdg left 13:53 cdg joined 14:05 ggoebel left 14:18 comborico1611 joined 14:19 itaipu_ joined 14:20 itaipu left
comborico1611 Hello 14:20
perlpilot comborico1611: greetings 14:21
comborico1611 Who here puts a cover on their computer-phone screen?
moritz 14:22
comborico1611 Has that screen protector ever saved your screen?
My thinking is that the camera on the back, and even on the front, don't have a protector to prevent it from being scratched. And I've never had a camera lens get scratched. Therefore I'm not really sure screen covers are needed. 14:23
perlpilot, whadja think of my article, eh? 14:25
14:25 natrys joined
perlpilot comborico1611: aside from it being long, I thought it was okay. :) 14:27
14:28 ggoebel joined, astj left
lizmat comborico1611: fwiw, I agree with Laurent R's comments regarding it being too many things at the same time 14:29
14:29 pmurias left 14:30 pmurias joined
moritz comborico1611: the difference is mostly size. Large glass plates break easier than small ones 14:33
DrForr I have a wrapover soft pad on my Samsung, nothing over the camera sensor. 14:36
It's inset from the padding, which probably takes care of 90% of the potential daage.
*damage
14:39 astj joined
comborico1611 It needed to be long because I must include examples to back-up my claims. In addition, I felt I needed to explain my differences and inadequacy. 14:42
I disagree that is an Errata sheet because they weren't errors, but inadequacies. 14:43
buggable New CPAN upload: LIVR-2.0.1.tar.gz by KOORCHIK cpan.metacpan.org/authors/id/K/KO/...0.1.tar.gz 14:48
raschipi comborico1611: gimme a link 14:49
14:53 natrys left 14:58 Sgeo left
comborico1611 raschipi, perl6advent.wordpress.com/2017/12/...ook-review 14:59
15:01 Sgeo joined
teatime comborico1611: jeez, you sound like me 15:03
comborico1611: I'm 32, self-taught programmer
I had the camel book in jr. high / high school, taught me a lot 15:04
AlexDaniel I loved the book review post
wow that post has so many comments on it 15:05
teatime it's a good post.
15:08 astj left
AlexDaniel it's *very* good IMO. The post makes you see the book through the eyes of a novice programmer. It succeeds in that 100% 15:09
and the amount of honesty in it. Definitely my favorite post this year 15:10
15:10 astj joined
AlexDaniel “Do yourself a favor: read the book again” 15:12
:D
.oO( don't know about others, but it makes *me* want to read the advent post again :P )
15:15 Grauwolf left 15:17 AlexDaniel left 15:19 lowbro left
comborico1611 Teatime, haha. You know tea can be dangerous? There was an Indian that drank a gallon of tea, and drowned in his own teepee. 15:19
teatime ... 15:20
15:20 Grauwolf joined, Grauwolf left, Grauwolf joined
teatime picardfacepalm.jpg 15:20
comborico1611 Dang, thanks Alex.
15:22 spider-mario left 15:23 Sgeo left, Sgeo joined 15:24 spider-mario joined 15:38 markong joined 15:40 rmusial left, geospeck joined 15:42 geospeck left 15:51 domidumont left, rvhausen joined 15:56 natrys joined 16:02 wamba left
Morfent i asked a while ago, but does anyone know how to deal with encoding when wrapping c libraries? 16:09
mainly with strings c functions return encoded in whatever the system's locale is 16:10
16:12 Sgeo left
Ven`` Morfent: you mean uselocale()? 16:14
Morfent not quite
16:15 Sgeo joined
geekosaur Morfent, as I answered yesterday, the documented stuff is not yet implemented by moarvm 16:15
Morfent ahh 16:16
sorry i missed your answer
geekosaur you will need to deal with locales manually and you will have to deal with both the internal names moarvm uses and moarvm's shortcomings in mapping the result (those ??? you got)
which probably means this is not going to work very well at all, until someone implements proper locale support in moarvm
Morfent i have moar and nqp's source downloaded
geekosaur and then updates nqp and rakudo to use it 16:17
...that said, if someone does do that work, it'll amount to reimplementing the functions you are trying to use anyway :)
kinda catch-22
I *think* you might be able to cheat and use buf8 instead of Str 16:18
Morfent the parts of libidn2 i'm interested in are for porting net::dns later on
timotimo you know you can set "is encoded" in signature and return value?
Morfent yeah
geekosaur that still runs into issues
Morfent that didn't work
geekosaur moarvm was 'decoding' upper characters as ? instead of iso8859-1 16:19
Morfent YEAH
that's what i was running into
geekosaur and apparently hung after that
timotimo oh? that seems weird
can you turn that into very short code?
geekosaur suggesting there's several bugs somewhere
16:19 Sgeo left
Morfent gimme a sec 16:20
timotimo m: "hellö".encode("latin-1").perl.say
camelia Blob[uint8].new(104,101,108,108,246)
16:22 Sgeo joined
geekosaur m: "hellö".encode("latin-1").decode('latin-1').perl.say 16:22
camelia "hellö"
geekosaur hm
that roundtrips at least
so wither 'is encoded' is wrong, or you used the wrong encoding and it assumed ASCII-60 for some reason 16:23
Morfent shit i forgot i was in the middle of rebuilding perl
sorry if this doesn't run hastebin.com/azeperiyok.pl 16:26
"sub _idn2_free(Pointer) is native { * }" should be "sub _idn2_free(Pointer) is native('idn2') { * }" 16:29
16:29 ZzZombo left
Morfent ohhhhh wait i'm forgetting i had to change the names of the natives to not dump the entire project 16:29
sorry
16:31 japhb left
Morfent i'll run it properly when i finish building, see if using CArray[uint8] works 16:35
16:35 ZzZombo joined
timotimo sorry, i'm currently doing three other things at the same time as well 16:37
Morfent dw about it 16:38
16:45 itaipu_ left 16:48 japhb joined
rvhausen Just installed rakudo-star-2017.10 on CentOS. "Use Foo" takes over 1 minute to load, where Foo.pm contains nothing but "unit module Foo;". This can't be right 16:51
timotimo interesting! let's try to figure that out 16:52
can you run that with the env var RAKUDO_MODULE_DEBUG=yes set?
rvhausen 1 RMD: try-load 1946C31AEEF030DB495B0E13AD1403E9CB0AA7A2: /home/barkerj/Moo.pm6 16:53
1 RMD: Trying to load 1946C31AEEF030DB495B0E13AD1403E9CB0AA7A2 from /home/barkerj/.precomp
stalls on that 16:54
(I renamed Foo to Moo)
mspo strace it
how much stuff is in your .precomp dir? 16:55
timotimo strace is a good idea. maybe first run it with "time" so we can see if it perhaps spends ages in the kernel for some reason
or waiting
16:57 abraxxa left
mspo strace -fr 16:58
and maybe -o trace.txt
ilmari -Ttt can also be handy 16:59
17:00 cschwenz left, cschwenz joined, cschwenz left
rvhausen Only 1 file in .precomp. I strace'd it, but the output is beyond me 17:04
Morfent geekosaur working locale support in might actually be neat
geekosaur rvhausen, you'd want to put it up somewhere so someone with internals knowledge can look at it 17:05
Morfent, it would, but you might also recall I commended on problems making it work nicely on Windows
Windows handles (the character set part of) locales via code pages, and they don't map nicely to unix-style locale names 17:06
17:06 silug left
Morfent hm 17:06
that's a challenge
geekosaur (they also don;t map very well to things like this, because a code page is an attribute of an I/O device, not a string/parameter) 17:08
lots of nasty complications 17:09
Morfent despite all the problems i think it'd be really interesting to attempt to work out 17:14
17:18 geospeck joined 17:21 raschipi_ joined
timotimo rvhausen: can you upload the strace output to a pasting service, like maybe gist.github.com or something? 17:23
17:23 raschipi left 17:35 scimon left 17:39 domidumont joined 17:40 domidumont left 17:44 domidumont joined
Morfent ...actually i should try and fix some of the parts of the lang that don't work on freebsd 17:46
they're not serious bugs, just stuff like gnu flags not existing on bsd's equivalent being used 17:48
mienaikage Ooh unicode.vim is a handy plugin 17:50
rvhausen I dropped that trace file at jumpshare.com/v/OxIPhMVx9c39AuTq60RT , if anyone want to take a look :) 17:55
teatime mienaikage: what does it do? 17:56
man, we gotta figure out wcwidth... I fear everyone may give up on character-cell terminals 17:57
mienaikage It's a vim plugin which can autocomplete unicode names to characters 17:59
And will also show you the vim digraph if applicable 18:00
Morfent sweet
mienaikage Also, you can type in a bunch of digraphs, highlight them and get their respective characters all at once
18:01 zakharyas left, zakharyas joined
Morfent does this make atomicints easier to type? 18:02
teatime the one thing sounds useful, but I kindof hate editor digraphs 18:03
compose key is better
18:03 zakharyas left
mienaikage Yes. In insert mode you can: atom ^X^Z 18:03
18:04 zakharyas joined
Morfent i'd rather screw with x to make a keyboard for perl 18:11
altgr is underrated
El_Che X?
wow, oldschool
Morfent altgr just about triples how many keys you can use
El_Che altgr is the reason I often op for an azerty keyboard instead of qwerty 18:12
mienaikage I use English (international AltGr dead keys) 18:13
18:13 bdmatatu joined
Morfent that's my keyboar 18:13
*keyboard
18:14 dakkar left
Morfent only thing that bugs me is ç isn't 'c 18:15
would make french a lot easier to type
perigrin shouldn't it be ,c ? 18:16
Morfent it is
would've thought © too at first
perigrin just has a decently programmable keyboard 18:17
geekosaur problem with using ' is someone using a generic European keyboard that wants to be able to type ć as used in some Eastern European languages
perigrin and a hopefully incredibly programmable keyboard coming sometime before the heat death of the universe
teatime altgr isn't underrated 18:18
xcompose is underrated
I enable both, but rarely use altgr 18:19
Morfent can you enter series of characters with it at once?
teatime yes.
Morfent sold 18:20
teatime I have compose s h r u g make ¯_(ツ)_/¯
Morfent i've always neded this key ¯\_(ツ)_/¯
we're not alone 18:21
18:21 lostinfog joined 18:22 setty1 joined
timotimo rvhausen: that url gives me a "file not found" error :) 18:28
:(
18:50 M_o_C joined
rvhausen timotimo: I put up a new copy at jumpshare.com/v/Rbdv4qKZXNSdsH1s4lzg Thanks! 18:51
japhb perigrin: en.wikipedia.org/wiki/Gateway_AnyKey 18:52
I LOVED THAT THING 18:53
19:00 darutoko left 19:03 rgrau joined 19:10 geospeck left 19:12 kkkk joined
kkkk hello 19:12
19:12 kkkk is now known as Guest82001
Guest82001 shalom 19:13
19:13 M_o_C left
Guest82001 heeeeeeeeeh 19:14
anymone ?
19:15 Guest82001 left 19:19 geospeck joined 19:21 quotable6 left 19:27 MasterDuke joined, alexghacker joined 19:39 geospeck left 19:41 geospeck joined 19:43 ggoebel left 19:47 geospeck left 19:54 comborico1611 left, domidumont left 19:55 comborico1611 joined, ggoebel joined 19:58 zakharyas left 20:09 MasterDuke left 20:14 ggoebel left
geekosaur is almost awake. almost. 20:20
20:25 cschwenz joined, ggoebel joined
timotimo rvhausen: what command were you running to get that trace? especially the perl6 part of the commandline? and what is your PERL6LIB env var set to? 20:31
rvhausen: you may want to make that inaccessible soon; it has a rather gigantic chunk of your file system paths exposed in it 20:32
rvhausen Yep, it's gone. :) strace -o trace.txt -fr ./test.pl 20:33
timotimo OK and what does test.pl look like? 20:34
rvhausen I didn't set a lib path, just did "use lib '.'"
use lib '.'; use Foo; 20:35
timotimo OK, what path did you run perl6 from?
rvhausen It's within my home dir 20:36
timotimo hm, OK, do you have a Foo.pm or Foo.pm6 there?
rvhausen yeah, it loads fine, but always after 60+ seconds 20:37
timotimo nothing but "unit module Foo;" you said?
rvhausen correct
timotimo right
having a big library folder is a Very Bad Idea, it seems
and since you're using your entire home, apparently including a symlink into /opt somewhere, as your lib folder, that's extremely big 20:38
i'm not sure why we're scanning the whole folder that you "use lib" with, but at the moment we do
rvhausen Ahhh, yeah, it looked like it was scanning the entire server, haha
timotimo github.com/rakudo/rakudo/blob/mast...tem.pm#L61 - this is what does it; more accurately, the DIR-RECURSE call does 20:40
20:40 cdg left, cdg joined, AlexDaniel joined
timotimo we're literally looking for every readable file and we sha1 them all together to figure out the state of the library folder 20:41
i.e. did anything change since we last precompiled stuff
it only considers files that match perl6 identifier rules, though, so there's that i guess? 20:42
rvhausen ok, I moved Foo.pm into a different dir, set PERL6LIB, and voila, all better
timotimo i wonder where we should document that 20:43
you might also want to rm -rf the .precomp folder that rakudo will have created in your home
rvhausen That seems to be alot more work than it needs to be doing. :) Thank you very much for the info. 20:45
20:45 cdg left 20:47 bisectable6 left 20:48 cschwenz left 20:49 wamba joined 20:50 evalable6 left, committable6 left, benchable6 left, coverable6 left, releasable6 left, squashable6 left, reportable6 left, bloatable6 left, unicodable6 left, greppable6 left, statisfiable6 left, nativecallable6 left 20:56 committable6 joined, committable6 left 20:57 committable6 joined, ChanServ sets mode: +v committable6 20:58 natrys left, nativecallable6 joined, ChanServ sets mode: +v nativecallable6, quotable6 joined, releasable6 joined, bisectable6 joined, greppable6 joined, ChanServ sets mode: +v greppable6, bloatable6 joined, evalable6 joined, unicodable6 joined, coverable6 joined, squashable6 joined, reportable6 joined, ChanServ sets mode: +v squashable6, ChanServ sets mode: +v reportable6, benchable6 joined, statisfiable6 joined
perigrin japhb: I have a www.reddit.com/r/AnnePro/ 21:01
(the better english language site I could send you to) 21:02
and I'm waiting on the next round of keyboard.io to ship
21:02 rgrau left 21:04 bdmatatu left
timotimo i lost my open tabs by rebooting the laptop :\ 21:29
El_Che and that's a bad thing? 21:31
El_Che grumbles something about people using tabs as bookmarks
:)
21:41 itaipu joined
timotimo El_Che: would you prefer i use spaces as bookmarks? 21:59
El_Che timotimo: as long as you don't mix them with tabs 22:00
22:05 Rawriful joined 22:17 khw left 22:26 TEttinger joined 22:29 TEttinger left 22:31 TEttinger joined 22:38 lostinfog left 22:39 eliasr left 22:41 setty1 left 22:47 pmurias left
teatime I have a bunch of folders named like "come back to this 32" that were tons of open tabs that I "Bookmark All Tabs"'d so I could reboot, and have never since re-visited 23:00
23:03 cdg joined 23:04 cdg left, cdg joined 23:09 wamba left 23:15 sena_kun left
geekosaur has a couple like that too. mostly because sandbagged by life 23:16
23:43 rvhausen left 23:49 comborico1611 left 23:50 comborico1611 joined 23:56 Rawriful left