»ö« 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:01 zwu left 00:05 joydo joined 00:06 felher_ is now known as felher
dalek osystem: 8d1e947 | RabidGravy++ | META.list:
Add IO::Path::Mode

  github.com/jonathanstowe/IO-Path-Mode
00:08
RabidGravy there, didn't quite get it done in a day but there were distractions :)
00:09 abraxxa left
Skarsnik nice copy paste 00:12
I welcome suggestions, patches and bug reports at:
github.com/jonathanstowe/RPi-Device-SMBus
RabidGravy fixed already 00:13
:)
00:13 firstdayonthejob left
RabidGravy I don't like typing 00:13
who was it that was asking about that before? 00:14
ah
00:14 Skarsnik left 00:15 iml_ left 00:16 iml_ joined 00:20 regreg left, virtualsue joined
RabidGravy .tell perlawhirl because you asked about it I made github.com/jonathanstowe/IO-Path-Mode :) any suggestions let me know 00:21
yoleaux RabidGravy: I'll pass your message to perlawhirl.
RabidGravy sed -e 's/https:\/\/raw.githubusercontent.com\///' -e 's/\/.*$//' META.list | sort | uniq -c | sort -n 00:24
what larks 00:25
I think I'm going to go for 40 before I'm forced to get a proper job again
00:25 AlexDaniel left 00:27 uruwi left 00:28 cognominal left 00:29 cognominal joined 00:32 uruwi joined
RabidGravy 120 unique module authors now, however 10 authors are responsible for more than a third of the modules 00:35
oh well
anyway toodles, getting a bit late here 00:36
leont I think that sort of distribution is normal 00:37
"10 authors are responsible for more than a third of the modules" means they have 4-5 modules each on average, that isn't that much 00:38
00:38 wamba left
leont Oh wait, I misread the number 00:38
It was like 450 modules last time I checked, That's still like 15 modules per top-10 author. 00:40
00:40 RabidGravy left
gfldex m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $_).WHAT }); 00:43
camelia rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq␤»
gfldex why is that Bool and not Match?
leont m: my @rs = rx/'a'/, rx/'b'/; dd @rs.map({ ('a' ~~ $_).WHAT }); 00:44
camelia rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq␤»
leont m: say ('a' ~~ /'a'/).WHAT 00:45
camelia rakudo-moar f1dd49: OUTPUT«(Match)␤»
00:46 pdcawley joined 00:49 pdcawley_ left
TimToady m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ /$_/).WHAT }) 00:49
camelia rakudo-moar f1dd49: OUTPUT«(Match, Match).Seq␤»
00:50 bpetering left 00:51 Peter_R left
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs.map({ ('a' ~~ $_).WHAT }); 00:53
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤(Bool, Bool).Seq␤»
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs.map({ ($_.ACCEPTS('a')).WHAT }); 00:54
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤(Match, Nil).Seq␤»
00:54 iml_ left
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a'); 00:54
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤[Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0), Nil]␤»
TimToady oh, wait, ~~ topiciles
calizes, even
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a')>>.WHAT; 00:55
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤Cannot look up attributes in a type object␤ in block <unit> at /tmp/JFeKeT4cDk line 1␤␤»
TimToady m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $^regex).WHAT })
camelia rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq␤»
TimToady well, I guess that doesn't change anything
m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $^regex) }) 00:56
camelia rakudo-moar f1dd49: OUTPUT«(Bool::True, Bool::False).Seq␤»
TimToady m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $_) })
camelia rakudo-moar f1dd49: OUTPUT«(Bool::True, Bool::False).Seq␤»
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep: .Bool;
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?␤ in block <unit> at /tmp/ZRzcu1kTis line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp line 3041␤ in block <unit> at /tmp/ZRzcu1…»
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep: .bool;
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤Method 'bool' not found for invocant of class 'Any'␤ in block <unit> at /tmp/0ssBJvNrBI line 1␤␤»
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep(.Bool);
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?␤ in block <unit> at /tmp/nJBoEJCYfI line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp line 3041␤ in block <unit> at /tmp/nJBoEJ…»
gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep({$_.Bool});
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0),).Seq␤»
gfldex ».ACCEPTS is acceptable I guess 00:57
leont .grep(?*)
m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep(?*)
camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0),).Seq␤»
01:03 sortiz joined, lichkind left 01:07 Actualeyes joined 01:09 yeahnoob joined 01:11 BenGoldberg joined
sortiz m: my ($a,%a,@a); say .WHAT, .List.WHAT === List for $a,%a,@a,$(1,2),Nil,Any,1,"foo",{},[],^5,(0,1 ... 5) 01:12
camelia rakudo-moar f1dd49: OUTPUT«(Any)True␤(Hash)True␤(Array)True␤(List)True␤NilTrue␤(Any)True␤(Int)True␤(Str)True␤(Hash)True␤(Array)True␤(Range)True␤(Seq)True␤»
sortiz m: my ($a,%a,@a); say .WHAT, .list.WHAT === List for $a,%a,@a,$(1,2),Nil,Any,1,"foo",{},[],^5,(0,1 ... 5) 01:13
camelia rakudo-moar f1dd49: OUTPUT«(Any)True␤(Hash)True␤(Array)False␤(List)True␤NilTrue␤(Any)True␤(Int)True␤(Str)True␤(Hash)True␤(Array)False␤(Range)True␤(Seq)True␤»
sortiz Hi, why Array should be special to .list ? 01:14
01:14 Ch0c0late left
gfldex sortiz: List is immutable, array is not 01:15
01:22 orbus joined, captain-adequate left 01:23 pjscott joined 01:24 pjscott left
sortiz gfldex: Hash is also mutable, and .list returns List. When i apply the method .list to something, per doc, I expect a List in return. Asking bc RT#127121 01:25
gfldex m: my @a; say so @a.list ~~ List; 01:28
camelia rakudo-moar f1dd49: OUTPUT«True␤»
gfldex m: my @a; say so @a.list ~~ List; sa @a.list.WHAT;
camelia rakudo-moar f1dd49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ruQUUIX898␤Undeclared routine:␤ sa used at line 1. Did you mean 'so'?␤␤»
gfldex m: my @a; say so @a.list ~~ List; say @a.list.WHAT;
camelia rakudo-moar f1dd49: OUTPUT«True␤(Array)␤»
gfldex sortiz: .list returns something that conforms to the interface of List. It may do more, what is up to the Implementation to decide. Note that a coercion would happen with @a.List or List(@a). 01:32
m: my @a; say so @a.List ~~ List; say @a.List.WHAT; say @a.List.WHAT === List; 01:33
camelia rakudo-moar f1dd49: OUTPUT«True␤(List)␤True␤»
gfldex sortiz: see ^^^
01:33 flussence left
sortiz gfldex: Yes, I understand that, but bc Any.flat is defined as "multi method flat() { self.list.flat }" that results in that .flat don't flats arrays, not so DWIM. 01:35
01:36 gensym left
sortiz So to flat an array we must use .List, and not .list !? 01:37
01:38 flussence joined
gfldex sortiz: you don't flat the Array see: www.reddit.com/r/perl6/comments/3z...t1_cyosh5q 01:38
sortiz m: my @a = (1,(2,3),4); say @a.List.flat 01:40
camelia rakudo-moar f1dd49: OUTPUT«(1 2 3 4)␤»
01:40 gensym joined
gfldex m: my @a = (1,(2,3),4 xx *); put @a.List.flat 01:42
sortiz: do you see the problem?
camelia rakudo-moar f1dd49: OUTPUT«(timeout)»
gfldex .oO( The Quantum Theory of Perl 6 ) 01:43
sortiz gdldex: whit lazy infinite lists (or arrays), I can't flat, I known. 01:44
m: (0..*).list == List 01:45
camelia rakudo-moar f1dd49: OUTPUT«WARNINGS for /tmp/RPD81dOsAx:␤Useless use of "==" in expression ".list == List" in sink context (line 1)␤Use of uninitialized value of type List in numeric context in block <unit> at /tmp/RPD81dOsAx line 1␤Cannot .elems a lazy list␤ in block <uni…»
sortiz m: (0..*).list === List 01:46
camelia rakudo-moar f1dd49: OUTPUT«WARNINGS for /tmp/Q_SGSqwXzF:␤Useless use of "===" in expression ".list === List" in sink context (line 1)␤»
gfldex m: my &bail = &die; my @a = (1,(2,3),4 xx *); bail unless @a.is-lazy; put @a.List.flat
camelia rakudo-moar f1dd49: OUTPUT«Died␤ in block <unit> at /tmp/xxozYRPVk6 line 1␤␤»
gfldex as soon as you use .flat anywhere in your code you have to call .is-lazy or you _will_ hurt yourself 01:47
sortiz m: (0..*).list.WHAT === List
camelia rakudo-moar f1dd49: OUTPUT«WARNINGS for /tmp/3U1D8L9Qhh:␤Useless use of "===" in expression ".WHAT === List" in sink context (line 1)␤»
sortiz m: say (0..*).list.WHAT === List
camelia rakudo-moar f1dd49: OUTPUT«True␤»
leont That may be a bit exaggerated
gfldex leont: if you are not used to something it's easy to forget. Even if you make something a habit, you can still forget it. Something like complete testcoverage does not exist. 01:49
sortiz The problem isn't flat, see above for Range.
01:49 virtualsue left
gfldex in that case it indeed returns a List, what conforms to the promise to return something that implements the interface of List. 01:50
01:50 Sqirrel left
sortiz The problem I see is that _only_ for Arrays .list is a nop. 01:50
gfldex m: my @a = (0..*).list; put @a; 01:51
camelia rakudo-moar f1dd49: OUTPUT«...␤»
gfldex m: my @a := (0..*).list; put @a;
camelia rakudo-moar f1dd49: OUTPUT«...␤»
gfldex m: my @a := (0..*).list; dd @a;
camelia rakudo-moar f1dd49: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9...Inf)␤»
gfldex that's not a List, well it is but comes with surprises. 01:52
sortiz m: my $a = (0..*); say $a.WHAT; say $a.list.WHAT 01:53
camelia rakudo-moar f1dd49: OUTPUT«(Range)␤(List)␤»
01:55 raiph joined
dalek kudo/query_repos: 1b6ecbd | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files):
CompUnit::Repository::resolve

New method to ask the repository chain if a module matching the given DependencySpecification is available. This could for example be used by panda to avoid trying to install an already installed module.
01:55
kudo/query_repos: ff197c7 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files):
Centralize more precompilation code
kudo/query_repos_old: 92ef589 | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files):
CompUnit::Repository::resolve

New method to ask the repository chain if a module matching the given DependencySpecification is available. This could for example be used by panda to avoid trying to install an already installed module.
01:57
kudo/query_repos_old: 62bcf18 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files):
Centralize more precompilation code
hoelzro .tell nine I rebased the query repos branch on top of nom, and pushed query_repos_old in case I b0rked it
yoleaux hoelzro: I'll pass your message to nine.
sortiz gfldex: Even an item passed to list returns a List 02:00
m: say $(1,2).list.WHAT
camelia rakudo-moar f1dd49: OUTPUT«(List)␤»
02:04 itaipu joined
timotimo sortiz: well, $(1,2) is a List, too 02:10
sortiz gfldex: Right now .list is implemented by infix:<,>, and special cased for Slip, to avoid surprises. I think that the Array case should be handled in a DWIMer form. Thanks any way.
timotimo a list that "knows" it's supposed to be itemized
sortiz timotimo: Yes, I known, is Array the case that worries me.
02:11 xpen joined
timotimo oh? hw come? 02:14
i didn't read any backlog at all
so i don't know what this is about 02:15
02:15 pjscott joined
gfldex Array::flat basicly 02:15
once again
timotimo ah, flattening stuff out
yeah
that really is A Thing
sortiz Yes!
02:16 jeek joined, pjscott left
gfldex i'm starting to lean towards removing .flat altogether 02:16
but then someone would write a module
Juerd m: class Overlap is repr('CUnion') { has uint32 $.u32; has uint16 $.u16; has uint8 $.u8; }; my $overlap = Overlap.new(u32 => 1234567); say $overlap.u16; say $overlap.u8; 02:17
camelia rakudo-moar f1dd49: OUTPUT«-10617␤-121␤»
02:18 orbus left
leont gfldex: p6 without .flat is unusable IMO 02:18
Juerd I'm beginning to wonder whether perhaps uints should be implemented as uints :) 02:19
BenGoldberg m: class U is repr('CUnion') { has uint32 $.u32; has uint16 $.u16; has int16 $i16 }; my $u = U.new(u32 => 1234567); say $u.u16, $u.i16;
camelia rakudo-moar f1dd49: OUTPUT«Method 'i16' not found for invocant of class 'U'␤ in block <unit> at /tmp/neUBR3pHfF line 1␤␤»
timotimo oh, whoops :)
sortiz gfldex: If only @foo.list do what @foo.List does, the problem vanished.
timotimo Juerd: rakudobug@ please?
BenGoldberg m: class U is repr('CUnion') { has uint32 $.u32; has uint16 $.u16; has int16 $.i16 }; my $u = U.new(u32 => 1234567); say $u.u16, $u.i16;
camelia rakudo-moar f1dd49: OUTPUT«-10617-10617␤»
Juerd timotimo: Working on it.
gfldex instead of complaining I better add a warning to the docs
timotimo and feel free to also write tests :)
Juerd timotimo: Just finished writing the tests.
BenGoldberg m: my uint16 $u = -1234; say $u; 02:20
camelia rakudo-moar f1dd49: OUTPUT«64302␤»
Juerd timotimo: rt.perl.org/Public/Bug/Display.html?id=127210
timotimo with a CStruct things work better, don't they? 02:21
BenGoldberg m: class U { has unit16 $.u }; say U.new( u:(-1234) ).u;
camelia rakudo-moar f1dd49: OUTPUT«5===SORRY!5===␤Type 'unit16' is not declared. Did you mean any of these?␤ uint16␤ int16␤␤at /tmp/bHh9qto03u:1␤------> 3class U { has unit167⏏5 $.u }; say U.new( u:(-1234) ).u;␤Malformed has␤at /tmp/bHh9qto03u:1␤------> 3c…»
timotimo it found the right one! :)
BenGoldberg m: class U { has uint16 $.u }; say U.new( u:(-1234) ).u;
camelia rakudo-moar f1dd49: OUTPUT«===SORRY!===␤This type does not support positional operations␤»
Juerd timotimo: Well, the exact same thing can't happen in anything but a union... 02:22
BenGoldberg m: class U { has uint16 $.u = -1234 }; say U.new.u;
camelia rakudo-moar f1dd49: OUTPUT«-1234␤»
timotimo um, well, yeah
BenGoldberg Surely, that's a bug ^
timotimo yeah
Juerd timotimo: I was testing this to see if CUnion could be used to speed things up for unpack :) 02:23
02:23 pjscott joined 02:25 orbus joined
dalek c: 45dabd9 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Any.pod:
warn about flattening infinite lists
02:29
c: 7d1b08a | (Wenzel P. P. Peppmeyer)++ | doc/Type/Any.pod:
Merge pull request #330 from gfldex/master

warn about flattening infinite lists
02:39 jack_rabbit joined, kid51 left, hoelzro left 02:44 kaare_ joined 02:45 pjscott left 02:46 ilbot3 left
timotimo Juerd: i've been thinking maybe we'll build a few ops that'll transfer data into a length-and-bytes format and back into anything we want 02:47
02:47 ilbot3 joined
Juerd timotimo: Ops on what level? 02:50
timotimo nqp::foo
Juerd Sounds great 02:51
02:52 jack_rabbit_ joined 02:53 jack_rabbit left
timotimo no promises 02:54
02:58 telex left 03:00 telex joined
timotimo actually, the transfer data op would just be kind of a generic sub-buf op or something 03:00
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJC 03:01
03:02 noganex_ joined 03:03 regreg joined
timotimo ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))ρρADABμAAAμAττττττττττττττττττττττττττττττττττττττττττDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDρ 03:03
TimToady I don't think those transfer ops are working as well as you thought they would... :) 03:05
timotimo (cat relaxing on keyboard)
TimToady cat needs a tranfer op...
03:05 noganex left
TimToady *transfer 03:05
03:09 atweiden left 03:10 mjreed joined 03:12 yqt left 03:13 mjreed is now known as markjreed 03:15 raiph left 03:16 pjscott joined, markjreed left 03:17 markjreed joined 03:19 cygx joined, markjreed left 03:20 mjreed joined
cygx TimToady: what's the rationale behind arrays not flattening in Perl6? 03:20
m: say [(1,2), (3,4)].flat 03:21
camelia rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))␤»
timotimo m: say [(1, 2), (3, 4)].flat.flat
camelia rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))␤»
timotimo m: say [(1, 2), (3, 4)].flat.list.flat
camelia rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))␤»
timotimo what is this even
cygx timotimo: the scalar containers
03:22 raiph joined
cygx Iterable.flat explicitly excludes containers from the recursion, and as arrays box their elements into scalars... 03:22
mjreed Trying to install readline on OS X and it appears to be trying to dlopen(‘libreadline.so’), even though dylibs aren’t named that on this platform.. NC issue? 03:24
timotimo right
mjreed: "is native('readline')" should give .dylib on osx
03:28 psy_ left
mjreed first test fails with # Cannot locate native library 'libreadline.so.6': dlopen(libreadline.so.6, 1): image not found. maybe it’s just a bad test.. 03:28
03:29 pjscott left
sortiz cygx: I hope is only an implementation glitch, I can't found in roast any related test. 03:30
03:31 hoelzro joined
mjreed hm. class Readline { my constant LIB = 'libreadline.so.6'; 03:35
03:36 mjreed left
timotimo damn. 03:37
03:37 markjreed joined, Herby_ joined
Herby_ Good evening, everyone! 03:37
timotimo i think i'll be going to bed now 03:38
markjreed good night.
03:39 M-eternaleye left, M-eternaleye joined 03:42 Zaid joined 03:43 psy_ joined, Zaid left 03:46 Ben_Goldberg joined 03:47 BenGoldberg left, Ben_Goldberg left 03:48 Ben_Goldberg joined
dalek c: 4a47be5 | skids++ | doc/Language/list.pod:
Initial start of List/Array-focused language page
03:49
skids .tell RabidGravy Got a start on List/Array page at doc/Language/list.pod 03:50
yoleaux skids: I'll pass your message to RabidGravy.
cygx 'night o/ 03:52
03:52 cygx left 03:57 regreg left
dalek osystem: 0ab2d5a | hoelzro++ | META.list:
Add Native::Resources to META.list
04:00
[Coke] lizmat: yes, as long as there's no spectest issues, pretty much always ok to bump nqp revision 04:16
04:17 TimToady left, pjscott joined 04:18 Ben_Goldberg left 04:25 bzipitidoo joined 04:26 pjscott left
MadcapJake where are the moarvm files placed on installation? 04:27
like CORE.setting.moarvm
04:27 pjscott joined
sortiz MadcapJake: In my case in .../share/perl/runtime/ 04:30
04:30 pjscott left
sortiz * s/perl/perl6/ 04:31
04:31 tjt263 joined
dalek osystem: 65026b8 | PerlJam++ | META.list:
use META6.json for p6-Math-Trig
04:31
MadcapJake sortiz, thanks! 04:32
04:32 leont left
dalek osystem: 5c04d04 | PerlJam++ | META.list:
use META6.json for p6-File-Temp
04:33
04:35 pjscott joined
Herby_ question... how would I get a file size in MB using Perl 6? 04:35
right now I'm using $file.IO.s , and its returning something like 183563192 04:36
markjreed divide by 1000000 for MB, or 1048576 for MiB ? 04:39
dalek osystem: 214951d | PerlJam++ | META.list:
use META6.json for p6-Astro-Sunrise
skids Herby_: so why not just divide that by 1M? 04:40
Herby_ That works, just didn't know if there was some fancy Perl 6 method
:)
perlpilot Herby_: sounds like something that could go in a module though 04:41
yoleaux 1 Jan 2016 12:06Z <nine> perlpilot: if you want to play around with a SQLite based CompUnit::Repository, now's as good a time as any. Maybe github.com/niner/CompUnit-Repository-Panda can inspire you
skids m: class Mebibytes is Int { method Str { (self/1024/1024).Int ~ "M" } }; my Mebibytes $a .= new(183456783); $a.say; # fancy enough? 04:43
camelia rakudo-moar f1dd49: OUTPUT«174M␤»
Herby_ haha very fancy! 04:45
04:46 pjscott left
saaki is there a rakudobrew analogue for perlbrew lib ? 04:49
skids m: 183456783.polymod(1024 xx 2)[*-1].say
camelia rakudo-moar f1dd49: OUTPUT«174␤»
Herby_ skids, could you explain how your "class Mebibytes" works? 04:50
04:50 markjreed left
Herby_ I'm still having a hard time wrapping my head around OO 04:50
classes/objects etc
skids It just shadows the .Str method from Int, which is what is used internally by say and friends. 04:51
It's not really useable though, because it can't do math without losing its type. 04:52
Herby_ hmm ok
05:08 bzipitidoo left 05:09 nige1 joined 05:15 psy_ left 05:16 TimToady joined
gfldex m: sub f(:$a?, :$b?){ my %h = $a ?? a=>$a !! Empty, $b ?? b=>$b !! Empty }; dd f(b=>1) 05:21
camelia rakudo-moar f1dd49: OUTPUT«Hash %h = {:b(1)}␤» 05:22
gfldex ^^^ Empty is very useful
05:25 schnuppi joined
skids m: sub f(:$a?, :$b?){ my %h = $a ?? a=>$a !! Empty, $b ?? b=>$b !! |() }; dd f(b=>1) 05:27
camelia rakudo-moar f1dd49: OUTPUT«Hash %h = {:b(1)}␤»
skids Slip will definitely stick around, Empty may not.
m: sub f(:$a?, :$b?){ my %h = $a ?? a=>$a !! |(), $b ?? b=>$b !! |() }; dd f(b=>1)
camelia rakudo-moar f1dd49: OUTPUT«Hash %h = {:b(1)}␤»
skids When they made Empty it was a stepping-stone to get by until GLR was compete. 05:28
m: constant f = |(); say 1, f, 2; # Though I guess if Empty can just be defined that way there's no reason not to have it 05:31
camelia rakudo-moar f1dd49: OUTPUT«12␤» 05:34
MadcapJake anyone got any ideas as to why i would get a segmentation fault after installing rakudo?
running `perl6` immediately segfaults
dalek osystem: 3b9da81 | (Gonéri Le Bouder)++ | META.list:
add the Email::Notmuch module

Email::Notmuch is a binding for the NotmuchMail mail search library.
   notmuchmail.org/
osystem: 0c159f7 | (Zoffix Znet)++ | META.list:
Merge pull request #116 from goneri/master

add the Email::Notmuch module
MadcapJake tried running inside gdb, but it says that it (and /usr/bin/moar) are not in executable format
skids did you install via rakudobrew, or "by hand"?
sortiz MadcapJake: Are you using rakudobrew?
MadcapJake by hand
geekosaur even by hand I think those are scripts
MadcapJake I'm trying to write a package for Solus Project (sort of like arch's pkgbuild script)
geekosaur you need to inspect the script to see how to run the actual executable
skids Did you clean out moar and nqp binaries before installing rakudo?
MadcapJake skids, that could be it 05:35
05:35 Cabanossi left 05:36 Zoffix joined
MadcapJake nope wasn't it :P 05:36
well /usr/bin/moar is not a script, but that one still won't run in gdb for some reason 05:37
05:38 Cabanossi joined
gfldex MadcapJake: you could try to generate a coredump and inspect that 05:38
05:39 vendethiel joined
hoelzro MadcapJake: have you tried perl6-gdb-m? 05:40
MadcapJake hoelzro, yeah i tried that still segfaults 05:41
hoelzro and GDB gives you no meaningful info?
MadcapJake nothing
hoelzro o_O
valgrind it?
Quom__ And you got rid of old core-precomps?
MadcapJake this os builds software in it's own little filesystem and then when you install it just shifts the files over to your system. so somewhere along the way, I think I'm fudging something up xD 05:43
05:43 lsm left
MadcapJake thought this would be an easy thing, now i've spent two days worth of my freetime on it x_x 05:44
i think what i'm gonna have to do is actually following the arch packages philosophically i.e., build each element in a separate package and then just depend on each one. 05:45
05:46 skids left
hoelzro MadcapJake: are you building arch packages? 05:48
MadcapJake hoelzro, no, Solus Project packages solus-project.com wiki.solus-project.com/Package.yml 05:49
hoelzro interesting, never heard of this 05:50
MadcapJake similar to pkgbuild in terms of syntax, but I am no arch user so I don't know if the architecture is similar
not syntax, semantics, i guess, Solus uses YAML files, but the layout of the file is similar 05:51
05:52 Herby_ left
MadcapJake figured it out! 06:01
so nice to see that lovely repl arrow!
06:01 vendethiel left
MadcapJake hmmm, "Unable to load setting CORE; maybe it is missing a YOU_ARE_HERE?" 06:02
06:07 Sgeo_ left, Sgeo_ joined 06:09 krunen left, zmyrgel left 06:10 krunen joined, zmyrgel joined 06:11 Humbedooh left 06:17 Humbedooh joined 06:18 pjscott joined, Humbedooh left, Humbedooh joined 06:21 yeahnoob left 06:23 g4 joined, g4 left, g4 joined 06:31 obra joined 06:35 vendethiel joined
sortiz m: role FL { multi method list(Array:D:) { self.List } }; my @a := [1,(2,3),4]; my @b := @a but FL; say .list.flat for @a, @b 06:37
camelia rakudo-moar f1dd49: OUTPUT«(1 (2 3) 4)␤(1 2 3 4)␤»
06:39 geraud left 06:40 yeahnoob joined 06:56 domidumont joined 06:58 vendethiel left 06:59 FROGGS left 07:01 domidumont left 07:02 orevdiabl left, domidumont joined 07:07 virtualsue joined 07:08 pjscott left, sjoshi joined 07:10 Actualeyes left
[Tux] csv-ip5xs 50000 18.308 18.198 07:13
test 50000 23.577 23.466
test-t 50000 12.737 12.627
csv-parser 50000 49.966 49.856
07:19 Casan left 07:21 FROGGS joined, perlawhirl joined 07:24 perlawhirl left 07:29 _nadim joined, Actualeyes joined 07:31 marmay joined 07:34 _Gustaf_ joined, firstdayonthejob joined
_Gustaf_ Is there any updates on when a new Rakudo star based on 6.c will be awailable? 07:36
07:36 yeahnoob_ joined
FROGGS _Gustaf_: there is a release candidate available 07:36
***ALL*** - just made an RC0 of rakudo star, as of today's codebase: froggs.de/perl6/rakudo-star-2016.01-RC0.tar.gz 07:37
***ALL*** - please test it and report bugs to the rakudo/star repository, but keep in mind it is an RC0, so dont update your production servers just now
_Gustaf_: ^^
please test
the real Star release will be the the 2016.01, which will happen in a week 07:38
07:40 yeahnoob left, Tonik joined 07:44 frankjh joined
_nadim Good morning 07:48
07:49 raiph left
_Gustaf_ FROGGS: Ohh sweet. I´ll try it out 07:51
08:01 vendethiel joined
dalek line-Perl5: ef591b6 | (Stefan Seifert)++ | META.info:
Use correct versionin scheme for Perl 6 in META.info
08:02
08:05 nige1 left, wamba joined 08:09 schnuppi left 08:14 darutoko joined
FROGGS morning _nadim 08:14
moritz \o 08:15
good morning FROGGS++; testing the star RC0 now
FROGGS cool! 08:16
moritz so far it looks good 08:17
(currently at DBIish)
==> Installing DBIish # this step took really long; did it re-precompile the code here? 08:18
looks very good; sucessfully installed, and I can load those modules 08:20
now testing panda
panda works too 08:21
\o/
now trying with a custom prefix 08:22
08:23 vendethiel left 08:24 ab6tract joined, firstdayonthejob left
ab6tract good 8, #perl6 08:25
err, good * :)
let's say that i would like a coercion sub to not simply return a new object of the coerced type, but to actually stash it in the current container.. is this possible? 08:26
i note that 'self := Obj.new' is not valid 08:27
08:27 schnuppi joined
moritz ab6tract: what do you mean by "current container"? 08:28
ab6tract moritz: the container of the object that is being coerced 08:29
rather than my $other = $orig.Other
$orig.Other; $orig ~~ Other 08:30
08:31 espadrine joined, nige1 joined
ab6tract moritz: do you understand what i mean? 08:32
moritz ab6tract: why would you want to do that?
El_Che I like the "is rw" trait in method signature, but I wonder if it would be interesting at the caller instead, so you know what happens with your data wihtout expecting the signature (just musing)
moritz ab6tract: it's possible if you explicitly declare the invocant as 'is rw' or as \ 08:33
m: class A { method x(SELF is rw:) { SELF = 42 } }; my $x = A; $x.x; say $x
camelia rakudo-moar f1dd49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JDgmkB3Frs␤Invalid typename 'SELF' in parameter declaration.␤at /tmp/JDgmkB3Frs:1␤------> 3class A { method x(SELF7⏏5 is rw:) { SELF = 42 } }; my $x = A; $x.␤»
moritz m: class A { method x(\SELF is rw:) { SELF = 42 } }; my $x = A; $x.x; say $x
camelia rakudo-moar f1dd49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A0SoPVIHee␤Can only use 'is rw' on a scalar ('$' sigil) parameter␤at /tmp/A0SoPVIHee:1␤»
moritz m: class A { method x($SELF is rw:) { $SELF = 42 } }; my $x = A; $x.x; say $x 08:34
camelia rakudo-moar f1dd49: OUTPUT«42␤»
moritz but that's like, totally confusing for the user in most cases
ab6tract moritz: I'm writing a TwoThree tree implementation, and I would like to have the nodes move from leaf to twonode to threenode without having to do any juggling 08:35
i'm not sure it is better yet, but thought i would try
what does the colon at the right hand of the signature imply here?
moritz ab6tract: it's the paramater for the invocant, that is, the thing you call the method on 08:37
08:40 brrt joined
frankjh Hi, I have an initial version of my first perl6 library ready. It does public key en/decryption using nacl. Please see github.com/soundart/perl6-tweetnacl . Known problems: I can use it with Configure.pl, but panda does not work. Very uncertain wrt to my perl6 usage... 08:41
moritz frankjh: I'm not very familiar with that part of Perl 6, but I'd suggest looking at other projects that have C components 08:42
frankjh: Inline::Perl5 in particular is known to currently work; it has a configure.pl6 an Build.pm
08:43 linkq joined
FROGGS frankjh: one thing I spot: here[^1] you state you expose it as TweetNacl, but in the META6.json you expose it as "Add"... [^1] github.com/soundart/perl6-tweetnac...-load.t#L5 08:43
frankjh moritz: Thanks. Is there a way to do a panda install locally? 08:44
nine panda install .
yoleaux 01:57Z <hoelzro> nine: I rebased the query repos branch on top of nom, and pushed query_repos_old in case I b0rked it
nine .tell hoelzro \o/ thanks a lot!
yoleaux nine: I'll pass your message to hoelzro.
frankjh FROGGS: Thanks. I started from a perl6 example using an 'Add' module on github. 08:46
moritz FROGGS: star rc0 also works for me with a custom prefix
frankjh wrt.: META6.json, is the libtweetnacl.dylib name ok, or is this OS dependant? 08:47
I am building tweetnacl.so 08:49
FROGGS moritz: ohh cool, I'd not tested that
frankjh: a .dylib is for OS X only
moritz FROGGS: so you have my axe, and my green light :-)
FROGGS *g* 08:50
FROGGS needs to watch that again
08:50 schnuppi left
nine frankjh: when you use "tweetnacl" as name in your META.info and in your is native traits, rakudo will expand that to tweetnacl.dylib on OS X, tweetnacl.dll on Windows and libtweetnacl.so on Linux 08:51
FROGGS frankjh: yes, that resources entry in the meta file is problematic
frankjh FROGGS, nine: So I simply remove the .dylib extension?
FROGGS nine: he builds and wants to install it: github.com/soundart/perl6-tweetnac...json#L5-L7 08:52
frankjh: I fear you wont get the lib installed whatever you do 08:53
nine FROGGS: yes, then it should be "resources": ["libraries/tweetnacl"] as in github.com/niner/Inline-Perl5/blob...A.info#L15
FROGGS: ^^^
08:53 zakharyas joined
nine frankjh: ^^^ 08:53
FROGGS nine: and that works?
obviously I guess
nine FROGGS: either that or people just imagine using Inline::Perl5 :)
FROGGS *g* 08:54
moritz Inline::Perl5 doesn't really allow you to call Perl 5 code; it just has huge number of popular p5 modules baked in, so nobody noticed
(p6 ports of the p5 modules, I mean :-)
nine moritz: ssssht!
frankjh Ok. I will try to use the build setup style from Inline-Perl5. Thanks! 08:55
nine The Build.pm and configure.pl6 are still a bit more complicated than I'd like. One of these days I'll propose a patch to LibraryMake to simplify them. 08:56
FROGGS nine: and we should work on supporting longnames in meta files 08:57
nine We should work on supporting longnames everywhere...
FROGGS we... dont support them anywhere? 08:58
nine Ask a class for its version
FROGGS I mean, they work on a use statement still, no?
nine Or load two different versions of modules.
FROGGS that depends on aliasing
nine Yes, module loading is pretty much the only place where it works right now
08:59 guest23223 joined
FROGGS so I can load two different Foo's in two different scopes in my script at least 08:59
nine oh, of course, different scopes!
08:59 cpage joined
_Gustaf_ FROGGS: Building and installing on Windows 8.1 with strawberry perl works great, only a small issue with the panda install panda-m.bat 09:00
FROGGS _Gustaf_: now you are talking about rakudo installed from git, right? 09:01
_Gustaf_ FROGGS: No. The star RC0
FROGGS O.o
that's usually used on linux only, or when building the star msi 09:02
what happens to the panda-m ooc?
bbi5
_Gustaf_ FROGGS: pastebin.com/yXdGaepc 09:03
FROGGS: perl complains on the first line in the bat script fpr some reason
FROGGS err, it tries to run the panda-m with perl6 09:10
_Gustaf_ Interesting ;) 09:11
FROGGS ohh
can you remove the $(BAT) in the makefile where module-install is called? 09:12
near line 73 apparently
_Gustaf_ sure
FROGGS and then you can just do: gmake modules-install
09:15 ab6tract left
El_Che FROGGS: is rakudo tested on other platforms than lin/win/mac? I tries solaris but got stuck on libuv. 09:16
FROGGS El_Che: we know it works on bsd and raspbian
El_Che: but yeah, libuv seems to either not like their compiler, or we configure it wrongish 09:17
El_Che FROGGS: I tried with gcc
FROGGS El_Che: something about declaration before code, right?
El_Che well, not really
FROGGS hmm, paste?
09:18 aenaxi left
El_Che on solaris 10: missing interface 09:18
on solaris11: it compiles fine, but fails tests
FROGGS: I'll look it up or rerun it if you're interested
FROGGS I am
El_Che ok, noted
_Gustaf_ FROGGS: Now it works like a charm 09:19
El_Che I talked with the libuv people (they come from opensolaris)
they concentrate on illuminos (the opensolaris derivative) and kind of let go of solaris
FROGGS aha
09:20 uruwi left
FROGGS yeah, then this is kinda (not) related: github.com/MoarVM/MoarVM/issues/306 09:20
El_Che FROGGS: I am associated with OpenCSW, and their are moving to gcc (most of it is gcc already) 09:21
FROGGS: too much hassle with suncc
FROGGS +1 to moving to gcc
El_Che I create a gcc perl5.22.1 packages for them (now in experimental). Their perl5 is an ancient 5.10.1 with suncc 09:22
(funnily enough, in the meantime I moved to a job without solaris :) ) 09:23
frankjh nine. Do I have to provide sub native(Sub $sub) {..}in my TweetNacl.pm6 to support loading of the shared library from the correct place? Or do I need to do more? 09:24
09:24 CurtisOvidPoe joined
FROGGS El_Che: hehe 09:25
CurtisOvidPoe Hi all. If I define a class as a subclass of a numeric type, but I wanted to remove some numeric operators, how would I do that?
FROGGS CurtisOvidPoe: I guess you cant... 09:26
CurtisOvidPoe: do you have an example, where I could see *why* you want to remove ops? 09:27
nine frankjh: the sub native in Inline::Perl5 is almost obsolete now. I could just as well write my constant $p5helper = %?RESOURCES<libraries/p5helper>.Str; sub p5_init_perl() is native($p5helper) returns Perl5Interpreter { ... };
CurtisOvidPoe FROGGS: masak was telling me that I can, but I forgot to follow up with him on how to do that. Maybe I misunderstood him?
nine frankjh: it used to contain much more code before we got support for %?RESOURCES 09:28
FROGGS CurtisOvidPoe: you can of course add these ops for your type, and because these will be more specific they will be picked
CurtisOvidPoe: but infix:<+>(Int, Int) will always be a valid candidate otherwise, when you subclass Int 09:29
CurtisOvidPoe FROGGS: Let’s say I declare “class Temperature::Fahrenheit is Num { … }” There’s no point in *multiplying* temperatures, but adding them (to take average temperatures) would make sense, but only if I was adding them to other instances of Fahrenheit classes.
09:29 baest_ is now known as baest
masak good antenoon, #perl6 09:29
CurtisOvidPoe Good morning, masak. Did I wake you? :) 09:30
masak CurtisOvidPoe: did I say that? interesting.
nope, didn't wake me :)
CurtisOvidPoe masak: we were at a conference chatting about it.
El_Che CurtisOvidPoe: you snore
:)
FROGGS CurtisOvidPoe: you could add an infix:<*>(Fahrenheit, Fahrenheit) { fail "OHH NOES" }, but that's icky IMO
09:30 linkq left
CurtisOvidPoe El_Che: so my wife tells me :) 09:30
masak CurtisOvidPoe: my first reaction is that class-based inheritance isn't a good fit for *removing* functionality
FROGGS aye 09:31
masak CurtisOvidPoe: oh, the celsius/fahrenheit thing
CurtisOvidPoe masak: yes, that’s true.
FROGGS and allowing +, -, /, but not * is weird
masak CurtisOvidPoe: I don't remember what I advised you, but I'm pretty sure it wasn't `is` inheritance
CurtisOvidPoe: it's coming back, piece by piece. your issue was that you weren't abstracting *away from* the normal numbers. so you got multi conflicts 09:32
CurtisOvidPoe I don’t recall exactly either. I was also using examples of distance to ensure that you couldn’t compare meters and feet, even though both might be Nums.
masak CurtisOvidPoe: but... I'm also pretty sure I left you a gist or something. do you still have the URL?
CurtisOvidPoe Don’t remember the gist, sorry :/
09:32 abraxxa joined
masak this must have been... YAPC::Europe 2015, yes? 09:32
CurtisOvidPoe Yes, I think so. 09:33
I guess it’s better to get to the heart of the issue: I’d like a programmatic way to *declaratively* prevent this bug: articles.latimes.com/1999/oct/01/news/mn-17288
masak CurtisOvidPoe++ # circumventing XY problem 09:34
09:34 schnuppi joined
masak CurtisOvidPoe: I think I would make a new class that doesn't inherit, but wraps a Num (or Real, or Numeric, depending) 09:35
CurtisOvidPoe: then you can selectively allow through whatever operations you care for
09:35 RabidGravy joined
masak CurtisOvidPoe: can even be made fairly terse, with `handles` 09:35
in other words, "favor composition, not inheritance"
CurtisOvidPoe masak++ 09:36
RabidGravy morning!
yoleaux 03:50Z <skids> RabidGravy: Got a start on List/Array page at doc/Language/list.pod
RabidGravy skids++ nice one 09:37
_Gustaf_ RabidGravy Morning
09:37 lnrdo joined, abraxxa left 09:43 yeahnoob_ left
masak seriously, `handles` is Perl 6's gift to people who want to wrap rather than inherit. it's so nice. and very versatile. 09:45
RabidGravy yeah, it's a great thing, and if you do handles on a method you can get a nice degree of laziness too :) 09:47
09:49 abraxxa joined
DrForr waves in passing at Curtis. 09:53
CurtisOvidPoe Hi DrFoo. 09:56
“DrForr” :)
I can’t get “handles” to work with the infix +. I’ve tried declaring my own operator, and that fails too. What am I doing wrong? gist.github.com/Ovid/fe0847a882ceda440271 09:58
09:59 schnuppi left
arnsholt CurtisOvidPoe: Operators aren't methods on objects, but multi sub 10:00
*s
So you want "multi sub infix:<+>(F $, F $) { ... }" outside the class
CurtisOvidPoe arnsholt: Thanks. Fails with the same error, though. 10:01
dalek kudo/nom: 04ac7e2 | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp:
Remove remaining code referencing @*INC

Fixes the occasional: WARNING: unhandled Failure detected in DESTROY: Dynamic variable @*INC not found
   in any at gen/moar/m-ModuleLoader.nqp line 83
