»ö« 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.
lucasb some builtins use "proto f($)", and this emits this error with Mu 00:00
m: quielty say Mu.Numeric # I can't call this
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
quielty used at line 1
lucasb m: quietly say Mu.Numeric # I *can* call this 00:01
camelia 0
lucasb m: +Mu # but can't call this
camelia WARNINGS for <tmp>:
Useless use of "+" in expression "+Mu" in sink context (line 1)
Type check failed in binding to parameter '<anon>'; expected Any but got Mu (Mu)
in block <unit> at <tmp> line 1
00:03 comborico1611 left, kurahaupo_ joined
lucasb My point is... if builtin protos used the signature "proto foo(Mu) {*}", then one would get the nice message "Cannot resolve..." 00:03
but since it uses "proto foo($) {*}", the ugly error "Type check failed in binding to parameter" happens 00:04
00:04 espadrine_ left
geekosaur do note that Mu has slightly special semantics there 00:05
MasterDuke i think using Mu would throw things off with juctions
geekosaur ^
basically if you explciitly declare something as Mu then ti suppresses autothreading junctions
lucasb ah, right, I was expecting Junction interaction trouble 00:06
timotimo i would say it the other way around
MasterDuke m: multi f($a) { say $a }; f("a"|"b")
camelia a
b
00:06 kurahaupo left
MasterDuke m: multi f(Mu $a) { say $a }; f("a"|"b") 00:06
camelia any(a, b)
timotimo the fact that everything takes Any by default, not Mu, means that we get autothreading when binding fails because a non-Mu-or-Junction typed argument is responsible for bind failure 00:07
well, parameters
00:08 mcmillhj joined
geekosaur yeh, but that's not the useful version when talking about Mu for general typechecking purposes 00:08
i.e. to get a better error message 00:09
00:12 mcmillhj left 00:13 w_richard_w joined
lucasb m: proto f(|) {}; multi f($x) { say "<$x>" }; f(1|2|3) 00:15
camelia ( no output )
lucasb m: proto f(|) {*}; multi f($x) { say "<$x>" }; f(1|2|3) # ok, gets autothreading
camelia <1>
<2>
<3>
lucasb m: proto f(|) {*}; multi f($x) { say "<$x>" }; f(Mu) # and also gets nice "Cannot resolve..." message 00:16
camelia Cannot resolve caller f(Mu); none of these signatures match:
($x)
in block <unit> at <tmp> line 1
MasterDuke thundergnat: fyi, i'm pretty sure you don't need the .Str's on the numbers in Rational.Str 00:17
m: use nqp; my int $a = 12342334423; my $b; for ^100_000 { $b = nqp::chars($a.Str) }; say $b; say now - INIT now 00:18
camelia 11
0.682129
MasterDuke m: use nqp; my int $a = 12342334423; my $b; for ^100_000 { $b = nqp::chars($a) }; say $b; say now - INIT now
camelia 11
0.04109253
00:18 zachk left
thundergnat MasterDuke: You may be right, I just followed syntax I saw elsewhere as I have no clue what I am g=doing when it comes to nqp 00:19
And it looks like it may be worthwhile dropping it.
00:20 lichtkind left
MasterDuke i think i'm to blame. pretty sure i gave you a thrown-together example that had that 00:20
thundergnat I'll fix the pull request. 00:21
00:21 skids joined
lucasb quietly say (Mu ~ Mu).perl # "" 00:21
quietly say (Mu + Mu).perl # Type check failed in binding to parameter
evalable6 ""
00:21 mcmillhj joined
lucasb proto sub infix:<~>(|) {*} 00:22
proto sub infix:<+>($?, $?) is pure {*}
00:23 raschipi_ joined
lucasb ^^ the protos overly specify their arguments, that's why infix:<~> is more permissive than infix:<+>, right? 00:23
so my concrete question is: shouldn't builtin multis have more relaxed proto signatures?
s/multis/protos/ 00:24
00:24 raschipi left 00:25 raschipi_ is now known as raschipi, mcmillhj left 00:29 lucasb left 00:32 pseudonym_ joined 00:37 pseudonym_ left, mcmillhj joined 00:39 [particle] joined
thundergnat MasterDuke: Hmm. If I remove the .Str in the nqp::chars() ops, I get test failures. Won't even pass sanity tests, let alone spec tests. 00:40
MasterDuke huh
thundergnat I put them back in and it passes again. Looks like they might be necessary. 00:41
00:42 Zoffix left, mcmillhj left
thundergnat Probably because I can't guarantee that the numbers will be ints, in fact it is likely that they could be Ints so I can't constrain them. 00:43
MasterDuke heh, was just thinking the same thing
lookatme :) morning
00:44 mcmillhj_ left
MasterDuke thundergnat: what about using a prefix ~ ? 00:44
thundergnat I'll give it a try.
00:54 mcmillhj joined
MasterDuke thundergnat: so far the only i've found faster than .Str is `nqp::tostr_I(nqp::decont($a))`, and that only by a tiny bit 00:55
which is pretty much what Int.Str is anyway 00:56
thundergnat I got a little sidetracked, I was setting up some testing scripts and found some Rat that aren't returning strings I expected. I trying to figure out if my parameters are wrong or my expectations. 00:57
Long story short: don't merge that PR yet... 00:58
00:59 mcmillhj left 01:05 markong left 01:14 MasterDuke_ joined 01:17 MasterDuke left 01:22 mcmillhj joined 01:27 mcmillhj left 01:30 mcmillhj joined 01:45 ilbot3 left
lookatme Hi 01:54
01:56 ilbot3 joined, ChanServ sets mode: +v ilbot3
raschipi hello 01:59
lookatme If I have a C function like this `void write_arg(int *arg) { }`, how do we create a Pointer point to something of Perl 6 02:00
I just know this way ` my $a := CArray[int32].new; $a[0] = 1; my $arg = nativecast(Pointer[int32], $a)` 02:02
wonder if there has any other convenient way to do it ?
raschipi No idea, sory, never used it. You should try stackoverflow.com, people usually answer very quick there. 02:03
lookatme m: use NativeCall; my $a := CArray[int32].new; $a[0] = 1; my $arg = nativecast(Pointer[int32], $a); dd $arg;
camelia NativeCall::Types::Pointer[int32] $arg = NativeCall::Types::Pointer[int32].new(98213776)
lookatme I think this question is `quick` enough :-)
02:07 leah2 left
lookatme and .. seems like I forget my SO account and password :( 02:07
02:09 zakharyas joined 02:10 leah2 joined, itaipu left 02:17 mcmillhj_ joined, mcmillhj left 02:20 epony left 02:22 mcmillhj_ left 02:27 raschipi left 02:43 pilne left 02:44 melezhik left 02:46 ufobat_ joined 02:50 ufobat left 02:55 aindilis left 03:01 aindilis joined, mcmillhj joined 03:06 mcmillhj left
ktown Zoffix: nice plate I will watch for you on the QEW 03:09
03:13 atroxaper joined 03:14 kurahaupo_ is now known as kurahaupo 03:35 mcmillhj joined 03:38 xinming left 03:39 mcmillhj left 03:40 xinming joined 03:55 epony joined 03:58 mcmillhj joined 04:02 mcmillhj left 04:09 molaf joined 04:12 mcmillhj joined 04:17 mcmillhj left, w_richard_w left, w_richard_w joined 04:18 molaf left 04:35 xinming left 04:36 xinming joined 04:37 mahafyi joined 04:38 eliasr left 04:42 mcmillhj joined 04:46 mcmillhj left 04:50 curan joined 04:53 w_richard_w left 04:55 mcmillhj joined 05:00 mcmillhj left 05:02 xtreak joined, lindylex joined 05:04 dustinm` left
Geth doc: cb8229ba6e | (brian d foy)++ (committed using GitHub Web editor) | doc/Type/Str.pod6
Fix a pod directive in .comb
05:06
synopsebot Link: doc.perl6.org/type/Str
doc: 98ed216de3 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Type/Str.pod6
Merge pull request #2029 from briandfoy/patch-1

Fix a pod directive in .comb Thanks!
05:09 wamba joined
lindylex Hello all. I am trying to pass a value to a methid of a class and not sure why it is not working pastebin.com/NuigWFdd 05:10
moritz lindylex: :$myValue declares a named parameter, so you have pass it as myValue => 42 05:12
lindylex: if you don't want it to be named, remove the leading :
05:12 wamba left, shareable6 left
moritz DoComputations.addValue( :myValue(12) ) 05:12
or
DoComputations.addValue: :myValue(12);
or
DoComputations.addValue: myValue => 12 05:13
lindylex ok one sec let me see if I get what you are saying. I do not want it as a named. That was my initial plan.
05:14 wamba joined
moritz then method addValue($myValue) { ... } 05:16
and
DoComputations.addValue(42)
05:16 HaraldJoerg joined, dustinm` joined
lindylex I get this as the error : pastebin.com/X4ACdyth 05:16
moritz : thanks I got it to work. I though I did this at first. 05:17
It look liked the way I have done it in other languages but for some reason I could not see the error. Thanks the way you shared work. As I said I though I tried that first. 05:18
05:21 vivus-ignis joined 05:22 espadrine_ joined 05:27 mcmillhj joined 05:32 mcmillhj left 05:33 sauvin joined 05:35 vivus-ignis is now known as ignis__away 05:38 w_richard_w joined 05:39 ignis__away is now known as vivus-ignis 05:45 mcmillhj joined 05:50 mcmillhj left 05:51 jmerelo joined
moritz my pleasure 05:54
jmerelo moritz: we have stackoverflow-synchronized :-) 05:59
Geth doc: ecfcf1d8dc | (JJ Merelo)++ | doc/Language/objects.pod6
Adds the transitive property to ^roles

