»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
Zoffix m: use nqp; my int $x = 4; say nqp::isint(nqp::unbox_i($x)) 00:00
camelia rakudo-moar 6977b8: OUTPUT«0␤»
Herby_ o/ 00:43
timotimo o/ 00:49
Zoffix |
/\
dalek c: 4d1e453 | coke++ | doc/Language/phasers.pod6:
remove trailing whitespace
03:26
dalek c: cd52c6b | (Zoffix Znet)++ | doc/Programs/00-running.pod6:
Document RAKUDO_OPTIMIZER_DEBUG env var
04:01
Herby_ question 04:02
I have a hash %employee<name=>'hank', age=>40, sex=>'male'> 04:04
i want to create a new hash %promote, and add %employee<name> as the key, and all of %employee as the value 04:05
if that makes sense
Herby_ how do I do that? haven't had much luck 04:07
MasterDuke m: my %employee = name => 'hank', age => 40, sex => 'male'; my %promote; %promote{%employee<name>} = %employee; dd %promote 04:11
camelia rakudo-moar 6977b8: OUTPUT«Hash %promote = {:hank(${:age(40), :name("hank"), :sex("male")})}␤»
p3rln00b m: my %employee = name=>'hank', age=>40, sex=>'male'; my %promote = %employee<name> => %employee; dd %promote
camelia rakudo-moar 6977b8: OUTPUT«Hash %promote = {:hank(${:age(40), :name("hank"), :sex("male")})}␤»
p3rln00b is too slow 04:12
MasterDuke Herby_: ^^^ are those two examples what you mean?
p3rln00b Sounds like you should be using classes rather than messing about with hashes :)
Herby_ thanks MasterDuke, p3rln00b 04:13
i should probably try to learn classes.
MasterDuke: just tried it out, that works! thanks 04:18
m: my %employee = name => 'hank', age => 40, sex => 'male'; my %promote; %promote{%employee<name>} = %employee; 04:20
camelia ( no output )
Herby_ m: my %employee = name => 'hank', age => 40, sex => 'male'; my %promote; %promote{%employee<name>} = %employee; dd %promote
camelia rakudo-moar 6977b8: OUTPUT«Hash %promote = {:hank(${:age(40), :name("hank"), :sex("male")})}␤»
Herby_ m: my %employee = name => 'hank', age => 40, sex => 'male'; my %promote; %promote<%employee<name>> = %employee; dd %promote
camelia rakudo-moar 6977b8: OUTPUT«Hash %promote = {"\%employee<name>" => ${:age(40), :name("hank"), :sex("male")}}␤»
Herby_ it doesnt like the <> versus the {}?
MasterDuke <> is for literals 04:21
Herby_ ahh 04:21
learn something new every day
MasterDuke it's like %hash{'$thing'}
p3rln00b it's like %hash{<...>}; that is %hash<foo bar> is like %hash{<foo bar>} is like my @keys = <foo bar>; %hash{@keys}; that is, <...> syntax is a white-space-separated list and you can get a slice rather than a single value with it. 04:23
p3rln00b m: my %employee = name=>'hank', age=>40, sex=>'male'; dd %employee<name age sex> 04:23
camelia rakudo-moar 6977b8: OUTPUT«("hank", 40, "male")␤»
p3rln00b m: my %employee = name=>'p3rln00b', age=>17, sex=>'yes, please'; dd %employee<name age sex> 04:24
camelia rakudo-moar 6977b8: OUTPUT«("p3rln00b", 17, "yes, please")␤»
p3rln00b snickers
Derperperd hello people! 04:25
p3rln00b \o
Herby_ o/
Derperperd I’m thinking about trying out perl 6. i’ve dabbled in perl for a little and like it. is perl 6 production ready? 04:27
p3rln00b Derperperd: "production ready" means different things to different people :)
Derperperd p3rln00b: thats true. I’m basically asking if it’s reliable, fast, and stable 04:28
or if there any major changes coming to perl 6 that will overhaul major components of the language 04:29
seatek Herby_, here is how you might use a class instead
class Employee{ has $.name; has $.age; has $.sex; method promote() { say "Yay!" }} ; my $employee = Employee.new(name => 'Hank', age => 40, sex => 'male'); $employee.promote;
p3rln00b Derperperd: the spec has been deemed production ready and released Dec, 2015. The compiler, on the other hand, still has bugs (as our 1400-bug bug queue testifies). It's also not as fast as other similar products. The main concern would be memory leaks, so I'd avoid using it for any long running programs. So Web-app area is definitely out IMO. Bug as far as writing programs and having them still work 2-3 years 04:30
in the future, that should be guaranteed.
p3rln00b s/Bug as far/But as far/ :) 04:31
Derperperd awesome that’s really what im looking for. the ability to write scripts in perl 6 and have them work after a couple of years of updates
seatek Derperperd, I've been putting it into some production stuff and haven't run into any issues yet -- but nothing long-running like P3rln00b mentioned 04:32
Derperperd good to hear seatek thanks
can someone tell me what rakudo star is
seatek I've been having a lot of fun learning by converting old production stuff into Perl6
Herby_ seatek, thanks for the example!
p3rln00b Derperperd: a compiler with some (rather useless) modules and documentation.
Derperperd should i be using it? 04:33
p3rln00b Derperperd: sure. That's generally what people use to "get perl 6" as it comes with pre-built binaries for Windows/Mac. It also undergoes testing with modules to ensure they work.
seatek I've been using it
p3rln00b Derperperd: you can also build more recent compiler releases: rakudo.org/downloads/rakudo/ 04:34
They get released monthly.
"rakudo" is the perl 6 compiler. 04:35
Derperperd ahh ok. just installed it! time to start playing with perl 6
seatek Herby_, sure thing :) hope it helps you see what sticking that into an Employee object might be better, because then you can write all kinds of methods, other than promote() ;)
p3rln00b \o/ 04:36
[Coke] Trying to feed an :in into a run() - any examples?
Derperperd do you guys recommend using a .pl extension or .p6 extension 04:38
is there a standard the community uses
p3rln00b Derperperd: I use .p6 to avoid confusion with Perl 5 scripts.
seatek [Coke] you mean like: say '/tmp'; run('ls'):in
Herby_ any issue using .pm6? cause thats what I've been using... 04:39
Derperperd thats probably what im going to do p3rln00b
p3rln00b Herby_: for scripts? A bit confusing, since I'd expect that to be a Perl 6 *module*.
[Coke] seatek: no, like stdin, not like parameters.
MasterDuke [Coke]: my $p = run(:out, :bin, 'ls'); run(:in($p.out), 'true') 04:39
Herby_ hmm ok, good point
[Coke] (I'd write yours as run(<ls /tmp>) 04:40
MasterDuke: thanks. Looking for something that isn't the direct result of a run() to pass as input.
p3rln00b [Coke]: I'd think this would work, but it doesn't produce any output: my $p = run "echo", :in, :out; $p.in.put: "meow"; $p.in.close; say $p.out.slurp-rest; 04:42
p3rln00b Oh, echo is a shell thing :P 04:47
[Coke] I can make the array of data I have the result of a run, will try that route. 04:50
seatek [Coke], some reason you can't just read from $*IN -- or are you looking for some kind of way to make perl look like an "invisbile pipe" between 2 things coming from the system? 04:53
[Coke] I'm not trying to -read- from in, I'm trying to generate an :in for the next thing in the pipe. Right, the latter. 04:55
I rewrote my perl6 that fixed up the data to be used as the input as an awk script so I can run() it. I feel dirty. :)
seatek yeah that's the duct tape ;) 04:57
MasterDuke my $p = run "cat", :in, :out; $p.in.say("h"); $p.in.close; say $p.out.slurp-rest
[Coke] is there a way to dump a value from a Seq? 04:59
( I want to ignore the first line of an :out ) 05:00
oh, maybe don't call .lines first.
p3rln00b Oh, so my method actually works \o/ 05:02
Dunno why it wasn't working when I tried to use perl6 -e 'say $*IN.get' instead of cat there 05:03
oh, 'cause I typed it all as one command and not proper way :P
AlexDaniel [Coke]: were you looking for an example like this one: docs.perl6.org/type/Proc ? 05:04
I mean, second example on that page 05:05
dalek c: 4c836a4 | (Zoffix Znet)++ | doc/Type/Proc.pod6:
Add example of feeding Proc's STDIN from a string
05:06
dalek c: a47828f | (Zoffix Znet)++ | doc/Type/Proc.pod6:
Pod6 ne Markdown
05:07
AlexDaniel hopes nobody is going to use 「run ‘ls’, :out」 in a real program 05:09
Herby_ i'm stumped 05:10
brace your eyes for my ugly test code, but if someone could take a look: pastebin.com/fviAJ3yq
that returns: {James => {DATE_TIME => 2016-10-01T02:00:00, NAME => Hank, TRANSFER_FORM => PCU, TRANSFER_TO => 2W}}
and I dont know why
Herby_ it should return: {James => {DATE_TIME => 2016-08-20T03:00:00, NAME => James, TRANSFER_FORM => 2E, TRANSFER_TO => ICU}} 05:11
probably missing something obvious but i'm not seeing it 05:13
p3rln00b Herby_: gist.github.com/zoffixznet/fb533e0...643d509aa7 05:17
p3rln00b Herby_: you're assigning data, but then overwriting its value on the next loop iteration 05:17
You need a new %data per loop iteration
Herby_ hmm. how do it get overwritten if the criteria isnt met? 05:18
how does it
transfer_to eq 'icu'
AlexDaniel here I guess: %data = %($parser.get_line());
but I still don't understand it really
Herby_ sorry, i meant how does that %data line make it into %icu_transfers if it doesnt meet the criteria
p3rln00b m: my %data = <moo meow>; my %foo = foo => %data; dd %foo; %data = <lulz fail>; dd %foo 05:19
camelia rakudo-moar 6977b8: OUTPUT«Hash %foo = {:foo(${:moo("meow")})}␤Hash %foo = {:foo(${:lulz("fail")})}␤»
p3rln00b Herby_: it doesn't. You're assigning the %data object into icu, but on *each* iteration of the loop you're modifying the contents of %data 05:19
Herby_ ahh
ahhhhh
ok
that makes perfect sense 05:20
AlexDaniel another way of fixing that is to use := I guess?
%data := %($parser.get_line());
… which is actually a bit stupid… 05:21
but it works
Herby_ just tried it, and it doesn
does
thanks.
AlexDaniel and here's a solution that is even more stupid
%icu_transfers{%data<NAME>} = %@%data 05:22
which basically gives you a copy
AlexDaniel anyway, using my %data is of course the right solution 05:23
Herby_ %@% is new to me 05:24
p3rln00b it's %@ tacked onto %data; %@ is just two coercers % and @ that coerce to list (@) and then back to hash again (%) 05:25
AlexDaniel m: my %h = a => 42, b => 29; say (%h).perl; say (@%h).perl; say (%@%h).perl; say (@%@%h).perl
camelia rakudo-moar 6977b8: OUTPUT«{:a(42), :b(29)}␤(:a(42), :b(29))␤{:a(42), :b(29)}␤(:a(42), :b(29))␤»
p3rln00b m: my %data = <foo bar>; my %other-data = %%data; %data = <meow mer>; dd %other-data
camelia rakudo-moar 6977b8: OUTPUT«Hash %other-data = {:foo("bar")}␤»
p3rln00b
.oO( doesn't seem to be a need for intermediary @)
05:26
m: my %data = <foo bar>; my %other-data = foo => %%data; %data = <meow mer>; dd %other-data
camelia rakudo-moar 6977b8: OUTPUT«Hash %other-data = {:foo(${:meow("mer")})}␤»
p3rln00b There is. Just was bad test :)
m: my %data = <foo bar>; my %other-data = foo => %data.clone; %data = <meow mer>; dd %other-data 05:27
camelia rakudo-moar 6977b8: OUTPUT«Hash %other-data = {:foo(${:foo("bar")})}␤»
AlexDaniel oh, there's .clone??
seatek can you include more than 1 directory at a time with "use lib" in p6?
p3rln00b seatek: yes, it just takes a list
seatek: use lib 'foo', 'bar'; or use lib <foo bar>; etc
seatek p3rln00b oo that's much nicer :) 05:28
p3rln00b++ :)
p3rln00b \o/
seatek i was off in qw/ / land ;)
p3rln00b <...> is the Perl 6's qw/ / 05:29
AlexDaniel m: class Point { has $.x; has $.y }; my $x = Point(:10x :20y); say $x.clone
camelia rakudo-moar 6977b8: OUTPUT«Cannot coerce to Point with named arguments␤ in block <unit> at <tmp> line 1␤␤»
p3rln00b AlexDaniel: there is, but it doesn't work on everything
(yet)
m: my @a = ^10; dd @a.clone
camelia rakudo-moar 6977b8: OUTPUT«Array @a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]␤»
AlexDaniel m: class Point { has $.x; has $.y }; my $x = Point.new(:10x :20y); say $x.clone
camelia rakudo-moar 6977b8: OUTPUT«Point.new(x => 10, y => 20)␤»
p3rln00b m: my @a = ^10; my @b = @a.clone; @a = 'a' ..'c'; dd @b
camelia rakudo-moar 6977b8: OUTPUT«Array @b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]␤»
AlexDaniel works on custom classes :o
p3rln00b oh
Well, pretty sure it's still broken on arrays. 05:30
Yeah, it's provided by Mu
s: Mu, 'clone'
SourceBaby p3rln00b, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Mu, Str); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
p3rln00b s: Any, 'clone'
SourceBaby p3rln00b, Sauce is at github.com/rakudo/rakudo/blob/6977...Mu.pm#L611
p3rln00b Ah, right, it clones arrays but not iterators, so array cloning still needs fixing 05:31
m: my @a = [2, 4, 6]; my $b = @a.clone; @a.push: 8; dd $b 05:32
camelia rakudo-moar 6977b8: OUTPUT«Array $b = $[2, 4, 6, 8]␤»
Herby_ off to bed, thanks for the help 05:34
p3rln00b Any time. 05:34
AlexDaniel m: my @a = [2, 4, 6]; say @a.WHAT; say @a.list.WHAT; say @a.list.^name 05:36
camelia rakudo-moar 6977b8: OUTPUT«(Array)␤(Array)␤Array␤»
AlexDaniel so the only way to clone an array right now is to use @a[*] ? 05:38
moritz or [@a] 05:39
moritz or my @ = @a 05:39
AlexDaniel right
seatek If people want database tests, it should be up to them to make sure the tests are run against their test databases. Am I right?? ;) 05:47
seatek I take the silence to mean perfect agreement by all. :) 05:48
dalek c/spellcheck: 07a6217 | coke++ | doc/ (5 files):
fix typos
05:50
c/spellcheck: 3a1149b | coke++ | xt/ (2 files):
Add first pass at automated spellchecker.
c: 07a6217 | coke++ | doc/ (5 files):
fix typos
05:51
seatek file has $so-many spelling errors -- nice :) 05:52
[Coke] Surprisingly, some things actually pass. 05:53
seatek All I've been doing the last 3 days is writing tests. I'm wondering if this will make for a jaded view of P6 05:55
dalek c/spellcheck: ed497a2 | coke++ | xt/aspell.t:
remove trailing whitespace
05:57
c/spellcheck: de6ab14 | coke++ | xt/aspell.t:
fail nicely without aspell
06:01
c/spellcheck: f70c826 | coke++ | xt/aspell.t:
remove now-unused debug var
dalek c/spellcheck: 7563e0c | coke++ | xt/aspell.t:
DRY, simplify
06:07
travis-ci Doc build passed. Will "Coke" Coleda 'Add first pass at automated spellchecker.' 06:10
travis-ci.org/perl6/doc/builds/166156552 github.com/perl6/doc/compare/07a62...1149bd58fb
[Coke] nite, #perl6 06:11
travis-ci Doc build passed. Will "Coke" Coleda 'remove trailing whitespace' 06:16
travis-ci.org/perl6/doc/builds/166157056 github.com/perl6/doc/compare/3a114...497a2a3506
travis-ci Doc build passed. Will "Coke" Coleda 'remove now-unused debug var' 06:20
travis-ci.org/perl6/doc/builds/166157484 github.com/perl6/doc/compare/ed497...0c8260b378
titsuki Hi #perl6. I have a question. 06:26
What's the difference between .trans with :d and .trans without :d ? 06:27
m: my $str = "abcdabcd"; $str.trans(:d, "ab" => "").say; $str.say;
camelia rakudo-moar 6977b8: OUTPUT«cdcd␤abcdabcd␤»
titsuki m: my $str = "abcdabcd"; $str.trans("ab" => "").say; $str.say;
camelia rakudo-moar 6977b8: OUTPUT«cdcd␤abcdabcd␤»
titsuki It seems equivalent to me.
travis-ci Doc build passed. Will "Coke" Coleda 'DRY, simplify' 06:31
travis-ci.org/perl6/doc/builds/166157886 github.com/perl6/doc/compare/f70c8...63e0c8c488
st_iron good morning friends 06:38
skids m: m: my $str = "abcdabcd"; $str.trans(:d, "ab" => "A").say; $str.say; 06:43
camelia rakudo-moar 6977b8: OUTPUT«AcdAcd␤abcdabcd␤»
skids m: m: my $str = "abcdabcd"; $str.trans("ab" => "A").say; $str.say;
camelia rakudo-moar 6977b8: OUTPUT«AAcdAAcd␤abcdabcd␤»
skids titsuki: ^^
titsuki m: my $str = "abcdabcd"; $str.trans(:d, "ab" => "AA").say; $str.say; 06:45
camelia rakudo-moar 6977b8: OUTPUT«AAcdAAcd␤abcdabcd␤»
titsuki skids: Thanks ! I understand the difference. 06:46
skids np
doc example could be improved, I guess. 06:47
grondilu Hello #perl6. I have a silly question. 06:56
skids hrm. Something seems off here: 06:58
skids m: my $str = "abcdabcd"; $str.trans("abc" => "AB").say; $str.say; 06:58
camelia rakudo-moar 6977b8: OUTPUT«ABAdABAd␤abcdabcd␤»
skids m: my $str = "abcdabcd"; $str.trans("abc" => ("A","B")).say; $str.say; 06:59
camelia rakudo-moar 6977b8: OUTPUT«ABBdABBd␤abcdabcd␤»
FROGGS o/ 06:59
grondilu is the semantics for those even defined?
skids Hrm I wonder if I should make this a new RT or just add this to RT#129172 07:02
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129172
titsuki m: subset Even of Int where * % 2 == 0; my Even $a = 2; 07:18
camelia ( no output )
titsuki m: subset Even of Int where * % 2 == 0; my Even $a = 3;
camelia rakudo-moar 6977b8: OUTPUT«Type check failed in assignment to $a; expected Even but got Int (3)␤ in block <unit> at <tmp> line 1␤␤»
titsuki grondilu: Does it answer your question ? 07:19
p3rln00b
.oO( there wasn't a question? )
07:21
m: subset Even of Int where * %% 2; my Even $a = 2;
camelia ( no output )
grondilu there was no question after all. Changed my mind. Too embarassed to ask. 07:26
p3rln00b heh 07:27
titsuki I see. Please forget my answer... 07:34
raydiak \o 07:54
no-n sneaks into the channel without being noticed by ilbelkyr 09:11
moritz re-posts gist.github.com/moritz/29301316955...90e4ce9e7b in case folks have missed it yesterday night 14:10
Juerd Thanks for being crazy
psch ++moritz 14:19
don't think i have the writing skills and dedication, and [ptc] is probably a better editor as well :) 14:20
timotimo titsuki: did you know we have a %% operator that puts % and == 0 into one? :) 14:24
Zoffix moritz, I'd be interested in being a co-author. I self-published three (crappy) books: www.lulu.com/spotlight/zofdesign so at least I have the stamina for writing 'till my fingers bleed :) 14:25
titsuki timotimo: I learned it today :) 14:26
timotimo cool :)
oh!
perlnoob already showed that
Zoffix moritz, free epubs/pdfs if you wanna take a look: temp.perl6.party/books/ 14:29
Mind Power one is a bit nutty... I wrote it when I was 23... still young and dumb :P
moritz Zoffix: wow, I'd love to have you as a co-author, I really like your writing style 14:30
Zoffix \o/
moritz Zoffix: do you have thoughts yet on the style and content/scope of the book? 14:36
Zoffix moritz, at the back of my mind for a bit now, I was thinking of 'Essentials of Perl 6' or something like that. Something that isn't 1000 pages long and doesn't list every feature, but rather would make beginners comfortable with the language enough to write simple programs and be comfortable to learn harder ones on their own from docs, for example. 14:43
timotimo maybe we also want a little booklet "learning to read perl6" 14:44
what with operators and metaoperators and everything making things a little complex sometimes
and different kinds of method calls and hyper method calls and all that 14:45
psch i think that's the most interesting bits
like, a detailed and explained "long form <=> short form"
list 14:46
timotimo and maybe also examples of things put together?
moritz Zoffix: sounds good 14:47
lucs Can a class supply a sub (as opposed to a method)? 15:02
m: class Meh { sub foo { say "FOO" } } ; Meh::foo;
camelia rakudo-moar 228cbc: OUTPUT«Could not find symbol '&foo'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
psch m: class Meh { our sub foo { say "FOO" } } ; Meh::foo;
camelia rakudo-moar 228cbc: OUTPUT«FOO␤»
moritz lucs: our sub foo
lucs Aha, thanks.
moritz though a class can also supply static methods 15:03
lucs moritz: How would that go?
moritz m: class Meh { method d'oh { say "FOO" } }; Meh.d'oh
camelia rakudo-moar 228cbc: OUTPUT«FOO␤»
psch any method that doesn't use Attributes or self can be invoked on the type object
moritz lucs: it's a normal method that doesn't use any attributes
moritz too slow today 15:04
psch you can be explicit about it with the :U smiley on the invocant
lucs Nice.
psch m: class C { method f(C:U:) { say "only type object!" } }; say C.f(); try C.new.f(); say $!
camelia rakudo-moar 228cbc: OUTPUT«only type object!␤True␤Invocant requires a type object of type C, but an object instance was passed. Did you forget a 'multi'?␤ in method f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: class Meh { sub foo is export { say "FOO" } } ; import Meh; foo # another way, depending on what the purpose is 15:05
camelia rakudo-moar 228cbc: OUTPUT«FOO␤»
Zoffix like exporting custom ops that work on your object 15:06
cowens Okay, I don't want to be an asshole about this, so you can tell me to shut up about it and I will. But I saw discussion on #perl6-dev (not sure how to or if I am even allowed to join that channel) about my issues with the Str type being stored as NFC and I wanted a chance to clarify some points 15:24
psch cowens: i'm pretty sure you're allowed to join 15:25
cowens: actually i think whatever you're about to say probably should go there in the first place :)
cowens do I just do a slash join or something, I am not an IRC user 15:25
psch cowens: as for "how", your client probably supports '/join #perl6-dev'
cowens thanks 15:26
Herby_ o/ 15:38
Zoffix \o
lucasb I should probably read that whole reddit thread and the irc logs to understand what is being discussed 16:09
I lived in a ASCII-only world until I became aware of the existence of Perl 6
dalek osystem: 8f9e980 | (Tom Browder)++ | META.list:
update version
17:42
[Coke] how to folks feel about forcing parentheses instead of parens in the docs? 18:13
Ah, it's only in 20 places. easy peasy
DrForr Woot, basic Template::Toolkit compiler is working. 18:17
dalek c: 15346a5 | coke++ | doc/ (11 files):
use full word.
dalek c: c83fe47 | coke++ | doc/Language/ (2 files):
standardize on regexes
18:25
whateverable: 788e58d | (Aleks-Daniel Jakimenko-Aleksejev)++ | build.p6: 18:26
whateverable: Building stuff in parallel does not work at all
whateverable:
whateverable: We've been using non-parallel version of this script for a while now.
whateverable: Instead, we just run this script several times on different ranges.
AlexDaniel [Coke]: actually, can't see what was wrong with “parens”, but whatever :) 18:28
dalek c/spellcheck: fce8a7e | coke++ | xt/aspell.t:
Allow filenames passed in to test on CL
18:29
c/spellcheck: d48c817 | coke++ | doc/ (11 files):
use full word.
c/spellcheck: 73f12fc | coke++ | doc/Language/ (2 files):
standardize on regexes
c/spellcheck: acd6e70 | coke++ | xt/.aspell.pws:
ignore more words
lucasb AlexDaniel: "parens" if for "parentheses" what "sup" is for "what's up" :) 18:32
*is
moritz sup, any parens around? :-) 18:33
AlexDaniel lucasb: except that when you type “parens” in google it defines “paren” as “a round bracket” without any issues. I do understand that it is rather new, but looks like dictionaries are catching up 18:34
I don't see this happening with “sup” 18:35
geekosaur "parens" has been a standard abbreviation in programming since at least when I first got started programming (call it 1985) 18:36
lucasb AlexDaniel: indeed, you're right. I didn't know it was an accepted spelling of the word. but at least wiktionary add a note "(informal)" besides the word "paren" 18:37
AlexDaniel and actually, I'd much rather change “parentheses” to “parens” everywhere, but it's probably not worth the bikeshedding 18:41
DrForr msg RabidGravy Basic stash access works, going to add refinements in two axes over the evening, maybe 3. 19:00
yoleaux: tell RabidGravy Basic stash access works, going to add refinements in two axes over the evening, maybe 3. 19:01
RabidGravy cool 19:02
DrForr Oh, hi..
geekosaur 0 for 2 so for the best (two missing command chars :)
RabidGravy I'm just doing actual real TT stuff for a technical test for a contract
DrForr AH. 19:03
*Ah
dalek osystem: 048c6a3 | (Tom Browder)++ | META.list:
update to use version 0.1.4
19:16
seatek mmm. labster 19:36
seatek on a scale of (naughty .. pure_evil) : creating database tables if they don't already exist, during unit tests for application modules. 19:43
?
moritz acceptable 20:15
at $work, we run unit test with in-memory sqlite DBs
and create the schema in there for each test new 20:16
arnsholt Sounds reasonable to me 20:17
Either in a setUp method (if you're doing JUnit style testing), or making sure to create them first as an orchestration step in a TAP-style framework 20:18
seatek awesome - I just threw them into the class CRUD tests for the tables... using PostgreSQL's CREATE TABLE IF NOT EXISTS table_name ( id SERIAL PRIMARY KEY... blah blah) 20:24
dalek ateverable: f2f7d28 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/bisectable.t:
Fix faulty test

According to the logs, this test was based on bisection that failed to extract some builds properly. Not sure how I was able to pass it again several times (things used to flap, so perhaps it explains it).
Anyway, current version is right.
20:30
AlexDaniel hey all 20:37
comtimtable6: 2014.01 say 'hello world'
committable6 AlexDaniel, ¦«2014.01»: hello world
AlexDaniel basically, that's the first release of rakudo on moar 20:39
not sure why would anybody need to run stuff on it, but hey… :)
AlexDaniel for the love of all that is good and decent, don't try to bisect stuff between 2014 releases :D 20:45
(that's what's going to happen: gist.github.com/Whateverable/472a9...d74b70d94f )
basically it will say that it's one of the commits between two tags 20:46
DrForr Is there any sort of convention for classes you need to share across two driver classes, but don't really want to expose to the outside world?
[Coke] comtimtable6 ? 20:47
geekosaur the bots edit correct their names
moritz DrForr: make it a role. Document it to be private
lizmat DrForr: the only thing I can think of is something like Rakudo::Internals
aka, have a name indicating privateness
and what moritz said :-)
DrForr Roles really aren't appropriate here, I'll go with Internals. 20:48
AlexDaniel [Coke]: github.com/perl6/whateverable/issues/39 :)
DrForr Also github.com/drforr/perl6-Template-Toolkit is out and minimally working. 20:48
[Coke] DrForr++ 20:49
DrForr Yes, there's Template6, but this is a direct replacement for TT from Perl 5, down to the grammar.
RabidGravy cool, will look in the morning, I'm a bit softwared out tooday
DrForr Minimal in the sense that it'll interpolate [% foo %} and [% format("hello",2) %]. I'm adding a precompilation layer right now that'll let me do [% IF 1 %]stuff[% END %] but that may not get done tonight. 20:51
RabidGravy The first real feature that people will want will be the [% FOREACH foo IN bars %].... I guess 20:53
I would anyway
DrForr Yeah.
ANd [% INCLUDE %]
tadzik I use PROCESS a lot in my stuff 20:56
DrForr Patience, padawan. 20:57
tadzik (probably not too surprising :P)
RabidGravy I just realised this technical test I just did was the most Perl 5 I have written since 2014 21:01
DrForr Was it one of those "Implement a small spreadsheet" or "Here's a simple card game. Write a program that plays a hand."? 21:02
I got several of those when I was doing the rounds in the UK. 21:03
RabidGravy I did a card game for some other gig the other day
this was for a fashion retailer, it played to their interests shall we say
DrForr A... fashion retailer. With an address somewhere near Westfield by chance? :) 21:04
RabidGravy aye
DrForr Talk to either of the Daves. Their front-door HR is completely off the nut, in order to get a decent shot you need to talk to people on the inside. 21:05
RabidGravy I think I'll at least get to third base 21:13
BenGoldberg is looking at Template::Toolkit, specifically the comment about EVAL_PERL being unused... considering that we've got both v5 and Inline::Perl5 ... I don't think that option is actually pointless.
DrForr Evaluating Perl5 code is fine. Code that mucks with the Template Toolkit stash isn't. 21:15
dalek osystem: 026c28c | (Tom Browder)++ | META.list:
add auth back into module file for ecosystem use

seems like ecosystem uses author from auth tag (not META6.json) on module (which one if multiple modules?), but version from META6.json--weird!
DrForr I think I also added a note somewhere that I simply didn't want to add Inline::Perl5 as a dependency; also it might be a good test for plugin authors, if I have any eventually :) 21:18
BenGoldberg I guess that makes sense... 21:18
DrForr The catch there is that I don't intend to make the P6 internals the same as P5. Can't be done simply, and I don't want to tie myself to one particular plugin architecture. 21:20
Hotkeys is there any sort of like 21:33
p6 syntax highlighting stress test
AlexDaniel by stress test you mean what exactly? 21:35
lots of nested things?
or do you just want a file that uses various p6 features that most highlighters can't figure out? 21:36
Hotkeys just things that might trip up a syntax highlighters
yeah
just curious if something like that exists already
DrForr Hotkeys: drforr/perl6-Perl6-Tidy on GH (not in the ecosystem yet) has t/rosetta-* which has a bunch of code that tripped up my test suites. Not the most thorough, but it does save you from retyping. 21:38
Hotkeys cool thanks I'll take a peek
AlexDaniel Hotkeys: why are you asking btw? For example, I can send you a file that I bet most p6 syntax highlighters will get wrong 21:39
DrForr Also [% IF 1 %]stuff[% END %] now works due to a separate compiler pass I just added, so I'll have a place to hang [% FOREACH... %] tags. The grammar actually lets me do [% e = IF 1 ; foo ; ELSE %]blah[% END %] but I'm nowhere near there yet.
Hotkeys I want to write a highlighting thing for perl6 for highlight.js (and then maybe try and get the discord team to include it) 21:40
just wanted something to test it against
(I know there's syntax highlighting files for p6 for other editors/etc and I'll use those for reference too) 21:41
dalek osystem/readme.install: 0a2eca4 | (Tom Browder)++ | README.install-template.md:
add a template file
21:42
Hotkeys I use discord a lot and am always sad when I can't use the code highlighting in code blocks for p6 to make it all pretty 21:43
so I figured I might as well try and get it going myself and bug them to include it (it seems they use highlight.js)
seatek I forgot what I was doing, and there are too many things to choose from. 21:53
RabidGravy I forget what I am doing all the time. Then I just start a new module. 21:56
DrForr Yarg, I just noticed that OSCON London updated my talk with text from some *other* talk I proposed to OSCON USA. At least the rollover text on the schedule grid where everyone will be looking is right. 21:58
RabidGravy when are you over for oscon? 21:59
seatek sub & method signatures become etched in stone at compile time, don't they? that is, you can't use a variable program block to (re)define them during program execution, yes? 22:11
RabidGravy yeah, unless of course you make the routine at run time 22:12
BenGoldberg m: my &foo; sub bar { say foo(42) }; &foo := sub ($baz) { return $baz + 1 }; bar(); 22:15
camelia rakudo-moar 13f479: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot use bind operator with this left-hand side␤at <tmp>:1␤------> 3; &foo := sub ($baz) { return $baz + 1 }7⏏5; bar();␤»
BenGoldberg m: my &foo; sub bar { say foo(42) }; &foo = sub ($baz) { return $baz + 1 }; bar();
camelia rakudo-moar 13f479: OUTPUT«43␤»
BenGoldberg m: sub foo {...}; sub bar { say foo(42) }; &foo = sub ($baz) { return $baz + 1 }; bar(); 22:16
camelia rakudo-moar 13f479: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Int) will never work with declared signature ()␤at <tmp>:1␤------> 3sub foo {...}; sub bar { say 7⏏5foo(42) }; &foo = sub ($baz) { return $b␤»
BenGoldberg m: sub foo($) {...}; sub bar { say foo(42) }; &foo = sub ($baz) { return $baz + 1 }; bar();
camelia rakudo-moar 13f479: OUTPUT«Cannot modify an immutable Sub␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: sub foo($) {...}; sub bar { say foo(42) }; sub foo ($baz) { return $baz + 1 }; bar();
camelia rakudo-moar 13f479: OUTPUT«43␤»
BenGoldberg m: sub foo(@_) {...}; sub bar { say foo(42) }; sub foo ($baz) { return $baz + 1 }; bar(); 22:17
camelia rakudo-moar 13f479: OUTPUT«43␤»
seatek yeah, i've got named parameter signatures with where clauses that would be nice to be able to generate on the fly... looking at routines for that 22:19
or i could just use a damn hash ;) 22:20
i like the cadillac with the electric windows though :) 22:21
Util m: constant @m = <Jan Feb>; state %m_n = @m Z=> 1..2; say %m_n<Feb>; 22:26
camelia rakudo-moar 13f479: OUTPUT«2␤»
Util m: constant @m = <Jan Feb>; constant %m_n = @m Z=> 1..2; say %m_n<Feb>;
camelia rakudo-moar 13f479: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Type check failed in constant declaration of %m_n; expected Associative but got Seq (Seq)␤at <tmp>:1␤------> 3= <Jan Feb>; constant %m_n = @m Z=> 1..27⏏5; say %m_n<Feb>;␤»
Util ???
p3rln00b m: constant @m = @(<Jan Feb>); constant %m_n = %(@m Z=> 1..2); say %m_n<Feb>; 22:27
camelia rakudo-moar 13f479: OUTPUT«2␤»
dalek osystem: e78aa04 | (Tom Browder)++ | META.list:
adding all valid versions (with good links to tarballs0
22:28
Util p3rln00b: thanks!
p3rln00b rt.perl.org/Ticket/Display.html?id...et-history
tbrowder .tell Zoffix there is a PR in ecosystem for an installation template for review 22:39
yoleaux tbrowder: I'll pass your message to Zoffix.