CurtisOvidPoe arnsholt: I’ve left a reply on that gist showing my exact code. 10:02
10:04 rindolf joined 10:06 joydo left 10:07 xpen left
arnsholt Weird! 10:10
masak has a look
10:11 xpen joined
masak it's trying to numify $t1 for some reason 10:11
adding a `method Numeric { self }` to Fahrenheit causes an infinite loop 10:12
surely doing a custom infix:<+> on one's own objects doesn't *require* the objects to be Numeric?
RabidGravy is there a (Numeric() , Mu ) candidate for <+> ? 10:13
arnsholt No, that'd be weird...
DrForr Wouldn't that be method Numeric { self.temperature }?
masak DrForr: no, that'd defeat the purpose
DrForr: we want the temperatures to act as number-ish objects
adding `does Numeric` to the class also causes an infinite loop
all I can say is that this doesn't behave as I remember it :( 10:14
RabidGravy ah, it's a typo
DrForr I understand the purpose, I'd just thought that returning the internal object as the typed object would be TRT.
RabidGravy $t1 + $2 vs $t1 + $t2
with the latter it works 10:15
masak ahhh
CurtisOvidPoe DAMN IT! :)
masak RabidGravy++
huf that's quite an obscure error message for a typo :)
10:16 gregf left
masak we could have avoided this by adding two more candidates, for Fahrenheit + Any and Any + Fahrenheit 10:16
RabidGravy it probably can't do any better if $2 is defined already
masak which are probably good to have anyway
CurtisOvidPoe And makes my slides longer if I include this.
RabidGravy the moral of this is more coffee before typing 10:17
DrForr El_Che: Was looking at the FOSDEM talk descriptions, looks good. I'll assume that the repeat of the abstract is because of a bug on their site?
El_Che I'll have a look, yours wasn't up yesterday 10:18
probably my fault (pentabarf is awful) 10:19
there is an abstact and description
a copy paste the same on both
(it complains otherwise)
I'll try to fix it
DrForr Happened to everyone's - fosdem.org/2016/schedule/event/perl6grammars/ # is my link. 10:20
El_Che I'll fix it now 10:21
however, it's not realtime -> they run a cronjo
b
10:22 gregf joined
masak CurtisOvidPoe: maybe put the other two candidates on a separate slide, and make a separate point of it? 10:22
CurtisOvidPoe: they're not *strictly* necessary, but they make the end result better, IMO
CurtisOvidPoe: as in, with them you also control whenever someone tries to add Fahrenheit to something else, instead of getting the inscrutable error we got just now 10:23
CurtisOvidPoe masak: I’m currently at 93 slides for a 40 minute talk. I should have been subtracting instead of adding :)
But yes, that’s a definite improvement!
10:23 abraxxa left
huf what's a (Mu:U \v: *%_) ? 10:23
some kind of most useless method at the top of the type hierarchy? 10:24
RabidGravy it's just an inherited Numeric method
10:24 stmuk_ joined
masak CurtisOvidPoe: far be it from me to tell you which slides to include or not. I'm definitely arguing without surrounding context here. :) 10:24
CurtisOvidPoe masak: but it’s definitely a good argument. 10:25
10:26 stmuk__ left
DrForr Hrm. I'm finding myself wanting a 'tokens { NAME => "value", NAME => "value" }' construct now. I suppose I could write my own.. 10:27
RabidGravy gwan! 10:30
10:31 AlexDaniel joined 10:32 FROGGS left, sortiz left
DrForr It's mostly for aesthetic reasons. I have ~25 tokens that are single words and having to repeat 'token NAME { "name" }' every single time is a touch annoying. 10:32
nine I've just sent my second inquiry to TPF regarding monthly donations by our company to the Perl 6 core fund. It's incredible how hard it is to get rid of some money. 10:35
DrForr Donate it to me, I'll make sure it gets put to use :) 10:36
10:36 abraxxa joined 10:38 guest23223 left
RabidGravy If it's not in a brown envelope handed over at Waterloo station, it's no good 10:40
10:44 brrt left 10:45 FROGGS joined, donaldh joined
donaldh Has anyone successfully used Grammar::Debugger or Grammar::Tracer with rakudo 2015.12 ? 10:50
I'm trying to use it in conjunction with Grammar::ABNF and getting: P6M Merging GLOBAL symbols failed: duplicate definition of symbol grammar
nine That's an open issue possibly connected to module loading. 10:51
donaldh ah, okay. Thanks
FROGGS hi donaldh
donaldh o/ 10:52
RabidGravy remind me what I was going to look at today, the "armagnac barrel aged imperial brown ale" appears to have robbed me of my memory 10:53
;-)
DrForr Grammar::Tracer failures? :) (Actually interesting to me too because I was about to tear into it to create a tiny pseudotracer.) 10:55
11:01 nige1 left 11:05 jdrab joined
frankjh nine: Thanks you! I used constant $p5helper. Building and testing works with Configure.pl6 and panda. 11:07
11:09 aenaxi joined
frankjh panda install fails, because it cannot find: TweetNacl::Constants. 11:10
Ah, fixed it too! 11:13
==> Successfully installed TweetNacl 11:14
:)
RabidGravy wahay!
nine yeah! 11:16
frankjh It was a short moment, however. panda install . work, but panda install git://github.com/soundart/perl6-tweetnacl.git fails. 11:18
RabidGravy I didn't even know that was supposed to work 11:19
11:19 kid51 joined
RabidGravy it would be cool if it did though 11:19
nine frankjh: fails how? 11:20
RabidGravy tries
11:21 stmuk__ joined
RabidGravy frankjh, you're not setting <tweetnacl> correctly in your Build (or using the wring variable 11:23
frankjh I think I found it, it did not expand %tweetnacl% in Makefile.in
RabidGravy it's trying to build /home/jonathan/devel/perl6/.panda-work/1452252075_1/resources/libraries/%tweetnacl%
frankjh RabidGray: yes indeed. I think I fixed it....
RabidGravy cool 11:24
11:24 stmuk_ left 11:25 regreg joined 11:26 leont joined
frankjh RabidGravy, could you please try again. I think it was github.com/soundart/perl6-tweetnac...1fca14ef3. Can I somehow uninstall something with panda, so I can check myself? 11:26
RabidGravy All tests successful. 11:27
Files=5, Tests=12, 19 wallclock secs ( 0.03 usr 0.01 sys + 18.09 cusr 0.75 csys = 18.88 CPU)
Result: PASS
frankjh++
nine .seen ShimmerFairy
yoleaux I saw ShimmerFairy 1 Jan 2016 16:40Z in #perl6: <ShimmerFairy> I'll try to be more constructive in the future, but god I would love it if just once I could share an unpopular opinion or viewpoint here and have at least one person see some of the good in what I'm trying to say. In any case, now I feel like shit and it's time for bed.
frankjh :) 11:28
RabidGravy: Thanks!
nine frankjh: uninstallation is currently not implemented. You can overwrite the installed version with panda --force install 11:29
RabidGravy frankjh, you can do "panda --force install .... "
frankjh ok
gfldex m: my $in = 0; sub f(*@c) { (temp $in)++; "<f>\n" ~ @c>>.indent($in).join("\n") ~ (+@c ?? "\n" !! "") ~ '</f>' }; sub g(*@c) { (temp $in)++; "<g>\n" ~ @c>>.indent($in).join("\n") ~ (+@c ?? "\n" !! "") ~ "</g>"}; print g(g(f(g()),g(),f())) 11:33
camelia rakudo-moar 04ac7e: OUTPUT«<g>␤ <g>␤ <f>␤ <g>␤ </g>␤ </f>␤ <g>␤ </g>␤ <f>␤ </f>␤ </g>␤</g>»
gfldex i found a better example for C<temp> :)
RabidGravy yay! 11:35
11:35 TEttinger left
gfldex and it will drive Heskellists nuts 11:35
leont uses temp quite a bit in context-full parsing (e.g. YAML) 11:38
RabidGravy gfldex, if you made that a FALLBACK method you could make an "xml writer" in a couple of lines 11:41
gfldex i'm using it while parsing the xhtml1.1 schema and generating the source of a module that defines a sub for each html element and it's respective attibutes as named arguments 11:48
donaldh okay, so Grammar::Debugger works if I inline Grammar::ABNF and my code in a single file.
RabidGravy m: gist.github.com/jonathanstowe/f351...a3868c7f58 11:49
camelia rakudo-moar 04ac7e: OUTPUT«<foo>␤ <bar>␤ <baz>␤ </baz>␤ </bar>␤</foo>␤»
RabidGravy perl6++ 11:50
gfldex we should add tasks to rosetta code that are pretty much impossible in other languages (that are not Haskell ofc) 11:51
AlexDaniel gfldex: well volunteered? :) 11:52
gfldex i doubt my smarts are sufficient for that 11:53
AlexDaniel actually, I've always wanted to revise rosetta code entries in perl6. A lot of them don't even work with 6.c
RabidGravy AlexDaniel, I think Juerd and bpeterling are looking at it at the moment
AlexDaniel oh! That's very good! ++ 11:54
leont would use dynamic sub generation for that, though he doesn't quite know the syntax (I'm sure it exists though) 11:55
dalek c: 8660e53 | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod:
better example for C<temp>
c: b80697a | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod:
Merge pull request #331 from gfldex/master

better example for C<temp>
AlexDaniel gfldex: you are doing great with the documentation though :) 11:56
gfldex given how well my memory works, it's just an act of selfishness 11:57
AlexDaniel m: .say given 42
camelia rakudo-moar 04ac7e: OUTPUT«42␤»
AlexDaniel m: .say with 42
camelia rakudo-moar 04ac7e: OUTPUT«42␤»
11:57 regreg_ joined
AlexDaniel does not remember the difference 11:58
gfldex m: sub f($_){ .WHAT }; say f 42;
camelia rakudo-moar 04ac7e: OUTPUT«(Int)␤»
ilmari m: .say with Mu
camelia ( no output )
ilmari m: .say given Mu
camelia rakudo-moar 04ac7e: OUTPUT«(Mu)␤»
AlexDaniel gfldex: don't worry, that's how our memory works too
gfldex with tests for definedness and sets the topic
12:00 regreg left
leont unless/without also setting the topic is surprisingly useful 12:02
AlexDaniel m: $_ = 69; .say with 42
camelia rakudo-moar 04ac7e: OUTPUT«42␤»
AlexDaniel m: $_ = 69; .say with Mu
camelia ( no output )
12:03 virtualsue left
frankjh I have now activated travis-ci: github.com/soundart/perl6-tweetnac...ravis.yml. It looks as if perl6 itself +panda + my library has been built. Is this as expected? Or should I limit this somehow to my library only? 12:04
DrForr It installs your library with Panda, I'm guessing, so no. 12:08
frankjh ok thanks
Juerd AlexDaniel, RabidGravy: I'm just checking whether they work. Only a few very messy ones I'll rewrite 12:09
AlexDaniel Juerd: that's very good
Juerd: do you have any checklist? 12:10
12:10 virtualsue joined
donaldh ah, Grammar::ABNF does not handle multi-line rules yet. 12:10
Juerd AlexDaniel: Nope, /^A/ and /^B/ are done. /^C/ only [^30]
AlexDaniel Juerd: eg.g a list of entries that were tested
Juerd: perhaps consider creating one 12:11
Juerd In case you like a todo list for articles that need fixing, rosettacode.org/wiki/Category:Perl_..._attention
12:11 xpen left
AlexDaniel well, I'm more interested in a list that is know to work (and a date when it was checked) 12:11
of stuff that is known to work* 12:12
Juerd I don't have a list like that 12:13
And I read now that we've been using {{works with}} wrong. Apparently it's supposed to be used as a minimum version, not the one you tested with. Too much work; I'll just leave out the {{works with}} instead from now on
AlexDaniel Juerd: what if we just write 6.c ? 12:14
if it works today, there is a high chance that it works with 6.c generally
12:14 jam_ joined
Juerd Still based on heuristics 12:15
There are too many articles to pay a lot of attention to each of them.
I wish they had a standard format so testing could be automated. But that's for another time. :P
Some are more tutorial-like and don't have output
12:15 jam_ left 12:16 Skarsnik joined
Skarsnik Hello 12:17
Juerd Hi 12:18
masak greetings, earthling 12:19
12:21 donaldh left 12:27 patrickz joined, rindolf left 12:28 tspjf joined 12:30 virtualsue left 12:36 frankjh left 12:41 kid51 left, rindolf joined
Skarsnik Is there a way to know if a module is installed without using something like try { use}? 12:43
nine Not yet. There is code for it in the query_repos branch whic I'm gonna merge soonish I guess 12:44
12:45 sno left
RabidGravy nine++ 12:45
12:45 funrep joined, sno joined
Skarsnik Oh nice 12:45
nine I miss the times already, when I would just have had pushed it a week ago :)
funrep is perl6 a good place to invest ones time if one likes to tinker and program for fun?
nine But they will come again once we know how to handle language versions
funrep: definitely :)
timotimo you mean try require 12:46
RabidGravy funrep, yep we're all about the fun here :)
timotimo funrep: i very much think so
llfourn funrep: it is a slam dunk investment decision if you are looking for fun
timotimo but that could just be personal to me
llfourn (and the occaisonal bug report)
12:47 nexysno_ joined
funrep awesome 12:47
timotimo but in my case, playing around with perl6 for fun quickly led to my involvement with core development ... :P
on the other hand, i learned a crazy amount of stuff about all kinds of things on the way 12:48
llfourn timotimo, core developer, do you know a way I can introspect the method cache of an object? 12:49
timotimo i don't know, but i can have a look
Juerd ^ And that's why open source projects are much nicer than commercial suppliers 12:50
llfourn thanks! I have seen cache_get in MethodContainer.nqp but I always seem to get Mu returned
m: class Foo { method foo { } }; Foo.foo; say Foo.^cache_get('foo') 12:51
camelia rakudo-moar 04ac7e: OUTPUT«(Mu)␤»
timotimo oh, hmm. 12:52
m: class Foo { method foo { } }; Foo.^add_method("test", anon method { }); Foo.foo; say Foo.^cache_get('foo') 12:53
camelia rakudo-moar 04ac7e: OUTPUT«(Mu)␤»
timotimo m: class Foo { method foo { } }; Foo.^add_method("test", anon method { }); Foo.foo; say Foo.^cache_get('test')
camelia rakudo-moar 04ac7e: OUTPUT«(Mu)␤»
timotimo yeah, i don't know what's up with that
this is not really the area i've been involved with so far
llfourn timotimo: I remember jnthn telling me that if you .^add_method you junk the cache anyway fyi
you need to .^compose to rebuild it
anyways thanks for trying :) 12:54
timotimo you only need to compose subclasses
IIRC
dalek kudo/nom: fbe0a66 | lizmat++ | src/core/CompUnit/RepositoryRegistry.pm:
Speed up setting up repos

Although the impact of loading a module like Text::CSV is only about 5 msecs, it seems to have quite a positive effect on running the spectest as a whole (from ~300 to ~275 wallclock, from ~2000 to ~1900 CPU seconds)
llfourn hmmm ok probably to get the method to work on the subclasses that's true 12:55
timotimo oooh, lizmat++
12:56 rindolf left 12:58 joydo joined
llfourn wait lizmat++ made the spectest run 10 times faster or am I reading that wrong 12:58
lizmat llfourn: no, 10% faster at most
timotimo reading it wrong
the difference between wallclock and cpu time 12:59
as liz runs the spec tests with many, many cores at the same time
llfourn ah "from" "from" I read "to" "from"
lizmat running spectests with TEST_JOBS=8
nine lizmat++ # pure awesomeness!
RabidGravy gfldex, I think that's taken it as far I want, now with attributes: 13:00
lizmat it just goes to show you *can* write NQP in Perl 6 :-)
RabidGravy m: gist.github.com/jonathanstowe/f351...a3868c7f58
camelia rakudo-moar 04ac7e: OUTPUT«<foo zub="flurble" bumble="rarr">␤ <bar>␤ <baz>␤ stuff␤ </baz>␤ </bar>␤</foo>␤»
Skarsnik hm, NC is supposed to fill struct that are emebeded in a struct? 13:01
timotimo "fill"? you mean initialize to zeroes?
Skarsnik Na having value when it's given by the C code 13:02
Zoffix m: use Test:ver<42>
camelia rakudo-moar 04ac7e: OUTPUT«===SORRY!===␤Cannot call Numeric(Version: ); none of these signatures match:␤ (Mu:U \v: *%_)␤»
nine m: use Test:ver<42>
camelia rakudo-moar 04ac7e: OUTPUT«===SORRY!===␤Cannot call Numeric(Version: ); none of these signatures match:␤ (Mu:U \v: *%_)␤»
timotimo if it's embedded via HAS, then i guess yeah?
nine m: use Test:ver<v42>
camelia rakudo-moar 04ac7e: OUTPUT«===SORRY!===␤Could not find Test:ver<v42> in:␤ /home/camelia/.perl6/2015.12-141-g04ac7e2␤ /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␤ …»
timotimo otherwise it's interpreted to be a pointer
Zoffix How is :ver<> to be interpreted? "At least this version" or "exactly this version"? 13:03
Skarsnik Yes. I get Invocant requires an instance of type Gumbo::Binding::gumbo_string_piece_s, but a type object was passed. Did you forget a .new?
lizmat I wonder if we can automatically optimize the pattern of accessing the same dynamic variable inside a sub multiple times
llfourn presumeably dynamic variables don't work acrross threads? 13:04
Skarsnik hm, it works for other field.
nine Zoffix: :ver sets a version matcher. 13:05
m: use Test:ver(v0+)
moritz m: my $*A = 42; await start { say $*A } # for llfourn
camelia ( no output )
rakudo-moar 04ac7e: OUTPUT«42␤»
nine m: use Test:ver(v6.a..*)
camelia ( no output )
nine m: use Test:ver(v6.a)
camelia rakudo-moar 04ac7e: OUTPUT«===SORRY!===␤Could not find Test:ver<6.a> in:␤ /home/camelia/.perl6/2015.12-141-g04ac7e2␤ /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␤ …»
Zoffix Thanks
llfourn m: my $*A = 42; await start { $*A++ }; say $*A 13:06
camelia rakudo-moar 04ac7e: OUTPUT«43␤»
timotimo funrep: can you elaborate a bit on what kind of stuff you'd like to be programming? 13:07
llfourn m: my $*A = 42; start { $*A++ }; say $*A # so this is a race condition?
camelia rakudo-moar 04ac7e: OUTPUT«42␤»
timotimo llfourn: of course it is
m: my $A = 0; await (start { $A++ } for ^10); say $A
camelia rakudo-moar 04ac7e: OUTPUT«10␤»
timotimo m: my $A = 0; await (start { $A++ } for ^10); say $A
camelia rakudo-moar 04ac7e: OUTPUT«10␤»
Skarsnik hm, must be the lib fault for my error
Zoffix m: my $*A = 42; for ^10 { start { $*A++ } }; sleep 2; say $*A
camelia rakudo-moar 04ac7e: OUTPUT«42␤»
llfourn I kinda expected there to be an implicit my $*A = CALLERS::<$*A> for threads 13:08
Zoffix :/
timotimo with ^100 i can get it to sometimes result in 99 and sometimes in 100
funrep timotimo: no idea actually, learning for the sake of learning not for application purposes 13:09
llfourn huh why didn't Zoffix's thing work?
Zoffix m: my $*A = 42; my @ps = ^10 .map: {start { $*A++ }}; await all @ps; say $*A
camelia rakudo-moar 04ac7e: OUTPUT«42␤»
Zoffix yeah, why?
timotimo llfourn: we've recently gotten a bit of extra code that makes sure a start block will take over the dynamic variables from its "initial" scope
llfourn timotimo: by "take over" you mean "have no side affects on" or am I confused?
is what Zoffix showed what you expected? 13:10
timotimo it means you can refer to the original variables
it would have given "dynamic variable $*A not found" before
Zoffix m: my $A = 42; my @ps = ^10 .map: {start { $A++ }}; await all @ps; say $A
camelia rakudo-moar 04ac7e: OUTPUT«52␤»
funrep heard about perl6 back when i used haskell, but most recently ive been dwelling in c# making games, got bored and thought why not learn a new langauge
Zoffix timotimo, why is not found when it's right there?
llfourn m: my $*A = 0; start { $*A = 42 }; sleep 5; say $*A;
13:10 secwang joined
camelia rakudo-moar 04ac7e: OUTPUT«42␤» 13:10
Zoffix funrep, you've come to the right place! :) 13:11
timotimo Zoffix: because dynamic variables are looked up on the stack, and "start" schedules a code block on the thread pool scheduler, which has its own stack
Zoffix I see.
llfourn m: sub t { say $*d }; my $*d = 1; await do { start { t() } } # is this still a bug?
camelia rakudo-moar fbe0a6: OUTPUT«Dynamic variable $*d not found␤ in block <unit> at /tmp/7cxxFYV3o6 line 1␤␤»
Zoffix m: my $*A = 42; await start { $*A++ }; say $*A 13:12
camelia rakudo-moar fbe0a6: OUTPUT«43␤»
Zoffix timotimo, then why does this ^ give 43?
timotimo why wouldn't it?
llfourn Zoffix: because of await
Zoffix Oh immediately await
timotimo yeah
Zoffix k.
timotimo m: my $*A = 42; start { $*A++ }; repeat say $*A until $*A != 42
camelia rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YL6cJacByx␤Missing block␤at /tmp/YL6cJacByx:1␤------> 3my $*A = 42; start { $*A++ }; repeat7⏏5 say $*A until $*A != 42␤ expecting any of:␤ block or pointy block␤»
timotimo m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42 13:13
camelia rakudo-moar fbe0a6: OUTPUT«42␤»
timotimo m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42
camelia rakudo-moar fbe0a6: OUTPUT«43␤»
timotimo m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42
camelia rakudo-moar fbe0a6: OUTPUT«42␤»
timotimo not fast enough
i wonder if SDL2_gfx is interesting for having a binding at all
on the one hand, it's weird to be sidestepping OpenGL completely for simple operations like rectangles
and even lines
llfourn m: my $*A = 42; for ^10 { start { $*A++ } }; sleep 2; say $*A # so why doesn't this work again :\ 13:14
camelia rakudo-moar fbe0a6: OUTPUT«42␤»
timotimo on the other, it's nice to have a simple API for that kind of stuff without having to have an OpenGL binding
that's interesting
llfourn m: my $*A = 42; start { $*A++ }; sleep 2; say $*A # what about without the for
camelia rakudo-moar fbe0a6: OUTPUT«43␤»
timotimo m: my $*A = 42; start { $*A++ } for ^10; sleep 2; say $*A 13:15
camelia rakudo-moar fbe0a6: OUTPUT«42␤»
timotimo definitely strange
llfourn hmm it's sort of similar to rt.perl.org/Public/Bug/Display.html?id=127033 #except that is for the for loop inside the start {}
timotimo m: my $*A = 42; start { loop { start { $*A++ } } }; sleep 2; say $*A 13:16
camelia rakudo-moar fbe0a6: OUTPUT«Memory allocation failed; could not allocate 14064 bytes␤»
timotimo hehe.
llfourn my $*A = 42; do { start { $*A++ } } sleep 2; say $*A
m: my $*A = 42; do { start { $*A++ } } sleep 2; say $*A
camelia rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F72fXMWjVC␤Strange text after block (missing semicolon or comma?)␤at /tmp/F72fXMWjVC:1␤------> 3my $*A = 42; do { start { $*A++ } }7⏏5 sleep 2; say $*A␤ expecting any of:␤ infix␤ …»
llfourn m: my $*A = 42; do { start { $*A++ } }; sleep 2; say $*A
camelia rakudo-moar fbe0a6: OUTPUT«42␤»
llfourn ^^ that golfs it
timotimo well, right now we're trying to make stuff break, so ... :P 13:17
llfourn im going to note that on #RT127033 because they are similar
13:17 ilbelkyr left
timotimo thanks 13:18
13:18 ilbelkyr_ joined
timotimo i'm not 100% certain about how the thread-y stuff should behave, so i won't give definite answers or such :) 13:19
13:19 ilbelkyr_ is now known as ilbelkyr, lnrdo_ joined, lnrdo left
Skarsnik RabidGravy, hm, did you already work with struct like s { char *data; int length}; and using Buf work for the char *data? 13:20
llfourn I personally would be happy if dynamics become isolated inside start {} if that led to greater optimization opportunities.
13:21 virtualsue joined
timotimo we don't guarantee safety of lexical or dynamic containers IIRC 13:21
RabidGravy Skarsnik, strange you might ask that :) GDBM uses a struct just like that to pass the keys and values, it segfaults :-\ 13:22
timotimo all we can do for that at the moment is use CArray ...
llfourn I would have thought lexical like start { my $a = '' } would be guaranteed but I know nothing
arnsholt CArray should work for that use case 13:23
timotimo if the lexical is *inside* the start, sure, that's no problem
arnsholt Although you have to be very careful not to exceed the array bounds, of course
llfourn timotimo: ok then we are on the same page ;)
timotimo shared lexicals, on the other hand ... 13:24
RabidGravy yeah, Str no good in that place
nine What exactly does nqp's =:= compare? It's not nqp::objectid, isn't it?
timotimo no, objectid causes an object to get a fixed ID in the future
it's equivalent to a pointer compare 13:25
nine So what does it mean when two objects have the same nqp::objectid?
timotimo it's the eqaddr op 13:26
that's the same as eqaddr, but with a side-effect on the objects you get an objectid of
nine So if they have the same nqp::objectid, =:= should give 1?
timotimo hmm 13:27
i think so
13:28 nexysno_ left
timotimo otherwise that'd mean two different objects have the same objid (which would cause the GC to put them into the same place on the next collection) without being actually the same object 13:28
Zoffix \o/ I've just used ⊆ operator in real-life code \o/
nine timotimo: rt.perl.org/Ticket/Display.html?id=127107
Zoffix m: sub foo (*@args) { my $valid-args = set <foo bar ber>; say @args ⊆ $valid-args }; foo <foo bar bar moor>;
camelia rakudo-moar fbe0a6: OUTPUT«False␤» 13:29
Zoffix m: sub foo (*@args) { my $valid-args = set <foo bar ber>; say @args ⊆ $valid-args }; foo <foo bar bar>;
camelia rakudo-moar fbe0a6: OUTPUT«True␤»
nine timotimo: full code with added debug output: gist.github.com/niner/88a97e8a1becbacab1d5
timotimo o_O 13:30
there should be an op that gives you the address of something that would be used for =:=, too 13:31
leont m: sub foo(|c) { say |c }; foo("foo"); 13:32
camelia rakudo-moar fbe0a6: OUTPUT«foo␤»
leont m: my |d = "foo; say |d;
camelia rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IwnzNHAuPA␤Malformed my␤at /tmp/IwnzNHAuPA:1␤------> 3my7⏏5 |d = "foo; say |d;␤»
13:33 marmay left
leont m: my |d = "foo"; say |d; 13:33
camelia rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/19sFl1IznQ␤Malformed my␤at /tmp/19sFl1IznQ:1␤------> 3my7⏏5 |d = "foo"; say |d;␤»
leont Why can't I have a lexical capture variable?
13:34 lucasb joined
nine leont: a capture is just a Capture object 13:34
13:34 vytas joined
timotimo m: sub foo(|c) { say c }; foo("foo") 13:34
camelia rakudo-moar fbe0a6: OUTPUT«\("foo")␤»
timotimo ^- note also
lucasb a lexical capture is: my $x = \(...)
timotimo when you write |c, you're referring to the lexical variable "c", not "|c"
leont Ah, I see 13:35
nine Checking symbol grammar value TracedGrammarHOW objid 59669208 existing TracedGrammarHOW objid 59669208 eqaddr 0
Definitely same objectid but eqaddr returns false
FROGGS: any idea for this? rt.perl.org/Ticket/Display.html?id=127107 13:36
timotimo nine: you can output the nqp::where of these two things 13:38
that's the value it'd use for =:= comparison, IIUC 13:39
13:40 schnuppi joined 13:41 brrt joined
nine timotimo: look at this: Checking symbol grammar value TracedGrammarHOW objid 59501064 where 59501064 existing TracedGrammarHOW objid 59501064 where 59501064 eqaddr 0 13:42
dalek kudo/nom: 5c0631e | lizmat++ | src/ (6 files):
Unite RAKUDO_MODULE_DEBUGging in nqp/Perl 6

Eradicates the global RAKUDO_MODULE_DEBUG sub. Instead,
  $*RAKUDO_MODULE_DEBUG now contains either False or a Callable that
outputs the debug information. DRY!
13:43
nine Updated the gist. Maybe I did something horribly wrong?
13:44 raiph joined
lucasb lizmat: can I haz that nqp bump? [Coke] said ok in the backlog :) 13:44
Zoffix "Was also very impressed by how the release tag was moved after the release".... was the release tag moved after release?
lizmat lucasb: will do
nine lizmat: I just love what you do to this code :)
lucasb lizmat++, thank you 13:45
Zoffix is fighting another battle twitter.com/xdg/status/685454041103597568
RabidGravy There is something really messed up with the type constraints on CArrays : "Type check failed in binding; expected NativeCall::Types::CArray[uint8] but got NativeCall::Types::CArray[uint8].new"
13:45 FritzZaucker joined
nine lizmat: maybe we should merge github.com/perl6/nqp/pull/271 before bumping? 13:45
dalek kudo-star-daily: a4c90b0 | coke++ | log/ (5 files):
today (automated commit)
cognominal m: say "\x[0]"
camelia rakudo-moar fbe0a6: OUTPUT«␀␤»
cognominal m: say "\x[0x0]"
camelia rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vJQzIESUn1␤Unrecognized backslash sequence: '\x'␤at /tmp/vJQzIESUn1:1␤------> 3say "\x[07⏏5x0]"␤ expecting any of:␤ argument list␤ double quotes␤ hex character␤ …»
lizmat well, it seems to have issues :-( 13:46
nine oh
lizmat maybe because it requires a bump in MOAR_REVISION first ?
cognominal only decimal notation is allowed in "\x[ ... ]" ?
13:46 jkramer left
nine lizmat: yes, according to #moarvm it's been merged there 13:47
FritzZaucker p6: say DateTime.now;
camelia rakudo-moar fbe0a6: OUTPUT«2016-01-08T14:47:08.724505+01:00␤»
cognominal or am I missing something obvious, as usual ?
m: say 0x0
camelia rakudo-moar fbe0a6: OUTPUT«0␤»
lucasb cognominal: I would expect that only hexadecimal would be allowed in \x[...]
[Coke] (2016.01 in a week), crap, I guess we have to decide some stuff by this weekend.
lizmat m: say 0xA
camelia rakudo-moar fbe0a6: OUTPUT«10␤»
lizmat m: say "\xA" 13:48
camelia rakudo-moar fbe0a6: OUTPUT«␤␤»
FROGGS Zoffix: I have no knowledge of a release tag that has been moved
nine: no ideas offhand
Zoffix Ah, I know what he's talking about. We tagged as 6.c BEFORE the release and then moved it when released.
FritzZaucker p6: say Date;
camelia rakudo-moar fbe0a6: OUTPUT«(Date)␤»
FritzZaucker p6: say Date.today; 13:49
camelia rakudo-moar fbe0a6: OUTPUT«2016-01-08␤»
cognominal indeed, the examples in unicode.pod are deceptive, the hexadecimal digits don't have letters
13:49 regreg_ is now known as regreg
FritzZaucker p6: Date.today.say; 13:49
camelia rakudo-moar fbe0a6: OUTPUT«2016-01-08␤»
cognominal lucasb++, lizmat++ 13:52
[Coke] nine; you have two people on the Grant Committee here who can also pass along messages, if that helps.
dalek p: 32acf1a | lizmat++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION to get the latest goodies
lucasb [Coke]: isn't to early for a new release? didn't you said that third tuesday/thursday rule was gonna be changed after xmas? I would say the release should happen between the 20th or 25th of every month, or maybe the weekends around that. 13:53
13:53 secwang left
lizmat testing NQP_REVISION now 13:53
lucasb *too early 13:54
13:54 frankjh joined
lizmat lucasb: 13:54
you're right
lucasb: you mean the NQP_REVISION, right ?
13:54 molaf joined
FROGGS but anyway, [Coke]: please gist the topics that come to your mind that you feel need decision making 13:55
dalek p: 37862cd | (Dagfinn Ilmari Mannsåker)++ | / (3 files):
Add subsecond file time ops stat_time and lstat_time
p: a709b8a | lizmat++ | / (3 files):
Merge pull request #271 from ilmari/stat-subsecond

Add subsecond file time ops stat_time and lstat_time
lucasb lucasb: I was just expecting a nqp bump in *rakudo*. I don't know about moarvm bump in *nqp*
lizmat: ^^ :)
nine Ok, this patch indeed fixes the bug:
- elsif ($target){$sym} =:= $_.value {
+ elsif nqp::where(($target){$sym}) == nqp::where($_.value) {
FROGGS :/
nine Why? I don't have the slightest idea. Is it possible that =:= is really buggy? How could that have gone unnoticed for so long? 13:56
lizmat indeed, I forgot to patch MoarVM first
[Coke] lucasb: there is a schedule; we're following the schedule.
dalek kudo/nom: 58964c5 | (Dagfinn Ilmari Mannsåker)++ | src/core/IO.pm:
Use subsecond file time ops on MoarVM
kudo/nom: e7197bd | lizmat++ | src/core/IO.pm:
Merge pull request #676 from ilmari/stat-subsecond

Use subsecond file time ops on MoarVM
nine Before we can do a new release, we _have_ to decide how to handle language versions. Schedules are much less important than that.
[Coke] We probably should have said "and we're taking january off", but I didn't think of that in time.
Skarsnik hm, how I am supposed to transform a 40 in is string value (not '40')?
[Coke] nine: agreed, if it comes to that, we skip january anyway.
FROGGS nine: true
leont I have a «return unless … for» construct that seems to have been broken since february, but I don't understand why
Making it two lines makes it work
FROGGS nine: and you said that the second object is NULL in the eqaddr op in moar? 13:58
dalek p: 93a608c | lizmat++ | tools/build/MOAR_REVISION:
Get some additional Moar goodies
nine FROGGS: no, I actually think they are the same object.
leont (this is probably because I was abusing the language, it's not a very readable line at all)
FROGGS leont: is that golfable?
13:59 travis-ci joined
travis-ci NQP build failed. lizmat 'Merge pull request #271 from ilmari/stat-subsecond 13:59
travis-ci.org/perl6/nqp/builds/101064857 github.com/perl6/nqp/compare/32acf...09b8a4cae5
13:59 travis-ci left
FROGGS nine: can you check what the moar op receives in interp.c:2093? 13:59
leont Probably. The actual line was return unless .d or .modified > $age for any(@files);
FROGGS m: sub foo { $_ = ".".IO; return unless .d or .modified > 42 for any(1, 2) }; foo 14:00
camelia rakudo-moar 5c0631: OUTPUT«Method 'd' not found for invocant of class 'Int'␤ in sub foo at /tmp/fyCw8mU0g6 line 1␤ in block <unit> at /tmp/fyCw8mU0g6 line 1␤␤»
14:00 _Gustaf_ left
leont Making that my $_ = any(@files); return if !$_.d or $_.modified > $age; fixes it 14:00
FROGGS m: sub foo { return unless .d or .modified > 42 for any(".".IO) }; foo
camelia ( no output )
FROGGS bbi20 14:01
nine FROGGS: on it 14:02
leont No wait, the "fix" is an accident, doing the boolean transformation correctly give the wrong result too. Possibly it's IO::Path that changed
14:03 _Gustaf_ joined 14:04 joydo left
nine leont: FWIW for any(@files) doesn't make much sense to me 14:06
leont Yeah, it was a hack for topicalization, I should get rid of it anyway
lucasb [Coke]: now I noticed the commit saying that the release is at third saturday of each month. sorry, I didn't see that before. 14:07
leont I was trying to be smart, and getting punished for it now
Zoffix um... are there really about 1220 lines of rakudo-fudged tests in roast? 14:08
I've done "grep -iR 'rakudo' . | wc -l" in the roast repo
14:08 awwaiid left 14:09 theorb joined, awwaiid joined
[Coke] Zoffix: that's a little liberal, but it's close. 14:09
Zoffix :S
leont Is there a pretty way to classify into two groups? List.classify seems more suitable to bigger sets of classes 14:10
I could do some sort of Swartzian transform I suppose, but it'd be ugly
theorb Hmm. What's the status of perl6 on jvm -- is it believed to be working? Has anybody tried android? Is there (reasonably fast) perl6-java interop using that route? 14:11
leont e.g. ($files, $dirs) = @entries.classify-bool(*.d)
AFAIK p6 on jvm isn't fully operational, though it isn't fully broken either
RabidGravy theorb, I believe the answer right now is no
Zoffix Heh twitter.com/marcusramberg/status/6...9800509444 14:12
[Coke] last I checked, rakudo-j wouldn't install.
Zoffix The next time someone points out the "anti-Perl-5 attitude" in this channel, I'll point to that tweet by the core Mojolicious developer :)
[Coke] if you run it from the build dir, it passes a lot of spectests, but it is not clean.
nine [Coke]: Daniel Wright just wrote back :)
Skarsnik damn cloning a CStruct is NYI
[Coke] nine: excellent. 14:13
14:13 skids joined
dalek kudo/nom: 7934ffe | lizmat++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for sub-second file info

And other fixes in MoarVM, specifically the concat / GC issue fix
14:13
theorb Zoffix: I wouldn't suggest it. As a mostly-outsider, I think he has a very good point. (Well, two of them.)
Zoffix theorb, the skippage of tests by Rakudo is one, what's the other one? 14:14
nine FROGGS: I shouldn't have to recompile rakudo after doing make install in MoarVM, should I? 14:15
[Coke] The tag was not moved.
theorb leont, RabidGravy: Hm, that's rather a shame. Writing android apps in perl is something I've long wanted to be able to do, and perl6 is probably perl enough. I tried, and failed, to get perl5 cleanly calling into jvm code. 14:16
lizmat cycling&
theorb [Coke]: That's not the impression I get from that twitter thread. Rather, the tag did move, but not in ways that are really bad.
RabidGravy I'm sure it's fixable, just no-one has pitched in
[Coke] theorb: as the release manager - I did not move the tag. 14:17
Zoffix I think Marcus is making the assumption that the tag was moved just because they were told to get newer Rakudo to fix a panda problem
[Coke] I am literally the best person in the world to answer that question.
nine Zoffix: yes, definitely. 14:18
RabidGravy first the logo, now a tag, it's almost like people are desperate to find a problem
Zoffix :D
llfourn RabidGravy++ agreed
14:20 FritzZaucker left, frankjh left
llfourn They are disappointed that p6 is not stable and ready-for-production like p5. Though to me p6's ready-for-production means ready to produce fun. And in that way it is. 14:21
but I don't think many ppl outside this channel think like that :P
RabidGravy people don't have long enough memories 14:22
theorb The problem is that "perl6 has been/will be released" seems to mean different things inside and outside the community, and it appears that the perl6 spec 6.c was frozen, but not an implementation of that spec.
Zoffix It's stable-enough for my purposes.
theorb ...and the spec isn't what people have been waiting for.
llfourn RabidGravy: go on :) 14:23
theorb RabidGravy: My memory decidedly isn't long enough to remember the last major version upgrade of perl.
Zoffix s/my/my CURRENT/;
arnsholt Skarsnik: Implementing cloning of CStructs shouldn't be too hard, if you already know how to hack C
[Coke] who is github.com/krunen ?
moritz [Coke]: Karl Runen iirc, one of the Oslo Perl Mongers 14:24
[Coke] are they on IRC?
ilmari [Coke]: yes, krunen is right here
[Coke] krunen: did you tell people we moved the release tag on the rakudo repository post christmas? 14:25
Skarsnik RabidGravy, damn I can't get proper data with a CArray[int8] 14:26
14:26 travis-ci joined
travis-ci Rakudo build failed. lizmat 'Merge pull request #676 from ilmari/stat-subsecond 14:26
travis-ci.org/rakudo/rakudo/builds/101065076 github.com/rakudo/rakudo/compare/5...197bd8f8d7
14:26 travis-ci left
nine FROGGS: I can't seem to get it to print anything: OP(eqaddr): fprintf(stderr, "eqaddr: %p == %p ? %i\n", GET_REG(cur_op, 2).o, GET_REG(cur_op, 4).o, GET_REG(cur_op, 2).o == GET_REG(cur_op, 4).o ? 1 : 0); 14:27
[Coke] ah well, twitter requires faster response times than an IRC ping 14:29
[Coke] curses Zoffix for dragging him into this. 14:30
Zoffix Look! A unicorn!
Zoffix runs away amid the confusion
theorb tries to remember what he was going to use ... ah, parsing!
14:31 nowan left
RabidGravy Skarsnik, I'm totally struggling with a "class Foo is repr('CStruct') { has CArray[uint8] $.dptr; has int32 $.dsize; }" at the moment, considering abandoing GDBM or persuading someone else to do it 14:32
Skarsnik Same issuehuhu 14:33
I get trash data in the array
Zoffix Man, this operator is really hot
m: my %args = :libs<foo bar>, :modules<meow>; say %args ⊆ <libs modules>;
camelia rakudo-moar 7934ff: OUTPUT«True␤»
Zoffix m: my %args = :libs<foo bar>, :modules<meow>, :meow<foo>; say %args ⊆ <libs modules>;
camelia rakudo-moar 7934ff: OUTPUT«False␤»
Zoffix \o/ 14:34
nine timotimo: any idea why my debug output doesn't get triggered?
14:34 virtualsue left
_sri Zoffix: it's not anti-perl6 to point out screwups 14:34
14:34 nowan joined
nine _sri: it would just be nicer to point out the actual screwups, not imaginary ones like moved tags 14:35
Zoffix _sri, how is alleging I have Stockholm syndrome a Perl 6 screwup?
14:35 brrt left
Zoffix m: say <Stockholm syndrome> ⊆ <Perl 6 screwups> 14:35
camelia rakudo-moar 7934ff: OUTPUT«False␤»
Zoffix :D
14:36 virtualsue joined, sjoshi left
_sri i've heard from like a dozen people that had trouble with pandas when trying your 6.c release 14:36
Zoffix Yes, and I acknowledged that portion in the tweeter conversation. 14:37
14:37 jnap joined
nine _sri: yes, that's the actual screwups and I'm deeply sorry it didn't go better. All those problems were fixed in the two weeks after the release at least. 14:37
mspo is panda supposed to work? :) 14:38
nine mspo: absolutely
_sri Zoffix: you're also implying perl6 was usable already, but there is no way anyone would bet their company on it yet
Skarsnik RabidGravy, what kind of error you get?
llfourn nine: don't be too sorry the point is -Ofun after all :)
jnap is there an example of a 'canonical' P6 module I can cargo cult? I was thinking of trying to port something reasonably simple but hard enough I'd learn something, probably DOM::Tiny but I wasn't sure the right way to start
[Coke] _sri: No one is suggesting that someone bet their company on it.
_sri i think TimToady even called it production ready
[Coke] ok. If you don't think so, why are you here? 14:39
Zoffix _sri, then clearly there are vast differences between what "usable" means to people.
[Coke] Seems like it would be a burden to have to listen to us talk about how much we like it.
llfourn _sri: it is if you are trying to produce fun :)
nine _sri: surely there is a spectrum between "unusable" and "bet your company on it"?
Skarsnik jnap, not sure to understand what you call a canonical module x) 14:40
Zoffix _sri, the release notes specified what it means to us. It's unreasonable to make fun of the release efforts and ignoring the release notes.
Quom__ jnap: A while ago, JSON::Tiny served a bit of a role as that :)
jnap FWIW I'm trying to put myself in a good mood and think Perl6 is production ready in the way that Moose was production ready when it was version 0.3 :)
Zoffix jnap, I'm quite proud of github.com/zoffixznet/perl6-Test-Output
[Coke] My concern about the that small tweet stream I saw are twofold: people are having trouble getting perl6 to work. Ok. we are working on that; tickets noting the problem would absolutely help; and correcting some misinformation that got out there.
Skarsnik Zoffix, damn you should do a warn-ok or something! 14:41
jnap Zoffix: like with Perl5 we have EUMM right as the basis for describing dependencies and meta data
Zoffix jnap, (ignore the _chromatin dir). Also jnap++ we really really REALLY need a DOM::Tiny port in P6. I've actually started a port of Mojo::DOM, but got stuck at porting regexes. Feel free to steal stuff (I think I ended after porting tests only and I'm unsure if they work): github.com/zoffixznet/perl6-DOM-Parser
_sri [Coke]: "if you don't think so"?
jnap I see a few things around with meta.info, should I cargo cult that?
Zoffix jnap, yeah 14:42
jnap, there's Test::META that can tell you if you screwed up with the META file and its docs also reference the spec portion describing that file.
huggable, module Test::META
Skarsnik Should be add on the front page of perl6.org that the Christmas release has issue with panda and stuff?
huggable Zoffix, Link to module: modules.perl6.org/repo/Test::META
jnap cool thanks! do we think regex are still the way to go, or should I not be using the cool new grammar stuff?
Zoffix Skarsnik, does it still?
mspo gist.github.com/msporleder/4e9fa7c1429f2ca9362f any help? 14:43
[Coke] _sri: sorry, yah, there's no antecedent there; "think its worth using" I guess is the closest thing to what I was thinking.
jnap Zoffix: I'll fork that and see what I can do.
FROGGS nine: did you disable JIT?
RabidGravy Skarsnik, I'm struggling to find a way to construct a suitable CArray
FROGGS nine: did you disable or spesh or so?
Zoffix jnap, my (possibly ignorant) suggestion is to go with a regex, because grammars are slow.
nine _sri: re-watching Larry's talk right now. He didn't even promise anything. He said "we're not exactly promising it. We're more like projecting and planning for it".
FROGGS nine: err, "or spesh or so?"
nine FROGGS: nine@sphinx:~/rakudo/nqp ((460c042...))> MVM_SPESH_DISABLE=1 MVM_JIT_DISABLE=1 perl6 -e 'use nqp; say nqp::eqaddr(0, 1)' 14:44
RabidGravy Zoffix, Skarsnik if you look in the recent Test::Meta it actually does a test for a warning generated from the parsing of the META file
nine 0
_sri [Coke]: think i've been here from the start, and in #parrot...
FROGGS nine: lemme check
Zoffix jnap, I think modules.perl6.org/dist/HTML::Parser::XML uses grammars. It's unberably slow last time I tried it. Maybe see what it's doing too, for learning
Skarsnik No it does not
jnap ok, so grammars maybe too slow right now?
14:45 frankjh joined
Skarsnik and I think writing a full html5 parser in perl6 is too much (useless) work 14:45
Zoffix Skarsnik, why?
llfourn Skarsnik: isn't there a few of those already?
Zoffix Skarsnik, we're also talking about a port, not from scratch
Skarsnik Because it's too big?
Zoffix Nah 14:46
_sri [Coke]: i've voiced critical opinions for at least 10 years, and not once someone asked me to leave, wonder what changed
Zoffix Skarsnik, what do you mean "should do a a warn-ok"? I don't think Test::Output is the right place for such a subroutine
Skarsnik Zoffix, RabidGravy it should be in Test I think x)
RabidGravy feel free to adapt the code :) 14:47
FROGGS nine: I like get a gazillion lines of output when running your one liner
Skarsnik and for html5. the spec is rather big and It's reinventing the wheel to write another one instead of using something properly/fully tested
leont isn't so sure Test should grow too much 14:48
FROGGS nine: and that's the line I added: fprintf(stderr, "eqaddr %p == %p\n", GET_REG(cur_op, 2).o, GET_REG(cur_op, 4).o);
leont I'd rather go into the direction of an extensible testing framework
_sri [Coke]: but maybe you're right, i don't belong here anymore
nine _sri: he actually elaborated quite a bit on that point. Followed by an explanation about what will actually be released. Which is "the test suite". Followed by "nobody in their right mind expects a .0 release to be perfect".
Zoffix Skarsnik, do you mean using a C lib?
Skarsnik, I don't think that's very user-friendly
Skarsnik hu, why? 14:49
Zoffix Skarsnik, I don't want to install stuff with my package manager just to use a Perl 6 module. I might not even *have access to* a package manager to install C libs
Also: Windows
mspo wouldn't panda/zef compile the c lib for you?
Skarsnik how about DBIish/sqlite?
mspo also C works on windows :)
14:50 donaldh joined
Zoffix Skarsnik, we had the same conversation on the Issue on DBIish about bundling sqlite lib, remember? :) 14:50
mspo but ::PP is always my preference
Zoffix mspo, Windows doesn't come with a C compiler.
FROGGS nine: how do I reproduce that global_merging explosion?
Skarsnik You can always provide a dll if the lib is standalone for windows
Zoffix mspo, and authors aren't bundling the C lib
FROGGS Zoffix: you can ship prebuild dlls
Zoffix FROGGS, that's good. 14:51
FROGGS Zoffix: I did that with Alien::SDL and others (P5)
nine FROGGS: rt.perl.org/Ticket/Display.html?id=127107 has a simple test case
FROGGS these alian dists let you choose to use system libs, build the libs from source, and use prebuild libs
Skarsnik Zoffix, my issue with dbiish/sqlite is like FROGGS say, I prefer to offer a choice that just 'provide the lib' 14:53
mspo Zoffix: so I need to install the linenoise lib before trying to panda install it?
Zoffix mspo, ??
nine FROGGS: wow, my moar binary is from Dec 28th. There's something very wrong with my installation 14:54
FROGGS that would explain one thing :o)
nine: I can reproduce btw
Zoffix Skarsnik, I was not given that choice when I tried to use the SQLite back end. I was told the lib was not installed and I had to invoke my package manager. In an alternate universe I went without DBIish because I did not have root perms on my box.
RabidGravy mspo, it is at option for the module author to bundle and compile the library, this doesn't really work for some stuff
mspo Zoffix: as in github.com/antirez/linenoise.git first 14:55
FROGGS nine: and there is a copy&paste in the module loader code
hoelzro mspo: you don't need to
yoleaux 08:44Z <nine> hoelzro: \o/ thanks a lot!
[Coke] For the logs, anyway, I wasn't asking _sri to leave. I was trying to ask what he got out of it.
FROGGS nine: look at line 146
hoelzro linenoise.c is bundled with Linenoise
mspo k
Zoffix mspo, I think you're confusing me with something. I've no idea what you mean :)
s/something/someone/;
[Coke] .tell _sri not sure if you'll get this, but I wasn't asking you to leave; I was trying to ask what you got out of the experience.
yoleaux [Coke]: I'll pass your message to _sri.
Skarsnik Zoffix, actually you can install the lib yourself and set a ENV variable
Zoffix [Coke], that's how I saw it too
RabidGravy something works too, "pardon me ma'am I mistook you for a join't stool" 14:56
Zoffix Skarsnik, what do you mean by "install the lib yourself"?
Skarsnik, I'm a Perl 6 user not a C library installer.
Skarsnik but since META.info is actually blind to external dep, it can't tell you
Zoffix :(
RabidGravy Zoffix, I proposed an Alien thing to assist in this and all sorts of freaking out ensued so I forgot the idea 14:57
llfourn [Coke]: tbh it did sounds like if you are offering criticism you have no reason to be here
Skarsnik Zoffix, well if you have compiler right, you can compile sqlite yourself and tell DBIish:sqlite where to find it
nine FROGGS: you mean the source/target thing? Already noticed, but it's unrelated to this issue
llfourn *it did sound like you were saying
FROGGS nine: k
Zoffix Skarsnik, I don't have a compiler on one of the web hosts I use. I don't have a compiler on my Windows box.
Skarsnik, and I don't KNOW how to compile things :)
FROGGS nine: you can leave that bug to me if you want 14:58
nine FROGGS: do you already have an idea? 14:59
Zoffix And it's not just about me. I also want to distribute my application. And I don't want to write lengthy installation instructions for my $paying-client to get confused about.
theorb OK, I'm having black-sheet issues. Is there a nice "here's how to go from zero to starting on writing a grammar for something" tutorial -- IE basic framework code that reads in a file, applies a grammar, and dumps the results.
FROGGS nine: not yet
Skarsnik Zoffix, you hit an another issue: having to provide prebuilded library for some plateform :)
FROGGS nine: but I know that code path quite well
nine Then you have a clear advantage there :) 15:00
llfourn theorb: I haven't seen a good tutorial unfortunetly. but check out: rosettacode.org/wiki/Read_a_configu...ile#Perl_6 15:01
hopefully that' sone of the examples that still works!
RabidGravy also the grammars page in the docs has a reasonable csv example
llfourn theorb: ^ that's probably better 15:02
it shows you "actions"
Skarsnik Zoffix, I am curious, did you try to build the stuff Mojo::UserAgent does with H:P:X?
RabidGravy, damn I can't speed up xml parsing on gptrixie using gumbo for xml because of the same struct than you x) 15:04
Zoffix Skarsnik, ? Mojo::UserAgent is an HTTP/WebSocket client, H:P:X is... the parser, I'm assuming?
15:04 pjscott joined
Zoffix What stuff? 15:04
theorb Oh, a grammar just gets a .parsefile method? That's nice and simple...
RabidGravy I can't get beyond the 15:05
Skarsnik I quickly saw $ua->get()->htmlelem->htmlelem on your factoid bot p5 part for the doc
RabidGravy m: use NativeCall; class Foo is repr("CStruct") { has CArray[uint8] $.dptr ; has int32 $.dsize; }; my CArray[uint8] $a = CArray[uint8].new; $a[10] = 0; say Foo.new(dptr => $a, dsize => 10);
camelia rakudo-moar 7934ff: OUTPUT«Cannot modify an immutable NativeCall::Types::CArray[uint8]␤ in block <unit> at /tmp/ZXAfFUUccf line 1␤␤»
Skarsnik duh 15:06
15:06 Cabanossi left
Zoffix Skarsnik, no, I haven't tried. Mojo::DOM by far outclasses XML document in terms of usability. 15:06
15:06 rindolf joined
llfourn Mojo::DOM is awesome 15:06
frankjh refresh-content 15:07
jnap I wish sri hadn't left, I understand his frustration I think. 15:08
15:08 Cabanossi joined 15:09 g4 left
Skarsnik Zoffix, hm, I am not sure how Mojo::DOM work, but maybe you can build it on top of gumbo? or in XML? 15:09
lucasb perl6 --optimize=off -e 'my Int $x = Inf' #=> Type check failed in assignment to $x; expected Int but got Num
with optimize, it's that message: ===SORRY!=== Cannot find method 'value'
Zoffix Skarsnik, I'll wait and see what jnap comes up with :) 15:10
llfourn Skarsnik: it uses css selectors
Skarsnik hm I could maybe use your Test::Output for gptrixie 15:11
Zoffix lucasb, there's a ticket for the latter: rt.perl.org/Ticket/Display.html?id=127207
lucasb Zoffix: yes, I saw that ticket. just wanted to show that not optimizing changes the result. 15:12
jnap oh gods, its all regexes, the part of perl5 I liked the least :)
Zoffix jnap, not all :) It just tokenizes HTML with regexes :P 15:13
RabidGravy is there any example of creating a CStruct with a CArray attribute that is populated to pass to a native sub? I'm really struggling to find an incantation that works
15:13 Cabanossi left
Skarsnik RabidGravy, nothing in NC test? 15:14
jnap ideally once we had a working DOM::Tiny port we could see about finding Perl6isms like returning promises instead of blocking, etc. but that is like far away for me right now
Zoffix jnap, I wouldn't bother with that. If I'm parsing something huge and want non-block, I'll create my own promise. 15:15
[Coke] llfourn: ya, in retrospect, I can see that. Wish I had not been AFK to deal with that before it escalated. my fault.
Zoffix jnap, and if it's something small, I don't want to spin up a thread just for it and do any sort of promise handling. I just want the result 15:16
Skarsnik gaah, that bother me to no end: Times -- gccxml: 0.2894700 sec; xml parsing: 3.8884037 sec; magic: 0.2994358
15:16 Cabanossi joined
jnap Zoffix: my understanding of all that stuff is so limited I'm probably just babbling :) 15:16
Zoffix :)
El_Che twitter.com/xdg/status/685466943231520768 : My new hope: a Millennium Falcon version of Rakudo Perl 6. Looks like junk and breaks sometimes, but can do the Kessel Run in 12 parsecs! 15:17
Skarsnik seeing p:h:x perf. I don't believe on a perl6 solution for parsing html on a usable way x)
RabidGravy Skarsnik, ah, there's some double binding hack
Zoffix El_Che, -_-
Skarsnik, ever or just right now? 15:18
Skarsnik, because if P6 is always going to be too slow to write an HTML parser in, we've got major problems XD
Skarsnik RabidGravy, I just want to read this data but I get junk stuff
for probably a long time :)
Zoffix :) 15:19
Skarsnik Gumbo take less than 0.02sec to parse what I want to scrap and perl6 spend 2 sec to create the xml object. h:p:h take 30 sec+ for a false tree x) 15:20
Zoffix eww
Skarsnik, do we already have Gumbo bindings?
Skarsnik Yes
Zoffix I'm looking for a project to learn NC with
RabidGravy Skarsnik, how are you going from CArray to Str? Surely you need to go CArray -> Buf -> Str to get the encoding right?
Skarsnik huggable, module Gumbo
huggable Skarsnik, Link to module: modules.perl6.org/repo/Gumbo
15:20 sftf joined
[Coke] it might help to --profile it, figure out where the slowdown is. 15:20
Skarsnik RabidGravy, I tried to iter over the CArray and do my $str = chr($data[$i]); 15:21
nine jnap: can you explain _sri's frustration?
RabidGravy FWIW I'm still sitting on the one pass grammar Term::Cap because it is unusably slow
Skarsnik s/=/~=/ 15:22
15:22 pjscott left
RabidGravy Skarsnik, try a Buf in there 15:22
Skarsnik NC does not let have a Buf on the CStruct :)
RabidGravy i.e. copy the element of the CArray to a Buf then decode
dalek kudo/nom: 793bf3b | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp:
Fix copy&pasto in Perl6::ModuleLoader
15:23
RabidGravy Mmmm copypasta
jnap nine: I don't want to speak for him, and I think I am going to try and put that all behind and be positive. Maybe I'll write a blog or something, I don't want to start a flame war when its clear there's a lot of positive energy in this room 15:24
Skarsnik Na, I try to give the struct to a gumbo function that extra stuff from it, but it fails because the content is wrong
[Coke] jnap++ 15:27
15:28 marmay joined 15:29 Zoffix left
Skarsnik There was not libxml binding? 15:29
marmay This question is probably trivial, but what is the easiest way to check whether the first or last element of an array is of a certain type? »head« and »tail« return a Seq. Am I supposed to append a [0] to get the element or is there a more idiomatic way? 15:30
lucasb maybe @a[0] ~~ SomeType 15:31
@a[*-1] ~~ SomeType
Skarsnik I think there is a first?
but not a last
lucasb first(:end) ?
Skarsnik say (1..4).first
m: say (1..4).first
camelia rakudo-moar 793bf3: OUTPUT«1␤» 15:32
Skarsnik m: say (1..4).tail.WHAT
camelia rakudo-moar 793bf3: OUTPUT«(Seq)␤»
marmay lucasb: Ah, thanks.
Skarsnik I don't know why there is a first but nota last x)
leont Because first is something one uses a lot more often that last? 15:33
nine ^5.first(* %% 2).say 15:34
m: ^5.first(* %% 2).say
camelia rakudo-moar 793bf3: OUTPUT«Potential difficulties:␤ Precedence of ^ is looser than method call; please parenthesize␤ at /tmp/JsrHv6sDJw:1␤ ------> 3^57⏏5.first(* %% 2).say␤WARNINGS for /tmp/JsrHv6sDJw:␤Useless use of "^" in expression "^5.first(* %% 2).say" …»
nine m: (^5).first(* %% 2).say
camelia rakudo-moar 793bf3: OUTPUT«0␤»
nine because that's what first is for
RabidGravy Skarsnik, I think FROGGS started a libxml thing, dunno what shape it's in 15:35
15:38 joydon joined 15:39 _Gustaf_ left
FROGGS RabidGravy: still WIP 15:41
RabidGravy: kinda usable for very simple things
RabidGravy :) 15:42
FROGGS you can parse xml/html and walk the node for example 15:46
15:50 Zoffix joined
moritz can anybody successfully ping vps205192.ovh.net ? 15:51
lucasb hmm, I some doc page has a =SUBTITLE with formatting directives, it gets truncated in the summary/listing page
*I noticed some...
RabidGravy I'm holding off on making an XSLT thing at the moment
Zoffix moritz, 6 packets transmitted, 0 received, 100% packet loss, time 5038ms
moritz Zoffix: thanks
RabidGravy okay ye olde double binding trick worketh, but still the sucker segfaults 15:53
lucasb for example: Tap has a SUBTITLE of "Subscription to a L<Supply>". it shows only "Subscription to a ". but maybe this is already known
15:53 bpmedley_ joined
Zoffix lucasb, yes, github.com/perl6/doc/issues/209 15:54
lucasb Zoffix++, you already found that 15:55
Skarsnik hm, how I do group that match . and exlude some stuff?
m: "hello stuff/*" ~~ /([.-/])+/ 15:57
camelia rakudo-moar 793bf3: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at /tmp/Bp5JrDVUOe:1␤------> 3"hello stuff/*" ~~ /([.7⏏5-/])+/␤Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' ␤at /tmp/Bp5Jr…»
Zoffix m: use MONKEY-SEE-NO-EVAL; class Z is IO::Handle { has @.w; method print (*@w) {@.w.push: @w.join: ''}; method Str {@.w.join: ''}}; my $h = Z.new; $*OUT = $h; $*ERR = $h; EVAL "warn 42";
camelia rakudo-moar 793bf3: OUTPUT«Z is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method new at src/RESTRICTED.setting line 32␤ in block <unit> at /tmp/QfLLAGQxeN line 1␤␤»
Zoffix nice error :)
m: class Zoffix is IO::Handle { }; Zoffix.new 15:58
camelia rakudo-moar 793bf3: OUTPUT«Zoffix is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method new at src/RESTRICTED.setting line 32␤ in block <unit> at /tmp/qehw5CwBfe line 1␤␤»
Zoffix ^_^
Skarsnik Zoffix you are not allowed
Zoffix /o\ 15:59
15:59 muraiki joined
muraiki I submitted a perl6 response to a code golf question on stackexchange. any improvements are welcome as I'm a novice at perl6 and at code golf :) codegolf.stackexchange.com/a/68906/48921 16:00
Zoffix For some reason my Test::Output isn't capturing code's output when the code is { EVALFILE 't/tests/01-env-smoke.t'; }, where the file is a small test with use Test :/
FROGGS nine: somehow the symbols slip into extra containers 16:03
Zoffix m: sub eval (&code) { $*OUT.close; $*ERR.close; &code() }; eval { EVAL "use Test; is 1, 1; done-testing" };
camelia ( no output )
Zoffix This gives me a really weird error on my home box: gist.github.com/zoffixznet/f345e8d74e13e798ebdb
"write string requires an object with REPR MVMOSHandle"
nine FROGGS: both? 16:04
Zoffix Ah. I know why. Complaining it ain't got nothing to write into
FROGGS nine: yes
Skarsnik hm closing stdout/err should just output nothing 16:05
Zoffix Any idea why this still produces output? I have a custom IO::Handle class that overrides the .print method: perl6 -e 'class Z is IO::Handle { has @.w; method print (*@w) {@.w.push: @w.join: ""}; method Str {@.w.join: ""}}; sub eval (&code) { my $*OUT = Z.new; my $*ERR = Z.new; &code() }; eval { EVAL "use Test; is 1, 1; done-testing" };' 16:06
RabidGravy any gdb guru in the house? 16:07
what does it mean when it say "index = <optimized out>" ? 16:08
Zoffix ehhhhh This answers my question: github.com/rakudo/rakudo/blob/nom/...st.pm6#L24 16:09
CurtisOvidPoe Desperately looking forward to the day when clients hire me for Perl 6 work instead of Perl 5. 16:10
16:11 pyrimidine joined
Zoffix Seems I wrote Test::Output last night for every case except the one I actually wanted to use it for X) 16:11
Unless there's some way to temporarily make $PROCESS::OUT save output into my variable, same as I can with $*OUT
geekosaur if you compile with optimization, both code and variables can be removed; variables can end up in registers and information about what register doesn't make it into the debug information because it isn't static 16:12
AlexDaniel I'm not sure if they will hire people for Perl 6 work any time soon, but I'm pretty sure that a lot of people will start using Perl 6 at work for some of the tasks
CurtisOvidPoe AlexDaniel: Agreed. Most new languages, if they take off, still take 2 to 3 years before they start getting traction.
awwaiid muraiki: your solution looks cool, I especially like the use of :k
pyrimidine I had someone post a bug that seems related to precomp, any ideas? Works locally for me github.com/cjfields/bioperl6/issues/8 16:13
geekosaur (that is, the compiler may choose to switch registers if it's convenient because some machine operation leaves its result in a different register and there's no code elsewhere in the function that needs it to be in the first register)
muraiki awwaiid: yeah, when I saw :k I was really happy :)
16:13 colomon joined
pyrimidine My guess is the install needs to be nuked 16:13
Zoffix That's not my guess 16:14
geekosaur also note that x86_64 can pass values in registers...
Zoffix pyrimidine, having the same issue. Hang on
awwaiid muraiki: I wonder if you can inverse the first one in the list to get shorter -- instead of being one of those chars, say it isn't one on another row (so \w or similar to eliminate all letters)
pyrimidine Zoffix: glad to see someone can reproduce
geekosaur s/pass values/pass parameters/
nine pyrimidine: that looks....odd
pyrimidine . o O ( that came out wrong )
Zoffix pyrimidine, haha 16:15
RabidGravy CurtisOvidPoe, I would say at some point in the not too distant future some startup will make the plunge
Skarsnik m: say "hello stuff/*" ~~ /([.[-/]])+/
camelia rakudo-moar 793bf3: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at /tmp/vH9V6DfETM:1␤------> 3say "hello stuff/*" ~~ /([.[7⏏5-/]])+/␤Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' ␤at /tmp…»
DrForr Next Sunday A.D.?
CurtisOvidPoe RabidGravy: they’ll want to, but the performance issues will need to be sorted first. 16:16
pyrimidine nine: agree. I nuked my local installation prior to seeing this, didn't run into this issue
16:16 schnuppi left
muraiki awwaiid: yeah, I was also thinking of trying to find some way to make the 2nd regex the default if no others match, because it's the longest. one of the other solutions did that 16:16
Skarsnik m: say "hello stuff/*" ~~ /([.[-\/]])+/
camelia rakudo-moar 793bf3: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at /tmp/QHMvl4ZQnR:1␤------> 3say "hello stuff/*" ~~ /([.[7⏏5-\/]])+/␤Unrecognized regex metacharacter \ (must be quoted to match literally)␤at /tmp/Q…»
AlexDaniel CurtisOvidPoe: I'm not sure how successful in that sense Perl 6 will be, but it is already useful to me (I'm starting to prefer it to other languages). So, I'm kinda already happy with what I have, and I'm pretty sure that there lots of other people who feel the same. These are good signs for traction (e.g. the language is not just shiny, but it is already useful and people already use it)
Skarsnik m: say "hello stuff/*" ~~ /([.-\/])+/
camelia rakudo-moar 793bf3: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at /tmp/fDHwkUXu2H:1␤------> 3say "hello stuff/*" ~~ /([.7⏏5-\/])+/␤Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' ␤at /tmp/…»
dalek osystem: 77ea9df | jnthn++ | META.list:
Add Concurrent::Iterator.
Skarsnik I am confused ><
awwaiid muraiki: yeah ... I was similarly eyeballing the "last", but it's just space so /./ isn't better
Zoffix pyrimidine, the issue is you're missing Bio::Role::Annotation from the `provides` section of your META file
AlexDaniel Skarsnik: .. 16:17
pyrimidine ah
AlexDaniel Skarsnik: ah!
Skarsnik: well, ‘’ then
pyrimidine Zoffix: will fix that now
awwaiid m: <a b 5>.last: * ~~ /\d/
camelia rakudo-moar 793bf3: OUTPUT«Method 'last' not found for invocant of class 'List'␤ in block <unit> at /tmp/TF9jX9gnHk line 1␤␤»
Skarsnik I want to match everything in . but not /
pyrimidine Zoffix: do we have a way of autogenerating that if needed?
AlexDaniel m: say "hello stuff/*" ~~ /([^/])+/ 16:18
camelia rakudo-moar 793bf3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ljOBhDV2lG␤Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' ␤at /tmp/ljOBhDV2lG:1␤------> 3say "hello stuff/*" ~~ /([^7⏏5/])+/␤ expecting any of:␤ infix stopper…»
AlexDaniel m: say "hello stuff/*" ~~ /([^\/])+/
camelia rakudo-moar 793bf3: OUTPUT«Nil␤»
AlexDaniel m: say "hello stuff/*" ~~ /[^\/]+/
camelia rakudo-moar 793bf3: OUTPUT«Nil␤»
Skarsnik m: say "hello stuff/*" ~~ /([-\/]+)/
camelia rakudo-moar 793bf3: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at /tmp/kNPYJdjOCX:1␤------> 3say "hello stuff/*" ~~ /([7⏏5-\/]+)/␤Unrecognized regex metacharacter \ (must be quoted to match literally)␤at /tmp/kNPY…»
AlexDaniel m: say "hello stuff/*" ~~ /<[^\/]>+/
camelia rakudo-moar 793bf3: OUTPUT«「/」␤»
AlexDaniel m: say "hello stuff/*" ~~ /<-[\/]>+/
Skarsnik m: say "hello stuff/*" ~~ /(<-\/>+)/
camelia rakudo-moar 793bf3: OUTPUT«「hello stuff」␤»
rakudo-moar 793bf3: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/tzE8IvW5f3:1␤------> 3say "hello stuff/*" ~~ /(<-7⏏5\/>+)/␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at /tmp/tzE8…»
AlexDaniel m: say "hello stuff/*" ~~ /<-[\/]>+/ # here it is
camelia rakudo-moar 793bf3: OUTPUT«「hello stuff」␤»
AlexDaniel Skarsnik: ok, I had too much perl5 in my mind to not notice the problem immediately :D 16:19
nine FROGGS: indeed, elsif nqp::decont(($target){$sym}) =:= nqp::decont($_.value) { works just fine
Zoffix pyrimidine, probably 3 more too. You have 30 lines in `provides`, but `find lib/ -iname '*.pm*' | wc -l` gives 34.
AlexDaniel Skarsnik: [] is <[]> and [^…] is <-[]>
RabidGravy as I see it there are some things where the performance isn't a great issue and the modern trend is for having mixed architectures with different languages suited to different parts of the application stack
AlexDaniel Skarsnik: does it help?
FROGGS nine: though, I suspect it is not the right way to fix it
AlexDaniel m: say "hello stuff/*" ~~ /<![\/]>+/
camelia rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970162176 bytes␤»
AlexDaniel what
Skarsnik lol
Zoffix pyrimidine, there's modules.perl6.org/repo/App::Mi6 that does distro stuff. Not sure if it generates meta. Also, check panda's options, I think there might be a META generation tool there. And in about 4 months you could also checkout Chromatin (github.com/zoffixznet/perl6-Chromatin) it's a dist-minting tool I plan to make ^_^ 16:20
16:20 dwarring left
AlexDaniel m: say "hello stuff/*" ~~ /<-[‘/’]>+/ 16:20
camelia rakudo-moar 793bf3: OUTPUT«「hello stuff」␤»
pyrimidine Zoffix: nice, and very bio-named :)
Zoffix ;)
nine FROGGS: Stashes are Hashes and Hashes store into scalar containers 16:22
RabidGravy I think I'm going to leave this GDBM binding to the side for a bit as I just can't get to the bottom of the segfaulting
FROGGS nine: I'm trying now to decont in Stash.pm 16:23
PerlJam good * #perl6 16:24
stmuk__ cr.yp.to/cdb.html might be easier to NativeCall than gdbm 16:25
if it's available as a .so I forget
AlexDaniel m: say ‘x’ ~~ /<![y]>+/
camelia rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970194944 bytes␤» 16:26
Skarsnik look like a bug? x) 16:29
siriu5b_ Hi guys. i would like to unpack a var as follow : $longs = unpack('V*', $key) with $key is str() - i'm stuck
Skarsnik Don't use str 16:30
siriu5b_ i know
blob or ...
PerlJam siriu5b_: you want to know how to convert a string into a blob of buf?
AlexDaniel Skarsnik: I don't know, but it is less than awesome
siriu5b_ if it's the major problem ... so yes PerlJam :D 16:31
moritz .encode
AlexDaniel: <!...> is a zero-width assertion 16:32
AlexDaniel: and yes, quantifying those is a known bug
PerlJam siriu5b_: what moritz said
AlexDaniel moritz: oh
siriu5b_ thanks :)
moritz AlexDaniel: <-[y]> if you want a negated char class
AlexDaniel moritz: I know, but I thought that I'll just try it anyway :) 16:33
Skarsnik RabidGravy, any idea of stuff I can 'quickly' add in GPTrixie before moving on having conf file to change how some stuff are generated?
AlexDaniel moritz: is there a ticket for that?
PerlJam siriu5b_: $str.encode gives you utf8 by default IIRC btw
moritz AlexDaniel: yes
AlexDaniel rt.perl.org/Public/Bug/Display.html?id=75586 as far as I can see 16:34
m: say 'a' ~~ m/''*/ 16:35
camelia rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970981376 bytes␤»
AlexDaniel moritz: okay, thank you!
nine FROGGS: when Stash entries are not containerized, assignment to dynamic variables like $*CWD is broken.
hoelzro does anyone know why an anonymous sub created at compile time would get a "Cannot invoke this object" when trying to call a sub (but not a method) at runtime? 16:36
FROGGS nine: well, then let's decont in the =:= check? 16:37
hoelzro afaik, it has something to do with precomp, and I'm guessing sub calls are pretty much "early bound", right?
FROGGS nine: maybe we can remove it later on...
16:38 zwu joined
Zoffix pyrimidine, forgot to mention: there's Test::META module that would've detected your issue if you were using it :) modules.perl6.org/repo/Test::META 16:38
zwu What does this dot means of calling print in m: $func = sub ($a, $b) { .print if $a eq $b }; ? 16:39
Zoffix zwu, same as $_.print
m: my $func = sub ($a, $b) { .print if $a eq $b }; given 'Foobar!' { $func(|<a a>) } 16:40
camelia rakudo-moar 793bf3: OUTPUT«Use of uninitialized value of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub at /tmp/MdcbQNsWQy line 1␤»
zwu I'm confused, isn't $_ is the unamed parameter?
Zoffix zwu, it's the topicalizer. And the above code suggests me your code is wrong.
As in, it shouldn't be a .print, but something else
m: sub foo { .say }; given 'Foobar!' { foo } 16:41
camelia rakudo-moar 793bf3: OUTPUT«(Any)␤»
nine FROGGS: btw. a single character fix to Grammar::Tracer has the same effect: EXPORTHOW::<grammar> := TracedGrammarHOW; instead of EXPORTHOW::<grammar> = TracedGrammarHOW; 16:42
zwu the code example is in design.perl6.org/S04.html, the section of The Relationship of Blocks and Declarations 16:43
moritz $_ is only passed on through blocks that don't have explicit signatures
Zoffix Ah
moritz not through routines
the defaull signature for blocks is $_ = $OUTER::_ 16:44
and for subs it's *@_ iirc
zwu Ah, I see, $_ is the for the block parameters, will there be multiple parameters passed to block? and How to do that?
dalek kudo/nom: 2d91f08 | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp:
Fix rare "duplicate definition of symbol" errors