Seen in stackoverflow.com/questions/504021...-type-does
06:00
synopsebot Link: doc.perl6.org/language/objects
06:01 vivus-ignis is now known as ignis__away 06:08 AlexDaniel left, ignis__away is now known as vivus-ignis 06:09 shareable6 joined, ChanServ sets mode: +v shareable6 06:10 vivus-ignis left 06:12 mahafyi_ joined 06:13 mahafyi left, mahafyi_ is now known as mahafyi 06:16 epony left, epony joined 06:17 mcmillhj joined 06:18 domidumont joined, epony left, epony joined 06:20 robertle joined 06:21 mcmillhj left
El_Che do lines on errors refering the the hashed names of precompiled libs, mean something? 06:23
===> Installing: Linenoise:ver<0.1.1>:auth<Rob Hoelz>
Use of Nil in string context 06:24
in block at home#sources/0BDF8C54D33921FEA066491D8D13C96A7CB144B9 (Linenoise) line 15
If I want to debug the error, do I know on which pm to look and what line?
06:24 domidumont left
El_Che and if the errors is someone elses, the is no way to have a look in my own installation, I guess? :( 06:25
06:25 domidumont joined
El_Che I hope perl6 is one day fast enough that it doesn't need that indirection 06:26
06:26 wamba left 06:29 mahafyi left 06:30 lindylex left, jmerelo left, mcmillhj joined 06:32 shareable6 left 06:34 mcmillhj left 06:35 abraxxa left, abraxxa joined 06:37 espadrine_ left 06:38 rindolf joined 06:44 imcsk8 left 06:46 skids left 06:47 psychoslave joined 06:51 imcsk8 joined 07:01 mcmillhj joined, wamba joined 07:06 mcmillhj left
perlawhirl El_Che: You can look for the file by that name. Alternatively, just look at the source of Linenoise.pm6 on github and check line 15 07:19
which is: my constant LIBLINENOISE = %?RESOURCES<libraries/linenoise>.Str;
i'm guessing it can't find the linenoise lib on your machine?
07:20 curan left 07:21 curan joined
perlawhirl tbh, if you're installing it for the REPL, use Readline if possible, as it has better unicode support 07:22
07:25 darutoko joined 07:27 softmoth left 07:29 xtreak left, shareable6 joined 07:32 xtreak joined, mcmillhj joined 07:37 mcmillhj left 07:46 xtreak left 07:48 jmerelo joined 07:51 isBEKaml joined
isBEKaml OHHAI, is there a rakudo build failure at the moment? I find that I cannot build rakudo on HEAD over some failure in CORE.setting 07:52
Stage mast : Arg count 0 doesn't equal required operand count 1 for op 'getrusage'
Is this known?
jmerelo isBEKaml: environment and versions? 07:54
isBEKaml: it's probably better anyway if you file a rakudo issue... 07:55
07:56 xtreak joined 08:00 xtreak left, xtreak joined 08:02 athenot_ joined 08:03 athenot left 08:07 mcmillhj joined 08:12 mcmillhj left 08:13 lizmat joined 08:21 SteffanW joined 08:25 xtreak left 08:36 llfourn left 08:39 TEttinger left 08:40 mcmillhj joined 08:41 sauvin left, sauvin joined 08:43 sauvin left, sauvin joined, sauvin left 08:45 mcmillhj left, sauvin joined, sauvin left
isBEKaml jmerelo: Thanks, the build was on the latest HEAD on rakudo git 08:45
git rev-parse HEAD
4fca9474362f3362603ea79dd35fa0c7d3a1ef8d
uname gives me this: Linux azazel 4.4.118 #2 SMP Sun Feb 25 14:30:46 CST 2018 x86_64 Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz GenuineIntel GNU/Linux 08:46
08:46 sauvin joined
isBEKaml It's probably something else if you have travis CI nightly builds working fine - Will look into it some more before filing a bug 08:46
08:46 sauvin left 08:53 xtreak joined 09:04 wamba left 09:09 zakharyas left 09:24 mcmillhj joined 09:29 mcmillhj left 09:38 mcmillhj joined 09:43 mcmillhj left 09:53 w_richard_w left 10:02 mcmillhj joined 10:06 scimon joined 10:07 mcmillhj left 10:15 enheh left 10:20 wamba joined
Geth doc/master: 7 commits pushed by (Luca Ferrari)++ 10:22
10:26 psychoslave left, psychoslave joined 10:29 eliasr joined 10:30 markong joined, psychoslave left 10:31 psychoslave joined, FROGGS joined 10:35 aindilis left 10:36 w_richard_w joined
MasterDuke_ isBEKaml: that commit is from october 2017, which is right around when the default branch was switched from nom to master 10:45
11:02 mcmillhj joined
isBEKaml MasterDuke_: perfect, thanks for that. I totally missed that the branch was switched over and was still on nom 11:04
11:07 mcmillhj left
MasterDuke_ np 11:07
11:11 w_richard_w left 11:14 curan left 11:19 Beginner joined 11:23 wamba left
El_Che perlawhirl: yes, both Linenoise and Readline are broken on recent distros. I filed a bug report on both (and create an installeble fork for Readline that installs on dists using readline 7) 11:25
(1 line pathc)
11:27 athenot_ left 11:30 Beginner left 11:32 aindilis joined 11:40 itaipu joined, ExtraCrispy joined
Geth doc: 98449d0c5e | (Elizabeth Mattijsen)++ | doc/Language/5to6-nutshell.pod6
Mention Slang::Tuxic if you want foo ("bar") to work
11:52
synopsebot Link: doc.perl6.org/language/5to6-nutshell
robertle does anyone have a quality example of a module documented by pod6? 11:54
Geth doc: 1d80fac5e8 | (Elizabeth Mattijsen)++ | doc/Language/5to6-nutshell.pod6
Spaces *are* allowed around infix:<.> nowadays
11:57
11:57 enheh joined 11:58 shareable6 left 12:00 xtreak left 12:05 jmerelo left 12:09 atroxaper left 12:11 abraxxa left 12:12 athenot joined 12:20 rindolf left 12:25 rindolf joined 12:41 mcmillhj joined
buggable New CPAN upload: P5ref-0.0.4.tar.gz by ELIZABETH modules.perl6.org/dist/P5ref:cpan:ELIZABETH 12:42
robertle wq 12:43
12:43 robertle left 12:46 kurahaupo left 12:47 kurahaupo joined 12:55 shareable6 joined 12:57 lucasb joined 12:58 AlexDaniel joined 13:08 robertle joined 13:09 shareable6 left 13:28 isBEKaml left 13:38 mahafyi joined 13:39 molaf joined 13:56 kiop joined 13:57 ChoHag joined 14:01 scimon left, scimon joined, ufobat_ left 14:05 shareable6 joined, ChanServ sets mode: +v shareable6 14:21 raynold left, FROGGS left 14:25 SteffanW left, skids joined 14:30 stmuk_ joined 14:31 stmuk left
jkramer Is there a way to create a range with whatever like this, but working: 14:34
m: my @foo = <foo bar baz>; say @foo.keys.map(*..@foo.elems)
camelia Cannot resolve caller map(Seq: Range); none of these signatures match:
($: Hash \h, *%_)
(\SELF: &block;; :$label, :$item, *%_)
in block <unit> at <tmp> line 1
jkramer So it does this, just with whatever: 14:35
m: my @foo = <foo bar baz>; say @foo.keys.map({$_..@foo.elems})
camelia (0..3 1..3 2..3)
Herby_ o/ 14:36
14:40 Zoffix joined
Zoffix jkramer: when whatever star is a term on it's own, it's just a Whatever object, not a closure. 14:40
So you're simply creating a Range object there, with Whatever as the starting end point 14:41
m: my @foo = <foo bar baz>; say @foo.keys.map: *.self .. +@foo
camelia (0..3 1..3 2..3)
Zoffix And here, you get a closure, 'cause it's not a term by itself.
AFAIK the ops that get curried over and those that aren't aren't documented yet. It's D#2017 14:42
synopsebot D#2017 [open]: github.com/perl6/doc/issues/2017 [docs] Docs on Whatever curry could be clearer / don't cover everything
jkramer Zoffix: Ah, thanks!
Zoffix m: my @foo = <foo bar baz>; say @foo.keys.map: +* .. +@foo # shorter
camelia (0..3 1..3 2..3)
jkramer Oh even better :) 14:43
Zoffix m: my @foo = <foo bar baz>; say @foo.keys».&[..](+@foo) 14:44
camelia (0..3 1..3 2..3)
Zoffix m: my @foo = <foo bar baz>; say 0..+@foo, {.min+1 .. +@foo} …^ *.min ≥ @foo 14:46
camelia (0..3 1..3 2..3)
14:46 molaf left
Zoffix m: my @foo = <foo bar baz>; say ^@foo «..» +@foo 14:46
camelia (0..3 1..3 2..3)
Zoffix That's the shortest one :)
m: say ^$_ «..» +$_ with <foo bar baz> 14:48
camelia (0..3 1..3 2..3)
Herby_ Is there a release date for the Comma IDE yet? I see on their website they are aiming for this month 14:51
Zoffix "It's ready when it's ready" 14:52
Herby_ gotcha
14:52 scimon left
Herby_ Zoffix: I saw an article of yours from last year where you were talking about writing Rakudo books 14:53
Zoffix Well, I just made that up. I've not heard of any release dates.
Herby_ is that still on the horizon?
14:53 scimon joined
Zoffix Herby_: yeah, I still plan to write something and have already produced some content that will be in the book in some form. It's kind'f a negative result of my quitting drinking: I no longer write as much :) 14:55
14:56 scimon left
Zoffix Herby_: and I might deviate from the 3..5 books I originally planned and instead write a book that dispells the myth of Perl 6 being "very big" and stuff. 'cause IMO it really is a myth caused by us providing tools in core, rather than in some 3rd party library. 14:57
14:58 domidumont left
Zoffix I mean. It will teach Perl 6, with the goal to teach it just as any other "not big" language, rather than "holy shit, there's 50 ways of doing this and here they all are. Learn them STAT" 14:58
Herby_ Yeah, I think that would be good 14:59
15:00 athenot left, psychoslave left 15:01 athenot joined 15:20 robertle left
timotimo www.vim.org/vim-8.1-released.php o_O 15:30
15:30 jmerelo joined 15:34 isBEKaml joined
geekosaur nvi has had that for how long now? *eyeroll* 15:37
timotimo emacs has had this for at least 30 years i'm sure 15:38
geekosaur wasn;t even going to touch that one. vim is more or less the definition of emacs envy
[Coke] calls Zoffix's plates with NYS KHAAAAAN
timotimo isn't it good that a fork of the thing is prototyping stuff and that's coming back to the original for the benefit of everybody?
15:47 kybr joined, kurahaupo left
mst I've never really understood why you'd want a terminal in your editor rather than using a terminal manager of some sort to launch one of each 15:48
15:48 kurahaupo joined
isBEKaml Hmm, the terminal in IntelliJ is much more tolerable than the bare cmd 15:49
But sure, I won't need a terminal in an editor when I'm on Linux 15:51
geekosaur if you're on windows, cmd window is fairly lane
lame
15:51 softmoth joined
geekosaur a terminal integrated into your editor/IDE/whatever and with smart editing features derived therefrom is a win 15:51
15:51 Herby_ left
geekosaur conversely it's kinda painful to make an xterm or other terminal emulator *really* behave like your editor, beyond simple line editiing 15:52
15:52 Herby_ joined, ChoHag left
Zoffix [Coke]: that reference is lost on me. Something about StarTrek? :) 15:53
16:00 aindilis left
Herby_ gist.github.com/sylints/52081eb2f2...a8d9ad7b4b 16:01
maybe I'm half asleep but I'm not sure why this is not working
I zef installed Concurrent::Trie
but when I run that script, i'm being told it cant find Concurrent::Trie
16:05 aindilis joined
El_Che Zoffix: I don't thing it's a myth 16:05
think
Zoffix Then after I write my book, you can write yours :P 16:07
"Perl 6 is pretty damn huge" 16:08
El_Che a small language, that is not very expressive, like go you'll pick in a few days. The included libraries (http, encryption, etc) you'll pick up by reading the doc, they don't add expressive power
jmerelo Zoffix: And hairy.
El_Che it's the same as a class you wrote yourself
in perl 6 you have all these little shortcuts 16:09
jmerelo Herby_: it looks pretty OK as long as Concurrent::Trie is installed. If you've switched versions, that might be it...
El_Che sometimes with small differences
e.g. on how you write a pair
Herby_ jmerelo: I haven't switched anything that I'm aware of. I just installed the Trie module
El_Che you need to know all 6 (?) ways to read someone elses code
once you paid the price, the expressivity is something you don't want to give up 16:10
jmerelo Herby_: maybe not... perl6 -M Concurrent::Trie -e "my $trie = Concurrent::Trie.new;" returns the same thing...
Zoffix El_Che: there's more in sizes than "small language" and "big language". I never said Perl 6 was a small language and your comparison with Go is unfair. 16:12
jmerelo Herby_: it does not work... jnthn , you there?
El_Che why? it's an extreme example
Zoffix El_Che: and you're making the same mistake Zefram did in his talk where he trashes Perl 6 for being too big. Your Go docs won't cover the dozens of libraries you'd be using to get similar features to what's provided by core Perl 6. Just because you know Go the language doesn't mean you automatically know all those libraries.
jmerelo Herby_: there's something weird here: github.com/JJ/p6-concurrent-trie/b...6.json#L10 16:13
(already forked and working on it...)
Zoffix El_Che: if the myth is "Perl 6 is very big" you can't dispell the myth by saying "It's not very small"
Herby_ jmerelo: I just spotted that too. thanks for taking a look at it
jnthn jmerelo: Yes, what's up?
16:13 Kaiepi left
Zoffix jnthn: s/dispell/prove/; 16:13
s/jnthn//; 16:14
El_Che I don't see big as a problem
jmerelo jnthn: check out Herby_'s code above.
Herby_ gist.github.com/sylints/52081eb2f2...a8d9ad7b4b
Zoffix El_Che: what is this conversation about exactly?
El_Che it's not about libraries
jnthn jmerelo: Ah, yeah, the META.json looksbusted :)
El_Che (sorry bad train wifi)
(cell wifi)
Zoffix: that I don't understand why you say Perl 6 is not big
perl5 is also big in has less expressivity 16:15
jmerelo jnthn: If you don't have time to work on it now, just let me know. Thanks!
El_Che nothing wrong with big languages, it's a choice the language designer makes
16:15 Zoffix left 16:17 telex left
jnthn jmerelo: Fixed the META6.json 16:17
jmerelo jnthn++
jnthn Can't remember if it's distributed by CPAN or by GitHub 16:18
geekosaur El_Che, there's an argument that "big" means "stuff wired into core" as opposed to "stuff bundled with"
16:18 telex joined, ChoHag joined
timotimo jnthn: it's on cpan 16:18
geekosaur we bundle a bunch of stuff, but avoid hardwiring things into e.g. the parser
16:18 raschipi joined
geekosaur p6 isn;t big language, it's big batteries included 16:18
timotimo jnthn: before you upload the next version, maybe consider adding some tags to the meta6json? :) 16:19
Algorithm::Trie::libdatrie for example has tags "text" and "trie"
and something for "threadsafe" or something 16:20
El_Che geekosaur: yes, but by big I also understand expressivity. You need to understand different ways to do the same thing (something where no libs are needed in perl6 or other languages) 16:21
I gave the pair example
geekosaur I don;t think fo that as big
El_Che you can like it or hate, but you need to deal with it when you read someone else code
geekosaur I mean, by that standard Tcl is enormous
El_Che do you push to an array as a method or function?
etc
geekosaur: perl6 is not the only big language. perl5 is also big in my book 16:22
geekosaur it's flexible. we flex it a bit. this isn't so much big, as youung: provide the pieces, let the community decide what it wants
then deprecate unused ones later
El_Che I don't see big as bad 16:23
geekosaur otherwise youre casting Python "Guido decides how you code"
p5 I see as big because there's so much hardcoded unix not just in the ecosystem but in the parser. which is why it's always been a mess on windows
El_Che I am not proposing to make of perl6 a small language 16:24
Herby_ jmerelo and jnthn: thanks for the quick fix :)
geekosaur but it soulds like your real disagreement is ytou think we should be python There Is Only One Way, Follow Guido
and, no.
jmerelo Herby_: a pleasure. :-)
geekosaur provide the tools, let the community decide which ones it wants to use, deprecate or module the rest
El_Che python is not my cup of tea
geekosaur but you don;t like multiple ways to do things? 16:25
El_Che I don't mind that
(but in the pair case is too much)
geekosaur or at least you have yourself convinced this is a permanent problem instead of a necessary growing pain
El_Che you're missing my argument
I am not saying that big or small is better 16:26
I am saying that some languages are small and some are big because they were ceonceived that way
and in my eyes, perl 6 was conceived as a big languages, very expressive, lots of batteries 16:27
that's why I like perl 6, but I know there is a price to pay for that when you learn the language
16:28 stmuk joined
El_Che the other extreme, go, that I also like I use, you pick it up really quick but you pay the price later when you're repeating yourself all over the place 16:28
geekosaur I… you have an odd notion of designed
you consider the core and the periphery to be inseperable, apparently 16:29
16:29 stmuk_ left
El_Che having several ways to create hashes, pairs, etc seems core to me 16:29
geekosaur we have the potential for lots of pluggables, we toss a decent selection oinb. this is your bug
er, your big
El_Che yes, indeed 16:30
16:30 comborico1611 joined
geekosaur I'm not so sure of that, the core provides one mechanism, you can think foi the rest as slangs/"preprocessors" 16:30
Geth doc: b18bddba29 | (JJ Merelo)++ | doc/Language/contexts.pod6
Adds @zoffix's example to sink context
synopsebot Link: doc.perl6.org/language/contexts
geekosaur my idea of "multiple eways to make a pair" includes "they aren;t the same type" 16:31
which is not true of p6
outer syntax is flexible and extensible
(it is in a sense true of python, which is one of the things I dislike about it: lists and tuples are almost but not quite the same thing) 16:32
El_Che it certainly is, but once out of the bag, I don't see things changing. Only truly broken things will be changed.
HaraldJoerg To add: Having several ways to quote stuff, all in the core: 'foo' or q!foo! Q:q!foo! or Q:single (foo) ... I doubt that any of those will be deprecated
geekosaur I am rapidly landing on "agree to disagree, if you truly are bothered by this, there are other languages"
El_Che you miss my point: I am not bothered at all 16:33
I am just saying Perl 6 is big
and big is not a bad thing
HaraldJoerg I am with El_Che that things like this will make reading other people's code difficult to read 16:34
El_Che it's what it is, you win some, you lose some
geekosaur also if things are designed to be orthogonal,"big" in one dimension is small in another
El_Che many of us are perl 5 programmers
we know how much expressiveness we get
and we know we need to be careful not to be too smart and make the code unreadable
geekosaur and my problem with :difficult to read" is there's an example of trying to simplify that away
it's called java
and it led to massive boilerplate. this is easier? 16:35
El_Che it depends
for the poor sod writing the code no
for the manager looking for cheap people that can pick it up fast? sure
it's in the eye of the beholder
geekosaur for me reading it, I'm swimming in a pig pool looking for the diamond that fell into it 16:36
El_Che fix that
geekosaur I did. I use languages that don't drown me in noise
you think 4 levels of factory to make up for lack of expressiveness is a readability win, you can have it
raschipi Is Python smaller or bigger than Perl 6 in your view, El_Che? 16:37
El_Che geekosaur: for the record I never go to love python and did java in the past (but not anymore)
raschipi: I don't know enough python to answer that
raschipi And Java?
El_Che when I did java (6) I found it a small lang with a big stdlib 16:38
I stick with perl5, 6 and go nowadays
I didn't find Java complex, but recently I helped a collegaue debug Java Spring code 16:39
omg, complexity overdose
raschipi It's like Perl5 lacking parameters, which is extra syntax in Perl 6. It's harder to understand functions in Perl 5 because you need to know how things are being done. 16:44
El_Che true 16:45
16:45 stee3 joined
raschipi Pushing things from syntax or core to a standard library or to the programmer doesn't make them any smaller. 16:46
El_Che but in this specific case it's concentrated notation that eliminates a lot of boilerplat
e
raschipi: that's not what happens in other languages 16:47
you don't look in the stdlib or third party to have different ways to defines hashes/map in go or java
raschipi Size here being the amount of stuff you need to hold in your head to understand the language.
El_Che you will look for a replacement for the builtin cmd handler in go because it's crap 16:48
jnthn timotimo:Good point, added some
16:49 stee left
comborico1611 raschipi: That is a good definition of "size" in regard to programming. 16:49
El_Che raschipi: yyou liberate space in your head by the things that are builtin and feel natural
you loose space for the extra things you need to know but you won't use because it's not your style 16:50
e,g, :1st in my case
comborico1611 El_Che: Good point.
16:50 kiop left
geekosaur problem there is you do use them, when they are natural: adverbs 16:51
and having them be the same mechanic underneath is a win
El_Che geekosaur: I understand lot of people love it
more power to them 16:52
so I learnt it for when I read code
jnthn Herby_ jmerelo New version just uploaded to CPAN. Hope that helps. :)
raschipi Exactly, :1st isn't a floating construct, it's used in, for example, m:i/a b c/
Try to do that using i => True syntax. 16:53
El_Che sure, that make sense
for a regular hash, less so 16:54
:42foo, :43bar
jnthn afk
raschipi It's just made as a general construct.
El_Che I understand that
so, you need to understand all the general constructs that can be used in a lot of places 16:55
raschipi m: my sub func (:$no) {say "NO!" if $no }; func():no
camelia NO!
raschipi Better than having to understand special contructs.
El_Che raschipi: I use it i signatures 16:56
geekosaur ^ so it's better to have magic syntax that works only here and nowhere else?
MasterDuke_ huh, i haven't seen that before
16:56 MasterDuke_ is now known as MasterDuke
El_Che :$var felt more natural to me than :42var 16:56
train almost there. 16:57
my point is not that they are bad or too many
only that there is extra complexity 16:58
you need to know them
you can't not ignore them
and that makes it "big"
Geth doc: adc5f09c12 | (JJ Merelo)++ | doc/Language/traps.pod6
Adds documentation on map "sinkage"

