»ö« 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.
Geth perl6.org: e0e740676b | raiph++ (committed using GitHub Web editor) | source/index.html
Update squashathon date
00:30
ipatrol Does the `unit` keyword have any meaning outside of the `unit module ...` idiom? 00:50
AlexDaniel_ ipatrol: there's some NYI stuff associated with 「unit」 00:52
like
m: unit $x
camelia 5===SORRY!5=== Error while compiling <tmp>
unit scoped variables not yet implemented. Sorry.
at <tmp>:1
------> 3unit $x7⏏5<EOL>
expecting any of:
constraint
ipatrol what is a "unit scoped variable"?
a global variable?
mst I thought it was basically for block constructs 00:53
unit module, unit package, unit class, unit sub MAIN
ipatrol mst: block constructs can be variables (first-class objects) 00:54
ipatrol Though, I wish there were a cleaner way to do the `$_ = CALLER::<$_>` thing that many of the builtins do 00:59
geekosaur I feel like there's confusion of the unit keyword with the UNIT:: namespace. they're related but not identical 01:35
ipatrol I know that 01:38
geekosaur: hashes can be slipped into captures as names parameters, yes? 01:39
geekosaur yes? but there are some subtleties since it also needs to be possible to slip them as Pair parameters 01:40
I don't recall the details unfortunately
geekosaur er, positional Pairs 01:40
ipatrol m: my %h = 'a'=>'b','c'=>'d','101'=>'102'; my $c = \(|%h); say $c.perl; 01:41
camelia \("101" => "102", :a("b"), :c("d"))
ipatrol m: my %h = 'a'=>'b','c'=>'d','101'=>'102'; my $c = \(|%h); say $c.list; say $c.hash; 01:42
camelia ()
Map.new((101 => 102, a => b, c => d))
ipatrol m: my @a = [1,2,3,4]; my %h = 'a'=>'b','c'=>'d','101'=>'102'; my $c = \(|@a, |%h); say $c.list; say $c.hash; 01:43
camelia (1 2 3 4)
Map.new((101 => 102, a => b, c => d))
MasterDuke AlexDaniel_: nice summary, i think it would be good to do on a regular basis (e.g., weekly) 01:44
ipatrol wonders where that statement came from
geekosaur scrollback 01:45
MasterDuke ipatrol: mine? AlexDaniel_ mentioned this ( gist.github.com/AlexDaniel/0cdb8ea...b0701a20e1 ) awhile ago
geekosaur 23:12 UTC 01:45
ipatrol geekosaur: ah, I haven't been here nearly that long 01:46
ipatrol AlexDaniel_: by the way, did you take a look at that Z metaop bug? 01:47
AlexDaniel_ ipatrol: sorry, which one? 01:48
ipatrol m: my @A::B = (1..8); my @A::C = ('A'..'H'); say @A::B Z @A::C; say @(@A::B) Z @(@A::C); 01:49
camelia ((1..8 "A".."H"))
((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H))
ipatrol AlexDaniel_: ^
first expression is incorrect, should be equal to the second one 01:51
AlexDaniel_ ipatrol: ah-ha, well, we can see what changed it, because…
c: 2015.11,2015.12 my @A::B = (1..8); my @A::C = ('A'..'H'); say @A::B Z @A::C; say @(@A::B) Z @(@A::C); 01:52
committable6 AlexDaniel_, ¦2015.11: «((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H))␤((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H))» ¦2015.12: «((1..8 "A".."H"))␤((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H))»
AlexDaniel_ bisect: old=2015.11 new=2015.12 my @A::B = (1..8); my @A::C = ('A'..'H'); say @A::B Z @A::C; say @(@A::B) Z @(@A::C);
bisectable6 AlexDaniel_, Bisecting by output (old=2015.11 new=2015.12) because on both starting points the exit code is 0
AlexDaniel_, bisect log: gist.github.com/0a73f0433cee989d7a...8a601bd465
AlexDaniel_, (2015-12-15) github.com/rakudo/rakudo/commit/23...1c106bc57f
ipatrol nifty little bot
AlexDaniel_ c: 234287170cb^ my @A::B = (1..8); my @A::C = ('A'..'H'); say @A::B Z @A::C; say @(@A::B) Z @(@A::C);
committable6 AlexDaniel_, ¦234287170cb^: «((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H))␤((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H))»
AlexDaniel_ c: 234287170cb my @A::B = (1..8); my @A::C = ('A'..'H'); say @A::B Z @A::C; say @(@A::B) Z @(@A::C);
committable6 AlexDaniel_, ¦2342871: «((1..8 "A".."H"))␤((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H))»
ipatrol AlexDaniel_: so it appears someone fiddling with the metaop mechanics unwittingly broke their behavior on package variables 01:54
AlexDaniel_ possibly
fwiw, here's a bigger picture:
c: all my @A::B = (1..8); my @A::C = ('A'..'H'); say @A::B Z @A::C; say @(@A::B) Z @(@A::C);
committable6 AlexDaniel_, gist.github.com/83ce4a1ea73a429131...67ee23542e 01:54
ipatrol notes that even the bot is disturbed 01:56
AlexDaniel_ ? :)
ipatrol: anyway, I think we want a ticket for that
ipatrol AlexDaniel_: can it be put on github? 01:57
AlexDaniel_ ipatrol: no, unfortunately
huggable: rakudobug
huggable AlexDaniel_, Report bugs by emailing to [email@hidden.address] See also: github.com/rakudo/rakudo/wiki/rt-introduction
AlexDaniel_ ipatrol: the easiest way is to write an email to that address ↑
formatting is supported, you can also attach files 01:58
ipatrol that reminds me, I haven't changed my yahoo password
AlexDaniel_ ipatrol: please do mention that it was bisected to github.com/rakudo/rakudo/commit/23...1c106bc57f and maybe also include this link gist.github.com/83ce4a1ea73a429131...67ee23542e
ipatrol aye 02:02
ipatrol AlexDaniel_: ok, done 02:09
AlexDaniel_ ipatrol: thanks! 02:23
ipatrol AlexDaniel_: reading the docs, interesting, so apparently all object attributes are actually function calls that return the item, optionally in a rewritable container? 02:24
AlexDaniel_ well, method calls, but yeah 02:25
ryn1x How would I regex all the digits in a string? Something like "a123-456c(789)" -> "123456789", where the pattern of "stuff" interspersed between the digits is not known.
AlexDaniel_ m: ‘a123-456c(789)’.comb(/\d/).say 02:27
camelia (1 2 3 4 5 6 7 8 9)
ipatrol m: class Foo { has $.bar }; my $f = Foo.new('u'); say $f::bar;
camelia Default constructor for 'Foo' only takes named arguments
in block <unit> at <tmp> line 1
ipatrol orite
m: class Foo { has $.bar }; my $f = Foo.new(bar=>'u'); say $f::bar;
camelia (Any)
ipatrol m: class Foo { has $.bar }; my $f = Foo.new(bar=>'u'); say $f::&bar; 02:28
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed lookup of ::&bar; please use ::('&bar'), ::{'&bar'}, or ::<&bar>
at <tmp>:1
------> 3bar }; my $f = Foo.new(bar=>'u'); say $f7⏏5::&bar;
ipatrol m: class Foo { has $.bar }; my $f = Foo.new(bar=>'u'); say $f::('&bar');
camelia No such symbol '$&bar'
in block <unit> at <tmp> line 1
ipatrol ?
ryn1x AlexDaniel_: .comb Thats what I needed! Thanks! 02:29
AlexDaniel_ ryn1x: \o/
ipatrol m: class Foo { has $.bar }; my \f = Foo.new(bar=>'u'); say &(f::bar); 02:30
camelia Could not find symbol '&bar'
in block <unit> at <tmp> line 1
ipatrol m: class Foo { has $.bar }; my \f = Foo.new(bar=>'u'); say &(f.bar);
camelia u
ipatrol m: class Foo { has $.bar }; my $f = Foo.new(bar=>'u'); say $f::bar.perl; 02:34
camelia Any
ipatrol m: class Foo { has $.bar }; my $f = Foo.new(bar=>'u'); say $f::<$bar>.perl;
camelia Failure.new(exception => X::AdHoc.new(payload => "Type Foo does not support associative indexing."), backtrace => Backtrace.new)
ipatrol m: class Foo { has $.bar }; my $f = Foo.new(bar=>'u'); say $f.^methods; 02:36
camelia (bar BUILDALL)
AlexDaniel_ m: class Foo { has $.bar }; my $f = Foo.new(bar=>‘u’); say $f."bar"(); 02:37
camelia u
AlexDaniel_ ipatrol: I don't really understand what you're trying to do
so not sure how to help
ipatrol AlexDaniel_: access the method object &bar without invoking it 02:38
AlexDaniel_ m: class Foo { has $.bar }; my $f = Foo.new(bar=>‘u’); say WHAT $f.^can("bar")[0]; 02:39
camelia (Method)
AlexDaniel_ m: class Foo { has $.bar }; my $f = Foo.new(bar=>‘u’); dd $f.^can("bar")[0]; 02:39
camelia Method bar = method bar (Foo:D $: *%_) { #`(Method|72527048) ... }
geekosaur m: class Foo { has $.bar }; my $f = Foo.new(bar=>‘u’); say bar($f:);
camelia u
ipatrol AlexDaniel_: yeah, I was just looking through the metamodel docs to figure out how to do that 02:41
ipatrol It's interesting that Perl 6 makes the method the fundamental constituent of objects, while in Python, attributes are 02:42
ipatrol So adding or modifying attributes of an object requires splicing in a role containing them 03:05
geekosaur you can also manipulate the MOP directly, but that's kinda horridly ugly 03:17
I managed to add an attribute but I haven't figured out how to access it quickly yet.... 03:18
ipatrol geekosaur: right now I've moved on to trying to abuse container binding to create attributes that are actually references to other objects :-) 03:24
clouds I've got build issue of rakudo on macOS and with parameters --backends=moar,jvm 03:32
clouds over the released source rakudo-star-2017.07 03:32
error messages :make: *** No rule to make target `src/vm/jvm/runners/nqp-j', needed by `nqp-j'. Stop.\n Command failed (status 512): make\n Command failed (status 512): perl Configure.pl --prefix=/usr/local/Cellar/rakudo-star/2017.07 --backends=moar,jvm --make-install 03:33
Should I report a bug? 03:34
MasterDuke clouds: you'll need --gen-nqp added to your Configure command
clouds cool, I'll give a try. I copied build command from brew build script. 03:36
still failed, same reason 03:42
It seems i passed --gen-nqp but not recognized by Configure.pl? 03:44
my command line: perl Configure.pl --prefix=/usr/local/Cellar/rakudo-star/2017.07 --backends=moar,jvm --gen-nqp --make-install
MasterDuke might need --gen-moar also
clouds Warning: JVM backend does not yet support all modules Building NQP ... perl Configure.pl --prefix=/usr/local/Cellar/rakudo-star/2017.07 --backends=moar,jvm --make-install Creating tools/build/install-jvm-runner.pl ... 03:45
it outputs
Xliff clouds: If the output is more than 3 lines
clouds: Please put it online in a gist, pastebin or equivalent service.
clouds: Thanks!
clouds sorry 03:46
Xliff No worries. Just an FYI.
MasterDuke clouds: the jvm backend is known to be not fully functional. do you need it? if not, just remove it from the --backends= and things should work better 03:47
AlexDaniel_ m: say “\xFFF9日本語\xFFFAにほんご\xFFFB”
camelia 日本語にほんご
clouds pastebin.com/S1Z2r6Zk
I'd like to try jvm, I know there's prebuilt binary without jvm on macOS 03:48
but now it even can't build 03:49
MasterDuke i don't see any error, just that warning
clouds: maybe try not building moar and jvm at the same time? 03:50
MasterDuke e.g., --backends=jvm --gen-nqp in the call to Configure, --backends=moar --gen-moar in another 03:51
clouds this is full output pastebin.com/38kCYXAn
I think there's some problem with my source code, I don't have github.com/perl6/nqp/blob/master/s...ners/nqp-j this file locally
Is it generated? 03:52
the error message complains about this file
MasterDuke hm, that's a little ood 03:53
*odd 03:54
ugexe does rakudo star use the default Configure.pl?
clouds I download it from rakudo.perl6.org/downloads/star/ra....07.tar.gz (not using git version)
and the Configure.pl is at root dir of the .tar.gz 03:55
clouds ls shows: Configure.pl LICENSE MANIFEST MoarVM README build_msi.bat config.status docs modules nqp patches ports rakudo tools 03:55
ipatrol MasterDuke: does bless call TWEAK, or is that done by the default new? 03:58
Or AlexDaniel_ , I'm not picky 03:59
MasterDuke ipatrol: i don't really know bless/new very well, couldn't say, sorry 04:00
AlexDaniel_ I dunno, let's look at TWEAK implementation?
bisect: class Foo { method TWEAK { say 'hello' } }; Foo.new 04:01
bisectable6 AlexDaniel_, Bisecting by output (old=2015.12 new=12fcece) because on both starting points the exit code is 0 04:01
AlexDaniel_, bisect log: gist.github.com/24b6bf195d2853ec83...8711bf6a50
AlexDaniel_, (2016-11-05) github.com/rakudo/rakudo/commit/94...79aae73698
AlexDaniel_ err not exactly what I was looking for
bisect: new=9409d685b7^ class Foo { method POSTBUILD { say 'hello' } }; Foo.new
bisectable6 AlexDaniel_, Bisecting by output (old=2015.12 new=9409d685b7^) because on both starting points the exit code is 0
AlexDaniel_, bisect log: gist.github.com/6a5c4f136469573014...110de587d3 04:02
AlexDaniel_, (2016-11-05) github.com/rakudo/rakudo/commit/fd...c852c26327
AlexDaniel_ that's it?
clouds how does rakudo-star-2017.07.tar.gz packaged? I found nqp-j in .gitignore maybe some script prune it when packaging
ipatrol AlexDaniel_: where is Mu's any defined> 04:03
*?
AlexDaniel_ .tell stmuk there's a question about rakudo star irclog.perlgeek.de/perl6/2017-10-09#i_15276314
yoleaux AlexDaniel_: I'll pass your message to stmuk.
geekosaur s: Mu, 'any'
SourceBaby geekosaur, 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␤␤
geekosaur s: Mu, &any 04:04
SourceBaby geekosaur, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Mu, Sub+{<anon|94816459964192>}); 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␤␤
geekosaur feh
can nver figure out how to use that thing...
AlexDaniel_ it does not work with everything
geekosaur oh,it just doesn't handle mu 04:05
oh well
suppose mu is complex to handle given all the magic around it
AlexDaniel_ m: say Mu.any
camelia No such method 'any' for invocant of type 'Mu'
in block <unit> at <tmp> line 1
AlexDaniel_ there's no .any in Mu? 04:06
ipatrol geekosaur: github.com/rakudo/rakudo/blob/92e5...Mu.pm#L111
MasterDuke clouds: in my checkout of nqp: tools/build/install-jvm-runner.pl:33: my $install_to = File::Spec->catfile($realpath, 'bin', 'nqp-j');
do you have that?
AlexDaniel_ ipatrol: so TWEAK is being added to the buildplan, but I don't really know how this stuff works 04:07
ipatrol and new calls bless, which simply calls BUILDALL, which invokes the buildplan
AlexDaniel_ ipatrol: fwiw, I enjoy your questions :) 04:08
ipatrol AlexDaniel_: it's certainly interesting to pry into the guts of the beast :-)
AlexDaniel_ ipatrol: why are you doing that, by the way? :)
ipatrol AlexDaniel_: trying to create a hard container binding to a class attribute through the constructor 04:09
and I was seeing if a custom TWEAK was the best way to do that, or if I should write a privmethod and invoke it through my new() 04:10
AlexDaniel_ ipatrol: I'm just thinking, if you find working with the guts interesting, maybe you'd also find it interesting to fix a couple of things? :) 04:11
buggable: tag LHF
buggable AlexDaniel_, There are 7 tickets tagged with LHF; See fail.rakudo.party/t/LHF for details
AlexDaniel_ maybe start with something simple and then pick any other ticket of any complexity, have no doubts that you'll manage :) 04:12
ipatrol AlexDaniel_: Considering how many side projects I've lost track of this last month alone, I'm afraid the answer will have to be False.
AlexDaniel_ ipatrol: this reminds me of something 04:14
AlexDaniel_ buries his head in the sand
AlexDaniel_ sees no other projects and no TODOs 04:14
By the way, folks, I'm looking for suggestions for the next SQUASHathon 04:15
preferably something easy after a relatively difficult rakudo squashathon 04:16
ipatrol AlexDaniel_: do instances of a class automatically trust their own parent class? 04:17
AlexDaniel_ ipatrol: “trust”?
ipatrol AlexDaniel_: docs.perl6.org/language/classtut#P...te_Methods 04:18
AlexDaniel_ … TIL
MasterDuke AlexDaniel_: github.com/perl6/perl6.org/issues maybe
AlexDaniel_ MasterDuke: just 14 issues open. We've managed to resolve 17 *rakudo* tickets this time, so maybe that's not enough 04:20
MasterDuke roast issues? 04:21
AlexDaniel_ that's a good idea, yea
buggable: TESTNEEDED
buggable: tag TESTNEEDED
buggable AlexDaniel_, There are 56 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details
AlexDaniel_ all these are roast issues also 04:22
… mostly
some of them should go to rakudo/t but we can include that
MasterDuke maybe some of the 6.d review could be done during the squashathon
AlexDaniel_ 6.d squashathon! What a wonderful idea 04:23
MasterDuke anywho, i'm off to sleep, later all...
ipatrol tbqh, I think Perl 6 gets a little anal about private methods and attributes 04:24
Zoffix 6.d don't sound like a good idea. A lot of newcomers are interested in squashathon. I thought rakudo was a bit high-level bar as it were; with 6.d it's even worse. What do we tell them? Here's our language spec; look through it and find anything we don't want the language to be like? 04:26
AlexDaniel_ Zoffix: yeah, you're right 04:28
fwiw I also thought that the bar was a bit too high, but we had some newcomers contributing so I'm fairly pleased 04:29
buggable New CPAN upload: v0.1.30.tar.gz by UGEXE cpan.metacpan.org/authors/id/U/UG/....30.tar.gz 04:32
Zoffix :/ 04:33
Wonder that modules.perl6.org will do with that dist. It figures out the name after chopping off version.. and there ain't no name here 04:34
AlexDaniel_ module ‘’ that is then! 04:35
ipatrol '' is a nice name for a module :-P
AlexDaniel_ m: require ‘’ 04:36
camelia Must specify something as a path: did you mean '.' for the current directory?
in block <unit> at <tmp> line 1
AlexDaniel_ what?
ipatrol m: use '';
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
use used at line 1
ipatrol m: require '';
camelia Must specify something as a path: did you mean '.' for the current directory?
in block <unit> at <tmp> line 1
AlexDaniel_ m: use lib ‘’ 04:37
camelia ===SORRY!===
Too few positionals passed to 'repository-for-spec'; expected 3 arguments but got 0
AlexDaniel_ /o\
ipatrol \o/
ipatrol キタ━━━(゜∀゜)━━━ッ!! 04:37
huh, that's weird 04:38
AlexDaniel_ RT #132249
synopsebot RT#132249 [new]: rt.perl.org/Ticket/Display.html?id=132249 [LTA] use lib ‘’ spills guts (use lib ‘’)
AlexDaniel_ RT #132250 04:41
synopsebot RT#132250 [new]: rt.perl.org/Ticket/Display.html?id=132250 [LTA] require ‘’ suggests ‘.’ but that makes no sense (require ‘’)
AlexDaniel_ m: class Foo { }; Foo.^add_method(‘’, my method x(Foo:) { say 42 }); Foo.new.""() 04:46
camelia 42
Zoffix heh
AlexDaniel_ yay! Method ‘’
Zoffix it suggests it because it's trying to make IO::Path
Zoffix m: ''.IO 04:46
camelia Must specify something as a path: did you mean '.' for the current directory?
in block <unit> at <tmp> line 1
AlexDaniel_ yeah, I've linked that in the ticket 04:47
ipatrol AlexDaniel_: this is, by the way, part of what I meant when I said I didn't think including IO in Cool was a great idea 04:50
Zoffix require can take an path tho 04:53
ipatrol Personally, I think they should be their own quoting construct, like regexes are
Since they really aren't typical data or user strings, but rather are references to places in the filesystem 04:57
Zoffix ? 04:58
ugexe you mean a uri, which is a string?
geekosaur needing magic quotes for file paths is just asking for trouble, I think
ipatrol geekosaur: I actually think it would prevent certain security problems while improving compatibility 04:59
and it wouldn't need anything more than one or two new adverbs for the Q operator 05:00
Zoffix ipatrol: we don't have any magic to make IO::Paths out of strings. It's the .IO coercer that does it. `require` simply makes an IO::Path under the hood which causes the error. This has nothing to do with IO::Path beingh cool
There was a `qp` quoter (like `qx//`) in the spec, but it was tossed on acocunt of being useless 05:01
*account
ipatrol Zoffix: I don't think it's any more or less useful than having IO be a method of Cool 05:04
Zoffix ... it is a method of Cool :/ 05:06
ipatrol Zoffix: exactly my point. It's a difference of implementation 05:07
Zoffix ?
Zoffix doesn't get the point
IO::Path shouldn't be Cool because not all IO::Paths can have a numeric views 05:08
ugh my keyboard is having a stroke again ___ 05:09
ipatrol Zoffix: personally, I'm not much a fan of the Cool system. I tend to think type coercions should be done explicitly 05:10
Zoffix Well, I'm sure plenty of languages do that :P 05:13
ipatrol And therefore I'd say most of the mathematical functions like asin and log should be from the Numeric role instead 05:15
Zoffix They are :) 05:16
ipatrol Zoffix: they're not. They're supplied by Cool. Numeric is just a role that has one or two methods 05:17
well maybe that's a slight understatement. I count 9 mathematical methods provided by Numeric. Cool provides 36. 05:19
Zoffix It doesn't tho. It coerces the argument to Numeric and calls delegates the call 05:20
That's the whole point of Cool; that things that can be used as either a number or a string can be just used without any manual coercion. 05:21
Zoffix &
ipatrol ... 05:26
moritz putting methods more methods into Numeric doesn't provide any benefits, because the implementation is different for the various numeric types 05:30
and since this is not java, putting a stub / interface-like method doesn't have any practical benefits 05:31
geekosaur and, this is kinda a core design decision that is not open to discussion 05:33
the time to discuss it was like 2004
ipatrol geekosaur: I was messing around with the Encarta Encyclopedia on a Windows XP back then
ipatrol geekosaur: I was actually thinking about a pragma that would tighten the type rules 05:35
geekosaur it's not that simple. an alternative setting might be doable though 05:36
ipatrol geekosaur: I think all it would need to do would be to remove most of the functions from Cool and reassign them to either Numeric or Stringy, as appropriate 05:38
geekosaur and that requires a new setting
ipatrol a setting as in a command line flag?
geekosaur unless you really want to rewire everything at runtime and incur the resulting performance penalty
ipatrol geekosaur: ideally not, although I could write a runtime rewiring just as a PoC 05:39
geekosaur no. the setting is the base language you're presented with
Prelude, standard library, whatever
we have I think 3 currently: 6.c, RESTRICTED which is 6.c with the IO stuff removed, and 6.d.PREVIEW 05:40
ipatrol oh, you mean the version
ipatrol geekosaur: No, I simply meant introducing a pragma that would allow developers to decide how strict the *built in functions* are on types 05:49
geekosaur do you think, just maybe, you could examine how the language is put together before deciding you know how simple your proposal is?
ipatrol geekosaur: I have. my thought is to throw a (if $*STRICT {Numeric} else {Cool}) into the type constraints for the routines 05:56
(and likewise for stringy functions) 05:57
geekosaur: actually reading the source, I might have a simpler way to do it 05:59
In Cool.pm, everything from what is now line 6 through line 56 could be put inside a conditional, and that would implement about half of my proposal 06:02
The stringy methods would require a little more reorganizing, but that's ti 06:04
*it
sacomo hi all o/ 06:06
ipatrol m: say "Hello world!"; 06:10
camelia Hello world!
ipatrol m: say "Hello sacomo!";
camelia Hello sacomo!
sacomo hi ipatrol
AlexDaniel_ m: say “Hello %*ENV<ME>” 06:11
camelia Hello AlexDaniel_
sacomo anyone here working on cro? 06:12
ipatrol AlexDaniel_: you're passing it the calling user via the system environment> 06:15
*?
AlexDaniel_ ipatrol: yeah, camelia does
ipatrol after shellshock, that sounds like a moderately bad idea 06:16
AlexDaniel_ maybe 06:20
teatime ... did I just paste a bunch of noise/spam? 06:46
bitrauser_ Good morning everyone o/ 06:46
teatime: I don't think so
moritz you can always check the logs at irclog.perlgeek.de/perl6/today 06:53
which gives you an impartial view on what happened here
stmuk . 07:16
yoleaux 04:03Z <AlexDaniel_> stmuk: there's a question about rakudo star irclog.perlgeek.de/perl6/2017-10-09#i_15276314
stmuk Hmm I don't understand that question 07:18
teatime I'm assuming nqp-j is a build product? and he doesn't realize that and thinks its presence in nqp/.gitignore is an error. 07:22
stmuk the JVM build in star confuses people mainly because it doesn't work 07:24
github.com/rakudo/star/blob/master/README#L32 is fairly strongly worded "don't do it" 07:25
maybe I should just remove the build option
jast --backend=jvm --PLEASEDONTWORK 07:27
moritz --backend=jvm --i-know-what-im-doing-and-i-read-the-readme 07:28
jast side note, the next section has examples for building for JVM. people tend to copy&paste examples no questions asked
stmuk moritz: yes that's better since it allows a potential JVM fixer who has read the READMEs to help 07:29
stmuk actually it looks like clouds is trying to use "brew" on macOS anyway and probably needs to contact the brew maintainers 07:33
stmuk unless he has actually set --prefix to /usr/local/Cellar himself? 07:34
El_Che is rakudo star is meant to be a user distribution, broken implementations have no place there 07:47
stmuk well I'd see it as a "entry level" distribution rather a "dummy" one and my hope in keeping brokeness like jvm and windows is that someone new (who is technical) sees it and is drawn into help 07:51
but maybe configure should warn or exit by default 07:52
El_Che leave it in the doc and maybe add a --not-supported-backends switch 07:53
El_Che so a regular user never hit that? 07:53
stmuk I mean by that the source tarball any plain users probably be using binary distributions
stmuk El_Che: yes that seems the best solution 07:53
El_Che stmuk: how does the brew on macosx work for rakudo? is it precompiled? 07:54
stmuk El_Che: I've no idea and frankly don't care :) SEP
El_Che stmuk: it's your baby :) 07:55
stmuk brew isn't
El_Che stmuk: I'll have a look soon
sure, but people won't blame brew for the bad experience
(for the record, it worked just fine when I tried it) 07:56
(I used that for a backup script)
stmuk if someone has a brew problem they should either use upstream (our source or binaries) or contact the brew maintainers 07:57
El_Che stmuk: that's not what I mean 07:58
stmuk: of course you won't support it
stmuk personally I'm more interested in pkgsrc which is cross platform and I use
I don't use brew
El_Che stmuk: but you want to know if it's broken or not. Or at least sane
stmuk if you use brew go ahead 07:59
El_Che stmuk: I use the mac laptop more as a glorified type writer than as a dev machine
brew was the first thing google returned
TEttinger do type writers have esc keys?
El_Che didn't even know pkgsrc was used on the mac
stmuk El_Che: I think it needs a case sensitive mount on the mac or did last time I looked! 08:00
El_Che brew? 08:01
El_Che it doesn't 08:01
stmuk pkgsrc
El_Che ah ok
El_Che fs was updated to APFS during the high sierra install, I don't know if it's case sensitive or not nowadays 08:01
I'll have a look at pkgsrc 08:02
stmuk they won't have changed case behaviour I'm sure 08:03
"APFS accepts only valid UTF-8 encoded filenames for creation, and preserves both case and normalization of the filename on disk in all variants. APFS, like HFS+, is case-sensitive on iOS and is available in case-sensitive and case-insensitive variants on macOS, with case-insensitive being the default.
El_Che stmuk: things don't fall apart on the mac with case sensitive fs? 08:06
stmuk El_Che: historically yes I remember problems with head(1) and perl 5 lwp HEAD years back but I think many things are worked around by now at least for perl 5 08:08
having a virtual file mounted on a case sensitive mount point with limited things installed there is fine (although a bit of a PITA) 08:10
HoboWithAShotgun uh, nice. the atom tools even render pod formatting right. with in the source code! 09:03
Geth doc: 88ef45e36c | (Zoffix Znet)++ | 14 files
Document .Capture method