When an EXPORT or EXPORTHOW routine assigns a symbol as in: EXPORTHOW::<grammar> = TracedGrammarHOW; instead of binding it, the test in Perl6::ModuleLoader::merge_symbols for equivalence of source and destination symbols fails because it compares the containers of those symbols instead of the symbols themselves.
Fix by always decont'ing before comparison.
Many, many thanks to FROGGS++ for finding the final piece of this puzzle!
Fixes RT #127107
16:46
Skarsnik github.com/perl6/DBIish/issues/47 should I put 18 for the version of libmysqlclient? considering the code works with older version 16:47
RabidGravy nine++ 16:49
16:49 azawawi joined
zwu is the $_ dynamic or literal scope?, $_ = $OUTER::_? when the OUTER scope is resolved? 16:49
Zoffix In case anyone was following my $*OUT/$PROCESS::OUT capturing business. I solved it pretty easily: gist.github.com/zoffixznet/124a0350f4fd61583d3f
azawawi hi
rindolf azawawi: meow!
azawawi rindolf: :) 16:50
16:51 itaipu left
rindolf azawawi: sup? 16:51
leont zwu: $_ is lexical
16:51 domidumont left
azawawi rindolf: reading about arduino and Perl :) 16:52
rindolf azawawi: ah.
Skarsnik m: gist.github.com/zoffixznet/124a0350f4fd61583d3f
camelia rakudo-moar 2d91f0: OUTPUT«IO::Captured is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method new at src/RESTRICTED.setting line 32␤ in sub output-capture at /tmp/OX7feZ8IzU line 10␤ in block <unit> at /tmp/OX7feZ8IzU line 25…»
zwu leont: thanks. So the example that Zoffix gave was not the expected one <Zoffix> m: sub foo { .say }; given 'Foobar!' { foo } 16:53
azawawi rindolf: basically arduino + xbee + sensors + Perl 6 for 2016
Zoffix Party time: www.pcworld.com/article/3019538/win...nd-10.html 16:54
rindolf azawawi: someone was on ##programming asking about how to program C++ for Arduino with no prior programming experience.
RabidGravy azawawi, so you'll be making a serial module then :)
azawawi Zoffix: alright :)
rindolf azawawi: I told him he should start with something easier and he didn't listen.
azawawi rindolf: true 16:55
rindolf azawawi: they hardly ever do.
azawawi rindolf: rpi is easier with the python route i took 2 years ago :)
RabidGravy to be honest the arduino c++ shields you from the gory details 16:56
rindolf azawawi: OK.
azawawi rindolf: but with all the resources on arduino, docs and examples, someone can cook up something pretty fast given some programming experience 16:57
alpha123 arduino c++ probably isnt the worst possible programming environment actually
lots of docs, you can make cool stuff, etc 16:58
azawawi i read that the difficult thing about is the debugging part
alpha123 granted c++ will probably scar him for life
azawawi but that holds for every device out there if you think of it
alpha123 rpi debugging isnt that bad 16:59
pnu is it possible to make .rakudobrew "relocatable" in the filesystem? Eg. in my .rakudobrew/moar-nom/install/bin/perl6 script all paths are absolute, which makes it not relocatable.
17:00 donaldh left
pnu I'm trying to move the whole .rakudobrew directory to another path, temporarily, because of build deployment stuff. 17:01
Skarsnik I don't think you can 17:02
rakudobrew is not mean to be used outside its scope ^^
azawawi alpha123: rpi + breakout for pins then yes... otherwise it is a mess :) 17:03
pyrimidine Zoffix: thx, that helps tremendously!
17:06 bpmedley_ left
Zoffix aww... my capture breaks the minute I use Test::is -_- 17:08
pnu Skarsnik: actually, i think rakudobrew doesn't care too much about that, but it's the normal rakudo build scripts that do this.
AlexDaniel arduino + perl 6? Huh? 17:09
Skarsnik Look like arduino + C + perl6 probably x) 17:10
alpha123 given the current state of perl6 compilers, embedded programming seems rather optimistic 17:11
Zoffix Any idea why this code captures output into $x correctly as is, but breaks if I uncomment line 27, which is "is 1, 1;"? gist.github.com/zoffixznet/40062b484b67096ac0d8 17:12
By "breaks", I mean I get output in the terminal and not in the $x
RabidGravy this is a new one on me "Bytecode validation error at offset 204, instruction 31: operand type 160 does not match register type 152"
17:13 bpmedley joined, davercc joined
azawawi RabidGravy: on what? 17:15
Zoffix Ah, k. Test.pm6 saves the standard $PROCESS::OUT/IN and then doesn't refresh to them for my overrides 17:17
RabidGravy rakudo, difficult to make a replication
Skarsnik Zoffix, I give you a (╯°□°)╯︵ ┻━┻ 17:18
nemo Skarsnik: it's funny how much of my .XCompose consits of silly stuff like that
*consists 17:19
Skarsnik I copy paste it from Discord that have a command for that xD
Zoffix nemo, for some reason the file you added to docs doesn't work for me :/
It got ⊆ as '{=(', but by the time I press =, I get the normal '='
17:20 Floyd-ATC joined
nemo Zoffix: the .XCompose? 17:20
Zoffix yeah
nemo hm
oh 17:21
ilmari Zoffix: is it a gtk app? the default input method has hard-coded built-in compose maps
nemo um
ilmari: oh. lol
Zoffix xchat and Sublime Text 2
ilmari Zoffix: right-click the text field, choose input methods -> X Input Method
Zoffix Palemoon
nemo Zoffix: yeah... definitely verify if you can do *any* of those in .XCompose
Zoffix: like for example ← → ↓ ↑ 17:22
Zoffix What are the codes for those?
*sequences
nemo left left right right down down up up
Zoffix nope
nemo ok. yeah. you're using stupid hardcoded stuff
Zoffix :(
nemo Zoffix: that's why I mentioned the env var in the doc
Zoffix: and maybe need for a bridge
no idea why GNOME did that stupidity
Zoffix k, not today then
nemo NIH syndrome?
[Coke] is Test::Util installed? 17:23
azawawi & 17:24
nemo the most irritating thing about the GNOME bit is the hardcoding - if they'd just made their own digraph thing, fine, whatever, but let me have a config file ☹
17:24 pmqs_ joined, zakharyas left
nemo Zoffix: oh... one other possibility besides the stupid hardcoded stuff. need to log out, log back in... but if you're doing that, make sure you have that ENV var set before doing so. 17:24
17:24 mohae_ joined
Zoffix Already did 17:25
nemo ok
Zoffix *loggeedout
17:25 azawawi left
nemo $ env | grep xim 17:25
GTK_IM_MODULE=xim
Floyd-ATC If I installed rakudo as per instructions on perl6.org two weeks ago and I want to update, I just do "rakudobrew build moar 2015.12" again, right? 17:26
Skarsnik It's a gtk issue, not even gnome?
llfourn Floyd-ATC: just rakudobrew build moar
Skarsnik and nuke before
I don't think the 2015.12 will far well x)
Floyd-ATC oh ok 17:27
17:27 gensym_ joined, gensym left
Zoffix not there 17:27
Gonna add
17:27 pmqs left, gensym_ is now known as gensym
nemo Skarsnik: yes 17:27
17:27 mohae left, mindos left 17:28 mindos joined
Floyd-ATC I have no idea what I'm doing \o/ 17:29
TimToady that's okay, neither do we :) 17:30
saaki o/ is there a rakudobrew analogue for "perlbrew lib"? 17:31
Zoffix saaki, what does "manage local directories" mean?
saaki ? 17:32
Zoffix ah
saaki, none that I know of
saaki, `perlbrew` says "lib Manage local::lib directories.", which isn't very descriptive, but you can do `perlbrew lib` to get more info 17:33
saaki closest i've come up with is to have multiple .rakudobrew directories
Zoffix: oh ok, i did "perlbrew help lib" and didn't see that :) 17:34
Zoffix Seems like my only solution is to set $PROCESS::OUT/ERR to my custom IO::Handles with a Bool $.is-capturing attribute that will control whether they're capturing or whether they should just proxy the data to *real* $PROCESS::OUT/ERR. -_- 17:35
Pretty hackety
mst saaki: yeah, inventing local::lib for perl6 is on my list of things to do at some point ;)
17:35 lostinfog joined, frankjh left
Zoffix mst++ 17:35
saaki mst <3
Zoffix This is starting to feel like work. 17:37
Zoffix leaves to play Warframe for the rest of the day
17:37 llfourn left 17:38 Zoffix left
saaki have really liked python's virtualenv, seems far less messy than the perlbrew lib and carton juggling 17:38
[Coke] muraiki: I found a bug in your perl6 answer. gives the wrong value for "/" - testing others... 17:39
muraiki [Coke]: nuuu
17:41 llfourn joined
nine I wonder if local::lib is actually necessary, since you can cut the repo-chain or completely replace it easily 17:42
17:43 frankjh joined
mst nine: local::lib is really just "a standardised way to stick something on the front of the repo chain" 17:43
[Coke] muraiki: writing a test file so I can golf safely...
TimToady
.oO(location, location, location)
17:44
.oO(identity, identity, identity)
[Coke] that's the only failure I see.
17:45 domidumont joined
muraiki [Coke]: thanks! I won't be able to get around to updating it for a bit, so if you want to comment on SO that's fine 17:45
RabidGravy I'm putting this aside for a while, as a combination of things are making it difficult to debug github.com/jonathanstowe/p6-GDBM 17:46
17:46 Ch0c0late joined
TimToady the basic problem is that devs want to underspecify identity by using location as a proxy, and then kick up a fuss when we need to establish actual identity in a location-independent fashion 17:47
17:47 joydon left
[Coke] muraiki: gist.github.com/coke/e94f9a76b04dae359ecf 17:47
muraiki [Coke]: awesome :) thank you again 17:48
17:49 nzkindest joined
mst saaki: if you're already using carton, why not 'carton exec' rather than faffing with perlbrew lib? 17:50
or, honestly, 'perl -Ilocal/lib/perl5 ...'
or App::MyPerl
[Coke] muraiki: fixed it. will poke at golfing more.
saaki seems easier to dev with perlbrew lib
muraiki [Coke]: thanks, I have to head out but might be back on later 17:51
17:51 muraiki left, schnuppi joined
leont Wasn't there a way to define a callable with a specific prototype? I remember something like add :(:$foo) to the type 17:52
RabidGravy you mean like 17:53
masak .oO( prototype? )
leont s/prototype/signature/
p5isms die hard
RabidGravy m: sub foo( &foo (Int $b) ) { }; sub bar(Int $a) { }; foo(&bar) 17:54
camelia rakudo-moar 2d91f0: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter &foo␤ in sub foo at /tmp/3E_IhtHME0 line 1␤ in block <unit> at /tmp/3E_IhtHME0 line 1␤␤»
RabidGravy m: sub foo( &foo :(Int $b) ) { }; sub bar(Int $a) { }; foo(&bar)
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oeaxXsIG0J␤Can only use the : invocant marker in the signature for a method␤at /tmp/oeaxXsIG0J:1␤------> 3sub foo( &foo :(Int $b) 7⏏5) { }; sub bar(Int $a) { }; foo(&bar)␤ expecting any of:…»
RabidGravy or something like that
mst saaki: well, ok, but if you do things the complicated way, don't blame us for it being complicated :) 17:55
saaki mst: i like carton for some things, but switching sets of dependencies seems much easier with just perlbrew lib
17:55 CurtisOvidPoe_ joined
AlexDaniel since when the output of camelia became colored? 17:55
17:55 CurtisOvidPoe left, CurtisOvidPoe_ is now known as CurtisOvidPoe
mst I tend to have a single perl in path, and my scripts to 'use lib "$FindBin::Bin/../local/lib/perl5"; 17:55
so I cd into a project directory
run 'carton install' 17:56
then I can just do 'script/foo.pl'
17:56 pierrot left
geekosaur AlexDaniel, it's been colored for years. until, hm, 2013ish, you needed a client that could interpret ANSI color escapes though 17:56
ilmari m: sub foo( &cb:(Int $b) ) { &cb(42) }; sub bar(Int $a) { say $a }; foo(&bar)
camelia rakudo-moar 2d91f0: OUTPUT«42␤»
ilmari m: sub foo( &cb:(Int $b), $v ) { &cb($v) }; sub bar(Int $a) { say $a }; foo(&bar, "fleem") 17:57
camelia rakudo-moar 2d91f0: OUTPUT«Type check failed in binding $a; expected Int but got Str␤ in sub bar at /tmp/ZeqwkwD8bV line 1␤ in sub foo at /tmp/ZeqwkwD8bV line 1␤ in block <unit> at /tmp/ZeqwkwD8bV line 1␤␤»
AlexDaniel geekosaur: but this last thing looks like IRC colors
saaki mst: ah, yes, then there is building and switching perl versions, perlbrew makes that easy too
mst saaki: you can still use perlbrew for that, all perlbrew is from that POV is 'a fancy way to get the perl you wanted in path' 17:58
AlexDaniel m: sub foo( &foo :(Int $b) ) { }; sub bar(Int $a) { }; foo(&bar)
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jCGPqQ3ZCt␤Can only use the : invocant marker in the signature for a method␤at /tmp/jCGPqQ3ZCt:1␤------> 3sub foo( &foo :(Int $b) 7⏏5) { }; sub bar(Int $a) { }; foo(&bar)␤ expecting any of:␤…»
leont Possibly my problem is that I'm trying to use it in has
ilmari AlexDaniel: no space between &foo and :(...)
AlexDaniel ilmari: heh, I just wanted to trigger that error message :)
leont m: class Foo { has &foo:(Int $int); } 17:59
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/koyZS98HB_␤You can't adverb has &foo␤at /tmp/koyZS98HB_:1␤------> 3class Foo { has &foo:(Int $int)7⏏5; }␤»
AlexDaniel geekosaur: and I bet that I've never seen that before…
saaki mst: ah right, good point
RabidGravy leont, at this point you might want a subset
17:59 pierrot joined
geekosaur let me rephrase what I said earlier. starting in I think 2013 camelia was changed to use mIRC color codes in IRC instead of ANSI escapes 17:59
ilmari m: class Foo { has &foo(Int $int); } 18:00
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/frkabJ0S1e␤The () shape syntax in routine declarations is reserved (maybe use :() to declare a longname?)␤at /tmp/frkabJ0S1e:1␤------> 3class Foo { has &foo(Int $int7⏏5); }␤ expecting any of:…»
geekosaur however note that this only happens for compile time errors
I don't think runtime errors have ever been colored
AlexDaniel in fact, even compile time errors are sometimes not colored 18:02
18:02 autogen_ joined
lucasb m: (0,6);m: 1 2 18:03
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b2N5Po2DqK␤Two terms in a row␤at /tmp/b2N5Po2DqK:1␤------> 3,6);m: 17⏏5 2␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
lucasb m: (0,7);m: 1 2
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fo0QNbzVmT␤Two terms in a row␤at /tmp/fo0QNbzVmT:1␤------> 3,7);m: 17⏏5 2␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
lucasb AlexDaniel: do you like those colors? :)
18:03 firstdayonthejob joined, pmurias joined
pmurias hi 18:03
hoelzro o/ pmurias
AlexDaniel lucasb: yeah, I see it as ^C5===^CSORRY!^C5===^C. I like it very much… :( 18:04
lucasb AlexDaniel: aww, sorry. It's colored here in my terminal
18:04 abraxxa left, autogen left, abraxxa1 joined
leont After changing a public @variable to private and adding my own submethod BUILD(:@!rules) {}, the array is suddenly containing Seq instead of a bunch of Callable's. Anyone a clue what's going on 18:05
AlexDaniel m: (0,6);m:
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1fNWFMj3G7␤Colons may not be used to delimit quoting constructs␤at /tmp/1fNWFMj3G7:1␤------> 3(0,6);m:7⏏5<EOL>␤ expecting any of:␤ colon pair (restricted)␤»
lucasb AlexDaniel: the exact number of spaces is relevant. 18:06
AlexDaniel lucasb: nah, I'm just trying to get the colors to work :D
18:08 todd_ joined
RabidGravy Okay, what's this about, this one works: 18:09
m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo(Int $a) { }; say Foo.new(cb => &foo)
camelia rakudo-moar 2d91f0: OUTPUT«Foo.new(cb => sub foo (Int $a) { #`(Sub|86641400) ... })␤»
18:09 sortiz joined
RabidGravy and, this does as I expected: 18:09
m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo(Str $a) { }; say Foo.new(cb => &foo) 18:10
camelia rakudo-moar 2d91f0: OUTPUT«Type check failed in assignment to $!cb; expected Foo::Callback but got Sub␤ in block <unit> at /tmp/WY1Oyhbevv line 1␤␤»
RabidGravy but:
m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo() { }; say Foo.new(cb => &foo)
camelia rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List'␤ in block <unit> at /tmp/pBMZhvPJRF line 1␤␤»
RabidGravy what's that all about?
18:10 sftf left
RabidGravy what immutable List? 18:11
lucasb m: sub () {}.signature ~~ :(Int) # shorter
camelia rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List'␤ in block <unit> at /tmp/LkFWzBdOgg line 1␤␤»
lucasb maybe smartmatching signatures has some problems 18:12
RabidGravy ah, it is shifting the params
m: class Foo { subset Callback of Sub where {$_.signature.count && $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo() { }; say Foo.new(cb => &foo) 18:13
camelia rakudo-moar 2d91f0: OUTPUT«Type check failed in assignment to $!cb; expected Foo::Callback but got Sub␤ in block <unit> at /tmp/emRYJguoqV line 1␤␤»
todd_ trying to install P6 and running into trouble with "panda install Task::Star" I'm behind a proxy, have all my proxy settings correct (git works, http/https works). Saw that I need Http::UserAgent, which lists panda as the method to install. OK, cloned it and tried pointing panda at local directory but no joy. Ideas?
RabidGravy but yes, it is not checking the number of params before shifting them 18:14
todd_ panda install ./http-useragent ==> Installing HTTP::UserAgent from a local directory './http-useragent' Could not download module metadata: Failed to connect: connection timed out
18:14 vendethiel joined
nine todd_: cd into http-useragent and try panda install . 18:14
[Coke] todd_: our behind-a-proxy story is not excellent at the moment.
but what nine said -should- handle it. future versions of panda should probably include HTTP::UserAgent as part of the initial download. 18:15
ugexe HTTP::UserAgent has quite a dependency chain
18:15 leont left
todd_ giving a shot "cd ./http-useragent; panda install ./" 18:15
ugexe which is why it still needs to fetch meta data etc 18:16
timotimo nine++, FROGGS++ # symbol merge fix
18:16 abraxxa1 is now known as abraxxa
timotimo i'm annoyed i didn't think of that 18:16
todd_ connection timed out getting metadata, can I manually get that metadata? 18:17
18:18 abraxxa left, abraxxa joined
RabidGravy todd_, the problem is that HTTP::UserAgent has dependencies which it will have to install remotely 18:18
18:19 espadrine left
todd_ OK, should I try to build the "depends" in the META.info by hand? 18:20
ugexe you shouldnt have to since you say your git works properly
todd_ the panda install from the http-useragent directory fails, how else should I be doing this? 18:21
is there a perl Buildfile.PL equivalent that I don't know about?
ugexe ecosystem-api.p6c.org/projects.json if you place this in some spot (I dont know off hand) it should be enough 18:22
18:23 uruwi joined 18:24 sbaxbo joined
lucasb github.com/rakudo/rakudo/blob/nom/...ure.pm#L25 18:24
timotimo ./share/perl6/site/panda/projects.json maybe?
18:25 jack_rabbit_ left
lucasb ^^ if the signature doesn't have positional parameters, it gets defaulted to a empty list. but shift on lists fails. so maybe a quick fix would be to default to an empty array "// []" 18:25
idk, this is just my interpretation
m: :($).ACCEPTS(:()) # another short example 18:26
camelia rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List'␤ in block <unit> at /tmp/q46I8PdfAr line 1␤␤»
18:26 sbaxbo left 18:29 MadcapJake left
lucasb oops, [].shift also fails!, so no, that won't work. I thought shifting an empty array would return Nil or something 18:30
18:30 lnrdo_ left
RabidGravy todd_, if you stick the projects.json in .rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json (or wherever your rakudo is installed) it shouldn't have to fetch it 18:31
18:34 raiph left 18:35 Actualeyes left
nine I wonder if the time spent on finding workarounds wouldn't better spent by hacking a fallback to curl or wget into panda 18:37
RabidGravy really had a most un-productive day
nine, yes
18:37 Calibellus joined 18:38 wamba left 18:39 vividsnow left 18:40 vividsnow joined
timotimo there's someone on twitter talking with @xdg who says "and much though perl6 people talk of this massive influx of newbies, i'm failing to see large numbers of non-perl5 people" ... am i just super biased? 18:41
DrForr I'd be half-tempted to respond "So your considered opinion is that we should just stop?" 18:43
mst timotimo: I think that's availability bias because he already knows where to see the perl5 people's online presences
ugexe i keep a git repo of the ecosystem meta data to solve it github.com/ugexe/Perl6-ecosystems/...r/p6c.json
TimToady does "perl people" include people who used to use perl and drifted away? 18:44
mst nine: or we could just steal whatever logic cpanm has for http fallback and call it good
timotimo mst: i wonder if we could just do a little survey of a bunch of online perl6 places about this?
mst TimToady: that depends entirely on what conclusion you're trying to make the data fit, I suspect 18:45
timotimo: or get the various perl6-as-first-perl people to be more visible via blogs etc. or ... dunno
TimToady maybe we should build an Iron Curtain to prevent people from switching
lucasb
.oO( non-perl5 people in this channel, please raise your hand )
mst that's not going to help, we can't see their hands over IRC! 18:46
llfourn puts his hand down
TimToady or maybe we should have an immigration quota
DrForr Easy enough, considering the online perl places consist of here and a few blogs :) 18:47
18:47 schnuppi left
TimToady and just set the immigration quota much higher for Java refugees 18:47
immigrants from various FP languages could request religous asylum 18:49
*gious
timotimo or maybe i'm just mostly considering people who are contributing to core and modules, rather than people just checking perl6 out?
[Coke] (fallback to curl) .. that's probably much nicer than forcing the huge dep into panda. 18:50
good thinking
timotimo that might be a dumb mistake anyway
mspo panda could embed a tiny http client 18:52
ugexe it used to
mst has anybody written a tiny http client?
timotimo it used to be a simple http client, then it became a simple http client with support for proxies ... 18:53
dunno if it got any further
mspo can anyone tell me why my panda doesn't work at all? gist.github.com/msporleder/4e9fa7c1429f2ca9362f
or does panda try to call out to git?
[Coke] timotimo: the proxy support was left to an external module if it's installed... but if it's not, you need proxy support to install it... 18:54
18:54 Psyche^_ joined
RabidGravy yeah, it's very tiny literally good enough to fetch the projects.json 18:55
mst right, but that seems to be to be a case of "if $ENV{http_proxy}, use curl/wget"
RabidGravy except if there is a proxy involved
mst I mean, the idea is to minimise the situations where things isn't easy 18:56
this is toolchain/systems type work, you'll never make it work everywhere
RabidGravy yeah, on the face of it, not that hard
ugexe mspo how old is your rakudo?
mst if you try, some bugger will run it on a Nintento DS or something and prove you wrong
18:56 Psyche^ left
[Coke] "don't know how to no precomp" sounds old. 18:57
mspo: perl6 --version ?
mst (yes, somebody actually got microperl running on a DS ... only time I've ever blessed somebody's non-use of CPAN ;)
RabidGravy there's some weirdos about aren't there 18:58
18:58 vendethiel left 18:59 frankjh left
mspo This is perl6 version 2015.11 built on MoarVM version 2015.11 19:01
19:03 hankache joined
hankache good * #perl6 19:03
lucasb ^^ santa claus missed visiting someone 19:05
hoelzro o/ hankache
El_Che hehe. From the backlog it looks like TimToady is in a good mood :) 19:06
hoelzro should POD after =finish be parsed?
I put some POD after =finish (a la POD after __END__ in P5), and perl6 --doc doesn't render it
hankache hi hoelzro
mspo wow erlang might actually add unix socket support soon 19:08
hankache hoelzro is it by design or the render is bogus? 19:09
hoelzro hankache: that's what I'm wondering 19:10
"This means that the parser will treat all the remaining
1572 text in the file as Pod, even if it is not inside an explicit block"
sounds like a bug
19:11 skids left
timotimo sounds like a bug to me 19:22
19:29 MadcapJake joined
hoelzro rakudobugs 19:32
gtodd stackoverflow.com/a/24328496/2019415 is change in behaviour accurate ? 19:33
The question is old but a wholesale update or removal doesn't seem right. Correcting with a comment maybe better ... 19:35
[Coke] "CPAN's Perl6 documentation" ain't no such thing. 19:38
please point at doc.perl6.org instead. 19:39
gtodd ok 19:40
chansen_ mst: porting p5's HTTP::Tiny to p6 shouldn't be be hard, but I don't consider myself qualified even though I'm the original author 19:43
mst [Coke]: yet
19:43 pmurias left
chansen_ I guess you meant to address me and not [Coke]! Yes, not yet! 19:45
todd_ RabidGravy, thanks for the location to place the json file. That worked. 19:47
RabidGravy yay!
perigrin chansen_: there's a start on github
chansen_ perigrin: URI?
perigrin hold please (I'm on 4G things are slow)
AlexDaniel m: my @s = [2443,5,33, 90, -9, 2, 764]; @s.sort.say 19:48
camelia rakudo-moar 2d91f0: OUTPUT«(-9 2 5 33 90 764 2443)␤»
AlexDaniel gtodd: I'd say removal is correct 19:49
chansen_ 4G sucks! And i'm supposed to live in the land with most coverage!
perigrin chansen_: github.com/shoichikaji/perl6-HTTP-Tinyish ... I think I may have read that wrong
AlexDaniel but the whole stackoverflow thing is not so good in that sense. Why keep obsolete questions/answers? 19:50
todd_ By worked, I mean, I have advanced to my next problem! :-) Tests are failing in Http:UserAgent t/160-issue-67.t line 21 "expected 1 got 2"
chansen_ perigrin: Thats no port! It's using libcurl for http(s) 19:51
perigrin chansen_: yeah I think I read it wrong when I was nooding through modules.perl6.org ... it's a port of HTTP::Tinyish which is miyagawa's "HTTP::Tiny-around-Curl" 19:52
timotimo 4G sucks? isn't 4G "LTE"?
perigrin timotimo: no LTE is LTE.
timotimo oh, ok 19:53
perigrin I get like 12M/s on LTE, I think I get 1-2M/s on 4G
timotimo AFAIK my nexus 5 doesn't do LTE
perigrin and when it hits edge I get a paperback book.
timotimo and i don't have a data plan that lets me have LTE. also, in germany, LTE data plans are ridiculously bad.
geekosaur my n5 did lte fine
but there are still places that have old 4g but not lte 19:54
timotimo like "have one gigabyte of data over LTE, then be throttled down to prehistoric speeds"
perigrin I'm inside a building hiding by some bathrooms which I suspect is what's going on 19:55
or not ... back up to LTE now ... weird.
19:56 tspjf left
timotimo oh. huh. 3 gb of "21.6 mbit/s highspeed internet" for "just" 15 euros per month 19:56
diakopter Google FI is $1/GB worldwide, but limited to 256Kb/s
little b
timotimo that's not much :( 19:57
but worldwide ... that's not bad
the EU has come up with some kind of general maximum cost for roaming 19:58
that's a good step forward, but it's still a ridiculously low amount of data you can get for a ridiculously high price
moritz timotimo: but that (max roaming cost) isn't in place yet
timotimo ... of course not >_> 19:59
and 9 eurocent per minute or text message ... is also kind of ridiculous 20:00
gtodd mobile and roaming are passé we need to plan for the future economy where people *stay home* 20:01
timotimo stay home? that's ridiculous! what did we build these gigantic cities for?! 20:02
Skarsnik are all the dependancy on http::ua still relevant?
gtodd so we can fly or take train from one to another in a mad rush of productivity!
AlexDaniel timotimo: well, a city is just a set of homes 20:03
20:03 llfourn left
AlexDaniel timotimo: they are packed this way so that if you ever have to go somewhere (e.g. once in a year or two) you don't have spend too much time outside 20:04
TimToady AlexDaniel: if that's so, why do the terrorists shoot up things that aren't homes?
TimToady thinks there are somewheres that are not homes in cities 20:05
huf only because the police keep chasing people away
diakopter timotimo: I think Fi figures you'll use mostly WiFi, but have the 256Kbps there for emergencies such as IRC and SMS
AlexDaniel TimToady: I don't know, ask a terrorist :)
TimToady how can I, we keep chasing them out of the room 20:06
timotimo diakopter: how would you have access to wifi?
gtodd we need friction and cost to be able shape and control the economics of abundance !
diakopter timotimo: I don't understand, how wouldn't you have access to WiFi
TimToady first we need traction, now we need friction...
timotimo diakopter: if you have google fi, does that mean they automatically h4x0r everyone's home wi-fi for you? 20:07
AlexDaniel
.oO( hm, perhaps consider submitting a request to IAmA on reddit )
todd_ Guess I'm spoiled by cpan, but I'm disappointed by my inability to get any packages built via panda. I want to start working with P6, and will keep trying, but others this position will probably rage quit.
diakopter I don't understand the purpose of your absurd rhetorical question
timotimo: were we talking only about "in people's homes where they won't let you use their wifi?" 20:08
RabidGravy to be honest, the Wifi here is so bad I use a cable most of the time 20:09
timotimo okay, so the Fi thing is supposed to be a mobile data plan that has a bit of cheap extra worldwide data for you, too? 20:10
TimToady todd_: well, rage quitters would probably not be our first choice of new recruits to the community in any case... :)
perigrin RabidGravy: I would but there is no port on my iPad for it. 20:11
diakopter timotimo: Google Fi is only for USAians. so, when globally traveling, there will be WiFi generally most public places of transit, as well as essentially every hotel and airbnb
timotimo diakopter: saying "fi figures you'll use mostly wifi" sounds a bit like "yeah, we sell you a data plan, but you don't actually get any data. you wouldn't use it anyway, right?"
AlexDaniel TimToady: what's that? An exam for refugees?
TimToady I've never been keen to be co-dependent for people who play the "I'm taking my marbles and going home" game 20:12
timotimo anyway, gotta go! :(
diakopter well it's for being able to make voice calls in emergency and SMS, and a tiny bit of data where there's no WiFi
20:12 darutoko left
timotimo TimToady: i do prefer "ragequit" over "ragestay", tbh 20:12
perigrin can't even find his marbles anymore.
diakopter I think I never had any..
todd_: what's your current obstacle 20:13
or is it Useragent module specific?
RabidGravy perigrin, strangely my tablet and the tv are fine with the wifi, my laptop and phone not so much
todd_ tests failed in Useragent, and LWP::Simple fails to build in Task::Star
diakopter if it's specific to just that module, seems unfair to blame all of "getting a module built by panda" 20:14
perigrin RabidGravy: the last time my router died ( couple months ago actually) I replaced it with a mikrotik and I've been incredibly happy since.
diakopter "I can't publish a module because someone put some crap in the module index"
mst diakopter: (1) the user is always frustrated 20:15
todd_ BTW, not threatening to take my marbles home, just the a lot of people will not bother to come and ask questions here, and there isn't a lot of help on building these things in the usual places yet.
mst diakopter: (2) the installer is the thing directly in front of the user therefore the thing they're most likely to be frustated -at-
todd_ yes, and at the end of the day, I just want to get a tool chain working so I can start developing in P6 20:16
TimToady Both the "take my marbles" ploy and the "fait accompli" ploy tend to be used by people who are not willing to work inside a community where compromises are valued over ultimatums.
20:16 marmay left
mst todd_: 'panda install HTTP::UserAgent' just completed fine here 20:16
diakopter it would be nice to have docs for making panda work, and also travis-ci in a github repo, for that matter
RabidGravy todd_, the problem with H::UA there is that it goes to the network for some tests, you could either run with --notests *or* try and set $HTTP_PROXY in the environment
todd_ I have no ploys, just asking for help. Willing to do the work.
mst NETWORK_TESTING needs to be set for it to care about that, I think 20:17
certainly I got a skip based on it not being set
TimToady todd_: wasn't accusing you of that :)
RabidGravy mst, not necessarily *all*
TimToady was just using your remark to launch my own diatribe :)
todd_ is $HTTP_PROXY set from the shell's http_proxy var
mst ah. so the 'check NETWORK_TESTING' block might want to be copied to other places?
TimToady todd_: do you know about #perl6-toolchain? 20:18
mst TimToady: the trouble with ultimatums is they're only fun once
RabidGravy mst, yes, it has only been applied to places that are always trublesome :)
todd_, let me look at the code again :) 20:19
mst if this is a bug in a specific module's tests, I dunno if that's exactly a toolchain thing as such
TimToady lunch &
mst (though given that channel's relativelty quiet I don't really mind, we can always split stuff out again later if we find a reason)
todd_ sorry to sound dumb, but is that another channel that I should move too? 20:20
mst that's where we're discussing improvements to installers etc. so you should probably be aware of it if the installers break
this is a module being weird
DrForr Not necessarily move to, but join if you're interested.
RabidGravy todd_, no you're fine
mst hrm, does panda keep a cache of sources? 20:21
hoelzro mst: I think it does in the state file
er, nvm, I'm dumb
that's installation state
I swear there's a projects.json or something that it uses
yup, there is 20:22
RabidGravy well the proxy code does "%*ENV<http_proxy> || %*ENV<HTTP_PROXY>" so you should be good if you have http_proxy in the environment
hoelzro it respects HTTP_PROXY? that seems a little scary 20:23
todd_ ok, then it is set correctly. wget, curl recognize it and I have pulled files through using it
RabidGravy hoelzro, ?
hoelzro don't some systems (like the obsolete CGI) set HTTP_PROXY from HTTP headers of incoming requests?
hoelzro isn't sure if modern things do this 20:24
I'm just visualizing a system that allows users to install panda modules via a webform or something, and an attacker injecting a bad proxy that would serve up bad modules
I'm probably just being paranoid
mst LWP::UserAgent's code traps $ENV{REQUEST_METHOD} 20:25
todd_ building useragent with --notests 20:26
Skarsnik RabidGravy, any idea why I have to explicitly-manage something so the lib pointing to the content is not lost? (I am not even done with the variable itself)
gtodd hmm I was always on very good terms with my sibling ....
todd_ moving back to install Task::Star 20:28
RabidGravy todd_, I don't think the code in H::UA for proxy support is very well tested tbh, it's kind of tricky to test without an actual proxy
todd_ sounds like a place I could be helpful 20:29
since I live behind one :) 20:30
RabidGravy Skarsnik, not sure matey
todd_ LWP::Simple t/socket-sanity.t fails with nonzero exit status of 255 20:31
abraxxa wants a Star::Trek module
mst o/ boldly going forwards / cos we can't find reverse o/ 20:32
diakopter todd_: I'm guessing that one's not proxy-aware
DrForr o/' Next Gen'ration twerps o/' 20:33
RabidGravy yeah I think tadzik contributed the proxy code in H::UA explicitly to support the panda case
diakopter my ($proxy, $proxy-port) = %*ENV<http_proxy>.split('/').[2].split(':'); 20:34
well it doesn't support proxying SSL, that's for sure
when it says "Simple"...... 20:35
RabidGravy well neither does h::ua to be fair, need someone clever and motivated to do the CONNECT THING 20:36
diakopter github.com/cosimo/perl6-lwp-simple...t-sanity.t doesn't even use LWP::Simple 20:37
20:38 lichtkind joined
chansen_ A port of HTTP::Tiny seems in order that implements the minimum of RFC2616 20:39
RabidGravy in the fullness of time, I'd like to do protocol plugins for the connection and request stuff for h::ua
DrForr What Unicode character does camelia use for n/l? It's not \c[2424], at least I don't think...
Skarsnik RabidGravy, H:ua should be maybe split to share the http:: stuff that are not ua x) 20:40
RabidGravy that would be sergot's call
I just make it do the things I need it to
20:41 Tonik left
lucasb DrForr: I think it's indeed U+2424. 20:43
20:43 psy_ joined
DrForr irssi must be doing something differently then. 20:43
20:45 _Gustaf_ joined
ugexe Net::HTTP is broken up into non-ua parts and has no dependencies 20:46
20:48 hankache left
lucasb hoelzro: sorry to be picky, but can I suggest you to add the snippet in the body of the email in you RT tickets (maybe in addition to add as attachments). This way, it's easier to see them in email clients. 20:49
AlexDaniel m: say ‘␤’.ord.base: 16 20:50
camelia rakudo-moar 2d91f0: OUTPUT«A␤»
AlexDaniel right…
moritz AlexDaniel: camelia translates newlines to ␤ on output and vice versa on input
Skarsnik I wonder how to input stuff like this under Windows on a nice way x) 20:51
moritz .u ␤
yoleaux U+2424 SYMBOL FOR NEWLINE [So] (␤)
AlexDaniel moritz: yea, I know
DrForr Yeah, worrisomely it's not irssi but perl. I'm running s:g/\n/\c[2424]/ over a sample input string and I'm getting E0 A5 B8 where I expect to see the UTF-8 eqiv of U+2424. 20:52
moritz m: say :16<2424>.encode 20:53
camelia rakudo-moar 2d91f0: OUTPUT«Method 'encode' not found for invocant of class 'Int'␤ in block <unit> at /tmp/iKkofUCfkf line 1␤␤»
moritz m: say :16<2424>.chr.encode
camelia rakudo-moar 2d91f0: OUTPUT«utf8:0x<e2 90 a4>␤»
moritz m: say Buf.new(:16<E0 A5 B8>).decode 20:54
camelia rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/izpxprLF0Z␤Malformed radix number␤at /tmp/izpxprLF0Z:1␤------> 3say Buf.new(:16<E07⏏5 A5 B8>).decode␤ expecting any of:␤ number in radix notation␤»
moritz m: say Buf.new(:16(<E0 A5 B8>)).decode
camelia rakudo-moar 2d91f0: OUTPUT«This call only converts base-16 strings to numbers; value $("E0", "A5", "B8") is of type List, so cannot be converted!␤(If you really wanted to convert $("E0", "A5", "B8") to a base-16 string, use $("E0", "A5", "B8").base(16) instead.)␤ in block <unit…»
moritz grml
DrForr E0 A5 B8 isn't even assigned, as it's U+0978 right by Devanagari.
dalek kudo-star-daily: 0077dfd | coke++ | log/ (6 files):
today (automated commit)
20:56
20:57 rindolf left
hoelzro lucasb: sure thing! 20:58
20:59 domidumont left, llfourn joined 21:03 llfourn left
lizmat Turns out #127207 is because we try to take a .value from a QAST::Op to find the value to be mentioned in the error message 21:04
since the error message is going to be LTA with NaN or Inf anyway, I'm going to make it not complain for now
ugexe lizmat: can mkdir be made to `$!e = True` on success like spurt? or is there a reason not to do that? 21:06
lizmat apart from race conditions, I don't see why not 21:07
that also applies to spurt
so go ahead :-)
AlexDaniel lizmat: 126990 is related 21:09
21:09 zwu left
lizmat AlexDaniel: yeah, but only the first part, the second part I'm not going to touch or fix or anything until jnthn has found a way to take care of it 21:10
AlexDaniel lizmat: sure, but perhaps these should be linked somehow or something 21:11
dalek osystem: c8b01b0 | ugexe++ | META.list:
Re-add zef module installer
lizmat I'm spectesting fix for #127207 now, will mention in the commit message
and mail to RT
AlexDaniel lizmat: personally I highly doubt that Int will ever be allowed to store Infs or NaNs
chansen_ ugexe: Net::HTTP probably implements p5 weaknesses, eg lacks abstraction 21:12
ugexe chansen_: its not a user agent. its the parts to build one
lizmat Ah, I see part 2 of RT #126990 has already been fixed :-)
chansen_ ugexe: why doesn't it separate the transport from the protocol layer? That would wake it testable! 21:15
AlexDaniel lizmat: well, it's not “fixed” but perhaps the ticket could be closed, yeah. This is pretty interesting: irclog.perlgeek.de/perl6/2014-08-20#i_9217322 21:16
[Coke] how many copies of 127207 are there... 21:17
lizmat: what's the A error message?
lizmat [Coke]: not sure what you mean? 21:18
[Coke] You replaced with an awesome error message, yes? 21:20
(as opposed to the LT A error message) 21:21
chansen_ ugexe: I have been around an implemented several UA's in perl and other languages! 21:22
I'm quite fluent when it comes to RFC2616 21:23
dalek kudo/nom: af87982 | lizmat++ | src/Perl6/Optimizer.nqp:
At least temporary fix for RT #127207