This closes #1718 but see my comment.
synopsebot Link: doc.perl6.org/language/traps
Herby_ jnthn: thanks!
El_Che got to go
thx for the info
interesting discussion 16:59
(and I am the guy explaining perl6 at work, figure that :) )
17:01 andrzejku left
raschipi There's no problem at all with not understanding all of Perl6. There's no one that understands all of it anyway. Not even Larry. 17:02
comborico1611 El_Che: I think that is fair conclusion.
buggable New CPAN upload: Concurrent-Trie-1.1.tar.gz by JNTHN modules.perl6.org/dist/Concurrent::...cpan:JNTHN
17:02 shareable6 left
jmerelo jnthn: sure it does. Thanks! 17:04
17:05 ufobat_ joined 17:06 g- left
Geth doc: 3e05b4165c | (JJ Merelo)++ | doc/Language/traps.pod6
Correcting POD thanks to @AlexDaniel for pointing it out
17:06
17:11 Ven`` joined
geekosaur I would say that reusing stuff that way is precisely what contains the complexity, and thinking p6 is "big" is missing the compaction from that reuse. which … yes, entitely possible, but also entirely missing the point of p6's design 17:11
17:11 Ven`` left
geekosaur so thinking that makes p6 big is not understanding p6 17:11
17:12 g- joined
Geth doc: 97bf51cfe2 | (JJ Merelo)++ | 2 files
Adding some documentation