Spec: github.com/perl6/roast/commit/ca273503b6 Rakudo impl: github.com/rakudo/rakudo/commit/cd5864cfc1
   github.com/rakudo/rakudo/commit/bad9fefdd7
   github.com/rakudo/rakudo/commit/4ba12ff17c
09:30
HoboWithAShotgun can i see somehwere a list of unicode symbols in core perl6? 09:52
you know like ∞ 09:53
ilmari HoboWithAShotgun: docs.perl6.org/language/unicode_ascii
HoboWithAShotgun hands ilmari a voucer for one free hug 09:56
Geth doc: 12ec0caafa | (Zoffix Znet)++ | doc/Type/Signature.pod6
Document Signature.ACCEPTS

Rakudo impl: github.com/rakudo/rakudo/commit/27131ed8d1 Spec for non-capture/signature args:
  github.com/perl6/roast/commit/48d5d39e2b
10:26
synopsebot Link: doc.perl6.org/type/Signature
Geth perl6.org/add-neovim-recommended-editor: cc774260a8 | (Patrick Spek)++ | source/whatever/index.html
Add Neovim as recommended editor.

Fixes #84
10:51
perl6.org/add-neovim-recommended-editor: f04df671ca | (Patrick Spek)++ | source/whatever/index.html
Update link to vim-perl6
Geth perl6.org: Tyil++ created pull request #86:
Add neovim as a recommended editor
10:53
Geth perl6.org: cc774260a8 | (Patrick Spek)++ | source/whatever/index.html
Add Neovim as recommended editor.