Seems the optimizer thought that all Num values where actual numeric values and not abstract things like Inf or NaN. This patch (probably very badly) checks for that situation, and basically just emits the compile time error if it *is* an actual literal numeric value. Else it just ignores, and it becomes a runtime error.
Leaving it as an exercise to the more knowledgable Optimizer.nqp devs to make it go to the exception *and* handle the error in such a way that it won't suggest trying to coerce the value to Int/Rat/Complex first.
ugexe i dont think anyone questions that?
21:23 jameslenz joined
lizmat [Coke]: no, it makes it a runtime error 21:23
at least for now
21:24 yurivish joined 21:26 huggable left
lucasb lizmat: you used 'my $value := $op[1][2];' just once? 21:27
lizmat no, it's used twice in the stringification
I guess it could be used also in the other if branches, but I was really hoping someone else could make the my Int $a = Inf case a compile time error as well 21:28
El_Che today I blocked some time at work to write some perl6. It was a good day :) 21:29
lucasb lizmat: ah, ok. I thought you meant to write ':value($value.value)' instead of ':value($op[1][2].value)' 21:30
lizmat I guess I could do that... :-)
21:31 _Gustaf_ left 21:33 davercc left, _Gustaf_ joined 21:36 sena_kun joined 21:38 setty1 joined 21:39 vendethiel joined 21:41 spider-mario joined, kaare_ left
dalek kudo/nom: f9039dc | lizmat++ | src/Perl6/Optimizer.nqp:
Optimize the optimizer a bot, lucasb++
21:41
RabidGravy what you made the optimizer a bot-net? out of the box! ;-) 21:43
lizmat *sogh* :-)
Skarsnik x) 21:44
moritz there's a bot-net box? 21:46
does it contain doughnuts too? :-)
masak m: class C { has $.x = D.new }; class D {} 21:47
camelia rakudo-moar af8798: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9mEQAw_f9T␤Illegally post-declared type:␤ D used at line 1␤␤»
masak m: class C { has $.x = D::E.new }; class D::E {}; C.new
camelia rakudo-moar af8798: OUTPUT«Could not find symbol '&E'␤ in method at /tmp/QnoFxbCni2 line 1␤ in block <unit> at /tmp/QnoFxbCni2 line 1␤␤Actually thrown at:␤ in method at /tmp/QnoFxbCni2 line 1␤ in block <unit> at /tmp/QnoFxbCni2 line 1␤␤»
masak submits rakudobug
timotimo does somebody know a simple way to force a program to swap out pages when it hits a vastly lower RSS than it would usually have to? 21:48
lucasb acronym bot: resident set size (RSS) 21:50
moritz timotimo: google/stackoverflow says you can configure the swappiness per cgroup 21:51
timotimo moritz: well, swappiness, but i can't force early swapping when there's still lots and lots of ram left?
moritz timotimo: I'm not aware of a means to do that; why would you even want that? 21:52
dunno, does an ulimit for the RSS force swapping, or does it kill the process?
timotimo ulimit for RSS is a no-op in linux 21:53
i'd like to experiment with things in moar's GC that could potentially make moar more responsible when swapping is involved
21:55 joydon joined
geekosaur thinks the easiest way to trigger that is a virtualbox or etc. with a low memory size 21:56
timotimo probably is :\
RabidGravy yeah I was going to suggest that
timotimo i was hoping for a much less invasive way 21:58
El_Che what about running the moar in a docker container with restricted mem resources 21:59
moritz cgroups maybe?
El_Che a lot more lightweight
lichtkind is there a way to define a ternary sort operator?
RabidGravy yeah, docker you can specify e.g. tiny memory and huge swap
El_Che (docker uses cgroups btw) 22:00
22:00 llfourn joined
El_Che you may need to change the boot options 22:00
(--memory and --memory-swap 22:01
)
(the second is ram + swap)
RabidGravy it's an option to run isn't it?
El_Che yes
moritz El_Che: I know; which is why I thought you might not need docker at all
RabidGravy docs.docker.com/engine/reference/r...-resources
El_Che moritz: you don't need docker at all, idd
moritz: it's just cgroups
hoelzro lichtkind: ternary sort operator? can you give an example of its usage? 22:02
El_Che but I think it's easier
RabidGravy there's even a perl 6 module to do it
Kains? or something 22:03
lichtkind there is an tablets.perl6.org/appendix-a-index#...x-category
and i want to have the precircumfix
to write matrix norms naturally
like ||A||2
for euklidean eg 22:04
22:05 llfourn left
lichtkind or shoult i take the metaop category 22:05
lucasb I don't think there's a predefined grammatical category for this type of syntax 22:07
hoelzro .oO( sub regular-ol-circumfix:<||>(...) ) 22:08
lichtkind but i want to attach the p value of the norm postfix
like mathematiians do all day
im not even dreaming about to hammar the q value somhow in 22:09
22:14 sena_kun left 22:15 _nadim left, _nadim joined 22:17 _Gustaf_ left
Skarsnik Is there some way to force some behavior for a variable in a gc? Like I needed to use explitictly manage on a var just for the GC to not move it in memory (or free it before I am out of its scope) to not screw the c lib that keep ptr on it 22:17
22:17 AndyDee joined, lucasb left 22:19 eddiejr left
patrickz @FROGGS: Is rakudo* going to contain zef? 22:20
lizmat m: my uint64 $a = 18446744073709551616 # do we have an RT for this one already ? 22:21
camelia rakudo-moar f9039d: OUTPUT«Cannot unbox 65 bit wide bigint into native integer␤ in block <unit> at /tmp/nJggLEt6Cl line 1␤␤»
lizmat should overflow to 0 really 22:22
timotimo patrickz: does zef currently work?
22:22 Psyche^ joined
lizmat m: my uint64 $a = 18446744073709551615; $a++; say $a # works as expected 22:23
camelia rakudo-moar f9039d: OUTPUT«0␤»
Skarsnik uintxx are like whatever
patrickz It seems ugexe pushed his last weeks (months?) of work on zef, now that the blocking precomp bugs have been fixed.
timotimo i haven't tested it yet 22:24
22:24 muraiki joined 22:25 Psyche^_ left
Skarsnik m: my uint8 $a = -1; say $a; 22:26
camelia rakudo-moar f9039d: OUTPUT«255␤»
22:26 yurivish left
Skarsnik m: my CArray[uint8] $a; $a[0] = -1; say $a[0]; 22:26
camelia rakudo-moar f9039d: OUTPUT«5===SORRY!5===␤Type 'CArray' is not declared. Did you mean any of these?␤ Array␤ array␤␤at /tmp/vwuZZdAc76:1␤------> 3my CArray7⏏5[uint8] $a; $a[0] = -1; say $a[0];␤Malformed my␤at /tmp/vwuZZdAc76:1␤------> 3my7⏏5 CAr…»
Skarsnik m: use NativeCall; my CArray[uint8] $a; $a[0] = -1; say $a[0]; 22:27
camelia rakudo-moar f9039d: OUTPUT«Type check failed in assignment to $a; expected NativeCall::Types::CArray[uint8] but got Array␤ in block <unit> at /tmp/RkdPti_iv_ line 1␤␤»
Skarsnik m: use NativeCall; my CArray[uint8] $a .= new; $a[0] = -1; say $a[0];
camelia rakudo-moar f9039d: OUTPUT«-1␤»
patrickz is doing so now 22:28
lizmat m: my uint64 $a = 18446744073709551615; say $a # huh ? 22:30
camelia rakudo-moar f9039d: OUTPUT«-1␤»
Skarsnik I think most of uintxx are just a nice name x) 22:31
22:33 todd_ left
dalek ast: d8cf465 | lizmat++ | S02-types/int-uint.t:
Reinstate int/uint tests, add tests for #127210
22:33
22:34 regreg left 22:35 yurivish joined
dalek kudo/nom: 8d35f65 | ugexe++ | src/core/IO/Path.pm:
Update $!e on mkdir/rmdir