Reviewing if the merging indicated in #1822 is possible, but well, it is not, because they target a different set of files. It might still be interesting to unify all these tests, and create a set of extensions as well as regexes or tests they should meet. But not for the time being. So it closes #1822.
17:15
17:25 Zoffix joined 17:26 Zoffix left 17:31 domidumont joined 17:34 skids left
Geth doc: 8a00bc15bc | (JJ Merelo)++ | htmlify.p6
Adds a CATCH to catch possible htmlify.p6 errors

This would close #1932, and also refs #1823, which might or might not be done eventually.
17:38
17:41 espadrine_ joined
Geth doc: a9ea5277dc | (JJ Merelo)++ | htmlify.p6
Changed disambiguation files to surround the name with «»

This would close #2030, although I'm not sure what disambiguation files are for, since they appear not to be linked from anywhere...
17:54
doc: JJ self-assigned Which phasers are compatible with "will trait"? github.com/perl6/doc/issues/1553
fdeaa1e0a2 | (JJ Merelo)++ | doc/Language/phasers.pod6

Looking mainly at the roast test:
  github.com/perl6/roast/blob/fca87f...ons/will.t
Some not implemented here, but at least an example of those phasers excluded could be added. Not sure the issue is current, anyway, since it said which phasers could be used this way. Closes #1553 anyway.
17:56
18:00 shareable6 joined
synopsebot Link: doc.perl6.org/language/phasers
doc: 6027c8a5c9 | (JJ Merelo)++ | doc/Language/concurrency.pod6
Explains you shouldn't use last in whenever