Fixes #84
10:53
perl6.org: f04df671ca | (Patrick Spek)++ | source/whatever/index.html
Update link to vim-perl6
perl6.org: e7be47c70d | (Patrick Spek)++ (committed using GitHub Web editor) | source/whatever/index.html
Merge pull request #86 from perl6/add-neovim-recommended-editor

Add neovim as a recommended editor
tyil AlexDaniel: added a link to neovim
(I accidentally pushed my branch to the perl6.com upstream branch, sorry for the spam) 10:55
samcv thx for the addition tyil. since editors are often asked questions 11:21
tyil .hug samcv
huggable hugs samcv
Geth perl6.org: Tyil++ created pull request #87:
WIP: Update the bot list on community/irc.html
11:36
HoboWithAShotgun posts the first contribution to github 11:56
goo.gl/gw25V4
i added snippets for unicode operators and greek letters to atom 11:57
also smiley faces :)
ilmari HoboWithAShotgun: instead of the individual **0 etc, would it be possible to make it turn **(any sequence of digits) into a sequence of superscript digits? 11:58
HoboWithAShotgun guess not, as that is just a json file
ilmari (disclaimer, I know nothing about atom and have no idea how flexible its "snippets" feature is)
and there's no wildcard/capture feature in the prefix/body fields, only literals? 11:59
pmurias is there a way to debug what (multi-) method a method call calls? 11:59
HoboWithAShotgun no idea
tyil HoboWithAShotgun++
tyil HoboWithAShotgun: if I have spare time I might make something like that for vim 12:08
HoboWithAShotgun m: my \x = 'a'; my \a =@= <a b>; x ∈ a 12:08
camelia WARNINGS for <tmp>:
Useless use of "∈" in expression "x ∈ a" in sink context (line 1)
HoboWithAShotgun m: my \x = 'a'; my \a =@= <a b>; (x ∈ a).say 12:09
camelia True
HoboWithAShotgun what's you guys stance on the rename issue? Looking at that code, it's not hard to argue that ain't perl anymore 12:10
tyil I'm fine with any name, as long as we settle 12:11
I do like 6lang most of the proposed renames 12:12
I do think a rename would make it easier to get a new crowd, since the moment I mention perl, the 5 or 6 is ignored and I get the regular rebuttal that perl is write only
tyil then again, the name 'perl 6' uses perl because it has the same ideals and philosophy as perl 5 12:15
not because its trying to mimick the syntax
bitrauser_ I don't have a problem with 'Perl 6' as the name, however the arguments for a change/alternative do make sense. From the suggestions so far I also like '6lang' the most. 12:15
But I'm new to everything Perl6 12:17
lizmat fwiw, of all the proposals and possibilities, I'm still most in favor of "Rakudo Perl 6", or short "Rakudo"
mattr @tyil FYI there was a slashdot article yesterday on a video with Larry. I was a bit shocked at the negativity and people were repeating tired things about Perl 5. developers.slashdot.org/story/17/1...larry-wall 12:18
tyil bitrauser_: we all were at some point :>
jast personally I think the time for a rename is long past
lizmat it allows people to talk about something new (aka Rakudo) whereas clearly indicating it's heritage (Perl) and that there's progress (6 > 5 )
tyil Ive seen the vid, mattr, but not read the article
I'll cruise through it for a bit
but I think I know what to expect :p
jast meaning, it might have made sense way earlier, but now everyone already knows it as Perl 6 12:19
lizmat also: with all the Perl 6 books coming out now, I think the ship for a more through name change has *really* sailed
mattr FWIW I posted on the thread as mattr noting Perl 6 is exciting and a totally different language. Personally I was uncomfortable with the idea of changing the name but if this really indicates the level of hatred/misunderstanding perhaps it would be good to at least call it P6 in public?
tyil mattr: the worst part about people using such 'arguments' against perl, is that most of them have never even read or written any perl, they just heard people shitting on it and started doing the same
mattr Thanks tyil, I agree and personally I like "Perl 6". Actually I have not had time to watch the vid yet :) 12:20
lizmat I think much of the hatred is of a lover scorned, we need to get the love back
mattr Maybe just indicative the /. has deteriorated and not actually what programmers think. 12:21
Hi lizmat!
lizmat mattr o/
mattr Indeed ship sailed.
By the way on a happier note I have a question.. :)
lizmat also: I think we have a better chance of being "the come back kid" rather than being one of the many new toys to be discarded 12:22
as soon as something perceived to be a better toy comes along
mattr yes
lizmat Perl 6 shouldn't be the latest JS framework (sorry pmurias :-)
mattr lol
There is so much amazing stuff going on in the Perl 6 world I am hoping to learn enough to not drag people down with silly questions. Kudos 12:23
tyil there are no silly questions
that just indicates we can make better docs :>
mattr Ah! Okay thanks. Question: How come in perl6 repl (mac) I get all these anon subs for say List.^methods ? Doesn't show up on camelia. 12:24
say List.^methods (from-iterator from-slurpy from-slurpy-onearg from-slurpy-flat new to from sum fmt BIND-POS reification-target iterator sink STORE eager Capture FLATTENABLE_LIST FLATTENABLE_HASH CALL-ME pick roll reverse rotate combinations permutations join collate push append unshift prepend shift pop item of hyper race lazy flat lazy-if Bool Int Method+{<anon|140483628501664>}.new Numeric Str Method+{<anon|140483628501664>}.new Me
It looks like this.
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/2LuYLWd7yi
Two ter…
mattr, Full output: gist.github.com/edf21a872059e71e1b...f7c0af5d5f
tyil that I know nothing about, but if someone has an explanation I'd gladly add it to the docs :p 12:26
mattr Thanks tyil. I noticed some other wierd bits about repl but if you don't expect it to perfectly mirror reality then it is not a major issue. :) 12:27
tyil I dont know much about internals, I'm just a user, but I can document so the core devs can spend more time making 6lang/perl6/rakudo more awesome :3 12:28
MasterDuke mattr: the repl has a bunch of known bugs, fail.rakudo.party/t/REPL, if you don't see it there already you could file a new one 12:29
mattr @MasterDuke thanks I didn't think of that! (My eyes keep getting dragged to the osx tag..) 12:30
MasterDuke mattr: btw, do you mean you don't see those Method+{<anon|140483628501664>}.new things in camelia, but you do in the repl? 12:32
mattr Correct 12:33
mattr although to be honest with :all adverb camelia ends with ...) so maybe there is more anon goodness somewhere... 12:34
MasterDuke yeah, i think you're just seeing a difference in when/where/how much the output get gut off 12:35
*cut off
mattr ok
p6:say List.^methods(:all)
p6: say List.^methods(:all) 12:36
camelia (from-iterator from-slurpy from-slurpy-onearg from-slurpy-flat new to from sum fmt BIND-POS reification-target iterator sink STORE eager Capture FLATTENABLE_LIST FLATTENABLE_HASH CALL-ME pick roll reverse rotate combinations permutations join push append…
mattr hm
ohw ell
lizmat m: .say for List.^methods(:all)
camelia from-iterator
from-slurpy
from-slurpy-onearg
from-slurpy-flat
new
to
from
sum
fmt
BIND-POS
reification-target
iterator
sink
STORE
eager
Capture
FLATTENABLE_LIST
FLATTENABLE_HASH
CALL-ME
pick
roll
reverse
rotate…
lizmat m: .say for List.^methods(:local) 12:36
camelia from-iterator
from-slurpy
from-slurpy-onearg
from-slurpy-flat
new
to
from
sum
fmt
BIND-POS
reification-target
iterator
sink
STORE
eager
Capture
FLATTENABLE_LIST
FLATTENABLE_HASH
CALL-ME
pick
roll
reverse
rotate…
atroxaper o/ #perl6 12:47
Today I have no questions ^^ 12:48
lizmat why? 12:50
:-)
moritz today, atroxaper is perfect! :-) 12:51
mattr Thanks for your help, Starbucks will kick me out soon as it is 10pm here! :) g'nite o/ 12:52
atroxaper lizmat: almost finish my first module. Plan to upload it to SPAN this week. And do not have questions yet :-) 12:54
lizmat atroxaper++ :-) 12:54
sumdoc How to count the number of times a letter appears in a word. Example: "blogger" contains "g" 2 times 12:55
atroxaper Facepalm... CPAN of course.
lizmat m: say +"blogger".comb.grep("g") 12:56
camelia 2
sumdoc lizmat calling two methods. Is there another way of calling only a single method? 12:57
MasterDuke m: say "blogger".comb.Bag # if you want for all the letters
camelia Bag(b, e, g(2), l, o, r)
lizmat m: say +"blogger".match("g", :g) # much slower 13:00
camelia 2
atroxaper m: say +'blogger'.indices('g') 13:01
camelia 2
lizmat ahh.. yup, forgot all about that :-) 13:03
lizmat and I actually implemented that :-) 13:05
atroxaper lizmat: As you say, Kudos :-) 13:07
sumdoc This is a code I implemented in Perl 6. It counts the number of elements upto 99999 which contain atleast two "7" 13:09
sub count($num) { my @lst; for 0..$num -> $v { if Str($v).comb.grep("7")==2 { @lst.push($v) } } say @lst.elems } count(99999)
This was much slower than this python version
def count(num): lst=[] for i in range(num): if str(i).count("7")==2: lst.append(i) return len(lst) print(count(99999))
atroxaper sumdoc: not 'at least' but 'equals' 2 13:12
lizmat m: say + ^100000 .grep( *.indices("7") == 2 ) 13:13
camelia 7290
lizmat sumdoc: ^^ is that what you're looking for ?
moritz m: say + ^100000 .grep( *.indices("7") == 2 ); say now - INIT now 13:17
camelia 7290
3.56210051
moritz m: say + ^100000 .grep( { .indices("7") == 2 } ); say now - INIT now 13:17
camelia 7290
3.52918619
lizmat moritz: looks to me within noise 13:18
sumdoc atroxaper Yeah u right "equals"==2 13:20
atroxaper m: my $amount = 0; for ^100000 { if .indices("7") == 2 {$amount++} }; say $amount; say now - INIT now; # whithout result Seq is faster 13:25
camelia 7290
4.19151844
atroxaper lol. On my mac it is faster :)
lizmat tries 13:26
lizmat m: my int $amount; $amount++ if .indices("7") == 2 for ^100000; say $amount; say now - INIT now 13:28
camelia 7290
3.3347214
13:29
atroxaper I would say, grep of Seq works very good, then. 13:30
MasterDuke_ lizmat: looks like there more exclusive time spent in the proto for Str's indices than the actual multi it ends up in 13:31
lizmat m: my int $amount; $amount++ if .Str.indices("7") == 2 for ^100000; say $amount; say now - INIT now # wow 13:32
camelia 7290
0.1889341
lizmat yup
MasterDuke_ and neither are jitted
atroxaper Cool! 13:34
sumdoc lizmat moritz Yeah I saw your solution. But it was done similarly using "for loops" in both languages and found rakudo to be slower. 13:39
Here it is in more cleaner form perl6.readthedocs.io/en/latest/Examples.html
pmurias re rename debate, there is an attempt to rename haskell-on-the-JVM as Eta 13:40
ilmari what's it currently called? 13:43
jast Haskell on the JVM, I think :)
ilmari not jaskell?
pmurias they haskell on the JVM is called Eta
atroxaper sumdoc: did you tried 'if +Str($v).indices("7") == 2' ?
pmurias s/they/
perlpilot There's also Frege 13:44
pmurias and the docs try to pretend it's not Haskell
jast Eta sounds really easy to search for. I mean it's not like there's a common acronym with the same letters. 13:46
atroxaper sumdoc: I hope you measure time not by OS but in code. 13:47
stmuk ETA is the former Basque terrorist group!
lizmat sumdoc: also: to make the code completely equivalent, you should probably use .indices instead of .comb.grep and you should have "return @lst.elems" as the last statement of sub count, and then have "print count(99999)" 14:09
lizmat re being slower: we're working on that. Having said that, completely making the code equivalent, is ignoring the strengths of Perl 6 14:10
sumdoc lizmat OK let me see Thanks 14:36
izmat Yeah it is lot faster than before 14:37
sumdoc Updated example perl6.readthedocs.io/en/latest/Examples.html 14:50
dzove855 /54*/54 14:54
:) 14:55
lizmat I would probably replace line 2 .. 7 by: my @lst = (0 .. $num).grep( *.Str.indices("7") == 2 ); 14:59
skids reaches the end of his patience wick with latest new emacs defaults/behaviors 15:47
skids Dumbasses always trying to integrate the kill-ring and window syatems buffers. Grrr. 15:47
HoboWithAShotgun m: 「foo」 16:32
camelia WARNINGS for <tmp>:
Useless use of constant string "foo" in sink context (line 1)
HoboWithAShotgun ugh, i did this on the command line and got a file not found error... 16:34
i forgot the -e ^^
AlexDaniel_ skids: I'm confused. How would you move stuff around otherwise?
buggable New CPAN upload: App-Mi6-0.0.6.tar.gz by SKAJI cpan.metacpan.org/authors/id/S/SK/...0.6.tar.gz 17:02
[Coke] . 17:17
HoboWithAShotgun m: my \Δφ = 𝑒; Δφ.say 17:29
camelia 2.71828182845905
HoboWithAShotgun heh
buggable New CPAN upload: App-Mi6-0.0.7.tar.gz by SKAJI cpan.metacpan.org/authors/id/S/SK/...0.7.tar.gz 17:42
Xliff According to zef, I have 2 versions of a module installed. How do I delete the old copy? 17:58
timotimo there's an uninstall command, it should take the same string as it outputs in the list
Xliff timotimo++
Xliff That's weird. Why did it not uninstall those modules when updating? 18:00
gfldex Xliff: some ditro might want the old version for packaging 18:00
timotimo i'm not sure that answer goes with that question 18:01
Xliff gfldex: I'm with timotimo. If distros want an older version, they can use the ":ver" specifier, right? 18:22
So why is it, that when a newer version is install, the old version is still there?
timotimo um, yeah, but that's different from "why doesn't zef delete stuff when it installs stuff with everything-except-ver being the same?"
gfldex for Perl 6 they can
Xliff Well, that was the better wording, timotimo 18:23
timotimo i'd prefer there to be a "automatic cleanup" subcommand and maybe a little note at the end of installation if packages you've installed superseded other packages
Xliff Yeah, that would be good. 18:24
weabot What's a good way to wait for a variably to change without busy waiting? 19:52
s/variably/variable
moritz you can put it in a Proxy 19:53
perlpilot weabot: why are you waiting for it to change? what changes it?
weabot another thread 19:54
MasterDuke eco: OO::Monitors
buggable MasterDuke, OO::Monitors 'Objects with mutual exclusion and condition variables': github.com/jnthn/oo-monitors
MasterDuke weabot: ^^^ maybe
moritz withdraws his suggestion of using a proxy
weabot I mean I could send a message over a channel 19:55
that's not very reliable though
perlpilot moritz: that was the first thing I thought of too :)
moritz weabot: or a Promise 19:56
moritz also, what's unreliable bout a channel? 19:56
weabot hmm 19:57
timotimo have the variable be a supply that emits changed values (and the current value once at the start)? 20:01
so other code can subscribe to updates
Geth perl6-most-wanted: cbea87ab7f | timo++ (committed using GitHub Web editor) | most-wanted/modules.md
point out cro as a http2 client and server impl
20:10
timotimo perhaps i should have removed the entry completely instead? 20:12
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/10/09/...r-empathy/ 20:48
teatime "Hashes do not print in the order they are created. it is a Perl 6 thing." heh 20:57
timotimo oh! with utf8-c8 encoding for source files we can *totally* *finally* have =finish (or whatever) have binary data in it! 20:59
timotimo gfldex: i don't see a !! in the first code block on your blog post? :( 21:03
oh, it's in the source, it's just not being shown because ... overflow: hidden i guess? 21:04
HoboWithAShotgun can i delegate to static methods?
this doesnt work: has $x = Log::Any handles (log debug info); neither does use Log::Any handles (log debug info); 21:05
gfldex timotimo: there is not much I can do about wordpress
timotimo HoboWithAShotgun: for one it has to be < > rather than ( ) i think
HoboWithAShotgun oh i had that, same error 21:06
timotimo OK 21:07
timotimo so how are log, debug, and info implemented? 21:07
HoboWithAShotgun no idea. they are class methods as per documentation 21:08
and i want a logging role, and therein delegate methods tho those of Log::Any 21:09
timotimo m: class LogAny { method debug(LogAny:U:, $text) { say "debuglogged $text" } }; class TestClass { has LogAny $.logany handles <debug> }; TestClass.new.debug("hi") 21:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3class LogAny { method debug(LogAny:U:7⏏5, $text) { say "debuglogged $text" } };
timotimo m: class LogAny { method debug(LogAny:U: $text) { say "debuglogged $text" } }; class TestClass { has LogAny $.logany handles <debug> }; TestClass.new.debug("hi") 21:10
camelia debuglogged hi
timotimo so that way it seems to wor 21:11
HoboWithAShotgun yeah just realized that too
tony-o . 21:13
yoleaux 8 Oct 2017 16:15Z <jdv79> tony-o: HTML::Parser::XML - parse - the main loop never ends on latest rakudo
timotimo gfldex: is it better on your end? is it just my fonts? when i reduce the zoom factor it stays the same. is reformatting the code an option?
ohai tony-o
tony-o hey hey
tony-o jdv79: i'll take a look, it wasn't the most efficient but i needed it to write the web scraper module (my intro to p6 module) 21:15
gfldex timotimo: should be a bit better now. There is link to a gist at the end. 21:16
timotimo there indeed is! 21:17
thanks
timotimo tony-o: http::server::logger, http::server::threaded, and html::parser::xml all use "rakudobrew build panda" in their travis configs, you may want to change that to build zef :) (and use zef instead of panda for installation, of course) 21:18
gfldex I wanted to show a reasonable exaple for subclassing a grammar for quite some time.
timotimo very cool, gfldex
tony-o timotimo++ thank you 21:24
timotimo tony-o: also, upload to cpan, yada yada :) :) 21:28
perlpilot timotimo: btw, congrats on the funding of your grant!
timotimo thank you! 21:29
AlexDaniel_ m: dd «ree‘’ve‘’‘’t‘’» 22:16
camelia ("ree", IntStr.new(0, ""), "ve", IntStr.new(0, ""), IntStr.new(0, ""), "t", IntStr.new(0, ""))
timotimo oh, tony-o, i remember what i wanted to tell you earlier this week: the readme of perl6-flow needs spaces after the # marks for markdown to properly parse the headers 22:18
Herby_ o/ 23:29
AlexDaniel_ \o 23:31
Herby_ Is the Learning Perl 6 book still due to come out? Looks like the book's website hasn't been updated since July 23:36
Herby_ m: rand(10) 23:39
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of rand(N); in Perl 6 please use N.rand for Num or (^N).pick for Int result
at <tmp>:1
------> 3rand7⏏5(10)
Herby_ I was looking at simple examples of generating random numbers last night. Is the "(Num) method rand" on this doc page no longer right, or am I using it wrong? 23:40
docs.perl6.org/routine/rand
the last method on that page 23:41
geekosaur I think it's right insofar as it's implemented but the 'detect p5 programmers' goop is getting in the way
there's growing sentiment for either removing said goop or at least hiding it behind a pragma
Herby_ gotcha 23:42
thanks
geekosaur (as a long-time p5 programmer I can say the goop never catches any of my leaky p5-isms; they're too subtle) 23:43
unless I'm half asleep, but for that I'd need more than just p5 goop, I'd also need haskell and shell among others :) 23:44
timotimo i recently wrote a little bit of perl5 and got a very unhelpful error message when i forgot to put parens after an if statement 23:51
Xliff I find that after working in Perl6, I rather would prefer never to work in P5 again. 23:56
But that's just me.
timotimo well, there's still things written in perl5 that work "for us" 23:58
in that case it was modules.perl6.org
writing perl5 when you only know 6 and can look at the code around you ... yeah, that can cause problems :) 23:59