perl6 -e 'my $path = "xxx".IO; say $path.e; say $path.mkdir; say $path.e' Before: False, True, False After: False, True, True
22:39
kudo/nom: d7f3f0b | lizmat++ | src/core/IO/Path.pm:
Merge pull request #677 from ugexe/patch-11

Update $!e on mkdir/rmdir
RabidGravy I 22:40
er
Skarsnik I give you a f
lizmat good night, #perl6! 22:42
lichtkind good night 22:43
Skarsnik good night
RabidGravy toodles 22:44
lichtkind how hard is it to introduce a precircumfix category?
22:47 sena_kun joined
arnsholt You'd have to add it as a category the operator precedence parser 22:47
I don't think Rakudo customizes that, so it'd be in HLL/Grammar.nqp in NQP; the EXPR method
TimToady note that you cannot add a precircumfix that would be ambiguous with a term 22:49
you can't add precircumfix:<[ ]> for instance, since we already have circumfix:<[ ]> that is parsed in the same spot
sena_kun hi guys. I'm playing with NativeCall library and need some advices now. Firstly, how should I represent 'void**'? Something like "Pointer[Pointer[void]]" will be valid(it compiles)? 22:51
Skarsnik Pointer[Pointer] or just Pointer
masak it's not that precircumfixes are impossible, it's that they don't tend to happen in languages, I guess. 22:52
Skarsnik I should document nativecast x)
masak probably something to do with the order in which the reader expects things
TimToady in a sense, the reduce operator is already a precircumfix
22:52 lzlgboy joined
sena_kun Thanks. Also, I think that "FILE*" will be just plain Pointer also? 22:52
22:53 lzlgboy left, abraxxa left
Skarsnik Yes, if you do nothing special with 22:53
timotimo it's just a funky integer 22:54
22:54 yqt joined
RabidGravy sena_kun, yeah, but if you are use it a lot you can do "class File is repr('CPointer') { ... }" which means that you can add your subs in there and add methods that abstrat them 22:54
abstract
Skarsnik I am not fan of this pattern x) 22:55
sena_kun Okay, thank you. It's integer, but coercion can be tricky sometimes.
Skarsnik also I wonder how hard it will be to allow CStruct to have method
RabidGravy see e.g github.com/jonathanstowe/Audio-Lib...ut.pm#L388
Skarsnik, you can put methods in a CStruct 22:56
Skarsnik Oh I never tried
I think nc tell you that you can't
+doc 22:57
sena_kun Thanks for the link.
22:57 roguelazer left, roguelazer joined
arnsholt Skarsnik: You're probably confusing it with CPointer, which can't have *data members* 22:58
Both CStruct and CPointer can have methods
RabidGravy it getss messy if you try *native* methods, but normal ones are fine
Skarsnik You can look at App::GPTrixie if you don't want to write too much NC code yourself ^^
RabidGravy it's even more fun with CPPStruct ;-)
arnsholt Oh, I take no responsibility for "method foo(...) is native {...}"
If you try that, you deserve what you get =) 22:59
patrickz timotimo: zef seems to work
RabidGravy github.com/jonathanstowe/Audio-Sou...uch.pm#L32 works fine :)
Skarsnik "Of course, methods are completely fine too. Go wild!" I can't read
arnsholt Basically, to use NativeCall you should be able to write the equivalent code in C 23:00
timotimo patrickz: cool.
Skarsnik I love this: has Pointer $!vtable;
RabidGravy yeah, it's odd, I guess that's what it is because it's out by one pointer without it 23:01
lichtkind TimToady thank you
TimToady, so i should use the prefix_circumfix_meta_operator category to make matrix norm ops? 23:02
23:02 muraiki left
RabidGravy and you only seem to need it if there are "virtuals" in the inheritance chain 23:04
Skarsnik Oh
I think cpp does something special for virtual
like adding virtual to a class keep it abi compat
Juerd lizmat: Why assign u32 *and* u16 *and* u8 in a union? Assigning anything other than the widest type makes little sense... 23:05
Skarsnik it's probably because of this ptr?
El_Che this is nice: thelackthereof.org/TLT/2016.01.08/...t_for_None 23:06
lichtkind thanks for link
i see some interesting parallels beween fortress and perl 6 23:07
RabidGravy El_Che, the colour scheme makes my eyes hurt, but yes 23:11
El_Che :)
23:11 sena_kun left, zwu joined 23:24 TEttinger joined 23:27 zwu left 23:31 kid51 joined 23:33 spider-mario left 23:39 patrickz left
masak 'night, #perl6 23:40
RabidGravy toodles masak 23:41
what number of supplies in an application might be considered "insane" ? 23:42
flussence jumps out of backlogging mode for a second 23:43
m: say "\c[2424]".ord; say "\x[2424]".ord
camelia rakudo-moar d7f3f0: OUTPUT«2424␤9252␤»
flussence DrForr: ^
RabidGravy I only ever scroll back now to find the last time someone mentions me
flussence most days I try to do the whole thing, it's why I usually show up late :) 23:44
profan anyone have a reccomendation for a usable perl6 http client lib? 23:45
23:45 yurivish left
profan recommendation, even 23:45
came across HTTP::Client but was apparently unmaintained
23:46 zwu joined
flussence uses Net::HTTP 23:46
RabidGravy well, HTTP::UserAgent is maintained, it probably lacks some features but works
profan neat, will take a look at those two then 23:48
RabidGravy I've added stuff to it to the extent that I needed features for my own modules 23:49
23:49 geraud joined 23:50 zengargoyle left
profan HTTP::UserAgent seems to serve me well enough, thanks to you both, flussence++ and RabidGravy++ :) 23:54
23:54 zengargoyle joined
RabidGravy profan, please do post any enhancements and/or issues you may have to the H::UA github so we can make it better 23:55
any advice about using it can usually be had here :)
23:56 yurivish joined
profan RabidGravy: will do, does it handle redirects yet by the way? 23:56
ie, some way to specify "follow when given a moved response" when doing requests 23:57
RabidGravy yeah, it's actually quite well tested in that regard
23:58 sena_kun joined
RabidGravy though, at this point I'm sure we haven't covered all the scenarios 23:58
profan so, it always follows redirects, or is there a way to specify that? 23:59