That would close #1551. Please reopen if you don't feel happy about it.
18:07
synopsebot Link: doc.perl6.org/language/concurrency
18:10 mcmillhj left, khaled joined
khaled hi 18:10
18:11 Kaiepi joined
moritz ho 18:12
jmerelo huh? 18:13
18:14 mcmillhj joined
Geth doc: b876c85fc7 | (JJ Merelo)++ | doc/Language/contexts.pod6
Adds indexing for sinking

Which had already been documented in #732. Closes #1309.
18:14
synopsebot Link: doc.perl6.org/language/contexts
moritz ha! 18:16
jmerelo he++
jmerelo loling all by himself.
jmerelo closing shop for today. 18:18
18:19 jmerelo left 18:24 MasterDuke_ joined 18:26 MasterDuke left 18:27 khaled left
Geth doc: ElenaMerelo++ created pull request #2031:
Minor changes
18:29
18:30 MasterDuke_ is now known as MasterDuke 18:31 mahafyi left 18:34 pilne joined, isBEKaml left 18:36 shareable6 left 18:39 mspo joined
mspo moritz: hey saw your name on pt-table-sync release notes 18:39
moritz mspo: oh, there's a new release? that's great :-) 18:42
mspo: I just contributed a small patch that $work needed
mspo moritz: I (unfortunately) end up using pt-table-sync every now and then :)
moritz: specifically on hosts with different binlog formats, even 18:43
moritz mspo: does this help you then? or are using it with one of the sync options that needs identical binlog formats? 18:44
mspo moritz: I don't know I didn't look at the patch :) 18:45
but probably
18:51 sjoshi joined, darutoko left 18:55 skids joined 18:57 aindilis left 18:58 aindilis joined 19:00 stmuk_ joined 19:01 aindilis left, psychoslave joined 19:04 stmuk left 19:09 mcmillhj left, domidumont left 19:12 ChoHag left 19:14 robertle joined 19:17 dct joined 19:18 aindilis joined, ChoHag joined 19:20 mcmillhj joined 19:21 mspo left 19:25 raschipi left 19:28 mcmillhj left 19:32 Tison joined, wamba joined, shareable6 joined 19:33 sjoshi left
Tison . 19:33
19:33 cognominal joined 19:39 mcmillhj joined, Tison left 19:43 zachk joined, mcmillhj left 19:48 pmurias joined 19:51 mcmillhj joined
buggable New CPAN upload: P5__DATA__-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz 19:52
lizmat FROGGS++ # helping out 19:54
sjn: ^^^
19:55 athenot left, mcmillhj left 20:00 cognominal left 20:02 mcmillhj joined 20:05 isBEKaml joined 20:06 cozachk joined, zachk left 20:07 cozachk is now known as zachk, zachk left, zachk joined 20:08 rindolf left 20:09 andrzejku joined 20:12 Herby_ left 20:13 rindolf joined 20:14 andrzejku_ joined 20:16 andrzejku left 20:19 andrzejku_ left
buggable New CPAN upload: perl6-cache-async-0.1.2.tar.gz by ROBERTLE cpan.metacpan.org/authors/id/R/RO/...1.2.tar.gz 20:22
20:27 Herby_ joined, isBEKaml left, mcmillhj left, |oLa| joined 20:32 psychoslave left 20:35 mcmillhj joined, mcmillhj left 20:43 mcmillhj joined 20:48 mcmillhj left 20:51 itaipu left 20:54 slayergames joined 20:56 softmoth left
Juerd polyfloyd.net/post/compile-time-pr...njections/ # Does Perl 6 have a type or other parameter constraint that only allows compile time string literals? 21:03
21:04 mcmillhj joined 21:05 HaraldJoerg left 21:09 mcmillhj left, espadrine_ left
lizmat Juerd: I came up with: sub a(Str:D \item where -> \value { value.VAR.^name ne "Scalar" } ) { }; a "foo" 21:10
Juerd It'll take me a while to parse that :) 21:11
lizmat Juerd: or with nqp: sub a(Str:D \item where -> \value { use nqp; !nqp::iscont(value) } ) { }; a my $ = "foo"
basically, alias the parameter and see if it is a container or not 21:12
if it's not, then it's a literal value
21:12 athenot joined
Juerd But that wouldn't block "WHERE foo = $foo" 21:12
The goal is to reject anything that had anything interpolated or concatenated 21:13
lizmat well, then you would have to do something at compile time 21:14
hmmm.... no, I wouldn't know of a way just yet the
n
21:21 TEttinger joined, espadrine_ joined
slayergames how does Iterator not extend Mu? 21:22
masak m: say Iterator ~~ Mu
camelia True
slayergames oh 21:23
it doesn't say so in the docs
is ~~ also "extends check" besides being regex matching?
21:26 mcmillhj joined
MasterDuke slayergames: it's "smartmatching", it does a lot 21:26
21:28 slayergames left 21:30 mcmillhj left
buggable New CPAN upload: P5defined-0.0.2.tar.gz by ELIZABETH modules.perl6.org/dist/P5defined:cpan:ELIZABETH 21:32
21:32 mcmillhj joined 21:35 mcmillhj_ joined 21:37 mcmillhj left, softmoth joined 21:47 mcmillhj joined 21:52 mcmillhj left 21:56 Khisanth left
comborico1611 I'm hearing rumors that emacs 26 might be coming out this weekend. 22:00
El_Che Too late, the new vim is already out 22:03
yesterday actuanlly
22:04 mcmillhj joined
comborico1611 heh 22:05
El_Che it's like when you have two messianic religions and one of them already welcomed they mesiah the day before :) 22:06
22:09 mcmillhj left
geekosaur but neither one accepts the other's messiah, so. 22:10
(meanwhile, they;re off having the rapture and the rest of us can get some work done :p )
El_Che haha
22:12 Khisanth joined 22:16 slayergames joined
slayergames how can you have a range with step? 22:16
22:19 SCHAPiE left, obra joined 22:20 mcmillhj joined
lucasb I don't think you can. But you can have a sequence with your desired step 22:20
m: say .min, .min+3 ... .max given 1..10 22:21
camelia (1 4 7 10)
lucasb hopefully someone else will have a better example
22:22 robertle left
El_Che m: (2,4 ... 20).say 22:23
camelia (2 4 6 8 10 12 14 16 18 20)
22:24 mcmillhj left 22:25 mcmillhj_ left, SCHAPiE joined
Herby_ squashable6: help 22:26
squashable6 Herby_, Available commands: status, log, quiet, loud # See wiki for more examples: github.com/perl6/whateverable/wiki/Squashable
Herby_ squashable: status
squashable6 Herby_, Next SQUASHathon in 13 days and ≈11 hours (2018-06-02 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
Herby_ squashable6: log
squashable6 Herby_, Nothing there yet
AlexDaniel Herby_: maybe I can help? What are you searching for? 22:27
Herby_ AlexDaniel: o/
I was looking through the whateverable issues: #314
was trying to see what exactly wasn't working
22:31 mcmillhj joined
AlexDaniel Herby_: Ah, 314 22:34
didn't know there was a ticket
it was fixed in github.com/perl6/whateverable/comm...32213de194
22:36 softmoth left, wamba left
Herby_ awesome. one ticket down :) 22:36
22:36 mcmillhj left
AlexDaniel Herby_: still needs tests I think, but Squashable has no tests at all right now 22:37
not sure if it's worth it 22:38
22:39 ufobat_ left 22:51 obra left
slayergames what is the benefit of using special sigils for arrays? (@) 22:53
El_Che Each sigil, therefore, carries a set of useful default behaviors for data that is to be considered a single item ($), something to index in to positionally (@), something to index in to with a key (%), and something that can be called (&). 22:55
(from jnthn answer on SO)
Syntactic disambiguation (you can call a variable whatever you want, even if there happens to be a keyword with that name)
Readability (the data in the program stands out thanks to the sigil)
22:55 Zoffix joined
Zoffix slayergames: this article explains it well: perl6advent.wordpress.com/2017/12/02/ 22:56
El_Che slayergames: stackoverflow.com/questions/503997...-rebinding (the fist answer, ignore the binding part)
AlexDaniel there are some good points on docs.perl6.org/language/faq#Why_si...hout_them? but I actually expected it to provide more detailed justifications
22:56 cognominal joined 22:58 mcmillhj joined 22:59 athenot_ joined, athenot left
Herby_ Looking at the performance section: docs.perl6.org/language/performance 23:01
MasterDuke++ for recently updating it
It reads that code that gets JIT'd is a good thing
is there anything out there that speaks to what kind of code/structure etc... you want to aim for in an effort to have the VM jit it? 23:02
not sure if that makes sense
23:02 pmurias left 23:03 mcmillhj left, athenot joined 23:04 athenot_ left, llfourn joined 23:05 Khisanth left
MasterDuke hm, that's a good question 23:05
but i think the jit has pretty good coverage now, so most things do end up getting jitted
Herby_ gotcha 23:07
23:08 lucasb left 23:09 wamba joined 23:10 mcmillhj joined, cognominal left 23:11 cognominal joined
MasterDuke but there probably could be some suggestions there. like breaking a large routine with branching it based on the types of its arguments into smaller multis 23:11
Zoffix slayergames: as for your earlier question. A Range object doesn't have any steps, only end points and info on whether either of them is excluded. If you meant you want a sequence of numbers for A to B, increasing by an arbitrary number of steps, you can use the sequence operator `…`. But if you do have a Range object and you want to iterate while skipping some items, you could use the .toggle method or .kv +
grep(indeces you want) + map(value)
MasterDuke hm, could you use .rotor for that also? 23:13
Zoffix Actually, .toggle is kinda sucky and long
m: say (1..20).toggle: {++$ %% 2} xx * 23:14
camelia (3 6 9 12 15 18)
AlexDaniel m: say (2..50)[0,2…∞]
camelia (2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50)
Zoffix I was hoping this would `state` the anon var, but it's a separate block each time
[] caches
m: say (1..20).toggle: * %% 2 xx *
camelia (2 4 6 8 10 12 14 16 18 20)
AlexDaniel sorry, caches what? 23:15
23:15 mcmillhj left
Zoffix m: say (1..20).pairs.grep(*.key !%% 2)».value 23:15
camelia (2 4 6 8 10 12 14 16 18 20)
Zoffix AlexDaniel: nm
23:18 Khisanth joined
MasterDuke m: say (1..20).rotor(1 => 1).flat 23:18
camelia (1 3 5 7 9 11 13 15 17 19)
Zoffix cool
23:20 cognominal left 23:22 slayergames left, markong left 23:24 athenot left 23:25 athenot_ joined 23:27 mcmillhj joined 23:30 rindolf left, Zoffix left 23:32 mcmillhj left 23:33 athenot joined, athenot_ left 23:38 athenot left 23:39 cognominal joined 23:45 espadrine_ left 23:46 mcmillhj joined 23:48 cognominal left 23:49 cognominal joined 23:50 zachk left, mcmillhj left 23:56 shareable6 left