Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-01-08

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 joydo joined #perl6
00:08 dalek ecosystem: 8d1e947 | RabidGravy++ | META.list:
00:08 dalek ecosystem: Add IO::Path::Mode
00:08 dalek ecosystem:
00:08 dalek ecosystem: https://github.com/jonathanstowe/IO-Path-Mode
00:08 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/8d1e947a24
00:08 RabidGravy there, didn't quite get it done in a day but there were distractions :)
00:12 Skarsnik nice copy paste
00:12 Skarsnik I welcome suggestions, patches and bug reports at:
00:12 Skarsnik https://github.com/jonathanstowe/RPi-Device-SMBus
00:13 RabidGravy fixed already
00:13 RabidGravy :)
00:13 RabidGravy I don't like typing
00:14 RabidGravy who was it that was asking about that before?
00:14 RabidGravy ah
00:16 iml_ joined #perl6
00:20 virtualsue joined #perl6
00:21 RabidGravy .tell perlawhirl because you asked about it I made https://github.com/jonathanstowe/IO-Path-Mode :) any suggestions let me know
00:21 yoleaux RabidGravy: I'll pass your message to perlawhirl.
00:24 RabidGravy sed -e 's/https:\/\/raw.githubusercontent.com\///' -e 's/\/.*$//' META.list | sort | uniq -c | sort -n
00:25 RabidGravy what larks
00:25 RabidGravy I think I'm going to go for 40 before I'm forced to get a proper job again
00:29 cognominal joined #perl6
00:32 uruwi joined #perl6
00:35 RabidGravy 120 unique module authors now, however 10 authors are responsible for more than a third of the modules
00:35 RabidGravy oh well
00:36 RabidGravy anyway toodles, getting a bit late here
00:37 leont I think that sort of distribution is normal
00:38 leont "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 leont Oh wait, I misread the number
00:40 leont It was like 450 modules last time I checked, That's still like 15 modules per top-10 author.
00:43 gfldex m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $_).WHAT });
00:43 camelia rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq␤»
00:43 gfldex why is that Bool and not Match?
00:44 leont m: my @rs = rx/'a'/, rx/'b'/; dd @rs.map({ ('a' ~~ $_).WHAT });
00:44 camelia rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq␤»
00:45 leont m: say ('a' ~~ /'a'/).WHAT
00:45 camelia rakudo-moar f1dd49: OUTPUT«(Match)␤»
00:46 pdcawley joined #perl6
00:49 TimToady m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ /$_/).WHAT })
00:49 camelia rakudo-moar f1dd49: OUTPUT«(Match, Match).Seq␤»
00:53 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␤»
00:54 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 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]␤»
00:54 TimToady oh, wait, ~~ topiciles
00:54 TimToady calizes, even
00:55 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␤␤»
00:55 TimToady m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $^regex).WHAT })
00:55 camelia rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq␤»
00:55 TimToady well, I guess that doesn't change anything
00:56 TimToady m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $^regex) })
00:56 camelia rakudo-moar f1dd49: OUTPUT«(Bool::True, Bool::False).Seq␤»
00:56 TimToady m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $_) })
00:56 camelia rakudo-moar f1dd49: OUTPUT«(Bool::True, Bool::False).Seq␤»
00:56 gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep: .Bool;
00:56 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…»
00:56 gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep: .bool;
00:56 camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤Method 'bool' not found for invocant of class 'Any'␤  in block <unit> at /tmp/0ssBJvNrBI line 1␤␤»
00:56 gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep(.Bool);
00:56 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…»
00:56 gfldex m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep({$_.Bool});
00:56 camelia rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))␤(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0),).Seq␤»
00:57 gfldex ».ACCEPTS is acceptable I guess
00:57 leont .grep(?*)
00:57 leont m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep(?*)
00:57 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 #perl6
01:07 Actualeyes joined #perl6
01:09 yeahnoob joined #perl6
01:11 BenGoldberg joined #perl6
01:12 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␤»
01:13 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␤(H​ash)True␤(Array)False␤(Range)True␤(Seq)True␤»
01:14 sortiz Hi, why Array should be special to .list ?
01:15 gfldex sortiz: List is immutable, array is not
01:22 orbus joined #perl6
01:23 pjscott joined #perl6
01:25 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:28 gfldex m: my @a; say so @a.list ~~ List;
01:28 camelia rakudo-moar f1dd49: OUTPUT«True␤»
01:28 gfldex m: my @a; say so @a.list ~~ List; sa @a.list.WHAT;
01:28 camelia rakudo-moar f1dd49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ruQUUIX898␤Undeclared routine:␤    sa used at line 1. Did you mean 'so'?␤␤»
01:28 gfldex m: my @a; say so @a.list ~~ List; say @a.list.WHAT;
01:28 camelia rakudo-moar f1dd49: OUTPUT«True␤(Array)␤»
01:32 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:33 gfldex 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␤»
01:33 gfldex sortiz: see ^^^
01:35 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:37 sortiz So to flat an array we must use .List, and not .list !?
01:38 flussence joined #perl6
01:38 gfldex sortiz: you don't flat the Array see: https://www.reddit.com/r/perl6/comments/3zsiw8/​how_to_flatten_list_to_array/#thing_t1_cyosh5q
01:40 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 #perl6
01:42 gfldex m: my @a = (1,(2,3),4 xx *); put @a.List.flat
01:42 gfldex sortiz: do you see the problem?
01:42 camelia rakudo-moar f1dd49: OUTPUT«(timeout)»
01:43 * gfldex .oO( The Quantum Theory of Perl 6 )
01:44 sortiz gdldex: whit lazy infinite lists (or arrays), I can't flat, I known.
01:45 sortiz 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…»
01:46 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)␤»
01:46 gfldex m: my &bail = &die; my @a = (1,(2,3),4 xx *); bail unless @a.is-lazy; put @a.List.flat
01:46 camelia rakudo-moar f1dd49: OUTPUT«Died␤  in block <unit> at /tmp/xxozYRPVk6 line 1␤␤»
01:47 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
01:47 camelia rakudo-moar f1dd49: OUTPUT«WARNINGS for /tmp/3U1D8L9Qhh:␤Useless use of "===" in expression ".WHAT === List" in sink context (line 1)␤»
01:47 sortiz m: say (0..*).list.WHAT === List
01:47 camelia rakudo-moar f1dd49: OUTPUT«True␤»
01:47 leont That may be a bit exaggerated
01:49 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:50 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 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«...␤»
01:51 gfldex m: my @a := (0..*).list; put @a;
01:51 camelia rakudo-moar f1dd49: OUTPUT«...␤»
01:51 gfldex m: my @a := (0..*).list; dd @a;
01:51 camelia rakudo-moar f1dd49: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9...Inf)␤»
01:52 gfldex that's not a List, well it is but comes with surprises.
01:53 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 #perl6
01:55 dalek rakudo/query_repos: 1b6ecbd | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files):
01:55 dalek rakudo/query_repos: CompUnit::Repository::resolve
01:55 dalek rakudo/query_repos:
01:55 dalek rakudo/query_repos: New method to ask the repository chain if a module matching the given
01:55 dalek rakudo/query_repos: DependencySpecification is available. This could for example be used
01:55 dalek rakudo/query_repos: by panda to avoid trying to install an already installed module.
01:55 dalek rakudo/query_repos: review: https://github.com/rakudo/rakudo/commit/1b6ecbd489
01:55 dalek rakudo/query_repos: ff197c7 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files):
01:55 dalek rakudo/query_repos: Centralize more precompilation code
01:55 dalek rakudo/query_repos: review: https://github.com/rakudo/rakudo/commit/ff197c7a29
01:57 dalek rakudo/query_repos_old: 92ef589 | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files):
01:57 dalek rakudo/query_repos_old: CompUnit::Repository::resolve
01:57 dalek rakudo/query_repos_old:
01:57 dalek rakudo/query_repos_old: New method to ask the repository chain if a module matching the given
01:57 dalek rakudo/query_repos_old: DependencySpecification is available. This could for example be used
01:57 dalek rakudo/query_repos_old: by panda to avoid trying to install an already installed module.
01:57 dalek rakudo/query_repos_old: review: https://github.com/rakudo/rakudo/commit/92ef589c74
01:57 dalek rakudo/query_repos_old: 62bcf18 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files):
01:57 dalek rakudo/query_repos_old: Centralize more precompilation code
01:57 dalek rakudo/query_repos_old: review: https://github.com/rakudo/rakudo/commit/62bcf18755
01:57 hoelzro .tell nine I rebased the query repos branch on top of nom, and pushed query_repos_old in case I b0rked it
01:57 yoleaux hoelzro: I'll pass your message to nine.
02:00 sortiz gfldex: Even an item passed to list returns a List
02:00 sortiz m: say $(1,2).list.WHAT
02:00 camelia rakudo-moar f1dd49: OUTPUT«(List)␤»
02:04 itaipu joined #perl6
02:10 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.
02:10 timotimo a list that "knows" it's supposed to be itemized
02:10 sortiz timotimo: Yes, I known, is Array the case that worries me.
02:10 xpen joined #perl6
02:14 timotimo oh? hw come?
02:14 timotimo i didn't read any backlog at all
02:15 timotimo so i don't know what this is about
02:15 pjscott joined #perl6
02:15 gfldex Array::flat basicly
02:15 gfldex once again
02:15 timotimo ah, flattening stuff out
02:15 timotimo yeah
02:15 timotimo that really is A Thing
02:15 sortiz Yes!
02:16 jeek joined #perl6
02:16 gfldex i'm starting to lean towards removing .flat altogether
02:16 gfldex but then someone would write a module
02:17 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 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;
02:19 camelia rakudo-moar f1dd49: OUTPUT«Method 'i16' not found for invocant of class 'U'␤  in block <unit> at /tmp/neUBR3pHfF line 1␤␤»
02:19 timotimo oh, whoops :)
02:19 sortiz gfldex: If only @foo.list do what @foo.List does, the problem vanished.
02:19 timotimo Juerd: rakudobug@ please?
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;
02:19 camelia rakudo-moar f1dd49: OUTPUT«-10617-10617␤»
02:19 Juerd timotimo: Working on it.
02:19 gfldex instead of complaining I better add a warning to the docs
02:19 timotimo and feel free to also write tests :)
02:19 Juerd timotimo: Just finished writing the tests.
02:20 BenGoldberg m: my uint16 $u = -1234; say $u;
02:20 camelia rakudo-moar f1dd49: OUTPUT«64302␤»
02:20 Juerd timotimo: https://rt.perl.org/Public/​Bug/Display.html?id=127210
02:21 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;
02:21 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…»
02:21 timotimo it found the right one! :)
02:21 BenGoldberg m: class U { has uint16 $.u }; say U.new( u:(-1234) ).u;
02:21 camelia rakudo-moar f1dd49: OUTPUT«===SORRY!===␤This type does not support positional operations␤»
02:22 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;
02:22 camelia rakudo-moar f1dd49: OUTPUT«-1234␤»
02:22 timotimo um, well, yeah
02:22 BenGoldberg Surely, that's a bug ^
02:22 timotimo yeah
02:23 Juerd timotimo: I was testing this to see if CUnion could be used to speed things up for unpack :)
02:23 pjscott joined #perl6
02:25 orbus joined #perl6
02:29 dalek doc: 45dabd9 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Any.pod:
02:29 dalek doc: warn about flattening infinite lists
02:29 dalek doc: review: https://github.com/perl6/doc/commit/45dabd96b6
02:29 dalek doc: 7d1b08a | (Wenzel P. P. Peppmeyer)++ | doc/Type/Any.pod:
02:29 dalek doc: Merge pull request #330 from gfldex/master
02:29 dalek doc:
02:29 dalek doc: warn about flattening infinite lists
02:29 dalek doc: review: https://github.com/perl6/doc/commit/7d1b08a765
02:34 jack_rabbit joined #perl6
02:46 kaare_ joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:50 Juerd timotimo: Ops on what level?
02:50 timotimo nqp::foo
02:51 Juerd Sounds great
02:52 jack_rabbit_ joined #perl6
02:54 timotimo no promises
03:00 telex joined #perl6
03:00 timotimo actually, the transfer data op would just be kind of a generic sub-buf op or something
03:01 timotimo JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ​JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ​JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ​JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJC
03:02 noganex_ joined #perl6
03:03 regreg joined #perl6
03:03 timotimo )))))))))))))))))))))))))))))))))))))))))))))​)))))))))))))))))))))))))))))))))))))))))))))​)))))))))))))))))))))))))))))))))))))))))))))​)))))))))))))))))))))))))))))))))))ρρADABμAAA​μAττττττττττττττττττττττττττττττττττττττττττD​DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDρ
03:05 TimToady I don't think those transfer ops are working as well as you thought they would... :)
03:05 timotimo (cat relaxing on keyboard)
03:05 TimToady cat needs a tranfer op...
03:05 TimToady *transfer
03:10 mjreed joined #perl6
03:16 pjscott joined #perl6
03:17 markjreed joined #perl6
03:19 cygx joined #perl6
03:20 mjreed joined #perl6
03:20 cygx TimToady: what's the rationale behind arrays not flattening in Perl6?
03:21 cygx m: say [(1,2), (3,4)].flat
03:21 camelia rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))␤»
03:21 timotimo m: say [(1, 2), (3, 4)].flat.flat
03:21 camelia rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))␤»
03:21 timotimo m: say [(1, 2), (3, 4)].flat.list.flat
03:21 camelia rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))␤»
03:21 timotimo what is this even
03:21 cygx timotimo: the scalar containers
03:22 raiph joined #perl6
03:22 cygx Iterable.flat explicitly excludes containers from the recursion, and as arrays box their elements into scalars...
03:24 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
03:24 timotimo mjreed: "is native('readline')" should give .dylib on osx
03:28 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:30 sortiz cygx: I hope is only an implementation glitch, I can't found in roast any related test.
03:31 hoelzro joined #perl6
03:35 mjreed hm. class Readline { my constant LIB = 'libreadline.so.6';
03:36 mjreed left #perl6
03:37 timotimo damn.
03:37 markjreed joined #perl6
03:37 Herby_ joined #perl6
03:37 Herby_ Good evening, everyone!
03:38 timotimo i think i'll be going to bed now
03:38 markjreed good night.
03:39 M-eternaleye joined #perl6
03:42 Zaid joined #perl6
03:43 psy_ joined #perl6
03:46 Ben_Goldberg joined #perl6
03:48 Ben_Goldberg joined #perl6
03:49 dalek doc: 4a47be5 | skids++ | doc/Language/list.pod:
03:49 dalek doc: Initial start of List/Array-focused language page
03:49 dalek doc: review: https://github.com/perl6/doc/commit/4a47be526c
03:50 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.
03:52 cygx 'night o/
04:00 dalek ecosystem: 0ab2d5a | hoelzro++ | META.list:
04:00 dalek ecosystem: Add Native::Resources to META.list
04:00 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/0ab2d5af01
04:16 [Coke] lizmat: yes, as long as there's no spectest issues, pretty much always ok to bump nqp revision
04:17 pjscott joined #perl6
04:25 bzipitidoo joined #perl6
04:27 MadcapJake where are the moarvm files placed on installation?
04:27 MadcapJake like CORE.setting.moarvm
04:27 pjscott joined #perl6
04:30 sortiz MadcapJake: In my case in .../share/perl/runtime/
04:31 sortiz * s/perl/perl6/
04:31 tjt263 joined #perl6
04:31 dalek ecosystem: 65026b8 | PerlJam++ | META.list:
04:31 dalek ecosystem: use META6.json for p6-Math-Trig
04:31 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/65026b86ba
04:32 MadcapJake sortiz, thanks!
04:33 dalek ecosystem: 5c04d04 | PerlJam++ | META.list:
04:33 dalek ecosystem: use META6.json for p6-File-Temp
04:33 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/5c04d04ec4
04:35 pjscott joined #perl6
04:35 Herby_ question... how would I get a file size in MB using Perl 6?
04:36 Herby_ right now I'm using $file.IO.s  , and its returning something like 183563192
04:39 markjreed divide by 1000000 for MB, or 1048576 for MiB ?
04:39 dalek ecosystem: 214951d | PerlJam++ | META.list:
04:39 dalek ecosystem: use META6.json for p6-Astro-Sunrise
04:39 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/214951dc54
04:40 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
04:40 Herby_ :)
04:41 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 https://github.com/niner/CompUnit-Repository-Panda can inspire you
04:43 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␤»
04:45 Herby_ haha very fancy!
04:49 saaki is there a rakudobrew analogue for perlbrew lib ?
04:49 skids m: 183456783.polymod(1024 xx 2)[*-1].say
04:49 camelia rakudo-moar f1dd49: OUTPUT«174␤»
04:50 Herby_ skids, could you explain how your "class Mebibytes" works?
04:50 Herby_ I'm still having a hard time wrapping my head around OO
04:50 Herby_ classes/objects etc
04:51 skids It just shadows the .Str method from Int, which is what is used internally by say and friends.
04:52 skids It's not really useable though, because it can't do math without losing its type.
04:52 Herby_ hmm ok
05:09 nige1 joined #perl6
05:16 TimToady joined #perl6
05:21 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 #perl6
05:26 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)}␤»
05:27 skids Slip will definitely stick around, Empty may not.
05:27 skids m: sub f(:$a?, :$b?){ my %h = $a ?? a=>$a !! |(), $b ?? b=>$b !! |() }; dd f(b=>1)
05:27 camelia rakudo-moar f1dd49: OUTPUT«Hash %h = {:b(1)}␤»
05:28 skids When they made Empty it was a stepping-stone to get by until GLR was compete.
05:31 skids 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:32 MadcapJake anyone got any ideas as to why i would get a segmentation fault after installing rakudo?
05:32 MadcapJake running `perl6` immediately segfaults
05:33 dalek ecosystem: 3b9da81 | (Gonéri Le Bouder)++ | META.list:
05:33 dalek ecosystem: add the Email::Notmuch module
05:33 dalek ecosystem:
05:33 dalek ecosystem: Email::Notmuch is a binding for the NotmuchMail mail search library.
05:33 dalek ecosystem:
05:33 dalek ecosystem:   https://notmuchmail.org/
05:33 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/3b9da81d5f
05:33 dalek ecosystem: 0c159f7 | (Zoffix Znet)++ | META.list:
05:33 dalek ecosystem: Merge pull request #116 from goneri/master
05:33 dalek ecosystem:
05:33 dalek ecosystem: add the Email::Notmuch module
05:33 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/0c159f7daa
05:33 MadcapJake tried running inside gdb, but it says that it (and /usr/bin/moar) are not in executable format
05:34 skids did you install via rakudobrew, or "by hand"?
05:34 sortiz MadcapJake: Are you using rakudobrew?
05:34 MadcapJake by hand
05:34 geekosaur even by hand I think those are scripts
05:34 MadcapJake I'm trying to write a package for Solus Project (sort of like arch's pkgbuild script)
05:34 geekosaur you need to inspect the script to see how to run the actual executable
05:34 skids Did you clean out moar and nqp binaries before installing rakudo?
05:35 MadcapJake skids, that could be it
05:36 Zoffix joined #perl6
05:36 MadcapJake nope wasn't it :P
05:37 MadcapJake well /usr/bin/moar is not a script, but that one still won't run in gdb for some reason
05:38 Cabanossi joined #perl6
05:38 gfldex MadcapJake: you could try to generate a coredump and inspect that
05:39 vendethiel joined #perl6
05:40 hoelzro MadcapJake: have you tried perl6-gdb-m?
05:41 MadcapJake hoelzro, yeah i tried that still segfaults
05:41 hoelzro and GDB gives you no meaningful info?
05:41 MadcapJake nothing
05:41 hoelzro o_O
05:41 hoelzro valgrind it?
05:41 Quom__ And you got rid of old core-precomps?
05:43 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:44 MadcapJake thought this would be an easy thing, now i've spent two days worth of my freetime on it x_x
05:45 MadcapJake 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:48 hoelzro MadcapJake: are you building arch packages?
05:49 MadcapJake hoelzro, no, Solus Project packages https://solus-project.com https://wiki.solus-project.com/Package.yml
05:50 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
05:51 MadcapJake not syntax, semantics, i guess, Solus uses YAML files, but the layout of the file is similar
06:01 MadcapJake figured it out!
06:01 MadcapJake so nice to see that lovely repl arrow!
06:02 MadcapJake hmmm, "Unable to load setting CORE; maybe it is missing a YOU_ARE_HERE?"
06:07 Sgeo_ joined #perl6
06:10 krunen joined #perl6
06:10 zmyrgel joined #perl6
06:17 Humbedooh joined #perl6
06:18 pjscott joined #perl6
06:18 Humbedooh joined #perl6
06:23 g4 joined #perl6
06:23 g4 joined #perl6
06:31 obra joined #perl6
06:35 vendethiel joined #perl6
06:37 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:40 yeahnoob joined #perl6
06:56 domidumont joined #perl6
07:02 domidumont joined #perl6
07:07 virtualsue joined #perl6
07:08 sjoshi joined #perl6
07:13 [Tux] csv-ip5xs        50000    18.308    18.198
07:13 [Tux] test             50000    23.577    23.466
07:13 [Tux] test-t           50000    12.737    12.627
07:13 [Tux] csv-parser       50000    49.966    49.856
07:21 FROGGS joined #perl6
07:21 perlawhirl joined #perl6
07:29 _nadim joined #perl6
07:29 Actualeyes joined #perl6
07:31 marmay joined #perl6
07:34 _Gustaf_ joined #perl6
07:34 firstdayonthejob joined #perl6
07:36 _Gustaf_ Is there any updates on when a new Rakudo star based on 6.c will be awailable?
07:36 yeahnoob_ joined #perl6
07:36 FROGGS _Gustaf_: there is a release candidate available
07:37 FROGGS ***ALL*** - just made an RC0 of rakudo star, as of today's codebase: http://froggs.de/perl6/raku​do-star-2016.01-RC0.tar.gz
07:37 FROGGS ***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
07:37 FROGGS _Gustaf_: ^^
07:37 FROGGS please test
07:38 FROGGS the real Star release will be the the 2016.01, which will happen in a week
07:40 Tonik joined #perl6
07:44 frankjh joined #perl6
07:48 _nadim Good morning
07:51 _Gustaf_ FROGGS: Ohh sweet. I´ll try it out
08:01 vendethiel joined #perl6
08:02 dalek Inline-Perl5: ef591b6 | (Stefan Seifert)++ | META.info:
08:02 dalek Inline-Perl5: Use correct versionin scheme for Perl 6 in META.info
08:02 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/ef591b6067
08:05 wamba joined #perl6
08:14 darutoko joined #perl6
08:14 FROGGS morning _nadim
08:15 moritz \o
08:15 moritz good morning FROGGS++; testing the star RC0 now
08:16 FROGGS cool!
08:17 moritz so far it looks good
08:17 moritz (currently at DBIish)
08:18 moritz ==> Installing DBIish # this step took really long; did it re-precompile the code here?
08:20 moritz looks very good; sucessfully installed, and I can load those modules
08:20 moritz now testing panda
08:21 moritz panda works too
08:21 moritz \o/
08:22 moritz now trying with a custom prefix
08:24 ab6tract joined #perl6
08:25 ab6tract good 8, #perl6
08:25 ab6tract err, good * :)
08:26 ab6tract 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:27 ab6tract i note that 'self := Obj.new' is not valid
08:27 schnuppi joined #perl6
08:28 moritz ab6tract: what do you mean by "current container"?
08:29 ab6tract moritz: the container of the object that is being coerced
08:29 ab6tract rather than my $other = $orig.Other
08:30 ab6tract $orig.Other; $orig ~~ Other
08:31 espadrine joined #perl6
08:31 nige1 joined #perl6
08:32 ab6tract moritz: do you understand what i mean?
08:32 moritz ab6tract: why would you want to do that?
08:32 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)
08:33 moritz ab6tract: it's possible if you explicitly declare the invocant as 'is rw' or as \
08:33 moritz m: class A { method x(SELF is rw:) { SELF = 42 } }; my $x = A; $x.x; say $x
08:33 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.␤»
08:33 moritz m: class A { method x(\SELF is rw:) { SELF = 42 } }; my $x = A; $x.x; say $x
08:33 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␤»
08:34 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␤»
08:34 moritz but that's like, totally confusing for the user in most cases
08:35 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 ab6tract i'm not sure it is better yet, but thought i would try
08:35 ab6tract what does the colon at the right hand of the signature imply here?
08:37 moritz ab6tract: it's the paramater for the invocant, that is, the thing you call the method on
08:40 brrt joined #perl6
08:41 frankjh Hi,  I have an initial version of my first perl6 library ready. It does public key en/decryption using nacl. Please see https://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:42 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 moritz frankjh: Inline::Perl5 in particular is known to currently work; it has a configure.pl6 an Build.pm
08:43 linkq joined #perl6
08:43 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] https://github.com/soundart/perl6-t​weetnacl/blob/master/t/00-load.t#L5
08:44 frankjh moritz: Thanks. Is there a way to do a panda install locally?
08:44 nine panda install .
08:44 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
08:44 nine .tell hoelzro \o/ thanks a lot!
08:44 yoleaux nine: I'll pass your message to hoelzro.
08:46 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
08:47 frankjh wrt.: META6.json, is the libtweetnacl.dylib name ok, or is this OS dependant?
08:49 frankjh I am building tweetnacl.so
08:49 FROGGS moritz: ohh cool, I'd not tested that
08:49 FROGGS frankjh: a .dylib is for OS X only
08:49 moritz FROGGS: so you have my axe, and my green light :-)
08:50 FROGGS *g*
08:50 * FROGGS needs to watch that again
08:51 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
08:51 frankjh FROGGS, nine: So I simply remove the .dylib extension?
08:52 FROGGS nine: he builds and wants to install it: https://github.com/soundart/perl6-tw​eetnacl/blob/master/META6.json#L5-L7
08:53 FROGGS 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 https://github.com/niner/Inline-​Perl5/blob/master/META.info#L15
08:53 nine FROGGS: ^^^
08:53 zakharyas joined #perl6
08:53 nine frankjh: ^^^
08:53 FROGGS nine: and that works?
08:53 FROGGS obviously I guess
08:53 nine FROGGS: either that or people just imagine using Inline::Perl5 :)
08:54 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
08:54 moritz (p6 ports of the p5 modules, I mean :-)
08:54 nine moritz: ssssht!
08:55 frankjh Ok. I will try to use the build setup style from Inline-Perl5. Thanks!
08:56 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:57 FROGGS nine: and we should work on supporting longnames in meta files
08:57 nine We should work on supporting longnames everywhere...
08:57 FROGGS we... dont support them anywhere?
08:58 nine Ask a class for its version
08:58 FROGGS I mean, they work on a use statement still, no?
08:58 nine Or load two different versions of modules.
08:58 FROGGS that depends on aliasing
08:58 nine Yes, module loading is pretty much the only place where it works right now
08:59 guest23223 joined #perl6
08:59 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 #perl6
09:00 _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:01 FROGGS _Gustaf_: now you are talking about rakudo installed from git, right?
09:01 _Gustaf_ FROGGS: No. The star RC0
09:01 FROGGS O.o
09:02 FROGGS that's usually used on linux only, or when building the star msi
09:02 FROGGS what happens to the panda-m ooc?
09:02 FROGGS bbi5
09:03 _Gustaf_ FROGGS: http://pastebin.com/yXdGaepc
09:03 _Gustaf_ FROGGS: perl complains on the first line in the bat script fpr some reason
09:10 FROGGS err, it tries to run the panda-m with perl6
09:11 _Gustaf_ Interesting ;)
09:11 FROGGS ohh
09:12 FROGGS can you remove the $(BAT) in the makefile where module-install is called?
09:12 FROGGS near line 73 apparently
09:12 _Gustaf_ sure
09:12 FROGGS and then you can just do: gmake modules-install
09:16 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
09:17 FROGGS 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
09:17 FROGGS El_Che: something about declaration before code, right?
09:17 El_Che well, not really
09:17 FROGGS hmm, paste?
09:18 El_Che on solaris 10: missing interface
09:18 El_Che on solaris11: it compiles fine, but fails tests
09:18 El_Che FROGGS: I'll look it up or rerun it if you're interested
09:18 FROGGS I am
09:18 El_Che ok, noted
09:19 _Gustaf_ FROGGS: Now it works like a charm
09:19 El_Che I talked with the libuv people (they come from opensolaris)
09:19 El_Che they concentrate on illuminos (the opensolaris derivative) and kind of let go of solaris
09:19 FROGGS aha
09:20 FROGGS yeah, then this is kinda (not) related: https://github.com/MoarVM/MoarVM/issues/306
09:21 El_Che FROGGS: I am associated with OpenCSW, and their are moving to gcc (most of it is gcc already)
09:21 El_Che FROGGS: too much hassle with suncc
09:21 FROGGS +1 to moving to gcc
09:22 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:23 El_Che (funnily enough, in the meantime I moved to a job without solaris :) )
09:24 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 CurtisOvidPoe joined #perl6
09:25 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?
09:26 FROGGS CurtisOvidPoe: I guess you cant...
09:27 FROGGS 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 { ... };
09:27 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?
09:27 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
09:29 FROGGS 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 masak good antenoon, #perl6
09:30 CurtisOvidPoe Good morning, masak. Did I wake you? :)
09:30 masak CurtisOvidPoe: did I say that? interesting.
09:30 masak nope, didn't wake me :)
09:30 CurtisOvidPoe masak: we were at a conference chatting about it.
09:30 El_Che CurtisOvidPoe: you snore
09:30 El_Che :)
09:30 FROGGS CurtisOvidPoe: you could add an infix:<*>(Fahrenheit, Fahrenheit) { fail "OHH NOES" }, but that's icky IMO
09:30 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
09:30 FROGGS aye
09:31 masak CurtisOvidPoe: oh, the celsius/fahrenheit thing
09:31 CurtisOvidPoe masak: yes, that’s true.
09:31 FROGGS and allowing +, -, /, but not * is weird
09:31 masak CurtisOvidPoe: I don't remember what I advised you, but I'm pretty sure it wasn't `is` inheritance
09:32 masak 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.
09:32 masak CurtisOvidPoe: but... I'm also pretty sure I left you a gist or something. do you still have the URL?
09:32 CurtisOvidPoe Don’t remember the gist, sorry :/
09:32 abraxxa joined #perl6
09:32 masak this must have been... YAPC::Europe 2015, yes?
09:33 CurtisOvidPoe Yes, I think so.
09:33 CurtisOvidPoe I guess it’s better to get to the heart of the issue: I’d like a programmatic way to *declaratively* prevent this bug: http://articles.latimes.com​/1999/oct/01/news/mn-17288
09:34 masak CurtisOvidPoe++ # circumventing XY problem
09:34 schnuppi joined #perl6
09:35 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 masak CurtisOvidPoe: then you can selectively allow through whatever operations you care for
09:35 RabidGravy joined #perl6
09:35 masak CurtisOvidPoe: can even be made fairly terse, with `handles`
09:35 masak in other words, "favor composition, not inheritance"
09:36 CurtisOvidPoe masak++
09:36 RabidGravy morning!
09:36 yoleaux 03:50Z <skids> RabidGravy: Got a start on List/Array page at doc/Language/list.pod
09:36 RabidGravy skids++ nice one
09:37 _Gustaf_ RabidGravy Morning
09:37 lnrdo joined #perl6
09:45 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:47 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:49 abraxxa joined #perl6
09:53 * DrForr waves in passing at Curtis.
09:56 CurtisOvidPoe Hi DrFoo.
09:56 CurtisOvidPoe “DrForr” :)
09:58 CurtisOvidPoe 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? https://gist.github.com/Ovid/fe0847a882ceda440271
10:00 arnsholt CurtisOvidPoe: Operators aren't methods on objects, but multi sub
10:00 arnsholt *s
10:00 arnsholt So you want "multi sub infix:<+>(F $, F $) { ... }" outside the class
10:01 CurtisOvidPoe arnsholt: Thanks. Fails with the same error, though.
10:01 dalek rakudo/nom: 04ac7e2 | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp:
10:01 dalek rakudo/nom: Remove remaining code referencing @*INC
10:01 dalek rakudo/nom:
10:01 dalek rakudo/nom: Fixes the occasional:
10:01 dalek rakudo/nom: WARNING: unhandled Failure detected in DESTROY:
10:01 dalek rakudo/nom: Dynamic variable @*INC not found
10:01 dalek rakudo/nom:   in any  at gen/moar/m-ModuleLoader.nqp line 83
10:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/04ac7e237e
10:02 CurtisOvidPoe arnsholt: I’ve left a reply on that gist showing my exact code.
10:04 rindolf joined #perl6
10:10 arnsholt Weird!
10:10 * masak has a look
10:11 xpen joined #perl6
10:11 masak it's trying to numify $t1 for some reason
10:12 masak adding a `method Numeric { self }` to Fahrenheit causes an infinite loop
10:12 masak surely doing a custom infix:<+> on one's own objects doesn't *require* the objects to be Numeric?
10:13 RabidGravy is there a (Numeric() , Mu ) candidate for <+> ?
10:13 arnsholt No, that'd be weird...
10:13 DrForr Wouldn't that be method Numeric { self.temperature }?
10:13 masak DrForr: no, that'd defeat the purpose
10:13 masak DrForr: we want the temperatures to act as number-ish objects
10:13 masak adding `does Numeric` to the class also causes an infinite loop
10:14 masak all I can say is that this doesn't behave as I remember it :(
10:14 RabidGravy ah, it's a typo
10:14 DrForr I understand the purpose, I'd just thought that returning the internal object as the typed object would be TRT.
10:14 RabidGravy $t1 + $2 vs $t1 + $t2
10:15 RabidGravy with the latter it works
10:15 masak ahhh
10:15 CurtisOvidPoe DAMN IT! :)
10:15 masak RabidGravy++
10:15 huf that's quite an obscure error message for a typo :)
10:16 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
10:16 masak which are probably good to have anyway
10:16 CurtisOvidPoe And makes my slides longer if I include this.
10:17 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?
10:18 El_Che I'll have a look, yours wasn't up yesterday
10:18 El_Che probably my fault (pentabarf is awful)
10:19 El_Che there is an abstact and description
10:19 El_Che a copy paste the same on both
10:19 El_Che (it complains otherwise)
10:19 El_Che I'll try to fix it
10:20 DrForr Happened to everyone's - https://fosdem.org/2016/sch​edule/event/perl6grammars/ # is my link.
10:21 El_Che I'll fix it now
10:21 El_Che however, it's not realtime -> they run a cronjo
10:21 El_Che b
10:22 gregf joined #perl6
10:22 masak CurtisOvidPoe: maybe put the other two candidates on a separate slide, and make a separate point of it?
10:22 masak CurtisOvidPoe: they're not *strictly* necessary, but they make the end result better, IMO
10:23 masak 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 :)
10:23 CurtisOvidPoe But yes, that’s a definite improvement!
10:23 huf what's a (Mu:U \v: *%_) ?
10:24 huf 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 #perl6
10:24 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:25 CurtisOvidPoe masak: but it’s definitely a good argument.
10:27 DrForr Hrm. I'm finding myself wanting a 'tokens { NAME => "value", NAME => "value" }' construct now. I suppose I could write my own..
10:30 RabidGravy gwan!
10:31 AlexDaniel joined #perl6
10:32 sortiz left #perl6
10:32 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:35 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:36 DrForr Donate it to me, I'll make sure it gets put to use :)
10:36 abraxxa joined #perl6
10:40 RabidGravy If it's not in a brown envelope handed over at Waterloo station, it's no good
10:45 FROGGS joined #perl6
10:45 donaldh joined #perl6
10:50 donaldh Has anyone successfully used Grammar::Debugger or Grammar::Tracer with rakudo 2015.12 ?
10:50 donaldh I'm trying to use it in conjunction with Grammar::ABNF and getting: P6M Merging GLOBAL symbols failed: duplicate definition of symbol grammar
10:51 nine That's an open issue possibly connected to module loading.
10:51 donaldh ah, okay. Thanks
10:51 FROGGS hi donaldh
10:52 donaldh o/
10:53 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 RabidGravy ;-)
10:55 DrForr Grammar::Tracer failures? :) (Actually interesting to me too because I was about to tear into it to create a tiny pseudotracer.)
11:05 jdrab joined #perl6
11:07 frankjh nine: Thanks you! I used constant $p5helper.  Building and testing works with Configure.pl6 and panda.
11:09 aenaxi joined #perl6
11:10 frankjh panda install fails, because it cannot find: TweetNacl::Constants.
11:13 frankjh Ah, fixed it too!
11:14 frankjh ==> Successfully installed TweetNacl
11:14 frankjh :)
11:14 RabidGravy wahay!
11:16 nine yeah!
11:18 frankjh It was a short moment, however. panda install . work, but panda install git://github.com/soundart/perl6-tweetnacl.git fails.
11:19 RabidGravy I didn't even know that was supposed to work
11:19 kid51 joined #perl6
11:19 RabidGravy it would be cool if it did though
11:20 nine frankjh: fails how?
11:20 * RabidGravy tries
11:21 stmuk__ joined #perl6
11:23 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
11:23 RabidGravy it's trying to build /home/jonathan/devel/perl6/.panda-work/145​2252075_1/resources/libraries/%tweetnacl%
11:23 frankjh RabidGray: yes indeed. I think I fixed it....
11:24 RabidGravy cool
11:25 regreg joined #perl6
11:26 leont joined #perl6
11:26 frankjh RabidGravy, could you please try again. I think it was https://github.com/soundart/perl6-tweetnacl​/commit/58b7195c94e88f1fd54118c524ec73aabb3​a69c3#diff-345b226ffe512f8f0eb64f31fca14ef3. Can I somehow uninstall something with panda, so I can check myself?
11:27 RabidGravy All tests successful.
11:27 RabidGravy Files=5, Tests=12, 19 wallclock secs ( 0.03 usr  0.01 sys + 18.09 cusr  0.75 csys = 18.88 CPU)
11:27 RabidGravy Result: PASS
11:27 RabidGravy frankjh++
11:27 nine .seen ShimmerFairy
11:27 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.
11:28 frankjh :)
11:28 frankjh RabidGravy: Thanks!
11:29 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 .... "
11:29 frankjh ok
11:33 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>»
11:33 gfldex i found a better example for C<temp> :)
11:34 RabidGravy yay!
11:35 gfldex and it will drive Heskellists nuts
11:38 * leont uses temp quite a bit in context-full parsing (e.g. YAML)
11:41 RabidGravy gfldex, if you made that a FALLBACK method you could make an "xml writer" in a couple of lines
11:48 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.
11:49 RabidGravy m: https://gist.github.com/jonat​hanstowe/f3513b8b75a3868c7f58
11:49 camelia rakudo-moar 04ac7e: OUTPUT«<foo>␤ <bar>␤  <baz>␤  </baz>␤ </bar>␤</foo>␤»
11:50 RabidGravy perl6++
11:51 gfldex we should add tasks to rosetta code that are pretty much impossible in other languages (that are not Haskell ofc)
11:52 AlexDaniel gfldex: well volunteered? :)
11:52 gfldex i doubt my smarts are sufficient for that
11:52 AlexDaniel actually, I've always wanted to revise rosetta code entries in perl6. A lot of them don't even work with 6.c
11:53 RabidGravy AlexDaniel, I think Juerd and bpeterling are looking at it at the moment
11:54 AlexDaniel oh! That's very good! ++
11:55 * 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 doc: 8660e53 | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod:
11:55 dalek doc: better example for C<temp>
11:55 dalek doc: review: https://github.com/perl6/doc/commit/8660e53447
11:55 dalek doc: b80697a | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod:
11:55 dalek doc: Merge pull request #331 from gfldex/master
11:55 dalek doc:
11:55 dalek doc: better example for C<temp>
11:55 dalek doc: review: https://github.com/perl6/doc/commit/b80697ab24
11:56 AlexDaniel gfldex: you are doing great with the documentation though :)
11:57 gfldex given how well my memory works, it's just an act of selfishness
11:57 AlexDaniel m: .say given 42
11:57 camelia rakudo-moar 04ac7e: OUTPUT«42␤»
11:57 AlexDaniel m: .say with 42
11:57 camelia rakudo-moar 04ac7e: OUTPUT«42␤»
11:57 regreg_ joined #perl6
11:58 * AlexDaniel does not remember the difference
11:58 gfldex m: sub f($_){ .WHAT }; say f 42;
11:58 camelia rakudo-moar 04ac7e: OUTPUT«(Int)␤»
11:58 ilmari m: .say with Mu
11:58 camelia rakudo-moar 04ac7e: ( no output )
11:58 ilmari m: .say given Mu
11:58 camelia rakudo-moar 04ac7e: OUTPUT«(Mu)␤»
11:58 AlexDaniel gfldex: don't worry, that's how our memory works too
11:58 gfldex with tests for definedness and sets the topic
12:02 leont unless/without also setting the topic is surprisingly useful
12:02 AlexDaniel m: $_ = 69; .say with 42
12:02 camelia rakudo-moar 04ac7e: OUTPUT«42␤»
12:02 AlexDaniel m: $_ = 69; .say with Mu
12:02 camelia rakudo-moar 04ac7e: ( no output )
12:04 frankjh I have now activated travis-ci: https://github.com/soundart/perl6-​tweetnacl/blob/master/.travis.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:08 DrForr It installs your library with Panda, I'm guessing, so no.
12:08 frankjh ok thanks
12:09 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
12:10 AlexDaniel Juerd: do you have any checklist?
12:10 virtualsue joined #perl6
12:10 donaldh ah, Grammar::ABNF does not handle multi-line rules yet.
12:10 Juerd AlexDaniel: Nope, /^A/ and /^B/ are done. /^C/ only [^30]
12:10 AlexDaniel Juerd: eg.g a list of entries that were tested
12:11 AlexDaniel Juerd: perhaps consider creating one
12:11 Juerd In case you like a todo list for articles that need fixing, http://rosettacode.org/wiki/Categor​y:Perl_6_examples_needing_attention
12:11 AlexDaniel well, I'm more interested in a list that is know to work (and a date when it was checked)
12:12 AlexDaniel of stuff that is known to work*
12:13 Juerd I don't have a list like that
12:13 Juerd 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
12:14 AlexDaniel Juerd: what if we just write 6.c ?
12:14 AlexDaniel if it works today, there is a high chance that it works with 6.c generally
12:14 jam_ joined #perl6
12:15 Juerd Still based on heuristics
12:15 Juerd There are too many articles to pay a lot of attention to each of them.
12:15 Juerd I wish they had a standard format so testing could be automated. But that's for another time. :P
12:15 Juerd Some are more tutorial-like and don't have output
12:16 Skarsnik joined #perl6
12:17 Skarsnik Hello
12:18 Juerd Hi
12:19 masak greetings, earthling
12:27 patrickz joined #perl6
12:28 tspjf joined #perl6
12:36 frankjh left #perl6
12:41 rindolf joined #perl6
12:43 Skarsnik Is there a way to know if a module is installed without using something like try { use}?
12:44 nine Not yet. There is code for it in the query_repos branch whic I'm gonna merge soonish I guess
12:45 RabidGravy nine++
12:45 funrep joined #perl6
12:45 sno joined #perl6
12:45 Skarsnik Oh nice
12:45 nine I miss the times already, when I would just have had pushed it a week ago :)
12:45 funrep is perl6 a good place to invest ones time if one likes to tinker and program for fun?
12:45 nine But they will come again once we know how to handle language versions
12:45 nine funrep: definitely :)
12:46 timotimo you mean try require
12:46 RabidGravy funrep, yep we're all about the fun here :)
12:46 timotimo funrep: i very much think so
12:46 llfourn funrep: it is a slam dunk investment decision if you are looking for fun
12:46 timotimo but that could just be personal to me
12:46 llfourn (and the occaisonal bug report)
12:47 nexysno_ joined #perl6
12:47 funrep awesome
12:47 timotimo but in my case, playing around with perl6 for fun quickly led to my involvement with core development ... :P
12:48 timotimo on the other hand, i learned a crazy amount of stuff about all kinds of things on the way
12:49 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
12:50 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
12:51 llfourn m: class Foo { method foo { } }; Foo.foo; say Foo.^cache_get('foo')
12:51 camelia rakudo-moar 04ac7e: OUTPUT«(Mu)␤»
12:52 timotimo oh, hmm.
12:53 timotimo 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)␤»
12:53 timotimo m: class Foo { method foo { } }; Foo.^add_method("test", anon method { }); Foo.foo; say Foo.^cache_get('test')
12:53 camelia rakudo-moar 04ac7e: OUTPUT«(Mu)␤»
12:53 timotimo yeah, i don't know what's up with that
12:53 timotimo this is not really the area i've been involved with so far
12:53 llfourn timotimo: I remember jnthn telling me that if you .^add_method you junk the cache anyway fyi
12:53 llfourn you need to .^compose to rebuild it
12:54 llfourn anyways thanks for trying :)
12:54 timotimo you only need to compose subclasses
12:54 timotimo IIRC
12:54 dalek rakudo/nom: fbe0a66 | lizmat++ | src/core/CompUnit/RepositoryRegistry.pm:
12:54 dalek rakudo/nom: Speed up setting up repos
12:54 dalek rakudo/nom:
12:54 dalek rakudo/nom: Although the impact of loading a module like Text::CSV is only about
12:54 dalek rakudo/nom: 5 msecs, it seems to have quite a positive effect on running the
12:54 dalek rakudo/nom: spectest as a whole (from ~300 to ~275 wallclock, from ~2000 to ~1900
12:54 dalek rakudo/nom: CPU seconds)
12:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fbe0a66024
12:55 llfourn hmmm ok probably to get the method to work on the subclasses that's true
12:55 timotimo oooh, lizmat++
12:58 joydo joined #perl6
12:58 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
12:58 timotimo reading it wrong
12:59 timotimo the difference between wallclock and cpu time
12:59 timotimo as liz runs the spec tests with many, many cores at the same time
12:59 llfourn ah "from" "from" I read "to" "from"
12:59 lizmat running spectests with TEST_JOBS=8
12:59 nine lizmat++ # pure awesomeness!
13:00 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 :-)
13:00 RabidGravy m: https://gist.github.com/jonat​hanstowe/f3513b8b75a3868c7f58
13:00 camelia rakudo-moar 04ac7e: OUTPUT«<foo zub="flurble" bumble="rarr">␤ <bar>␤  <baz>␤   stuff␤  </baz>␤ </bar>␤</foo>␤»
13:01 Skarsnik hm, NC is supposed to fill struct that are emebeded in a struct?
13:01 timotimo "fill"? you mean initialize to zeroes?
13:02 Skarsnik Na having value when it's given by the C code
13:02 Zoffix m: use Test:ver<42>
13:02 camelia rakudo-moar 04ac7e: OUTPUT«===SORRY!===␤Cannot call Numeric(Version: ); none of these signatures match:␤    (Mu:U \v: *%_)␤»
13:02 nine m: use Test:ver<42>
13:02 camelia rakudo-moar 04ac7e: OUTPUT«===SORRY!===␤Cannot call Numeric(Version: ); none of these signatures match:␤    (Mu:U \v: *%_)␤»
13:02 timotimo if it's embedded via HAS, then i guess yeah?
13:02 nine m: use Test:ver<v42>
13:02 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␤  …»
13:02 timotimo otherwise it's interpreted to be a pointer
13:03 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?
13:03 lizmat I wonder if we can automatically optimize the pattern of accessing the same dynamic variable inside a sub multiple times
13:04 llfourn presumeably dynamic variables don't work acrross threads?
13:04 Skarsnik hm, it works for other field.
13:05 nine Zoffix: :ver sets a version matcher.
13:05 nine m: use Test:ver(v0+)
13:05 moritz m: my $*A = 42; await start { say $*A } # for llfourn
13:05 camelia rakudo-moar 04ac7e: ( no output )
13:05 camelia rakudo-moar 04ac7e: OUTPUT«42␤»
13:05 nine m: use Test:ver(v6.a..*)
13:05 camelia rakudo-moar 04ac7e: ( no output )
13:05 nine m: use Test:ver(v6.a)
13:05 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␤  …»
13:05 Zoffix Thanks
13:06 llfourn m: my $*A = 42; await start { $*A++ }; say $*A
13:06 camelia rakudo-moar 04ac7e: OUTPUT«43␤»
13:07 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?
13:07 camelia rakudo-moar 04ac7e: OUTPUT«42␤»
13:07 timotimo llfourn: of course it is
13:07 timotimo m: my $A = 0; await (start { $A++ } for ^10); say $A
13:07 camelia rakudo-moar 04ac7e: OUTPUT«10␤»
13:07 timotimo m: my $A = 0; await (start { $A++ } for ^10); say $A
13:07 camelia rakudo-moar 04ac7e: OUTPUT«10␤»
13:07 Skarsnik hm, must be the lib fault for my error
13:07 Zoffix m: my $*A = 42; for ^10 { start { $*A++ } }; sleep 2; say $*A
13:07 camelia rakudo-moar 04ac7e: OUTPUT«42␤»
13:08 llfourn I kinda expected there to be an implicit my $*A = CALLERS::<$*A> for threads
13:08 Zoffix :/
13:08 timotimo with ^100 i can get it to sometimes result in 99 and sometimes in 100
13:09 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?
13:09 Zoffix m: my $*A = 42; my @ps = ^10 .map: {start { $*A++ }}; await all @ps; say $*A
13:09 camelia rakudo-moar 04ac7e: OUTPUT«42␤»
13:09 Zoffix yeah, why?
13:09 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
13:09 llfourn timotimo: by "take over" you mean "have no side affects on" or am I confused?
13:10 llfourn is what Zoffix showed what you expected?
13:10 timotimo it means you can refer to the original variables
13:10 timotimo it would have given "dynamic variable $*A not found" before
13:10 Zoffix m: my $A = 42; my @ps = ^10 .map: {start { $A++ }}; await all @ps; say $A
13:10 camelia rakudo-moar 04ac7e: OUTPUT«52␤»
13:10 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
13:10 Zoffix timotimo, why is not found when it's right there?
13:10 llfourn m: my $*A = 0; start { $*A = 42 }; sleep 5; say $*A;
13:10 secwang joined #perl6
13:10 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
13:11 Zoffix I see.
13:11 llfourn m: sub t { say $*d }; my $*d = 1; await  do { start { t() } } # is this still a bug?
13:11 camelia rakudo-moar fbe0a6: OUTPUT«Dynamic variable $*d not found␤  in block <unit> at /tmp/7cxxFYV3o6 line 1␤␤»
13:12 Zoffix m: my $*A = 42; await start { $*A++ }; say $*A
13:12 camelia rakudo-moar fbe0a6: OUTPUT«43␤»
13:12 Zoffix timotimo, then why does this ^ give 43?
13:12 timotimo why wouldn't it?
13:12 llfourn Zoffix: because of await
13:12 Zoffix Oh immediately await
13:12 timotimo yeah
13:12 Zoffix k.
13:12 timotimo m: my $*A = 42; start { $*A++ }; repeat say $*A until $*A != 42
13:12 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␤»
13:13 timotimo m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42
13:13 camelia rakudo-moar fbe0a6: OUTPUT«42␤»
13:13 timotimo m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42
13:13 camelia rakudo-moar fbe0a6: OUTPUT«43␤»
13:13 timotimo m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42
13:13 camelia rakudo-moar fbe0a6: OUTPUT«42␤»
13:13 timotimo not fast enough
13:13 timotimo i wonder if SDL2_gfx is interesting for having a binding at all
13:13 timotimo on the one hand, it's weird to be sidestepping OpenGL completely for simple operations like rectangles
13:13 timotimo and even lines
13:14 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␤»
13:14 timotimo on the other, it's nice to have a simple API for that kind of stuff without having to have an OpenGL binding
13:14 timotimo that's interesting
13:14 llfourn m: my $*A = 42; start { $*A++ }; sleep 2; say $*A # what about without the for
13:14 camelia rakudo-moar fbe0a6: OUTPUT«43␤»
13:15 timotimo m: my $*A = 42; start { $*A++ } for ^10; sleep 2; say $*A
13:15 camelia rakudo-moar fbe0a6: OUTPUT«42␤»
13:15 timotimo definitely strange
13:15 llfourn hmm it's sort of similar to https://rt.perl.org/Public/​Bug/Display.html?id=127033 #except that is for the for loop inside the start {}
13:16 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␤»
13:16 timotimo hehe.
13:16 llfourn my $*A = 42; do { start { $*A++ } } sleep 2; say $*A
13:16 llfourn m: my $*A = 42; do { start { $*A++ } } sleep 2; say $*A
13:16 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␤    …»
13:16 llfourn m: my $*A = 42; do { start { $*A++ } }; sleep 2; say $*A
13:16 camelia rakudo-moar fbe0a6: OUTPUT«42␤»
13:16 llfourn ^^ that golfs it
13:17 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:18 timotimo thanks
13:18 ilbelkyr_ joined #perl6
13:18 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 lnrdo_ joined #perl6
13:20 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 #perl6
13:21 timotimo we don't guarantee safety of lexical or dynamic containers IIRC
13:22 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 ...
13:22 llfourn I would have thought lexical like start { my $a = '' } would be guaranteed but I know nothing
13:23 arnsholt CArray should work for that use case
13:23 timotimo if the lexical is *inside* the start, sure, that's no problem
13:23 arnsholt Although you have to be very careful not to exceed the array bounds, of course
13:23 llfourn timotimo: ok then we are on the same page ;)
13:24 timotimo shared lexicals, on the other hand ...
13:24 RabidGravy yeah, Str no good in that place
13:24 nine What exactly does nqp's =:= compare? It's not nqp::objectid, isn't it?
13:24 timotimo no, objectid causes an object to get a fixed ID in the future
13:25 timotimo it's equivalent to a pointer compare
13:25 nine So what does it mean when two objects have the same nqp::objectid?
13:26 timotimo it's the eqaddr op
13:26 timotimo that's the same as eqaddr, but with a side-effect on the objects you get an objectid of
13:26 nine So if they have the same nqp::objectid, =:= should give 1?
13:27 timotimo hmm
13:27 timotimo i think so
13:28 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/
13:28 nine timotimo: https://rt.perl.org/Ticket/Display.html?id=127107
13:28 Zoffix m: sub foo (*@args) { my $valid-args = set <foo bar ber>; say @args ⊆ $valid-args }; foo <foo bar bar moor>;
13:28 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>;
13:29 camelia rakudo-moar fbe0a6: OUTPUT«True␤»
13:29 nine timotimo: full code with added debug output: https://gist.github.com/niner/88a97e8a1becbacab1d5
13:30 timotimo o_O
13:31 timotimo there should be an op that gives you the address of something that would be used for =:=, too
13:32 leont m: sub foo(|c) { say |c }; foo("foo");
13:32 camelia rakudo-moar fbe0a6: OUTPUT«foo␤»
13:32 leont m: my |d = "foo; say |d;
13:32 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 #perl6
13:33 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;␤»
13:33 leont Why can't I have a lexical capture variable?
13:34 lucasb joined #perl6
13:34 nine leont: a capture is just a Capture object
13:34 vytas joined #perl6
13:34 timotimo m: sub foo(|c) { say c }; foo("foo")
13:34 camelia rakudo-moar fbe0a6: OUTPUT«\("foo")␤»
13:34 timotimo ^- note also
13:34 lucasb a lexical capture is: my $x = \(...)
13:34 timotimo when you write |c, you're referring to the lexical variable "c", not "|c"
13:35 leont Ah, I see
13:35 nine Checking symbol grammar value TracedGrammarHOW objid 59669208 existing TracedGrammarHOW objid 59669208 eqaddr 0
13:35 nine Definitely same objectid but eqaddr returns false
13:36 nine FROGGS: any idea for this? https://rt.perl.org/Ticket/Display.html?id=127107
13:38 timotimo nine: you can output the nqp::where of these two things
13:39 timotimo that's the value it'd use for =:= comparison, IIUC
13:40 schnuppi joined #perl6
13:41 brrt joined #perl6
13:42 nine timotimo: look at this: Checking symbol grammar value TracedGrammarHOW objid 59501064 where 59501064 existing TracedGrammarHOW objid 59501064 where 59501064 eqaddr 0
13:43 dalek rakudo/nom: 5c0631e | lizmat++ | src/ (6 files):
13:43 dalek rakudo/nom: Unite RAKUDO_MODULE_DEBUGging in nqp/Perl 6
13:43 dalek rakudo/nom:
13:43 dalek rakudo/nom: Eradicates the global RAKUDO_MODULE_DEBUG sub.  Instead,
13:43 dalek rakudo/nom: $*RAKUDO_MODULE_DEBUG now contains either False or a Callable that
13:43 dalek rakudo/nom: outputs the debug information.  DRY!
13:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5c0631e5dc
13:43 nine Updated the gist. Maybe I did something horribly wrong?
13:44 raiph joined #perl6
13:44 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?
13:44 lizmat lucasb: will do
13:44 nine lizmat: I just love what you do to this code :)
13:45 lucasb lizmat++, thank you
13:45 * Zoffix is fighting another battle https://twitter.com/xdg/status/685454041103597568
13:45 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 #perl6
13:45 nine lizmat: maybe we should merge https://github.com/perl6/nqp/pull/271 before bumping?
13:45 dalek rakudo-star-daily: a4c90b0 | coke++ | log/ (5 files):
13:45 dalek rakudo-star-daily: today (automated commit)
13:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/a4c90b038d
13:45 cognominal m: say "\x[0]"
13:45 camelia rakudo-moar fbe0a6: OUTPUT«␀␤»
13:45 cognominal m: say "\x[0x0]"
13:45 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␤    …»
13:46 lizmat well, it seems to have issues :-(
13:46 nine oh
13:46 lizmat maybe because it requires a bump in MOAR_REVISION first ?
13:46 cognominal only decimal notation is allowed in "\x[ ... ]" ?
13:46 jkramer left #perl6
13:47 nine lizmat: yes, according to #moarvm it's been merged there
13:47 FritzZaucker p6: say DateTime.now;
13:47 camelia rakudo-moar fbe0a6: OUTPUT«2016-01-08T14:47:08.724505+01:00␤»
13:47 cognominal or am I missing something obvious, as usual ?
13:47 cognominal m: say 0x0
13:47 camelia rakudo-moar fbe0a6: OUTPUT«0␤»
13:47 lucasb cognominal: I would expect that only hexadecimal would be allowed in \x[...]
13:47 [Coke] (2016.01 in a week), crap, I guess we have to decide some stuff by this weekend.
13:47 lizmat m: say 0xA
13:47 camelia rakudo-moar fbe0a6: OUTPUT«10␤»
13:48 lizmat m: say "\xA"
13:48 camelia rakudo-moar fbe0a6: OUTPUT«␤␤»
13:48 FROGGS Zoffix: I have no knowledge of a release tag that has been moved
13:48 FROGGS nine: no ideas offhand
13:48 Zoffix Ah, I know what he's talking about. We tagged as 6.c BEFORE the release and then moved it when released.
13:48 FritzZaucker p6: say Date;
13:48 camelia rakudo-moar fbe0a6: OUTPUT«(Date)␤»
13:49 FritzZaucker p6: say Date.today;
13:49 camelia rakudo-moar fbe0a6: OUTPUT«2016-01-08␤»
13:49 cognominal indeed, the examples in unicode.pod are deceptive, the hexadecimal digits don't have letters
13:49 FritzZaucker p6: Date.today.say;
13:49 camelia rakudo-moar fbe0a6: OUTPUT«2016-01-08␤»
13:52 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.
13:52 dalek nqp: 32acf1a | lizmat++ | tools/build/MOAR_REVISION:
13:52 dalek nqp: Bump MOAR_REVISION to get the latest goodies
13:52 dalek nqp: review: https://github.com/perl6/nqp/commit/32acf1a14a
13:53 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 lizmat testing NQP_REVISION now
13:54 lucasb *too early
13:54 frankjh joined #perl6
13:54 lizmat lucasb:
13:54 lizmat you're right
13:54 lizmat lucasb: you mean the NQP_REVISION, right ?
13:54 molaf joined #perl6
13:55 FROGGS but anyway, [Coke]: please gist the topics that come to your mind that you feel need decision making
13:55 dalek nqp: 37862cd | (Dagfinn Ilmari Mannsåker)++ | / (3 files):
13:55 dalek nqp: Add subsecond file time ops stat_time and lstat_time
13:55 dalek nqp: review: https://github.com/perl6/nqp/commit/37862cd52d
13:55 dalek nqp: a709b8a | lizmat++ | / (3 files):
13:55 dalek nqp: Merge pull request #271 from ilmari/stat-subsecond
13:55 dalek nqp:
13:55 dalek nqp: Add subsecond file time ops stat_time and lstat_time
13:55 dalek nqp: review: https://github.com/perl6/nqp/commit/a709b8a4ca
13:55 lucasb lucasb: I was just expecting a nqp bump in *rakudo*. I don't know about moarvm bump in *nqp*
13:55 lucasb lizmat: ^^ :)
13:55 nine Ok, this patch indeed fixes the bug:
13:55 nine -            elsif ($target){$sym} =:= $_.value {
13:55 nine +            elsif nqp::where(($target){$sym}) == nqp::where($_.value) {
13:55 FROGGS :/
13:56 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
13:56 [Coke] lucasb: there is a schedule; we're following the schedule.
13:56 dalek rakudo/nom: 58964c5 | (Dagfinn Ilmari Mannsåker)++ | src/core/IO.pm:
13:56 dalek rakudo/nom: Use subsecond file time ops on MoarVM
13:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/58964c5906
13:56 dalek rakudo/nom: e7197bd | lizmat++ | src/core/IO.pm:
13:56 dalek rakudo/nom: Merge pull request #676 from ilmari/stat-subsecond
13:56 dalek rakudo/nom:
13:56 dalek rakudo/nom: Use subsecond file time ops on MoarVM
13:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7197bd8f8
13:57 nine Before we can do a new release, we _have_ to decide how to handle language versions. Schedules are much less important than that.
13:57 [Coke] We probably should have said "and we're taking january off", but I didn't think of that in time.
13:57 Skarsnik hm, how I am supposed to transform a 40 in is string value (not '40')?
13:57 [Coke] nine: agreed, if it comes to that, we skip january anyway.
13:57 FROGGS nine: true
13:57 leont I have a «return unless … for» construct that seems to have been broken since february, but I don't understand why
13:57 leont Making it two lines makes it work
13:58 FROGGS nine: and you said that the second object is NULL in the eqaddr op in moar?
13:58 dalek nqp: 93a608c | lizmat++ | tools/build/MOAR_REVISION:
13:58 dalek nqp: Get some additional Moar goodies
13:58 dalek nqp: review: https://github.com/perl6/nqp/commit/93a608ce36
13:58 nine FROGGS: no, I actually think they are the same object.
13:58 leont (this is probably because I was abusing the language, it's not a very readable line at all)
13:58 FROGGS leont: is that golfable?
13:59 travis-ci joined #perl6
13:59 travis-ci NQP build failed. lizmat 'Merge pull request #271 from ilmari/stat-subsecond
13:59 travis-ci https://travis-ci.org/perl6/nqp/builds/101064857 https://github.com/perl6/nqp/com​pare/32acf1a14aae...a709b8a4cae5
13:59 travis-ci left #perl6
13:59 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);
14:00 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 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
14:00 camelia rakudo-moar 5c0631: ( no output )
14:01 FROGGS bbi20
14:02 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 #perl6
14:05 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
14:07 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
14:08 Zoffix um... are there really about 1220 lines of rakudo-fudged tests in roast?
14:08 Zoffix I've done "grep -iR 'rakudo' . | wc -l" in the roast repo
14:09 theorb joined #perl6
14:09 awwaiid joined #perl6
14:09 [Coke] Zoffix: that's a little liberal, but it's close.
14:09 Zoffix :S
14:10 leont Is there a pretty way to classify into two groups? List.classify seems more suitable to bigger sets of classes
14:10 leont I could do some sort of Swartzian transform I suppose, but it'd be ugly
14:11 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)
14:11 leont AFAIK p6 on jvm isn't fully operational, though it isn't fully broken either
14:11 RabidGravy theorb, I believe the answer right now is no
14:12 Zoffix Heh https://twitter.com/marcusramb​erg/status/685463549800509444
14:12 [Coke] last I checked, rakudo-j wouldn't install.
14:12 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 :)
14:12 [Coke] if you run it from the build dir, it passes a lot of spectests, but it is not clean.
14:12 nine [Coke]: Daniel Wright just wrote back :)
14:12 Skarsnik damn cloning a CStruct is NYI
14:13 [Coke] nine: excellent.
14:13 skids joined #perl6
14:13 dalek rakudo/nom: 7934ffe | lizmat++ | tools/build/NQP_REVISION:
14:13 dalek rakudo/nom: Bump NQP_REVISION for sub-second file info
14:13 dalek rakudo/nom:
14:13 dalek rakudo/nom: And other fixes in MoarVM, specifically the concat / GC issue fix
14:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7934ffe7b9
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.)
14:14 Zoffix theorb, the skippage of tests by Rakudo is one, what's the other one?
14:15 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.
14:16 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&
14:16 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.
14:16 RabidGravy I'm sure it's fixable, just no-one has pitched in
14:17 [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
14:17 [Coke] I am literally the best person in the world to answer that question.
14:18 nine Zoffix: yes, definitely.
14:18 RabidGravy first the logo, now a tag, it's almost like people are desperate to find a problem
14:18 Zoffix :D
14:18 llfourn RabidGravy++ agreed
14:21 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 llfourn but I don't think many ppl outside this channel think like that :P
14:22 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.
14:22 Zoffix It's stable-enough for my purposes.
14:22 theorb ...and the spec isn't what people have been waiting for.
14:23 llfourn RabidGravy: go on :)
14:23 theorb RabidGravy: My memory decidedly isn't long enough to remember the last major version upgrade of perl.
14:23 Zoffix s/my/my CURRENT/;
14:23 arnsholt Skarsnik: Implementing cloning of CStructs shouldn't be too hard, if you already know how to hack C
14:23 [Coke] who is https://github.com/krunen ?
14:24 moritz [Coke]: Karl Runen iirc, one of the Oslo Perl Mongers
14:24 [Coke] are they on IRC?
14:24 ilmari [Coke]: yes, krunen is right here
14:25 [Coke] krunen: did you tell people we moved the release tag on the rakudo repository post christmas?
14:26 Skarsnik RabidGravy, damn I can't get proper data with a CArray[int8]
14:26 travis-ci joined #perl6
14:26 travis-ci Rakudo build failed. lizmat 'Merge pull request #676 from ilmari/stat-subsecond
14:26 travis-ci https://travis-ci.org/raku​do/rakudo/builds/101065076 https://github.com/rakudo/rakudo/c​ompare/5c0631e5dce0...e7197bd8f8d7
14:26 travis-ci left #perl6
14:27 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:29 [Coke] ah well, twitter requires faster response times than an IRC ping
14:30 * [Coke] curses Zoffix for dragging him into this.
14:30 Zoffix Look! A unicorn!
14:30 * Zoffix runs away amid the confusion
14:30 * theorb tries to remember what he was going to use ... ah, parsing!
14:32 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:33 Skarsnik Same issuehuhu
14:33 Skarsnik I get trash data in the array
14:33 Zoffix Man, this operator is really hot
14:33 Zoffix m: my %args = :libs<foo bar>, :modules<meow>; say %args ⊆ <libs modules>;
14:33 camelia rakudo-moar 7934ff: OUTPUT«True␤»
14:33 Zoffix m: my %args = :libs<foo bar>, :modules<meow>, :meow<foo>; say %args ⊆ <libs modules>;
14:33 camelia rakudo-moar 7934ff: OUTPUT«False␤»
14:33 Zoffix \o/
14:34 nine timotimo: any idea why my debug output doesn't get triggered?
14:34 _sri Zoffix: it's not anti-perl6 to point out screwups
14:34 nowan joined #perl6
14:35 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 Zoffix m: say <Stockholm syndrome> ⊆ <Perl 6 screwups>
14:35 camelia rakudo-moar 7934ff: OUTPUT«False␤»
14:35 Zoffix :D
14:36 virtualsue joined #perl6
14:36 _sri i've heard from like a dozen people that had trouble with pandas when trying your 6.c release
14:37 Zoffix Yes, and I acknowledged that portion in the tweeter conversation.
14:37 jnap joined #perl6
14:37 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:38 mspo is panda supposed to work? :)
14:38 nine mspo: absolutely
14:38 _sri Zoffix: you're also implying perl6 was usable already, but there is no way anyone would bet their company on it yet
14:38 Skarsnik RabidGravy, what kind of error you get?
14:38 llfourn nine: don't be too sorry the point is -Ofun after all :)
14:38 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
14:38 [Coke] _sri: No one is suggesting that someone bet their company on it.
14:38 _sri i think TimToady even called it production ready
14:39 [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.
14:39 [Coke] Seems like it would be a burden to have to listen to us talk about how much we like it.
14:39 llfourn _sri: it is if you are trying to produce fun :)
14:39 nine _sri: surely there is a spectrum between "unusable" and "bet your company on it"?
14:40 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.
14:40 Quom__ jnap: A while ago, JSON::Tiny served a bit of a role as that :)
14:40 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 :)
14:40 Zoffix jnap, I'm quite proud of https://github.com/zoffixznet/perl6-Test-Output
14:40 [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.
14:41 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
14:41 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): https://github.com/zoffixznet/perl6-DOM-Parser
14:41 _sri [Coke]: "if you don't think so"?
14:41 jnap I see a few things around with meta.info, should I cargo cult that?
14:42 Zoffix jnap, yeah
14:42 Zoffix 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.
14:42 Zoffix huggable, module Test::META
14:42 Skarsnik Should be add on the front page of perl6.org that the Christmas release has issue with panda and stuff?
14:42 huggable Zoffix, Link to module: http://modules.perl6.org/repo/Test::META
14:42 jnap cool thanks!  do we think regex are still the way to go, or should I not be using the cool new grammar stuff?
14:42 Zoffix Skarsnik, does it still?
14:43 mspo https://gist.github.com/mspo​rleder/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.
14:43 jnap Zoffix: I'll fork that and see what I can do.
14:43 FROGGS nine: did you disable JIT?
14:43 RabidGravy Skarsnik, I'm struggling to find a way to construct a suitable CArray
14:43 FROGGS nine: did you disable or spesh or so?
14:43 Zoffix jnap, my (possibly ignorant) suggestion is to go with a regex, because grammars are slow.
14:43 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".
14:43 FROGGS nine: err, "or spesh or so?"
14:44 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
14:44 nine 0
14:44 _sri [Coke]: think i've been here from the start, and in #parrot...
14:44 FROGGS nine: lemme check
14:44 Zoffix jnap, I think http://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
14:44 Skarsnik No it does not
14:44 jnap ok, so grammars maybe too slow right now?
14:45 frankjh joined #perl6
14:45 Skarsnik and I think writing a full html5 parser in perl6 is too much (useless) work
14:45 Zoffix Skarsnik, why?
14:45 llfourn Skarsnik: isn't there a few of those already?
14:45 Zoffix Skarsnik, we're also talking about a port, not from scratch
14:45 Skarsnik Because it's too big?
14:46 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
14:46 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
14:46 Skarsnik Zoffix, RabidGravy it should be in Test I think x)
14:47 RabidGravy feel free to adapt the code :)
14:47 FROGGS nine: I like get a gazillion lines of output when running your one liner
14:47 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
14:48 * 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);
14:48 leont I'd rather go into the direction of an extensible testing framework
14:48 _sri [Coke]: but maybe you're right, i don't belong here anymore
14:48 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".
14:48 Zoffix Skarsnik, do you mean using a C lib?
14:48 Zoffix Skarsnik, I don't think that's very user-friendly
14:48 _sri left #perl6
14:49 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
14:49 Zoffix Also: Windows
14:49 mspo wouldn't panda/zef compile the c lib for you?
14:49 Skarsnik how about DBIish/sqlite?
14:49 mspo also C works on windows :)
14:50 donaldh joined #perl6
14:50 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
14:50 Zoffix mspo, Windows doesn't come with a C compiler.
14:50 FROGGS nine: how do I reproduce that global_merging explosion?
14:50 Skarsnik You can always provide a dll if the lib is standalone for windows
14:50 Zoffix mspo, and authors aren't bundling the C lib
14:50 FROGGS Zoffix: you can ship prebuild dlls
14:51 Zoffix FROGGS, that's good.
14:51 FROGGS Zoffix: I did that with Alien::SDL and others (P5)
14:51 nine FROGGS: https://rt.perl.org/Ticket/Display.html?id=127107 has a simple test case
14:51 FROGGS these alian dists let you choose to use system libs, build the libs from source, and use prebuild libs
14:53 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?
14:53 Zoffix mspo, ??
14:54 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)
14:54 FROGGS nine: I can reproduce btw
14:54 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.
14:54 RabidGravy mspo, it is at option for the module author to bundle and compile the library, this doesn't really work for some stuff
14:55 mspo Zoffix: as in https://github.com/antirez/linenoise.git first
14:55 FROGGS nine: and there is a copy&paste in the module loader code
14:55 hoelzro mspo: you don't need to
14:55 yoleaux 08:44Z <nine> hoelzro: \o/ thanks a lot!
14:55 [Coke] For the logs, anyway, I wasn't asking _sri to leave. I was trying to ask what he got out of it.
14:55 FROGGS nine: look at line 146
14:55 hoelzro linenoise.c is bundled with Linenoise
14:55 mspo k
14:55 Zoffix mspo, I think you're confusing me with something. I've no idea what you mean :)
14:55 Zoffix s/something/someone/;
14:55 [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.
14:55 yoleaux [Coke]: I'll pass your message to _sri.
14:55 Skarsnik Zoffix, actually you can install the lib yourself and set a ENV variable
14:55 Zoffix [Coke], that's how I saw it too
14:56 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"?
14:56 Zoffix Skarsnik, I'm a Perl 6 user not a C library installer.
14:56 Skarsnik but since META.info is actually blind to external dep, it can't tell you
14:56 Zoffix :(
14:57 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
14:57 Skarsnik Zoffix, well if you have compiler right, you can compile sqlite yourself and tell DBIish:sqlite where to find it
14:57 nine FROGGS: you mean the source/target thing? Already noticed, but it's unrelated to this issue
14:57 llfourn *it did sound like you were saying
14:57 FROGGS nine: k
14:57 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.
14:57 Zoffix Skarsnik, and I don't KNOW how to compile things :)
14:58 FROGGS nine: you can leave that bug to me if you want
14:59 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.
14:59 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.
14:59 FROGGS nine: not yet
14:59 Skarsnik Zoffix, you hit an another issue: having to provide prebuilded library for some plateform :)
14:59 FROGGS nine: but I know that code path quite well
15:00 nine Then you have a clear advantage there :)
15:01 llfourn theorb: I haven't seen a good tutorial unfortunetly. but check out: http://rosettacode.org/wiki/Re​ad_a_configuration_file#Perl_6
15:01 llfourn hopefully that' sone of the examples that still works!
15:01 RabidGravy also the grammars page in the docs has a reasonable csv example
15:02 llfourn theorb: ^ that's probably better
15:02 llfourn it shows you "actions"
15:02 Skarsnik Zoffix, I am curious, did you try to build the stuff Mojo::UserAgent does with H:P:X?
15:03 Skarsnik 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 #perl6
15:04 Zoffix What stuff?
15:04 theorb Oh, a grammar just gets a .parsefile method?  That's nice and simple...
15:05 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
15:05 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);
15:05 camelia rakudo-moar 7934ff: OUTPUT«Cannot modify an immutable NativeCall::Types::CArray[uint8]␤  in block <unit> at /tmp/ZXAfFUUccf line 1␤␤»
15:06 Skarsnik duh
15:06 Zoffix Skarsnik, no, I haven't tried. Mojo::DOM by far outclasses XML document in terms of usability.
15:06 rindolf joined #perl6
15:06 llfourn Mojo::DOM is awesome
15:07 frankjh refresh-content
15:08 jnap I wish sri hadn't left, I understand his frustration I think.
15:08 Cabanossi joined #perl6
15:09 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
15:09 lucasb with optimize, it's that message: ===SORRY!=== Cannot find method 'value'
15:10 Zoffix Skarsnik, I'll wait and see what jnap comes up with :)
15:10 llfourn Skarsnik: it uses css selectors
15:11 Skarsnik hm I could maybe use your Test::Output for gptrixie
15:11 Zoffix lucasb, there's a ticket for the latter: https://rt.perl.org/Ticket/Display.html?id=127207
15:12 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 :)
15:13 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:14 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
15:15 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.
15:16 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 #perl6
15:16 jnap Zoffix: my understanding of all that stuff is so limited I'm probably just babbling :)
15:16 Zoffix :)
15:17 El_Che https://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)
15:17 RabidGravy Skarsnik, ah, there's some double binding hack
15:17 Zoffix El_Che, -_-
15:18 Zoffix Skarsnik, ever or just right now?
15:18 Zoffix Skarsnik, because if P6 is always going to be too slow to write an HTML parser in, we've got major problems XD
15:18 Skarsnik RabidGravy, I just want to read this data but I get junk stuff
15:18 Skarsnik for probably a long time :)
15:19 Zoffix :)
15:20 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
15:20 Zoffix Skarsnik, do we already have Gumbo bindings?
15:20 Skarsnik Yes
15:20 Zoffix I'm looking for a project to learn NC with
15:20 RabidGravy Skarsnik, how are you going from CArray to Str?  Surely you need to go CArray -> Buf -> Str to get the encoding right?
15:20 Skarsnik huggable, module Gumbo
15:20 huggable Skarsnik, Link to module: http://modules.perl6.org/repo/Gumbo
15:20 sftf joined #perl6
15:20 [Coke] it might help to --profile it, figure out where the slowdown is.
15:21 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?
15:21 RabidGravy FWIW I'm still sitting on the one pass grammar Term::Cap because it is unusably slow
15:22 Skarsnik s/=/~=/
15:22 RabidGravy Skarsnik, try a Buf in there
15:22 Skarsnik NC does not let have a Buf on the CStruct :)
15:22 RabidGravy i.e. copy the element of the CArray to a Buf then decode
15:23 dalek rakudo/nom: 793bf3b | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp:
15:23 dalek rakudo/nom: Fix copy&pasto in Perl6::ModuleLoader
15:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/793bf3bbb0
15:23 RabidGravy Mmmm copypasta
15:24 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
15:27 [Coke] jnap++
15:28 marmay joined #perl6
15:29 Zoffix left #perl6
15:29 Skarsnik There was not libxml binding?
15:30 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:31 lucasb maybe @a[0] ~~ SomeType
15:31 lucasb @a[*-1] ~~ SomeType
15:31 Skarsnik I think there is a first?
15:31 Skarsnik but not a last
15:31 lucasb first(:end) ?
15:31 Skarsnik say (1..4).first
15:31 Skarsnik m: say (1..4).first
15:31 camelia rakudo-moar 793bf3: OUTPUT«1␤»
15:32 Skarsnik m: say (1..4).tail.WHAT
15:32 camelia rakudo-moar 793bf3: OUTPUT«(Seq)␤»
15:32 marmay lucasb: Ah, thanks.
15:32 Skarsnik I don't know why there is a first but nota  last x)
15:33 leont Because first is something one uses a lot more often that last?
15:34 nine ^5.first(* %% 2).say
15:34 nine m: ^5.first(* %% 2).say
15:34 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" …»
15:34 nine m: (^5).first(* %% 2).say
15:34 camelia rakudo-moar 793bf3: OUTPUT«0␤»
15:34 nine because that's what first is for
15:35 RabidGravy Skarsnik, I think FROGGS started a libxml thing, dunno what shape it's in
15:38 joydon joined #perl6
15:41 FROGGS RabidGravy: still WIP
15:41 FROGGS RabidGravy: kinda usable for very simple things
15:42 RabidGravy :)
15:46 FROGGS you can parse xml/html and walk the node for example
15:50 Zoffix joined #perl6
15:51 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
15:51 lucasb *I noticed some...
15:51 RabidGravy I'm holding off on making an XSLT thing at the moment
15:51 Zoffix moritz, 6 packets transmitted, 0 received, 100% packet loss, time 5038ms
15:51 moritz Zoffix: thanks
15:53 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 #perl6
15:54 Zoffix lucasb, yes, https://github.com/perl6/doc/issues/209
15:55 lucasb Zoffix++, you already found that
15:55 Skarsnik hm, how I do group that match . and exlude some stuff?
15:57 Skarsnik 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…»
15:57 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";
15:57 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␤␤»
15:57 Zoffix nice error :)
15:58 Zoffix 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␤␤»
15:58 Zoffix ^_^
15:58 Skarsnik Zoffix you are not allowed
15:59 Zoffix /o\
15:59 muraiki joined #perl6
16:00 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 :) http://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 :/
16:03 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" };
16:03 camelia rakudo-moar 793bf3: ( no output )
16:03 Zoffix This gives me a really weird error on my home box: https://gist.github.com/zoff​ixznet/f345e8d74e13e798ebdb
16:03 Zoffix "write string requires an object with REPR MVMOSHandle"
16:04 nine FROGGS: both?
16:04 Zoffix Ah. I know why. Complaining it ain't got nothing to write into
16:04 FROGGS nine: yes
16:05 Skarsnik hm closing stdout/err should just output nothing
16:06 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:07 RabidGravy any gdb guru in the house?
16:08 RabidGravy what does it mean when it say "index = <optimized out>" ?
16:09 Zoffix ehhhhh  This answers my question: https://github.com/rakudo/rak​udo/blob/nom/lib/Test.pm6#L24
16:10 CurtisOvidPoe Desperately looking forward to the day when clients hire me for Perl 6 work instead of Perl 5.
16:11 pyrimidine joined #perl6
16:11 Zoffix Seems I wrote Test::Output last night for every case except the one I actually wanted to use it for X)
16:11 Zoffix Unless there's some way to temporarily make $PROCESS::OUT save output into my variable, same as I can with $*OUT
16:12 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
16:12 CurtisOvidPoe AlexDaniel: Agreed. Most new languages, if they take off, still take 2 to 3 years before they start getting traction.
16:12 awwaiid muraiki: your solution looks cool, I especially like the use of :k
16:13 pyrimidine I had someone post a bug that seems related to precomp, any ideas?  Works locally for me https://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)
16:13 muraiki awwaiid: yeah, when I saw :k I was really happy :)
16:13 colomon joined #perl6
16:13 pyrimidine My guess is the install needs to be nuked
16:14 Zoffix That's not my guess
16:14 geekosaur also note that x86_64 can pass values in registers...
16:14 Zoffix pyrimidine, having the same issue. Hang on
16:14 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)
16:14 pyrimidine Zoffix: glad to see someone can reproduce
16:14 geekosaur s/pass values/pass parameters/
16:14 nine pyrimidine: that looks....odd
16:14 pyrimidine . o O ( that came out wrong )
16:15 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
16:15 Skarsnik m: say "hello stuff/*" ~~ /([.[-/]])+/
16:15 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…»
16:15 DrForr Next Sunday A.D.?
16:16 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 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/*" ~~ /([.[-\/]])+/
16:16 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…»
16:16 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)
16:16 Skarsnik m: say "hello stuff/*" ~~ /([.-\/])+/
16:16 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/…»
16:16 dalek ecosystem: 77ea9df | jnthn++ | META.list:
16:16 dalek ecosystem: Add Concurrent::Iterator.
16:16 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/77ea9df793
16:16 Skarsnik I am confused ><
16:16 awwaiid muraiki: yeah ... I was similarly eyeballing the "last", but it's just space so /./ isn't better
16:16 Zoffix pyrimidine, the issue is you're missing Bio::Role::Annotation from the `provides` section of your META file
16:16 AlexDaniel Skarsnik: ..
16:16 pyrimidine ah
16:17 AlexDaniel Skarsnik: ah!
16:17 AlexDaniel Skarsnik: well, ‘’ then
16:17 pyrimidine Zoffix: will fix that now
16:17 awwaiid m: <a b 5>.last: * ~~ /\d/
16:17 camelia rakudo-moar 793bf3: OUTPUT«Method 'last' not found for invocant of class 'List'␤  in block <unit> at /tmp/TF9jX9gnHk line 1␤␤»
16:17 Skarsnik I want to match everything in . but not /
16:17 pyrimidine Zoffix: do we have a way of autogenerating that if needed?
16:18 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…»
16:18 AlexDaniel m: say "hello stuff/*" ~~ /([^\/])+/
16:18 camelia rakudo-moar 793bf3: OUTPUT«Nil␤»
16:18 AlexDaniel m: say "hello stuff/*" ~~ /[^\/]+/
16:18 camelia rakudo-moar 793bf3: OUTPUT«Nil␤»
16:18 Skarsnik m: say "hello stuff/*" ~~ /([-\/]+)/
16:18 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…»
16:18 AlexDaniel m: say "hello stuff/*" ~~ /<[^\/]>+/
16:18 camelia rakudo-moar 793bf3: OUTPUT«「/」␤»
16:18 AlexDaniel m: say "hello stuff/*" ~~ /<-[\/]>+/
16:18 Skarsnik m: say "hello stuff/*" ~~ /(<-\/>+)/
16:18 camelia rakudo-moar 793bf3: OUTPUT«「hello stuff」␤»
16:18 camelia 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…»
16:18 AlexDaniel m: say "hello stuff/*" ~~ /<-[\/]>+/ # here it is
16:18 camelia rakudo-moar 793bf3: OUTPUT«「hello stuff」␤»
16:19 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
16:19 Zoffix pyrimidine, probably 3 more too. You have 30 lines in `provides`, but `find lib/ -iname '*.pm*' | wc -l` gives 34.
16:19 AlexDaniel Skarsnik: [] is <[]> and [^…] is <-[]>
16:19 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
16:19 AlexDaniel Skarsnik: does it help?
16:19 FROGGS nine: though, I suspect it is not the right way to fix it
16:19 AlexDaniel m: say "hello stuff/*" ~~ /<![\/]>+/
16:19 camelia rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970162176 bytes␤»
16:19 AlexDaniel what
16:19 Skarsnik lol
16:20 Zoffix pyrimidine, there's http://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 (https://github.com/zoffixznet/perl6-Chromatin) it's a dist-minting tool I plan to make ^_^
16:20 AlexDaniel m: say "hello stuff/*" ~~ /<-[‘/’]>+/
16:20 camelia rakudo-moar 793bf3: OUTPUT«「hello stuff」␤»
16:20 pyrimidine Zoffix: nice, and very bio-named :)
16:20 Zoffix ;)
16:22 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
16:23 FROGGS nine: I'm trying now to decont in Stash.pm
16:24 PerlJam good * #perl6
16:25 stmuk__ https://cr.yp.to/cdb.html might be easier to NativeCall than gdbm
16:25 stmuk__ if it's available as a .so I forget
16:25 AlexDaniel m: say ‘x’ ~~ /<![y]>+/
16:26 camelia rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970194944 bytes␤»
16:29 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
16:30 Skarsnik Don't use str
16:30 siriu5b_ i know
16:30 siriu5b_ blob or ...
16:30 PerlJam siriu5b_: you want to know how to convert a string into a blob of buf?
16:30 AlexDaniel Skarsnik: I don't know, but it is less than awesome
16:31 siriu5b_ if it's the major problem ... so yes PerlJam :D
16:31 moritz .encode
16:32 moritz AlexDaniel: <!...> is a zero-width assertion
16:32 moritz AlexDaniel: and yes, quantifying those is a known bug
16:32 AlexDaniel moritz: oh
16:32 PerlJam siriu5b_: what moritz said
16:32 siriu5b_ thanks :)
16:32 moritz AlexDaniel: <-[y]> if you want a negated char class
16:33 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?
16:33 AlexDaniel moritz: is there a ticket for that?
16:33 PerlJam siriu5b_: $str.encode gives you utf8 by default IIRC btw
16:33 moritz AlexDaniel: yes
16:34 AlexDaniel https://rt.perl.org/Public​/Bug/Display.html?id=75586 as far as I can see
16:34 AlexDaniel m: say 'a' ~~ m/''*/
16:35 camelia rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970981376 bytes␤»
16:35 AlexDaniel moritz: okay, thank you!
16:35 nine FROGGS: when Stash entries are not containerized, assignment to dynamic variables like $*CWD is broken.
16:36 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:37 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?
16:37 FROGGS nine: maybe we can remove it later on...
16:38 zwu joined #perl6
16:38 Zoffix pyrimidine, forgot to mention: there's Test::META module that would've detected your issue if you were using it :) http://modules.perl6.org/repo/Test::META
16:39 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
16:40 Zoffix 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␤»
16:40 zwu I'm confused, isn't $_ is the unamed parameter?
16:40 Zoffix zwu, it's the topicalizer. And the above code suggests me your code is wrong.
16:40 Zoffix As in, it shouldn't be a .print, but something else
16:41 Zoffix m: sub foo { .say }; given 'Foobar!' { foo }
16:41 camelia rakudo-moar 793bf3: OUTPUT«(Any)␤»
16:42 nine FROGGS: btw. a single character fix to Grammar::Tracer has the same effect: EXPORTHOW::<grammar> := TracedGrammarHOW; instead of EXPORTHOW::<grammar> = TracedGrammarHOW;
16:43 zwu the code example is in https://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
16:43 Zoffix Ah
16:43 moritz not through routines
16:44 moritz the defaull signature for blocks is $_ = $OUTER::_
16:44 moritz and for subs it's *@_ iirc
16:44 zwu Ah, I see, $_ is the for the block parameters, will there be multiple parameters passed to block? and How to do that?
16:46 dalek rakudo/nom: 2d91f08 | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp:
16:46 dalek rakudo/nom: Fix rare "duplicate definition of symbol" errors
16:46 dalek rakudo/nom:
16:46 dalek rakudo/nom: When an EXPORT or EXPORTHOW routine assigns a symbol as in:
16:46 dalek rakudo/nom: EXPORTHOW::<grammar> = TracedGrammarHOW;
16:46 dalek rakudo/nom: instead of binding it, the test in Perl6::ModuleLoader::merge_symbols for
16:46 dalek rakudo/nom: equivalence of source and destination symbols fails because it compares
16:46 dalek rakudo/nom: the containers of those symbols instead of the symbols themselves.
16:46 dalek rakudo/nom:
16:46 dalek rakudo/nom: Fix by always decont'ing before comparison.
16:46 dalek rakudo/nom:
16:46 dalek rakudo/nom: Many, many thanks to FROGGS++ for finding the final piece of this puzzle!
16:46 dalek rakudo/nom:
16:46 dalek rakudo/nom: Fixes RT #127107
16:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2d91f08585
16:47 Skarsnik https://github.com/perl6/DBIish/issues/47 should I put 18 for the version of libmysqlclient? considering the code works with older version
16:49 RabidGravy nine++
16:49 azawawi joined #perl6
16:49 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: https://gist.github.com/zoff​ixznet/124a0350f4fd61583d3f
16:49 azawawi hi
16:49 rindolf azawawi: meow!
16:50 azawawi rindolf: :)
16:51 rindolf azawawi: sup?
16:51 leont zwu: $_ is lexical
16:52 azawawi rindolf: reading about arduino and Perl :)
16:52 rindolf azawawi: ah.
16:52 Skarsnik m: https://gist.github.com/zoff​ixznet/124a0350f4fd61583d3f
16:52 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…»
16:53 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
16:54 Zoffix Party time: http://www.pcworld.com/article/30195​38/windows/microsoft-officially-dump​s-internet-explorer-8-9-and-10.html
16:54 rindolf azawawi: someone was on ##programming asking about how to program C++ for Arduino with no prior programming experience.
16:54 RabidGravy azawawi, so you'll be making a serial module then :)
16:54 azawawi Zoffix: alright :)
16:54 rindolf azawawi: I told him he should start with something easier and he didn't listen.
16:55 azawawi rindolf: true
16:55 rindolf azawawi: they hardly ever do.
16:55 azawawi rindolf: rpi is easier with the python route i took 2 years ago :)
16:56 RabidGravy to be honest the arduino c++  shields you from the gory details
16:56 rindolf azawawi: OK.
16:57 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
16:58 alpha123 lots of docs, you can make cool stuff, etc
16:58 azawawi i read that the difficult thing about is the debugging part
16:58 alpha123 granted c++ will probably scar him for life
16:58 azawawi but that holds for every device out there if you think of it
16:59 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:01 pnu I'm trying to move the whole .rakudobrew directory to another path, temporarily, because of build deployment stuff.
17:02 Skarsnik I don't think you can
17:02 Skarsnik rakudobrew is not mean to be used outside its scope ^^
17:03 azawawi alpha123: rpi + breakout for pins then yes... otherwise it is a mess :)
17:03 pyrimidine Zoffix: thx, that helps tremendously!
17:08 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.
17:09 AlexDaniel arduino + perl 6? Huh?
17:10 Skarsnik Look like arduino + C + perl6 probably x)
17:11 alpha123 given the current state of perl6 compilers, embedded programming seems rather optimistic
17:12 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;"? https://gist.github.com/zoff​ixznet/40062b484b67096ac0d8
17:12 Zoffix By "breaks", I mean I get output in the terminal and not in the $x
17:12 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 #perl6
17:13 davercc joined #perl6
17:15 azawawi RabidGravy: on what?
17:17 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
17:18 Skarsnik Zoffix, I give you a (╯°□°)╯︵ ┻━┻
17:18 nemo Skarsnik: it's funny how much of my .XCompose consits of silly stuff like that
17:19 nemo *consists
17:19 Skarsnik I copy paste it from Discord that have a command for that xD
17:19 Zoffix nemo, for some reason the file you added to docs doesn't work for me :/
17:19 Zoffix It got ⊆ as '{=(', but by the time I press =, I get the normal '='
17:20 Floyd-ATC joined #perl6
17:20 nemo Zoffix: the .XCompose?
17:20 Zoffix yeah
17:20 nemo hm
17:21 nemo oh
17:21 ilmari Zoffix: is it a gtk app? the default input method has hard-coded built-in compose maps
17:21 nemo um
17:21 nemo ilmari: oh. lol
17:21 Zoffix xchat and Sublime Text 2
17:21 ilmari Zoffix: right-click the text field, choose input methods -> X Input Method
17:21 Zoffix Palemoon
17:21 nemo Zoffix: yeah... definitely verify if you can do *any* of those in .XCompose
17:21 nemo Zoffix: like for example ← → ↓ ↑
17:22 Zoffix What are the codes for those?
17:22 Zoffix *sequences
17:22 nemo left left  right right down down up up
17:22 Zoffix nope
17:22 nemo ok. yeah. you're using stupid hardcoded stuff
17:22 Zoffix :(
17:22 nemo Zoffix: that's why I mentioned the env var in the doc
17:22 nemo Zoffix: and maybe need for a bridge
17:22 nemo no idea why GNOME did that stupidity
17:22 Zoffix k, not today then
17:22 nemo NIH syndrome?
17:23 [Coke] is Test::Util installed?
17:24 * 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 #perl6
17:24 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 mohae_ joined #perl6
17:25 Zoffix Already did
17:25 nemo ok
17:25 Zoffix *loggeedout
17:25 nemo $ env | grep xim
17:25 nemo GTK_IM_MODULE=xim
17:26 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?
17:26 llfourn Floyd-ATC: just rakudobrew build moar
17:26 Skarsnik and nuke before
17:26 Skarsnik I don't think the 2015.12 will far well x)
17:27 Floyd-ATC oh ok
17:27 gensym_ joined #perl6
17:27 Zoffix not there
17:27 Zoffix Gonna add
17:27 nemo Skarsnik: yes
17:28 mindos joined #perl6
17:29 Floyd-ATC I have no idea what I'm doing \o/
17:30 TimToady that's okay, neither do we :)
17:31 saaki o/ is there a rakudobrew analogue for "perlbrew lib"?
17:31 Zoffix saaki, what does "manage local directories" mean?
17:32 saaki ?
17:32 Zoffix ah
17:32 Zoffix saaki, none that I know of
17:33 Zoffix 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
17:34 saaki Zoffix: oh ok, i did "perlbrew help lib" and didn't see that :)
17:35 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 Zoffix Pretty hackety
17:35 mst saaki: yeah, inventing local::lib for perl6 is on my list of things to do at some point ;)
17:35 lostinfog joined #perl6
17:35 Zoffix mst++
17:35 saaki mst <3
17:37 Zoffix This is starting to feel like work.
17:37 * Zoffix leaves to play Warframe for the rest of the day
17:38 saaki have really liked python's virtualenv, seems far less messy than the perlbrew lib and carton juggling
17:39 [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 #perl6
17:42 nine I wonder if local::lib is actually necessary, since you can cut the repo-chain or completely replace it easily
17:43 frankjh joined #perl6
17:43 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...
17:44 TimToady .oO(location, location, location)
17:44 TimToady .oO(identity, identity, identity)
17:44 [Coke] that's the only failure I see.
17:45 domidumont joined #perl6
17:45 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:46 RabidGravy I'm putting this aside for a while, as a combination of things are making it difficult to debug https://github.com/jonathanstowe/p6-GDBM
17:46 Ch0c0late joined #perl6
17:47 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 [Coke] muraiki: https://gist.github.com/coke/e94f9a76b04dae359ecf
17:47 muraiki [Coke]: awesome :) thank you again
17:49 nzkindest joined #perl6
17:50 mst saaki: if you're already using carton, why not 'carton exec' rather than faffing with perlbrew lib?
17:50 mst or, honestly, 'perl -Ilocal/lib/perl5 ...'
17:50 mst or App::MyPerl
17:50 [Coke] muraiki: fixed it. will poke at golfing more.
17:50 saaki seems easier to dev with perlbrew lib
17:51 muraiki [Coke]: thanks, I have to head out but might be back on later
17:51 schnuppi joined #perl6
17:52 leont Wasn't there a way to define a callable with a specific prototype? I remember something like add :(:$foo) to the type
17:53 RabidGravy you mean like
17:53 * masak .oO( prototype? )
17:53 leont s/prototype/signature/
17:53 leont p5isms die hard
17:54 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␤␤»
17:54 RabidGravy m: sub foo( &foo :(Int $b) ) { };  sub bar(Int $a) { };  foo(&bar)
17:54 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:…»
17:54 RabidGravy or something like that
17:55 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 #perl6
17:55 AlexDaniel since when the output of camelia became colored?
17:55 mst I tend to have a single perl in path, and my scripts to 'use lib "$FindBin::Bin/../local/lib/perl5";
17:55 mst so I cd into a project directory
17:56 mst run 'carton install'
17:56 mst then I can just do 'script/foo.pl'
17:56 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)
17:56 camelia rakudo-moar 2d91f0: OUTPUT«42␤»
17:57 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␤␤»
17:57 AlexDaniel geekosaur: but this last thing looks like IRC colors
17:57 saaki mst: ah, yes, then there is building and switching perl versions, perlbrew makes that easy too
17:58 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)
17:58 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:␤…»
17:58 leont Possibly my problem is that I'm trying to use it in has
17:58 ilmari AlexDaniel: no space between &foo and :(...)
17:58 AlexDaniel ilmari: heh, I just wanted to trigger that error message :)
17:59 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; }␤»
17:59 AlexDaniel geekosaur: and I bet that I've never seen that before…
17:59 saaki mst: ah right, good point
17:59 RabidGravy leont, at this point you might want a subset
17:59 pierrot joined #perl6
17:59 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
18:00 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:…»
18:00 geekosaur however note that this only happens for compile time errors
18:00 geekosaur I don't think runtime errors have ever been colored
18:02 AlexDaniel in fact, even compile time errors are sometimes not colored
18:02 autogen_ joined #perl6
18:03 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␤  …»
18:03 lucasb m: (0,7);m:                                 1 2
18:03 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␤  …»
18:03 lucasb AlexDaniel: do you like those colors? :)
18:03 firstdayonthejob joined #perl6
18:03 pmurias joined #perl6
18:03 pmurias hi
18:03 hoelzro o/ pmurias
18:04 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 abraxxa1 joined #perl6
18:05 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:
18:05 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)␤»
18:06 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 #perl6
18:09 RabidGravy Okay, what's this about, this one works:
18:09 RabidGravy m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo(Int $a) { };  say Foo.new(cb => &foo)
18:09 camelia rakudo-moar 2d91f0: OUTPUT«Foo.new(cb => sub foo (Int $a) { #`(Sub|86641400) ... })␤»
18:09 sortiz joined #perl6
18:09 RabidGravy and, this does as I expected:
18:10 RabidGravy 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␤␤»
18:10 RabidGravy but:
18:10 RabidGravy m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo() { };  say Foo.new(cb => &foo)
18:10 camelia rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List'␤  in block <unit> at /tmp/pBMZhvPJRF line 1␤␤»
18:10 RabidGravy what's that all about?
18:11 RabidGravy what immutable List?
18:11 lucasb m: sub () {}.signature ~~ :(Int)  # shorter
18:11 camelia rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List'␤  in block <unit> at /tmp/LkFWzBdOgg line 1␤␤»
18:12 lucasb maybe smartmatching signatures has some problems
18:12 RabidGravy ah, it is shifting the params
18:13 RabidGravy 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␤␤»
18:13 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?
18:14 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 #perl6
18:14 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.
18:15 [Coke] 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 todd_ giving a  shot "cd ./http-useragent; panda install ./"
18:16 ugexe which is why it still needs to fetch meta data etc
18:16 timotimo nine++, FROGGS++ # symbol merge fix
18:16 timotimo i'm annoyed i didn't think of that
18:17 todd_ connection timed out getting metadata, can I manually get that metadata?
18:18 abraxxa joined #perl6
18:18 RabidGravy todd_, the problem is that HTTP::UserAgent has dependencies which it will have to install remotely
18:20 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
18:21 todd_ the panda install from the http-useragent directory fails,  how else should I be doing this?
18:21 todd_ is there a perl Buildfile.PL equivalent that I don't know about?
18:22 ugexe http://ecosystem-api.p6c.org/projects.json if you place this in some spot (I dont know off hand) it should be enough
18:23 uruwi joined #perl6
18:24 sbaxbo joined #perl6
18:24 lucasb https://github.com/rakudo/rakudo/b​lob/nom/src/core/Signature.pm#L25
18:24 timotimo ./share/perl6/site/panda/projects.json maybe?
18:25 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 lucasb idk, this is just my interpretation
18:26 lucasb 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:30 lucasb oops, [].shift also fails!, so no, that won't work. I thought shifting an empty array would return Nil or something
18:31 RabidGravy todd_, if you stick the projects.json in .rakudobrew/moar-nom/install/shar​e/perl6/site/panda/projects.json (or wherever your rakudo is installed) it shouldn't have to fetch it
18:37 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
18:37 RabidGravy nine, yes
18:37 Calibellus joined #perl6
18:40 vividsnow joined #perl6
18:41 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:43 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
18:43 ugexe i keep a git repo of the ecosystem meta data to solve it https://github.com/ugexe/Perl6-​ecosystems/blob/master/p6c.json
18:44 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
18:44 timotimo mst: i wonder if we could just do a little survey of a bunch of online perl6 places about this?
18:45 mst TimToady: that depends entirely on what conclusion you're trying to make the data fit, I suspect
18:45 mst timotimo: or get the various perl6-as-first-perl people to be more visible via blogs etc. or ... dunno
18:45 TimToady maybe we should build an Iron Curtain to prevent people from switching
18:45 lucasb .oO( non-perl5 people in this channel, please raise your hand )
18:46 mst that's not going to help, we can't see their hands over IRC!
18:46 * llfourn puts his hand down
18:46 TimToady or maybe we should have an immigration quota
18:47 DrForr Easy enough, considering the online perl places consist of here and a few blogs :)
18:47 TimToady and just set the immigration quota much higher for Java refugees
18:49 TimToady immigrants from various FP languages could request religous asylum
18:49 TimToady *gious
18:49 timotimo or maybe i'm just mostly considering people who are contributing to core and modules, rather than people just checking perl6 out?
18:50 [Coke] (fallback to curl) .. that's probably much nicer than forcing the huge dep into panda.
18:50 [Coke] good thinking
18:50 timotimo that might be a dumb mistake anyway
18:52 mspo panda could embed a tiny http client
18:52 ugexe it used to
18:52 mst has anybody written a tiny http client?
18:53 timotimo it used to be a simple http client, then it became a simple http client with support for proxies ...
18:53 timotimo dunno if it got any further
18:53 mspo can anyone tell me why my panda doesn't work at all? https://gist.github.com/mspo​rleder/4e9fa7c1429f2ca9362f
18:53 mspo or does panda try to call out to git?
18:54 [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 Psyche^_ joined #perl6
18:55 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"
18:55 RabidGravy except if there is a proxy involved
18:56 mst I mean, the idea is to minimise the situations where things isn't easy
18:56 mst this is toolchain/systems type work, you'll never make it work everywhere
18:56 RabidGravy yeah, on the face of it, not that hard
18:56 ugexe mspo how old is your rakudo?
18:56 mst if you try, some bugger will run it on a Nintento DS or something and prove you wrong
18:57 [Coke] "don't know how to no precomp" sounds old.
18:57 [Coke] mspo: perl6 --version ?
18:57 mst (yes, somebody actually got microperl running on a DS ... only time I've ever blessed somebody's non-use of CPAN ;)
18:58 RabidGravy there's some weirdos about aren't there
19:01 mspo This is perl6 version 2015.11 built on MoarVM version 2015.11
19:03 hankache joined #perl6
19:03 hankache good * #perl6
19:05 lucasb ^^ santa claus missed visiting someone
19:05 hoelzro o/ hankache
19:06 El_Che hehe. From the backlog it looks like TimToady is in a good mood :)
19:06 hoelzro should POD after =finish be parsed?
19:06 hoelzro I put some POD after =finish (a la POD after __END__ in P5), and perl6 --doc doesn't render it
19:06 hankache hi hoelzro
19:08 mspo wow erlang might actually add unix socket support soon
19:09 hankache hoelzro is it by design or the render is bogus?
19:10 hoelzro hankache: that's what I'm wondering
19:10 hoelzro "This means that the parser will treat all the remaining
19:10 hoelzro 1572 text in the file as Pod, even if it is not inside an explicit block"
19:10 hoelzro sounds like a bug
19:22 timotimo sounds like a bug to me
19:29 MadcapJake joined #perl6
19:32 * hoelzro rakudobugs
19:33 gtodd http://stackoverflow.com/a/24328496/2019415  is change in behaviour accurate  ?
19:35 gtodd The question is old but a wholesale  update or removal doesn't seem right. Correcting with a comment maybe better ...
19:38 [Coke] "CPAN's Perl6 documentation" ain't no such thing.
19:39 [Coke] please point at doc.perl6.org instead.
19:40 gtodd ok
19:43 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:45 chansen_ I guess you meant to address me and not [Coke]! Yes, not yet!
19:47 todd_ RabidGravy, thanks for the location to place the json file.  That worked.
19:47 RabidGravy yay!
19:47 perigrin chansen_: there's a start on github
19:47 chansen_ perigrin: URI?
19:47 perigrin hold please (I'm on 4G things are slow)
19:48 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)␤»
19:49 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!
19:49 perigrin chansen_: https://github.com/shoichikaji/perl6-HTTP-Tinyish ... I think I may have read that wrong
19:50 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"
19:51 chansen_ perigrin: Thats no port! It's using libcurl for http(s)
19:52 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"?
19:52 perigrin timotimo: no LTE is LTE.
19:53 timotimo oh, ok
19:53 perigrin I get like 12M/s on LTE, I think I get 1-2M/s on 4G
19:53 timotimo AFAIK my nexus 5 doesn't do LTE
19:53 perigrin and when it hits edge I get a paperback book.
19:53 timotimo and i don't have a data plan that lets me have LTE. also, in germany, LTE data plans are ridiculously bad.
19:53 geekosaur my n5 did lte fine
19:54 geekosaur 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"
19:55 perigrin I'm inside a building hiding by some bathrooms which I suspect is what's going on
19:55 perigrin or not ... back up to LTE now ... weird.
19:56 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
19:56 diakopter little b
19:57 timotimo that's not much :(
19:57 timotimo but worldwide ... that's not bad
19:58 timotimo the EU has come up with some kind of general maximum cost for roaming
19:58 timotimo that's a good step forward, but it's still a ridiculously low amount of data you can get for a ridiculously high price
19:58 moritz timotimo: but that (max roaming cost) isn't in place yet
19:59 timotimo ... of course not >_>
20:00 timotimo and 9 eurocent per minute or text message ... is also kind of ridiculous
20:01 gtodd mobile and roaming are passé we need to  plan for the future economy where people *stay home*
20:02 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?
20:02 gtodd so we can fly or take train from one to another in a mad rush of productivity!
20:03 AlexDaniel timotimo: well, a city is just a set of homes
20:04 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?
20:05 * TimToady thinks there are somewheres that are not homes in cities
20:05 huf only because the police keep chasing people away
20:05 diakopter timotimo: I think Fi figures you'll use mostly WiFi, but have the 256Kbps there for emergencies such as IRC and SMS
20:05 AlexDaniel TimToady: I don't know, ask a terrorist :)
20:06 TimToady how can I, we keep chasing them out of the room
20:06 timotimo diakopter: how would you have access to wifi?
20:06 gtodd we need friction and cost to be able shape and control the economics of abundance !
20:06 diakopter timotimo: I don't understand, how wouldn't you have access to WiFi
20:06 TimToady first we need traction, now we need friction...
20:07 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 )
20:07 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.
20:07 diakopter I don't understand the purpose of your absurd rhetorical question
20:08 diakopter timotimo: were we talking only about "in people's homes where they won't let you use their wifi?"
20:09 RabidGravy to be honest, the Wifi here is so bad I use a cable most of the time
20:10 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... :)
20:11 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
20:11 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?"
20:11 AlexDaniel TimToady: what's that? An exam for refugees?
20:12 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! :(
20:12 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 timotimo TimToady: i do prefer "ragequit" over "ragestay", tbh
20:12 * perigrin can't even find his marbles anymore.
20:12 diakopter I think I never had any..
20:13 diakopter todd_: what's your current obstacle
20:13 diakopter or is it Useragent module specific?
20:13 RabidGravy perigrin, strangely my tablet and the tv are fine with the wifi, my laptop and phone not so much
20:13 todd_ tests failed in Useragent, and LWP::Simple fails to build in Task::Star
20:14 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.
20:14 diakopter "I can't publish a module because someone put some crap in the module index"
20:15 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.
20:15 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-
20:16 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 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
20:16 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
20:16 todd_ I have no ploys, just asking for help.  Willing to do the work.
20:17 mst NETWORK_TESTING needs to be set for it to care about that, I think
20:17 mst certainly I got a skip based on it not being set
20:17 TimToady todd_: wasn't accusing you of that :)
20:17 RabidGravy mst, not necessarily *all*
20:17 TimToady was just using your remark to launch my own diatribe :)
20:17 todd_ is $HTTP_PROXY set from the shell's http_proxy var
20:17 mst ah. so the 'check NETWORK_TESTING' block might want to be copied to other places?
20:18 TimToady todd_: do you know about #perl6-toolchain?
20:18 mst TimToady: the trouble with ultimatums is they're only fun once
20:18 RabidGravy mst, yes, it has only been applied to places that are always trublesome :)
20:19 RabidGravy 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
20:19 TimToady lunch &
20:19 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)
20:20 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
20:20 mst this is a module being weird
20:20 DrForr Not necessarily move to, but join if you're interested.
20:20 RabidGravy todd_, no you're fine
20:21 mst hrm, does panda keep a cache of sources?
20:21 hoelzro mst: I think it does in the state file
20:21 hoelzro er, nvm, I'm dumb
20:21 hoelzro that's installation state
20:21 hoelzro I swear there's a projects.json or something that it uses
20:22 hoelzro 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
20:23 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
20:23 RabidGravy hoelzro, ?
20:23 hoelzro don't some systems (like the obsolete CGI) set HTTP_PROXY from HTTP headers of incoming requests?
20:24 * hoelzro isn't sure if modern things do this
20:24 hoelzro 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
20:24 hoelzro I'm probably just being paranoid
20:25 mst LWP::UserAgent's code traps $ENV{REQUEST_METHOD}
20:26 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)
20:26 gtodd hmm I was always on very good terms with my sibling ....
20:28 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
20:29 todd_ sounds like a place I could be helpful
20:30 todd_ since I live behind one :)
20:30 RabidGravy Skarsnik, not sure matey
20:31 todd_ LWP::Simple t/socket-sanity.t fails with nonzero exit status of 255
20:31 * abraxxa wants a Star::Trek module
20:32 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
20:33 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
20:34 diakopter my ($proxy, $proxy-port) = %*ENV<http_proxy>.split('/').[2].split(':');
20:34 diakopter well it doesn't support proxying SSL, that's for sure
20:35 diakopter when it says "Simple"......
20:36 RabidGravy well neither does h::ua to be fair, need someone clever and motivated to do the CONNECT THING
20:37 diakopter https://github.com/cosimo/perl6-lwp-​simple/blob/master/t/socket-sanity.t doesn't even use LWP::Simple
20:38 lichtkind joined #perl6
20:39 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
20:39 DrForr What Unicode character does camelia use for n/l? It's not \c[2424], at least I don't think...
20:40 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
20:40 RabidGravy I just make it do the things I need it to
20:43 lucasb DrForr: I think it's indeed U+2424.
20:43 psy_ joined #perl6
20:43 DrForr irssi must be doing something differently then.
20:45 _Gustaf_ joined #perl6
20:46 ugexe Net::HTTP is broken up into non-ua parts and has no dependencies
20:49 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:50 AlexDaniel m: say ‘␤’.ord.base: 16
20:50 camelia rakudo-moar 2d91f0: OUTPUT«A␤»
20:50 AlexDaniel right…
20:50 moritz AlexDaniel: camelia translates newlines to ␤ on output and vice versa on input
20:51 Skarsnik I wonder how to input stuff like this under Windows on a nice way x)
20:51 moritz .u ␤
20:51 yoleaux U+2424 SYMBOL FOR NEWLINE [So] (␤)
20:51 AlexDaniel moritz: yea, I know
20:52 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:53 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␤␤»
20:53 moritz m: say :16<2424>.chr.encode
20:53 camelia rakudo-moar 2d91f0: OUTPUT«utf8:0x<e2 90 a4>␤»
20:54 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␤»
20:54 moritz m: say Buf.new(:16(<E0 A5 B8>)).decode
20:54 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…»
20:54 moritz grml
20:54 DrForr E0 A5 B8 isn't even assigned, as it's U+0978 right by Devanagari.
20:56 dalek rakudo-star-daily: 0077dfd | coke++ | log/ (6 files):
20:56 dalek rakudo-star-daily: today (automated commit)
20:56 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/0077dfde70
20:58 hoelzro lucasb: sure thing!
20:59 llfourn joined #perl6
21:04 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 lizmat since the error message is going to be LTA with NaN or Inf anyway, I'm going to make it not complain for now
21:06 ugexe lizmat: can mkdir be made to `$!e = True` on success like spurt? or is there a reason not to do that?
21:07 lizmat apart from race conditions, I don't see why not
21:07 lizmat that also applies to spurt
21:07 lizmat so go ahead :-)
21:09 AlexDaniel lizmat: 126990 is related
21:10 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:11 AlexDaniel lizmat: sure, but perhaps these should be linked somehow or something
21:11 dalek ecosystem: c8b01b0 | ugexe++ | META.list:
21:11 dalek ecosystem: Re-add zef module installer
21:11 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/c8b01b0d05
21:11 lizmat I'm spectesting fix for #127207 now, will mention in the commit message
21:11 lizmat and mail to RT
21:11 AlexDaniel lizmat: personally I highly doubt that Int will ever be allowed to store Infs or NaNs
21:12 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
21:12 lizmat Ah, I see part 2 of RT #126990 has already been fixed  :-)
21:15 chansen_ ugexe: why doesn't it separate the transport from the protocol layer? That would wake it testable!
21:16 AlexDaniel lizmat: well, it's not “fixed” but perhaps the ticket could be closed, yeah. This is pretty interesting: http://irclog.perlgeek.de/​perl6/2014-08-20#i_9217322
21:17 [Coke] how many copies of 127207 are there...
21:17 [Coke] lizmat: what's the A error message?
21:18 lizmat [Coke]: not sure what you mean?
21:20 [Coke] You replaced with an awesome error message, yes?
21:21 [Coke] (as opposed to the LT A error message)
21:22 chansen_ ugexe: I have been around an implemented several UA's in perl and other languages!
21:23 chansen_ I'm quite fluent when it comes to RFC2616
21:23 dalek rakudo/nom: af87982 | lizmat++ | src/Perl6/Optimizer.nqp:
21:23 dalek rakudo/nom: At least temporary fix for RT #127207
21:23 dalek rakudo/nom:
21:23 dalek rakudo/nom: Seems the optimizer thought that all Num values where actual numeric
21:23 dalek rakudo/nom: values and not abstract things like Inf or NaN.  This patch (probably
21:23 dalek rakudo/nom: very badly) checks for that situation, and basically just emits the
21:23 dalek rakudo/nom: compile time error if it *is* an actual literal numeric value.  Else
21:23 dalek rakudo/nom: it just ignores, and it becomes a runtime error.
21:23 dalek rakudo/nom:
21:23 dalek rakudo/nom: Leaving it as an exercise to the more knowledgable Optimizer.nqp devs
21:23 dalek rakudo/nom: to make it go to the exception *and* handle the error in such a way that
21:23 ugexe i dont think anyone questions that?
21:23 dalek rakudo/nom: it won't suggest trying to coerce the value to Int/Rat/Complex first.
21:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af879820d9
21:23 jameslenz joined #perl6
21:23 lizmat [Coke]: no, it makes it a runtime error
21:23 lizmat at least for now
21:24 yurivish joined #perl6
21:27 lucasb lizmat: you used 'my $value := $op[1][2];' just once?
21:27 lizmat no, it's used twice in the stringification
21:28 lizmat 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:29 El_Che today I blocked some time at work to write some perl6. It was a good day :)
21:30 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:33 _Gustaf_ joined #perl6
21:36 sena_kun joined #perl6
21:38 setty1 joined #perl6
21:39 vendethiel joined #perl6
21:41 spider-mario joined #perl6
21:41 dalek rakudo/nom: f9039dc | lizmat++ | src/Perl6/Optimizer.nqp:
21:41 dalek rakudo/nom: Optimize the optimizer a bot, lucasb++
21:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f9039dc904
21:43 RabidGravy what you made the optimizer a bot-net?  out of the box!  ;-)
21:43 lizmat *sogh*   :-)
21:44 Skarsnik x)
21:46 moritz there's a bot-net box?
21:46 moritz does it contain doughnuts too? :-)
21:47 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␤␤»
21:47 masak m: class C { has $.x = D::E.new }; class D::E {}; C.new
21:47 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␤␤»
21:47 * masak submits rakudobug
21:48 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:50 lucasb acronym bot: resident set size (RSS)
21:51 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?
21:52 moritz timotimo: I'm not aware of a means to do that; why would you even want that?
21:52 moritz dunno, does an ulimit for the RSS force swapping, or does it kill the process?
21:53 timotimo ulimit for RSS is a no-op in linux
21:53 timotimo 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 #perl6
21:56 * geekosaur thinks the easiest way to trigger that is a virtualbox or etc. with a low memory size
21:56 timotimo probably is :\
21:56 RabidGravy yeah I was going to suggest that
21:58 timotimo i was hoping for a much less invasive way
21:59 El_Che what about running the moar in a docker container with restricted mem resources
21:59 moritz cgroups maybe?
21:59 El_Che a lot more lightweight
21:59 lichtkind is there a way to define a ternary sort operator?
21:59 RabidGravy yeah, docker you can specify e.g. tiny memory and huge swap
22:00 El_Che (docker uses cgroups btw)
22:00 llfourn joined #perl6
22:00 El_Che you may need to change the boot options
22:01 El_Che (--memory and --memory-swap
22:01 El_Che )
22:01 El_Che (the second is ram + swap)
22:01 RabidGravy it's an option to run isn't it?
22:01 El_Che yes
22:01 moritz El_Che: I know; which is why I thought you might not need docker at all
22:01 RabidGravy https://docs.docker.com/engine/referenc​e/run/#runtime-constraints-on-resources
22:01 El_Che moritz: you don't need docker at all, idd
22:01 El_Che moritz: it's just cgroups
22:02 hoelzro lichtkind: ternary sort operator? can you give an example of its usage?
22:02 El_Che but I think it's easier
22:02 RabidGravy there's even a perl 6 module to do it
22:03 RabidGravy Kains? or something
22:03 lichtkind there is an http://tablets.perl6.org/appendi​x-a-index#postcircumfix-category
22:03 lichtkind and i want to have the precircumfix
22:03 lichtkind to write matrix norms naturally
22:03 lichtkind like ||A||2
22:04 lichtkind for euklidean eg
22:05 lichtkind or shoult i take the metaop category
22:07 lucasb I don't think there's a predefined grammatical category for this type of syntax
22:08 * hoelzro .oO( sub regular-ol-circumfix:<||>(...) )
22:08 lichtkind but i want to attach the p value of the norm postfix
22:08 lichtkind like mathematiians do all day
22:09 lichtkind im not even dreaming about to hammar the q value somhow in
22:15 _nadim joined #perl6
22:17 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 AndyDee joined #perl6
22:20 patrickz @FROGGS: Is rakudo* going to contain zef?
22:21 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␤␤»
22:22 lizmat should overflow to 0 really
22:22 timotimo patrickz: does zef currently work?
22:22 Psyche^ joined #perl6
22:23 lizmat m: my uint64 $a = 18446744073709551615; $a++; say $a    # works as expected
22:23 camelia rakudo-moar f9039d: OUTPUT«0␤»
22:23 Skarsnik uintxx are like whatever
22:23 patrickz It seems ugexe pushed his last weeks (months?) of work on zef, now that the blocking precomp bugs have been fixed.
22:24 timotimo i haven't tested it yet
22:24 muraiki joined #perl6
22:26 Skarsnik m: my uint8 $a = -1; say $a;
22:26 camelia rakudo-moar f9039d: OUTPUT«255␤»
22:26 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…»
22:27 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␤␤»
22:27 Skarsnik m: use NativeCall; my CArray[uint8] $a .= new; $a[0] = -1; say $a[0];
22:27 camelia rakudo-moar f9039d: OUTPUT«-1␤»
22:28 * patrickz is doing so now
22:30 lizmat m: my uint64 $a = 18446744073709551615; say $a  # huh ?
22:30 camelia rakudo-moar f9039d: OUTPUT«-1␤»
22:31 Skarsnik I think most of uintxx are just a nice name x)
22:33 dalek roast: d8cf465 | lizmat++ | S02-types/int-uint.t:
22:33 dalek roast: Reinstate int/uint tests, add tests for #127210
22:33 dalek roast: review: https://github.com/perl6/roast/commit/d8cf4651ce
22:35 yurivish joined #perl6
22:39 dalek rakudo/nom: 8d35f65 | ugexe++ | src/core/IO/Path.pm:
22:39 dalek rakudo/nom: Update $!e on mkdir/rmdir
22:39 dalek rakudo/nom:
22:39 dalek rakudo/nom: perl6 -e 'my $path = "xxx".IO; say $path.e; say $path.mkdir; say $path.e'
22:39 dalek rakudo/nom: Before: False, True, False
22:39 dalek rakudo/nom: After: False, True, True
22:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8d35f651e4
22:39 dalek rakudo/nom: d7f3f0b | lizmat++ | src/core/IO/Path.pm:
22:39 dalek rakudo/nom: Merge pull request #677 from ugexe/patch-11
22:39 dalek rakudo/nom:
22:39 dalek rakudo/nom: Update $!e on mkdir/rmdir
22:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d7f3f0bb87
22:40 RabidGravy I
22:40 RabidGravy er
22:40 Skarsnik I give you a f
22:42 lizmat good night, #perl6!
22:43 lichtkind good night
22:43 Skarsnik good night
22:44 RabidGravy toodles
22:44 lichtkind how hard is it to introduce a precircumfix category?
22:47 sena_kun joined #perl6
22:47 arnsholt You'd have to add it as a category the operator precedence parser
22:47 arnsholt I don't think Rakudo customizes that, so it'd be in HLL/Grammar.nqp in NQP; the EXPR method
22:49 TimToady note that you cannot add a precircumfix that would be ambiguous with a term
22:49 TimToady you can't add precircumfix:<[ ]> for instance, since we already have circumfix:<[ ]> that is parsed in the same spot
22:51 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
22:51 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)
22:52 masak probably something to do with the order in which the reader expects things
22:52 TimToady in a sense, the reduce operator is already a precircumfix
22:52 lzlgboy joined #perl6
22:52 sena_kun Thanks. Also, I think that "FILE*" will be just plain Pointer also?
22:53 lzlgboy left #perl6
22:53 Skarsnik Yes, if you do nothing special with
22:54 timotimo it's just a funky integer
22:54 yqt joined #perl6
22:54 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 RabidGravy abstract
22:55 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.
22:55 Skarsnik also I wonder how hard it will be to allow CStruct to have method
22:55 RabidGravy see e.g https://github.com/jonathanstowe/Audio-Libs​hout/blob/master/lib/Audio/Libshout.pm#L388
22:56 RabidGravy Skarsnik, you can put methods in a CStruct
22:56 Skarsnik Oh I never tried
22:56 Skarsnik I think nc tell you that you can't
22:57 Skarsnik +doc
22:57 sena_kun Thanks for the link.
22:57 roguelazer joined #perl6
22:58 arnsholt Skarsnik: You're probably confusing it with CPointer, which can't have *data members*
22:58 arnsholt Both CStruct and CPointer can have methods
22:58 RabidGravy it getss messy if you try *native* methods, but normal ones are fine
22:58 Skarsnik You can look at App::GPTrixie if you don't want to write too much NC code yourself ^^
22:58 RabidGravy it's even more fun with CPPStruct ;-)
22:58 arnsholt Oh, I take no responsibility for "method foo(...) is native {...}"
22:59 arnsholt If you try that, you deserve what you get =)
22:59 patrickz timotimo: zef seems to work
22:59 RabidGravy https://github.com/jonathanstowe/Audio-Soundt​ouch/blob/master/lib/Audio/SoundTouch.pm#L32 works fine :)
22:59 Skarsnik "Of course, methods are completely fine too. Go wild!" I can't read
23:00 arnsholt Basically, to use NativeCall you should be able to write the equivalent code in C
23:00 timotimo patrickz: cool.
23:00 Skarsnik I love this: has Pointer $!vtable;
23:01 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
23:02 lichtkind TimToady, so i should use the prefix_circumfix_meta_operator category to make matrix norm ops?
23:03 RabidGravy and you only seem to need it if there are "virtuals" in the inheritance chain
23:04 Skarsnik Oh
23:04 Skarsnik I think cpp does something special for virtual
23:04 Skarsnik like adding virtual to a class keep it abi compat
23:05 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?
23:06 El_Che this is nice: https://thelackthereof.org/TLT/2016.01.08/Perl​_6_is_Separate_from_All,_Replacement_for_None
23:06 lichtkind thanks for link
23:07 lichtkind i see some interesting parallels beween fortress and perl 6
23:10 RabidGravy El_Che, the colour scheme makes my eyes hurt, but yes
23:11 El_Che :)
23:11 zwu joined #perl6
23:24 TEttinger joined #perl6
23:31 kid51 joined #perl6
23:40 masak 'night, #perl6
23:41 RabidGravy toodles masak
23:42 RabidGravy what number of supplies in an application might be considered "insane" ?
23:43 * flussence jumps out of backlogging mode for a second
23:43 flussence m: say "\c[2424]".ord; say "\x[2424]".ord
23:43 camelia rakudo-moar d7f3f0: OUTPUT«2424␤9252␤»
23:43 flussence DrForr: ^
23:43 RabidGravy I only ever scroll back now to find the last time someone mentions me
23:44 flussence most days I try to do the whole thing, it's why I usually show up late :)
23:45 profan anyone have a reccomendation for a usable perl6 http client lib?
23:45 profan recommendation, even
23:45 profan came across HTTP::Client but was apparently unmaintained
23:46 zwu joined #perl6
23:46 * flussence uses Net::HTTP
23:46 RabidGravy well, HTTP::UserAgent is maintained, it probably lacks some features but works
23:48 profan neat, will take a look at those two then
23:49 RabidGravy I've added stuff to it to the extent that I needed features for my own modules
23:49 geraud joined #perl6
23:54 profan HTTP::UserAgent seems to serve me well enough, thanks to you both, flussence++ and RabidGravy++ :)
23:54 zengargoyle joined #perl6
23:55 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 RabidGravy any advice about using it can usually be had here :)
23:56 yurivish joined #perl6
23:56 profan RabidGravy: will do, does it handle redirects yet by the way?
23:57 profan 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 #perl6
23:58 RabidGravy though, at this point I'm sure we haven't covered all the scenarios
23:59 profan so, it always follows redirects, or is there a way to specify that?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo