»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
SmokeMachine m: my \c = 42; c := 13; say c # this is not valid 00:04
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use bind operator with this left-hand side
at <tmp>:1
------> 3my \c = 42; c := 137⏏5; say c # this is not valid
SmokeMachine m: my \c = 42; :(\c) := \(13); say c # should it be valid? 00:05
camelia 13
Xliff m: my \c = 42; :(\c) := 13; 00:06
camelia Cannot unpack or Capture `13`.
To create a Capture, add parentheses: \(...)
If unpacking in a signature, perhaps you needlessly used parentheses? -> ($x) {} vs. -> $x {}
or missed `:` in signature unpacking? -> &c:(Int) {}
in block <unit> at…
Xliff m: my \c = 42; :(\c) := \(13);
camelia ( no output )
Xliff m: \(13).^name.say
camelia Capture
Xliff m: my \c = 42; c.^name.say 00:07
camelia Int
SmokeMachine and :() is a signature...
Xliff SmokeMachine: Apples and non-apples?
SmokeMachine Xliff: no, that makes sense...
Xliff \c is the same as saying "$c is raw" 00:08
Which makes me want to say "is containerless"
SmokeMachine m: my $a, $b; :(Int $a, Str :$b) := (42, :13b); dd [:$a, :$b]
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$b' is not declared
at <tmp>:1
------> 3my $a, 7⏏5$b; :(Int $a, Str :$b) := (42, :13b); dd
SmokeMachine m: my ($a, $b); :(Int $a, Str :$b) := (42, :b<bla>); dd [:$a, :$b] 00:09
camelia Array element = [:a(42), :b("bla")]
SmokeMachine m: my ($a, $b); :(Int $a, Str :$b) := \(42, :b<bla>); dd [:$a, :$b] 00:10
camelia Array element = [:a(42), :b("bla")]
SmokeMachine m: my ($a, $b); my \c = \(); :(Int $a, Str :$b, |c) := \(42, :b<bla>, 1, 2, 3); dd [:$a, :$b, :c(c)] 00:12
camelia Array element = [:a(42), :b("bla"), :c(\(1, 2, 3))]
SmokeMachine I hope it's valid! I'm start using it on Red... :) 00:13
00:14 wildtrees left
SmokeMachine s/start// 00:16
00:33 StPetersburgh left 01:04 hythm joined 01:06 xelxebar left 01:07 xelxebar joined
Elronnd Xliff: ok, I got to an actual problem! 01:12
I have this on the c side: ix.io/1Wj1/c, and this p6 ix.io/1WiZ/perl6 01:13
is outputs what looks like a pointer
I can dereference it to get 17--which is interesting; in my actual code, I can't do that 01:15
hythm hello, how bad is it (for someone with no experience in Perl 6 internals) to write a slang module to make `my var = "something";` equals to `my \var = "something";`? I'm not a big fan of sigilless variables, but sometimes when writing small programs I like to use sigiless vars. also I think this might attracts some of the Python folks. 01:18
01:28 p9s joined 01:29 rindolf joined 01:31 molaf left 01:33 p9s left
Xliff Elronnd: OK. One sec. 01:34
01:35 mowcat left
Xliff Elronnd: Let me finish up this module so I can give that my full attention. BBIAB. 01:35
01:41 nepugia left 01:43 nepugia joined 01:44 molaf joined
Elronnd Xliff: gonna be gone for a couple hours. Sorry... :P 01:55
Xliff Elronnd: OK. I'll look into it in the meantime. 02:01
02:03 rindolf left 02:06 nepugia left 02:13 Cabanossi left 02:15 rindolf joined, Cabanoss- joined
Xliff .tell Elronnd For some reason, Rakudo is creating a pointer for the CUnion, irrespective of the HAS> 02:19
tellable6 Xliff, I'll pass your message to Elronnd
Xliff .tell Elronnd That smells like a bug to me.
tellable6 Xliff, I'll pass your message to Elronnd
SmokeMachine vrurg: github.com/FCO/Red/issues/400#issu...-533844271 02:25
xinming: I think this can help to use code accessing more than one database ^^ 02:26
Xliff: opinions? ^ 02:28
vrurg SmokeMachine: looks great. Especially use of adverb with a code block. 02:32
SmokeMachine: what does .batch do?
SmokeMachine vrurg: returns a ResultSeqSeq (please help me to find a better name for it!) that is a "Seq of ResultSeqs" 02:33
vrurg: That is a good way for pagination...
vrurg SmokeMachine: perhaps it was better to have ResultSeq named just Results. Then ResultsSeq would look better. Otherwise I'm too exhausted now to have clear thinking. 02:35
SmokeMachine vrurg: so `Model.^all.batch(5)[2].say` will run something like `SELECT * FROM model LIMIT 5 OFFSET 10`
vrurg You do damn magic here. ;) 02:36
SmokeMachine :)
vrurg Anyway, time to get over with it for today. Those makefiles are killing me.
cu! o/
Xliff SmokeMachine: Looks good. Although a bit tired to really eval. 02:37
SmokeMachine vrurg: and `.classify`returns a ResultAssociative... so `Model.^all.classify(*.col)<key>` will run something like: `SELECT * FROM model WHERE col = 'key'` 02:39
Xliff: thanks!
02:44 Actualeyes joined
SmokeMachine .tell vrug Have you seen that Elronnd was trying to compile rakudo for iOS and (if I got ir right) was having troubles with the build system? 02:45
tellable6 SmokeMachine, I haven't seen vrug around, did you mean vrurg?
SmokeMachine .tell vrurg Have you seen that Elronnd was trying to compile rakudo for iOS and (if I got ir right) was having troubles with the build system? 02:46
tellable6 SmokeMachine, I'll pass your message to vrurg
02:53 Actualeyes left
Elronnd Xliff: ok. Wat do? 03:05
tellable6 2019-09-22T02:19:31Z #perl6 <Xliff> Elronnd For some reason, Rakudo is creating a pointer for the CUnion, irrespective of the HAS>
2019-09-22T02:19:46Z #perl6 <Xliff> Elronnd That smells like a bug to me.
03:05 cpan-p6 left
Elronnd Just report it on the github thingy? 03:05
03:05 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 03:17 dogbert11 left
Xliff Yeah. Just report it on the github thingy. 03:23
Elronnd: IIRC, there were issues with CUnions, so I' 03:24
*I'd avoid them, if possible.
If you do need them, try to keep them to from-c structures. 03:25
Elronnd well...it's a bit late for that
:P
Xliff Well.. not my fault.
Um.
The only other way I think it would work, would be if you set the data from the union and memcpy'd it to the place where the Union needs to go. 03:26
That's real messy, though.
Elronnd does gtk have no unions? How did you work around that?
Xliff Yes, GTK has unions. Gratefully, I don't need to access them... much. 03:27
Mostly there are functions to do that for me.
Elronnd ahh
Xliff The typing system is a noteable one. I avoid that like the plague.
Elronnd yeah, that's how I've been working with it, but adds quite a bit overhead I'd like to avoid
Xliff I feel your pain.
03:28 awwaiid left
Xliff Elronnd: What are you working on? 03:47
04:25 hythm left 04:30 isBEKaml joined
Elronnd Xliff: a thingy to embed perl6 as a scripting language 05:04
github.com/elronnd/libport
05:18 wamba joined 05:22 sivoais left 05:23 sivoais joined, Mithaldu joined 05:24 rjbs joined 05:27 isBEKaml left 06:27 statisfiable6 left, unicodable6 left, greppable6 left, benchable6 left, evalable6 left, bloatable6 left, nativecallable6 left, coverable6 left, notable6 left, quotable6 left, releasable6 left, reportable6 left, bisectable6 left, shareable6 left, tellable6 left, squashable6 left, committable6 left, releasable6 joined, ChanServ sets mode: +v releasable6 06:28 unicodable6 joined, ChanServ sets mode: +v unicodable6, benchable6 joined, ChanServ sets mode: +v benchable6 06:29 squashable6 joined, ChanServ sets mode: +v squashable6, bloatable6 joined, notable6 joined, ChanServ sets mode: +v notable6 06:30 reportable6 joined, ChanServ sets mode: +v reportable6, shareable6 joined, ChanServ sets mode: +v shareable6 06:31 nativecallable6 joined, coverable6 joined, ChanServ sets mode: +v coverable6, quotable6 joined, ChanServ sets mode: +v quotable6, bisectable6 joined, committable6 joined 06:32 evalable6 joined, greppable6 joined, ChanServ sets mode: +v greppable6, statisfiable6 joined, tellable6 joined, ChanServ sets mode: +v tellable6
Geth_ doc: 54a8abedbe | (JJ Merelo)++ | 3 files
Eliminates word variants, refs #3024
06:57
doc: ecdfd66bd9 | (JJ Merelo)++ | 3 files
Fixes last word variants, closes #3024

Also false positives have been taken care of or circumvented. Closes #2966
06:58 StPetersburgh joined 07:18 eseyman left 07:22 eseyman joined 07:30 sno left 07:36 vycb joined 07:37 vycb left 07:49 isBEKaml joined 08:10 m_v_m_m joined
m_v_m_m Hi. I still have some problems with those 2d arrays. pastebin.com/ZeqKMMPR This is the code with an error message. I really don't get it.... 08:10
08:20 isBEKaml left, sena_kun joined 08:26 patrickb joined 08:33 sono__ left 08:45 domidumont joined, domidumont left 08:46 domidumont joined 08:52 wamba left 08:58 molaf left 09:39 AlexDaniel left 09:47 StPetersburgh left, domidumont left 09:50 marmor joined 09:54 pecastro joined 09:57 ChoHag left 09:58 ChoHag joined 10:09 filehandle32 joined 10:12 sena_kun left 10:29 dogbert11 joined
timotimo m_v_m_m: when you're assigning to [$x_i][$y_i] you'll be autovivifying an array in the $x_i slot if there isn't one yet. however, the default for autovivification is an untyped array, which doesn't fit the constraint of Array[Int] 10:30
i would recommend replacing the whole of generate_new_empty_map with:
m: my $x_dim = 3; my $y_dim = 4; my Array[Int] @t_map = Array[Int].new(0 xx $y_dim) xx $x_dim; say @t_map.perl 10:31
camelia Array[Array[Int]].new(Array[Int].new(0, 0, 0, 0), Array[Int].new(0, 0, 0, 0), Array[Int].new(0, 0, 0, 0))
m_v_m_m Those perl one liners...;) Thank you. It should be somewhere in the perl6 documentation about arrays. 10:32
10:35 marmor left
timotimo indeed 10:41
m: my Array[Int] @t_map is default(Array[Int].new); @t_map[4][4] = 9; say @t_map.perl
camelia Array[Array[Int]].new()
timotimo that's not it ... 10:42
Voldenet array situation is quite complicated, tbh 10:45
m: my Array[Int] $a = [1, 2, 3]; say $a
camelia Type check failed in assignment to $a; expected Array[Int] but got Array ($[1, 2, 3])
in block <unit> at <tmp> line 1
Voldenet I know why it doesn't work, but eh, it's a bit confusing 10:46
timotimo shaped arrays make this a bit better, but they aren't sufficiently fleshed out yet :(
10:49 Itaipu left 10:56 m_v_m_m left
timotimo m: my int @map[4;3] = 0 xx (4 * 3); say @map.perl 11:11
camelia Died with X::Assignment::ToShaped
in block <unit> at <tmp> line 1
timotimo m: my int @map[4;3] = 0 xx 4 xx 3; say @map.perl
camelia Index 3 for dimension 2 out of range (must be 0..2)
in block <unit> at <tmp> line 1
timotimo m: my int @map[3;4] = 0 xx 4 xx 3; say @map.perl
camelia array[int].new(:shape(3, 4), [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0])
11:19 andrzejku joined 11:30 Kaiepi left 11:31 Kaiepi joined 11:37 krychu joined 11:39 StPetersburgh joined
cpan-p6 New module released to CPAN! XML::Actions (0.4.0) by 03MARTIMM 11:43
11:48 mowcat joined 11:54 molaf joined 12:12 domidumont joined 12:13 nepugia joined 12:16 holyghost left 12:21 gabiruh left 12:22 gabiruh joined
timotimo notamonadtutorial.com/weld-acceler...2ec1c630a1 - it sounds like this library would be a nice target for a perl6 binding 12:23
12:29 filehandle32 left 12:34 isBEKaml joined
timotimo shoumik.xyz/static/papers/mozart-s...9final.pdf - also quite interesting 12:38
12:48 sena_kun joined
timotimo these Split Annotations are vaguely similar to how HyperSeq and friends work 12:52
but only very vaguely
however, hyper only knows how to deal with one-dimensional array workloads
whereas split annotations would understand higher-dimensional data, too 12:53
like having to split a 2d array into patches rather than parallelizing over rows or columns
12:57 pecastro left 13:10 StPetersburgh left 13:25 lucasb joined 13:27 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 13:55 krychu left
cpan-p6 New module released to CPAN! ORM::ActiveRecord (0.0.5) by 03GDONALD 14:00
14:16 Sgeo_ joined, molaf_ joined, molaf_ left, molaf left 14:18 gabiruh left 14:19 Sgeo__ left 14:21 Sgeo_ left 14:35 ryoshu joined 14:55 awwaiid joined 15:02 wamba joined 16:26 StPetersburgh joined
Geth_ perl6.org: 8aa62a620c | (Roman Baumer)++ (committed using GitHub Web editor) | fetch-recent-blog-posts.pl
get https
16:32
16:32 veesh left 16:35 MilkmanDan left 16:36 zakharyas joined
Geth_ perl6.org: 80c68cc38e | (Roman Baumer)++ (committed using GitHub Web editor) | README.md
updated module dependency
16:36
16:37 MilkmanDan joined 16:39 Sgeo joined, cjkinni joined
thowe I have a manually created array of hashes. If I loop through them like this: "for @things -> $thing" or like this: "for @things -> %thing" both seem to work if I "say $thing<key>" or "say %thing<key>" 16:50
In perl5 one is a scalar and one is a hash and they aren't really the same. One might be a Hashref, but the same syntax wouldn't work. What's happening here? Is Perl6 doing some sort of auto conversion? 16:52
$thing.^name and %thing.^name both say they are Hash... 16:55
sena_kun docs.perl6.org/language/5to6-nutshell#Sigils <- maybe this can help 16:56
>In Perl 5, arrays and hashes use changing sigils depending on how they are being accessed. In Perl 6 the sigils are invariant, no matter how the variable is being used - you can think of them as part of the variable's name. 16:57
thowe So the sigil is just convention? It serves no purpose? 16:58
sena_kun well, @ is always used for arrays, % is always for hashes, & refers to a subroutine object, while $ is for scalars (and it is not changed when you are indexing something). 17:01
it gives you a nice ability to see quickly what you can do with a variable
m: my @a = 1,2,3; say @a[0]; 17:02
camelia 1
thowe Yeah, but a hash named with a $ sigil behaves the same as a hash named with a % sigil?
meaning it is by convention and doesn't tell the parser anything?
sena_kun thowe, as the page from the docs states - yes. 17:03
17:03 patrickb left
sena_kun I don't know Perl 5, but if e.g. `my @a = 1, 2; $a[0]` works there, in Perl 6 the sigil does not change 17:03
as for what it tells to the parser - it tells the roles that the thing does 17:04
thowe wild. So you can just use % and @ and $ and it doesn't effect behavior. It's just style.
sena_kun well, with @ you always know something is Positional, with % you always know something is Associative 17:05
m: my %a = 42;
camelia Odd number of elements found where hash initializer expected:
Only saw: 42
in block <unit> at <tmp> line 1
sena_kun ^ you can't just randomly shuffle sigils around 17:06
m: my @a = a => 42, b => 55; say @a.^name;
camelia Array
sena_kun ^ @a becomes Array, not a Hash
thowe OK... then how was my $thing and my %thing both a Hash? 17:07
sena_kun it might be unusual compared to Perl 5, but I hardly see it as unreasonable. Maybe that's just me.
thowe, the thing is, when you use $, you get a scalar thing and no array/hash/callable contracts 17:08
m: my $foo = [1, 2, 3]; #`( an array? ) for $foo { $_.say }; 17:09
camelia [1 2 3]
sena_kun m: my @foo = 1, 2, 3; #`( an array too ) for @foo { $_.say };
camelia 1
2
3
thowe I'm not quite sure what that means, but both $thing<key> and %thing<key> worked the same
sena_kun thowe, ^ in the first case, if you try to iterate over $foo, it is treated as a single item, a scalar, but in a second case it is positional
Geth_ doc: 5300185466 | Coke++ | xt/words.pws
new word/tool
17:12
sena_kun thowe, if you just index it, it doesn't matter, but it is not so for all cases 17:13
m: my %foo = a => 42; for %foo { $_.say }; my $foo = a => 42; for $foo { $_.say } 17:14
camelia a => 42
a => 42
sena_kun hmm, not the best example...
17:14 MasterDuke left
sena_kun m: my %foo = a => 42; for %foo { .say }; my $foo = { a => 42, b => 55 }; for $foo { .say } 17:15
camelia a => 42
{a => 42, b => 55}
sena_kun ^ once again, $ gives you "treat this as a single thing", while the % gives you pairs 17:16
17:16 cjkinni left, isBEKaml left
thowe gist.github.com/thowe/d3def7012a9c...ae7890b604 17:17
So what is correct to do in this case if both work such that I can't tell the difference?
17:18 aborazmeh joined, aborazmeh left, aborazmeh joined
sena_kun thowe, I'd use % because you keep the code clear that the thing you work with is a hash 17:18
thowe That's what I was thinking, but it seemed as though I was just doing it by convention with no detectable functional difference. Thus my original question. 17:19
sena_kun thowe, technically, you can "descalar" things when needed and use only $ for everything, but people who would support your code would be sad. 17:20
thowe And then I was like "well what's the dang sigil for then?"
sena_kun thowe, there is a technical difference if you do something else than just accessing by index
thowe but ^name said they are both "Hash". How do I know what "contracts" are in place? 17:21
don't know what a contract is, BTW, I just saw that term used in this thread.
not sure my question even makes sense. 17:22
sena_kun thowe, I just wanted to say something like "If you see sigil X, you can safely assume you can do things Y and Z to it and it will do what you mean" using the word "contract".
thowe From my current point of view, it seems Perl6 tried to make sigils easier, but I now find them more confusing. 17:23
So, "context" really is still a thing, then. It just takes a different form?
sena_kun thowe, @ means it is docs.perl6.org/type/Positional and % means it is docs.perl6.org/type/Associative
thowe, well, if you are not used to it and used to some other behavior, I bet it'd feel confusing at first. 17:24
and maybe I just suck at explaining
thowe Yeah, I keep reading those words, but I'm not getting how they effect behavior.
At least, not in my case. I do see very different behavior when assigning things to @array. It seems to just treat it as a list if I assign to scalar. 17:26
So it "feels" like the perl5 concept of "context".
At least to me, who is just beginning to play with Perl6 and was never exactly a perl5 expert. 17:27
sena_kun double sucks at explaning, having a very vague idea at best about how context works in Perl 5
thowe if "for @test_services -> %tservice" works correctly, I like it better. but I don't really understand the implications. 17:28
especially since I'm being told by perl6 they are the same thing. I think they are just the same thing for my small use case, but they signal different things if used as an lvalue or something. 17:29
sena_kun thowe, well, the type is the same 17:30
I know a very nice article by lizmat explaning differences in sigils: opensource.com/article/18/9/using-sigils-perl-6 17:32
17:32 Elronnd left
sena_kun alternatively perl6advent.wordpress.com/2017/12/...ontainers/ is an awesome reading 17:33
El_Che lizmat: the UNIX studentclub of my University contacted me about the Perl 6 rename. They print a very nice poster with the history of programming languages and Perl 6 is there because of my request. They have to send stuff to the printers and wanted to know if they put Raku :) 17:34
17:34 jmerelo joined
thowe sena_kun, OK, cool. Thanks 17:34
Ah, so the sigils are somewhat related to the gradual typing underpinning 17:36
They signal a constraint 17:37
17:40 Elronnd joined
thowe how do you see what roles an object can do? Is there some kind of a "can be iterated over" role? 17:42
sena_kun it is called Positional, you can $foo ~~ Positional 17:43
and you can use metamethods to get all roles
m: say 42.^roles;
camelia ((Real) (Numeric))
sena_kun ^ 42 is Real and Numeric
and you can use them with your custom classes 17:44
thowe m: my $things = { do => 1, re => 2, me => 3 }
camelia ( no output )
thowe m: my $things = { do => 1, re => 2, me => 3 }; say $things<do> 17:45
camelia 1
jmerelo m: say 42.
camelia 5===SORRY!5===
Decimal point must be followed by digit
at <tmp>:1
------> 3say 42.7⏏5<EOL>
Malformed postfix call
at <tmp>:1
------> 3say 42.7⏏5<EOL>
jmerelo m: say 42.0.^roles
camelia ((Rational[Int,Int]) (Real) (Numeric))
thowe m: my $things = { do => 1, re => 2, me => 3 }; say $things.^name
camelia Hash
thowe m: my $things = { do => 1, re => 2, me => 3 }; say $things.^roles
camelia ((Associative) (Iterable))
thowe m: my %things = { do => 1, re => 2, me => 3 }; say %things.^roles 17:46
Xliff thowe: It's best to think of them like this "what type of value is this"? -> $ = single value, @ = positional value, % = associative value
camelia Potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> 3 %things = { do => 1, re => 2, me => 3 }7⏏5; say %things.^roles
((Associative) (Iterable))
Xliff & = functional value
If there is no sigil there is no limitation.
thowe $things and %things were both Associative. So I'm still trying to figure the difference...
Xliff Since you must be able to pass things as a single value, $ has to be able to represent all of them 17:47
thowe m: my $things = { do => 1, re => 2, me => 3 }; say $things.^roles
Xliff Yes. $ means that the % is being treated as a singular value.
camelia ((Associative) (Iterable))
Xliff If you are going to pass things around, "$" must be able to wear more than one hat. 17:48
thowe m: my $things = { do => 1, re => 2, me => 3 }; say $things<me>
camelia 3
17:49 ilbelkyr joined
sena_kun m: my $a = { a => 42 }; say $a.AT-KEY('a'); 17:49
camelia 42
Xliff thowe: This is why the smartmatch operator (~~) exists; 17:50
sena_kun ^ a method AT-KEY is called when you do <> or {}, and as a single value it works ok
Xliff m: $a = 42; say $a ~~ Hash; say $a ~~ Int; say $a ~~ Positional
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3<BOL>7⏏5$a = 42; say $a ~~ Hash; say $a ~~ Int;
Xliff m: my $a = 42; say $a ~~ Hash; say $a ~~ Int; say $a ~~ Positional
camelia False
True
False
Xliff So if you are confused about what $a is, just query it. 17:51
thowe m: my $things = { do => 1, re => 2, me => 3 }; say $things.keys
Xliff But if it is @, you are ASSURED it is Positional
camelia (re do me)
Xliff If % then you are ASSURED associative
thowe Ah, OK, so it /is/ like a type constraint then.
Xliff Yes 17:52
But more role, less content.
m: $a = ( a => 42 ); say $a ~~ Associative
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3<BOL>7⏏5$a = ( a => 42 ); say $a ~~ Associative
17:53
Xliff m: my $a = ( a => 42 ); say $a ~~ Associative
camelia True
Xliff m: my $a = ( a => 42 ); say $a ~~ Positional
camelia False
Xliff m: my $a = [a => 42]; say $a ~~ Positional; say $a ~~ Associative
camelia True
False
17:53 Black_Ribbon joined
Xliff m: my $a = a => 42; say $a.^name 17:53
camelia Pair 17:54
Xliff Associative and Positional are roles. Pair is the value class name (type)
Everything in Perl6 is an object
An object can have one class, but many roles. 17:55
And yes... something can be both Positional AND Associative at the same time. Careful of the rabbit hole, there.
It's deep. 17:56
thowe heh. That much I get. Many years ago I started looking at Perl6. Before I ever touched Ruby or Perl5. I realized it wasn't ready for me, and I eneded up finding Ruby instead as sort of a similar language to my eye. This is maybe 2002.
Xliff Welcome, to 2020 (rounded up) ;)
(bad joke... I'm known for those) 17:57
thowe I loved Ruby. And then Rails came out. I was a ready-made fan of Rails... Except I tried it out and hated it.
complicated, but my hate of Rails led me to DBIx::Class. I liked it so much I got into Perl5. 17:58
lizmat El_Che: what is the deadline?
Xliff Oh, nice!
You might like Red, then. It's an ORM in development for Perl6. 17:59
github.com/FCO/Red
thowe I did stuff in Catalyst, then found Mojolicious which I still love and now we have several work projects using it.
Mojo introduced me to some advanced topics which led me to Perl6. Now I feel I am out of my depth. 18:00
Xliff Mojolicious is one of my go-to tools. Yes, it's Perl5, but Perl5 code is readily available to Perl6.
And don't worry. We've all been there. Perl6 can be daunting if you try to take in too much at once.
Thne thing is, you aren't FORCED to use all of the features to get things done. You can start gradually.
thowe Playing with Perl6 has made me understand why Python is popular in academia.
Xliff I'm hoping Perl6 will suck up some of that mindscape. I've never been attracted to either Ruby or Python. 18:01
IK'm happiest when my language does not try to get in the way of my problem solving.
*I'm 18:02
thowe I think some tools need to be out there to help with that. One humble suggestion of mine is a Perl6 replacement for fail2ban. 18:03
Xliff fail2ban?
oooo 18:04
That might be a fun project.
thowe Very popular with server admins. VERY. If you aren't using it or something like it you are sysadmin beginner.
Xliff Either that or a masochist. I'm the latter.
thowe It strikes me as the kind of thing Perl should be the goto tool for. 18:05
Xliff Seriously. I've done something similar. Instead of using fail2ban, I wrote my own tool.
Yes.
thowe Bugs me that it is a Python project.
Xliff Well, let's consider what problems you have with the Python project?
18:06 saorge joined
thowe For some reason there's something weird about it that makes it less portable than one would think. Not available for OpenBSD for some reason I forget. 18:06
Xliff I can see 2 things that might make a perl6 version attractive: modular firewall support and modular rules
thowe Also, its in Python, which I tried to learn and decided it wasn't any fun.
Xliff And therin lies the rub. 18:07
modular rules IMPLIES regular expressions.
docs.perl6.org/language/regexes
thowe fail2ban is pretty modular and uses regex
Xliff So... you thinking a straight up fork and port? 18:08
thowe mmm, no. I thought the problem should be rethunk from the perspective of workflow... It's hard to explain without a common frame of reference, but fail2ban can often be the source of confusing problems and it isn't intuative how to see when it is. 18:09
Screws up my junior admins all the time. In at least one case for days. 18:10
Xliff Well, that sounds neat!
I'm sure you could find some people willing to help with a project like that. Consider me one of them! :)
thowe It seems to be an eco system that isn't tied together as well as I would like. 18:11
Well, give me a chance to figure out Perl6 first... I'm just a hobbyist. 18:12
Xliff Sounds like you know enough to spec it out.
thowe I will probably rewrite my invoice processing program first.
I have a vague idea what I don't like, but I'm not confident enough in my ideas for change. I think I need to think on it more. 18:13
And I have other itches to scratch. The Perl community also has a way of showing me how ignorant I am as a hobbyist/tourist 18:15
18:17 pecastro joined
thowe and I get bogged down by details, as you can see 18:17
If I start playing with it I will put something on github 18:18
Xliff do you program professionally? 18:20
Xliff Yes. 18:21
thowe with Perl?
Xliff I did a professional stint with Perl5 almost 20 years ago. It was called Slashdot.
With Perl6 ,though? No. Not yet... 18:22
thowe never heard of it ;)
Xliff github.com/Xliff <- My current workload on github
Elronnd Xliff: you worked on /.?
cool!
Xliff Elronnd: Yep! :) 18:23
thowe Red is yours?
Elronnd also knows the guy who made sourceforge
Xliff No. SmokeMachine is writing Red. I am just a contributor., 18:24
Elronnd what's red?
thowe doesn't know people
Elronnd thowe: spend more time on irc!
thowe I used to... I've actually met Perl people. I went to a couple YAPCs a few years ago. 18:25
Xliff slashdot.org/story/06/05/16/212721...-compliant <- One of my /. articles from years ago. 18:26
thowe Met Larry. Met Liz. Met rjbs. Met mst
Xliff US or Europe?
As in... where are you?
18:26 MasterDuke joined
thowe US. I live in Central Oregon 18:27
Xliff Ah! Nice place!
I'm all the way across the continent in DC.
thowe Yeah, We like it.
Ah, a guy who started in my dept at works just left to take a job in DC. 18:28
Xliff Well, keep working on Perl6 at your own speed!
If you have any questions, just ask them. We're here to help!
Also, keep thinking about how you want a fail2ban equivalent to work. I'm pretty sure you'll find folks here who can help you get there. 18:29
thowe My speed is variable. What I really need is to replace some really old code at work, so that's probably where I will focus. That and I need to finish my Mojo port of my IPAM. 18:30
I also think a Perl6 whois server would be better than current options, but that's just me. 18:31
Xliff Hmmm...
That's a lot of projects there.
You should think about writing them down ... or keeping track of them as they come to mind. 18:32
18:32 andrzejku left
thowe yeah, I'm a bit all over the place. 18:34
what's going to happen with this name change? Why do they keep trying to rename it fake words? 18:36
gdonald the fail2ban design docs make it sound approachable. I've used it for years and will volunteer to test your Perl 6 implementation. 18:37
Xliff thowe: Acutally "Raku" is japanese
And the whole rename thing is really devoted to trying to heal the wound between Perl5 and Perl6 programmers. 18:38
You know. Feelings.
Those are important.
thowe gdonald, that's flatering, but there isn't one. I was just thinking out loud. I do that too much. Some guy is probably going to get rich on an idea I threw out once as a joke.
Xliff Many in Perl5 think that Perl6 is a competitor and not a sister language. They may have a point.
timotimo probably more outside of perl5 than inside, no? 18:39
Xliff thowe: Don't worry. If it's me, I'll remember the "small people". =)
Xliff flees.
thowe Well, the public confusion that was created is real.
No, I was at an Arduino hobbyist meeting and they were talking about a guy there who invented a toy that now sells at Disneyland and he made goood money. 18:40
18:40 jmerelo left
thowe I was showing off and said that "ideas are easy, I got a hundred of them". 18:40
So I threw out a bunch and a few months later a couple of the guys were talking about their progress in implementing one of them 18:41
It's basically a sensor strip you can put on the side of a beer keg and it will transmit how full it is to a tap handle that has an indicator built in. 18:42
discord6 <RaycatWhoDat> re: Perl 6 public confusion, I can't help but feel like a lot of it is conflated with not one but three different stigmas: 1) "Something something Perl is unreadable/Why Perl when you can Python?", 2) "Perl 6 missed the boat because of its development time", and 3) "Perl is slow". But, I have an uninformed perspective; these are just observations from my circles. 18:44
timotimo don't forget "perl6 never came out, and because everybody waited for perl6 before starting new projects, perl5 died"
discord6 <RaycatWhoDat> Ah. The classic. 18:45
18:45 krychu joined
discord6 <RaycatWhoDat> Outside of performance, I don't really understand what people are expecting us to fix. 18:46
18:46 krychu left
discord6 <RaycatWhoDat> The initial impression/reception? 18:46
<RaycatWhoDat> I dunno. Feels bad that so many things have to align for a language to take off these days. 18:47
<RaycatWhoDat> "take off" in this case, meaning "be in the eye of hobbyists and corporations alike"
timotimo people want "the one killer app", the framework that'll become "The Framework" for a week or two
even though it'll just be replaced shortly thereafter 18:48
thowe Yeah, there's some of that. But regardless of the reason, and there are many, the biggest thing I run into is "nobody uses it". language use is a tribal, virtue signaling thing. That's why I think you need projects that end up having general appeal... Sometimes top projects are what gets the language they are implemented in mindshare and cache. There's nothing out there that non-perl people care about.
discord6 <RaycatWhoDat> It's a bit more nuanced than that, I'd think.
<RaycatWhoDat> People want to just walk into a language that has all of these things but those same people don't want to help the language get off the ground. 18:49
<RaycatWhoDat> You end up with these weird chicken-egg scenarios.
sena_kun can ++ this
thowe I sit in at gatherings of students and venture capitalists and entrepreneurs. They are all concerned with what "the cool kids are doing". 18:50
18:50 aborazmeh left
timotimo i mean, why would a regular programmer be expected to "help a programming language off the ground"? 18:50
discord6 <RaycatWhoDat> For the love of programming.
sena_kun I took some of my time to answer rare Perl 6 related threads in a particular Russian community, and a looooot of responses were about "no libs", "nobody uses it except for a couple of obscure companies you named". At the same time you have a vicious circle you can't do anything about other than just untie it little by little. 18:51
thowe They wouldn't. It takes the weirdos to make something cool before the rest of the world gets interested "because its cool". 18:52
discord6 <RaycatWhoDat> Bit confused on your meaning at the end there. What does "untie it little by little" mean here?
sena_kun the nice thing is that some people were genuinely interested if you point out good things about the language calmly 18:53
I mean, you can only write and write software, help others when they try establish some migration or a new project in Perl 6, doing it in a slow manner until a critical mass will be gathered 18:54
it is like a snowball
discord6 <RaycatWhoDat> I agree.
timotimo Inline::Python and Inline::Perl5 and Inline::Perl6 should get much more publicity i think
they are woefully underrepresented 18:55
thowe Yeah, sure. But most programmers spend time learning the new language that they think makes them employable. The early adopting weirdos have to help a language hit that milestone.
discord6 <RaycatWhoDat> Shame, really.
<RaycatWhoDat> I get that you have to make money. I understand learning one or two to make that happen. But after that, then what? Do you only consign yourself to learning languages with money attached? 18:56
Xliff Make a good language.
Make decent apps with that language. 18:57
The money should naturally follow.
But what to I know?
*do
timotimo you can do your day-to-day productivity stuff with perl6 and accelerate your work that way
discord6 <RaycatWhoDat> ^
Xliff That's what I'm doing.
timotimo like, you can hack up a simple data munging thing in python, but you can't easily multithread it
thowe I know a lot of folks in the local developer community. They don't do much if anything outside of their current community. 18:58
discord6 <RaycatWhoDat> Hot take: I don't feel like Perl 6 will have a single killer app. 18:59
Xliff Naw. It will have many and they will probably all get recognized at the same time.
timotimo i'd imagine cro can come close
Xliff Cro needs mindshare, but yes.
thowe It will have to be something built with cro 19:00
timotimo i haven't yet had a use case for more than one service, so i couldn't try link templates and the orchestration stuff at all yet
thowe Something that targets non-developers
discord6 <RaycatWhoDat> It strikes me as a language where multiple niceties and quality-of-life changes will make the developer experience worth talking about. The problem with that approach is that it's SLOW.
gdonald what are people using for a templating language with cro? is there anything like haml?
sena_kun gdonald, cro::webapp, template6, mustache, whatever you like more 19:01
timotimo my cro thing is moarperf, which does all the UI stuff clientside with react
discord6 <RaycatWhoDat> For the record, D falls into the same pit. Tons of QoL and improvements, slow advocacy and marketing. 19:02
timotimo there was also the time when it had two standard libraries
which was kinda weird
discord6 <RaycatWhoDat> Yeah, the Tango/Phobos split was horrible for the language 19:03
timotimo but i think it's now all open source and everything
discord6 <RaycatWhoDat> ye
timotimo Inline::D would probably be cool
also, Inline::Zig
discord6 <RaycatWhoDat> I would KILL for that.
<RaycatWhoDat> I dunno how to do that myself, tho ;_;
<RaycatWhoDat> Hell, I don't even know Perl 6 19:04
<RaycatWhoDat> I'm just here
Xliff Hmm....
Inline::D would probably need to work the same way as Inline::Perl5 and Inline::Python?
19:04 domidumont left
timotimo Inline::D won'- be very much like Inline::Python, it'll mostly be "grab some inlined code, put it into a file and invoke the compiler, then NativeCall into the result" 19:05
Xliff Ah.
19:05 domidumont joined, domidumont left, vike left
discord6 <RaycatWhoDat> You'll probably use rdmd because you have to resolve DUB dependancies as well. 19:05
timotimo with Inline::Python there's so much introspection and such that you can do with the runtime
discord6 <RaycatWhoDat> Or one of the compilers that understands what it needs to fetch.
<RaycatWhoDat> I should read up on garbage collectors. 19:06
Grinnz Inline::D would work more like Inline::C i assume 19:07
discord6 <RaycatWhoDat> ye
Elronnd Inline::C wouldn't have to be like that 19:09
I started making a c compiler at one point 19:10
never got past super basic tokenizationand preprocessing, but it is possible
timotimo yeah, just port TCC
port or bind
Elronnd tcc doesn't have all the gnu exts, though 19:11
timotimo well, you're not going to have a great time porting all of gcc :) 19:12
Elronnd tru
but binding to libclang *is* a thing 19:13
vrurg Elronnd: "we call it 'beta' 'cause it's betah than nothing" Call it Inline::TCC for clarity. :)
tellable6 2019-09-22T02:46:20Z #perl6 <SmokeMachine> vrurg Have you seen that Elronnd was trying to compile rakudo for iOS and (if I got ir right) was having troubles with the build system?
timotimo it's a thing that's happening
Elronnd o_O?
timotimo yup
Elronnd linky? 19:14
thowe how do you do "do this if this, else do this" Is there a way to have an else of the if condition is second?
vrurg Elronnd: with regard to SmokeMachine message – is there anything worth reporting on github?
timotimo i thought it might be this: repl.it/@theangryepicbanana/llvm-p6-thing 19:15
thowe nm, I see here it isn't allowed
vrurg thowe: no, it's no supposed to work this way.
Elronnd vrurg: I don't think so. It's not a *problem* with the build system, just that I'm trying to make it do something it wasn't designed to do in order to work on a broken system
discord6 <theangryepicbanana> yeet
<theangryepicbanana> also that link pinged me lmao
vrurg Elronnd: perhaps we can make that thing easier? It could help porting on other non-standard systems, for example. 19:16
thowe if ( condition in parens ) seems to not be the Perl6 way, instead its just: if bare condition; yeah?
timotimo yep
we call them "superstitious parens"
thowe why?
timotimo because you don't need them 19:17
thowe no, why are they called superstitious?
timotimo you believe you need them but you don't
thowe ah
Elronnd vrurg: maybe. I just don't feel it's worth it. How many platforms have a broken libtool/ar, but a working llvm-ar?
we would probably want to cross-compile for ios instead of compiling *on* it, anyway, which would pretty much get rid of the proble 19:18
I just don't have a mac
timotimo we should build a C compiler in polyglot sh and windows batch files
thowe that's funny in that it speaks to Perl6 culture, I think
timotimo that ought to work everywhere
Elronnd timotimo: that might actually be possible
vrurg Elronnd: no idea. But sounds like you're right here.
timotimo yes, but don't
discord6 <theangryepicbanana> Or powershell
Elronnd someone made a decent-ish language that compiles to both shell and batch. And there is a pretty simple scheme for making shell/batch polyglots 19:19
discord6 <theangryepicbanana> that would technically work everywhere
Elronnd @theangryepicbanana yes, but you would have to install pwsh
timotimo we want something you don't have to install
discord6 <theangryepicbanana> yea I guess
timotimo otherwise we can just install whatever we want instead
discord6 <theangryepicbanana> what about lua? you don't even need to install it 19:20
thowe when I try to install p6doc I get an error that OpenSSL didn't pass tests.
timotimo do you have libopenssl-devel or similar installed? 19:22
thowe timotimo, good question. I'm trying out a debian machine, so not as familiar. I used OpenBSD for 20 years... lemme try that. 19:25
Xliff Weird. Ubuntu doesn't have an openssl-dev 19:26
thowe libssl-dev might be it, installing now 19:27
timotimo could be
i tend to just use the "provides" query to find files like that
Xliff Yeah. That's the one.
thowe hm, now it segfaults... 19:28
Xliff Oh, joy.
thowe ===> Searching for missing dependencies: LWP::Simple:ver<0.101+>, URI, File::Temp, JSON::Fast, Pod::To::BigPage:ver<0.4.0+>, Pod::To::HTML:ver<0.3.19+>, OO::Monitors, File::Find, Test::META
zsh: segmentation fault zef install p6doc
timotimo whoa, that's not good
what's your perl6 --version please?
thowe hm, not too new: This is Rakudo version 2019.07.1 built on MoarVM version 2019.07.1
timotimo that's recent enough 19:29
thowe oh well, I can nuke from orbit, I might have screwed something up
Xliff heh
timotimo would oyu have the patience to debug, though?
Xliff It's the only way to be sure.
But debugging would help someone else who doesn't have nuclear release authority. 19:30
timotimo first thing to try is turning spesh off, that'll also disable the jit compiler
thowe how do you just blow rakudobrew out of the water and everything with it?
Xliff Are you using the latest rakudobrew? 19:31
thowe .rakudobrew I guess
Xliff No.
timotimo i think rakudobrew has a "nuke" subcommand?
Xliff Yes.
thowe do tell...
Xliff That's the best way to do it.
Do "rakudobrew versions"
thowe fuckin hell, thought I was kidding when I said that.
timotimo zef also has a "nuke" subcommand
Xliff The one with the "*" next to it is the version you want to nuke.
thowe how are you supposed to install p6doc? 19:32
Xliff thowe: Still, I would run through some things with timotimo, first.
That way if there is a problem to be solved, it can be.
thowe * moar-2019.07.1
Xliff perl6 should never segfault. Neither should zef (which uses perl6)
thowe timotimo, spesh? 19:33
Xliff So the command you want is "rakudobrew nuke moar-2019.07.1" -- but please hold off until you try a few things.
thowe how do I turn spesh off
timotimo env MVM_SPESH_DISABLE=yes zef install p6doc
thowe doing that... what is spesh? 19:34
timotimo moarvm's dynamic specializer + jit
SmokeMachine Elronnd: fco.github.io/Red/tutorials/start
thowe OK, still segfaulted.
19:34 patrickb joined 19:35 Ven`` joined, patrickb left
thowe gist.github.com/thowe/fc72ba376f46...088ea63f21 19:35
19:37 patrickb joined
SmokeMachine Elronnd: Red is a ORM for perl6 19:38
thowe should I nuke as a next step, or should I try something else? 19:41
rakudobrew versions also shows "system". What's that? 19:42
timotimo sorry i was afk'd
thowe no prob
Xliff That means that rakudobrew is relying on the system to determine your perl6, not it's internal tracking. 19:43
So if there is a root-installed version of Perl6, you can go back to it.
thowe ah. Well, it doesn't have a * by it, so I assume its not.
timotimo in theory you could "perl6-gdb-m (which zef) install p6doc", but i think rakudobrew installs some forwarder scripts that may mess with that 19:44
19:45 krychu joined
thowe so, do you want me to try something else, or should I try to rebuild it? 19:52
19:52 patrickb left 19:54 Altreus joined
timotimo ah sorry 19:58
i guess nuking and rebuilding could be a good first step
20:00 _jrjsmrtn joined
thowe OK, so I did rakudobrew build zef and it doesn't segfault anymore. Now it just fails the openssl testing again. 20:00
20:01 __jrjsmrtn__ left, domidumont joined
thowe gist.github.com/thowe/19cbad1081b0...a79827df83 20:01
still seems to be a libssl thing on my machine 20:02
hm... github.com/sergot/openssl/issues/68 20:03
20:08 reach_satori joined
thowe Xliff, looks like this is an issue you had seen before. The linked comment is by you 20:08
20:09 squashable6 left 20:12 squashable6 joined
Xliff Was that a fix? 20:19
20:19 domidumont left
thowe I didn't try it.. yet. Not sure what the full implications would be. Certainly not a permanent fix. 20:20
Xliff I only saw "segfault", so it didn't trip my memory.
thowe no, the original OpenSSL failure to run tests
Xliff Ah. 20:21
20:21 wamba left
Xliff Well, again... I never got to see the original error! 20:21
thowe gist.github.com/thowe/19cbad1081b0...a79827df83 20:22
Xliff Ah! Well, that IS the problem referenced!
timotimo ah, that's the version difference 20:23
Xliff So the workaround should fix your issue assuming all of the links are still valid.
timotimo you can try installing with --force-test, maybe not every usage of the lib needs that function
Xliff No. You need to use the workaround.
sk_num is necessary for initialization
timotimo dang 20:24
why is nobody fixing this :)
Xliff *shrug*
timotimo nobody needs ssl
sena_kun timotimo, there _is_ a fix for this issue, but it still appears for some people and nobody knows why, that's why nobody fixes that 20:27
timotimo brilliant
sena_kun inb4: if it doesn't work, there is _no_ fix
thowe I just wanted to have p6doc command 20:28
timotimo does the p6doc command even do much?
can it display pages from the documentation we have on doc.perl6.org?
thowe shows docs for perl 6 libs
sena_kun github.com/sergot/openssl/blob/032...ck.pm6#L15 <- this sub constructs a correct name
20:29 gabiruh joined, reach_satori left
thowe also, learning Perl 6 book uses it to show you how to read docs... 20:29
20:32 reach_satori joined
timotimo i don't have the book, i can't comment :| 20:33
thowe why does p6doc need openssl? isn't libressl the new hotness? 20:40
timotimo it's an indirect dependency surely 20:42
Xliff Hah. "the new hotness"
I like my solutions mature and well-tested. 20:43
m: sub f ($a) { $a ** 2 }; (1, 2, 3, 4, 5).map( f(*) ).say
camelia Cannot resolve caller Numeric(Whatever:D: ); none of these signatures match:
(Mu:U \v: *%_)
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub f ($a) { $a ** 2 }; (1, 2, 3, 4, 5).map({ f($_) }).say 20:44
camelia (1 4 9 16 25)
Xliff How can I get f to work with whatever?
MasterDuke m: sub f ($a) { $a ** 2 }; (1, 2, 3, 4, 5).map( *.&f ).say # Xliff 20:45
camelia (1 4 9 16 25) 20:46
20:46 zakharyas left
Xliff Ahhh! 20:46
MasterDuke++ !
20:52 andrzejku joined 20:55 vike joined
timotimo m: sub f($a) { $a ** 2 }; (1, 2, 3, 4, 5).map(&f).say 20:57
camelia (1 4 9 16 25)
timotimo ^- why not the easiest way
21:00 andrzejku left 21:01 Sgeo_ joined 21:04 Sgeo left, krychu left 21:08 pecastro left
thowe gotta make with a reboot 21:15
21:16 thowe left 21:17 daxim left 21:22 daxim joined 21:30 pmurias joined
pmurias timotimo: re using Inline::{Python,Perl5} doesn't that interfere with multithreading? 21:31
timotimo yeah, may not want to use the same foreign interpreter on switching threads 21:43
Xliff 291 KLOC! \o/
gdonald m: (1..5).map:{2.exp($_)} 21:44
camelia ( no output ) 21:45
gdonald m: (1..5).map:{2.exp($_)}.say
camelia -> ;; $_? is raw { #`(Block|65616168) ... }
Cannot map a Range using 'Bool::True'
Did a * (Whatever) get absorbed by a list?
in block <unit> at <tmp> line 1
gdonald :(
timotimo the .say got eaten
gdonald m: (1..5).map:{2.exp($_).say}
camelia 1
4
9
16
25
Xliff drive.google.com/file/d/12j1Dy6zIc...sp=sharing
timotimo impressive work 21:47
Xliff :)
21:56 sno joined
discord6 <theangryepicbanana> m: 2.exp($_).say for 1..5 22:00
evalable6 1
4
9
16
25
discord6 <theangryepicbanana> actually 22:01
<theangryepicbanana> m: (1..5)R».exp(2).say 22:02
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/k4TH5jwmyf
Missing « or »
at /tmp/k4TH5jwmyf:1
------> 03(1..5)R».08⏏04exp(2).say
discord6 <theangryepicbanana> oh guess reverse op doesn't work like that
timotimo m: say 2 <<**<< 1..5
camelia 2..5 22:03
timotimo haha
m: say 2 <<**<< (1..5).list
camelia (2 4 8 16 32)
discord6 <theangryepicbanana> m: say 2 «R**« flat 1..5 22:04
evalable6 (1 4 9 16 25)
discord6 <theangryepicbanana> yeyeyeye
22:06 dogbert11 left
discord6 <theangryepicbanana> m: 2 R** | 1..5 22:09
evalable6 WARNINGS for /tmp/iriSb6PRaJ:
Useless use of ".." in expression "R** | 1..5" in sink context (line 1)
discord6 <theangryepicbanana> m: 2 R** any 1..5
evalable6 Potential difficulties:
Useless use of R** in sink context
at /tmp/JCgR9p8YJD:1
------> 032 08⏏04R** any 1..5
discord6 <theangryepicbanana> what
timotimo forgot to say or similar 22:10
m: say 2 R** any 1..5
camelia any(1, 4, 9, 16, 25)
22:17 pmurias left
gdonald sweet. 22:27
22:30 reach_satori_ joined 22:31 Ven`` left, reach_satori left
discord6 <theangryepicbanana> lol 22:31
nepugia a discord bridge?
discord6 <theangryepicbanana> yep
<theangryepicbanana> it's easier on mobile devices
nepugia Well, I'll have you know that bridging me is both illegal and against discords TOS :), but i'll make it easier for you and just leave the room... 22:32
22:32 nepugia left
discord6 <theangryepicbanana> nepugia: well ask the person who made it 22:32
tellable6 theangryepicbanana, I'll pass your message to nepugia
discord6 <RaycatWhoDat> That was the most ridiculous interaction I've read here. 22:33
<theangryepicbanana> yea lol
Xliff ?!? 22:34
discord6 <RaycatWhoDat> Xliff, you have enough scrollback to see that? Dunno if you just joined.
Xliff (1..5)R.say
m: (1..5)R.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot reverse the args of . because dotty infix operators are too fiddly
at <tmp>:1
------> 3(1..5)R.7⏏5say
timotimo that's not a thing we have to my knowledge
discord6 <theangryepicbanana> cdn.discordapp.com/attachments/557...image0.png
Xliff m: (1..5).reverse.say
camelia (5 4 3 2 1)
discord6 <RaycatWhoDat> @theangryepicbanana They're on IRC. 22:35
<RaycatWhoDat> Dunno if that works.
<theangryepicbanana> ik
<theangryepicbanana> they can see it
<theangryepicbanana> it's a link
Xliff m: say (1..5).reverse »**» 2
discord6 <RaycatWhoDat> Oh, sweet.
camelia (25 16 9 4 1)
Xliff m: say ((1..5) »**» 2).reverse 22:36
tobs "dotty infix operators are too fiddly"
camelia (25 16 9 4 1)
tobs gets his dictionary :D
22:36 reach_satori_ left
Xliff m: say reverse (1..5) »**» 2 22:36
camelia (25 16 9 4 1)
lizmat m: say 5 ... 1 >>**>> 2
camelia (5 4 3 2 1)
22:36 reach_satori_ joined
timotimo ohai lizmat :) 22:36
Xliff lizmat: o/
lizmat timotimo Xliff o/
m: say (5 ... 1) >>**>> 2 22:37
camelia (25 16 9 4 1)
lizmat m: say (5 ... 1 >>**>> 2)
camelia (5 4 3 2 1)
lizmat hmmm
Xliff theangryepicbanana: Where did you get `R` from?
timotimo yeah "..." has very loose precedence 22:38
discord6 <theangryepicbanana> Xliff: found it somewhere
<theangryepicbanana> it's a meta operator
<theangryepicbanana> kinda like Z or X
lizmat aahh... duh :-)
m: say 5 ... (1 >>**>> 2)
camelia (5 4 3 2 1)
lizmat m: say (5 ... 2 >>**>> 2) 22:39
camelia (5 4)
cpan-p6 New module released to CPAN! LibXML (0.0.9) by 03WARRINGD
Xliff m: say 4 R< 5 22:40
camelia False
22:40 cpan-p6 left
Xliff m: say 4 R* 5 22:40
camelia 20
Xliff LOL!
m: say 4 R+ 5
camelia 9
discord6 <theangryepicbanana> very fun
<theangryepicbanana> R= also works
22:40 cpan-p6 joined, cpan-p6 left, cpan-p6 joined
tobs let's not forget 22:41
lizmat afk&
tobs m: say 4 RR+ 5
Xliff Why isn't that documented?
camelia 9
tobs Xliff: it is, on the operators page
with all the other meta and hyperoperators
Xliff It's not on the sidebar 22:42
Oh. It is, but not in the R form.
tobs it's not indexed though
Xliff "Reversed operators"
m: say [R*] (1,2,3), (4, 5, 6) 22:44
camelia 9
Xliff m: say [R*] [1, 2 ,3], [4, 5, 6] 22:45
camelia 9
xq m: say 4 RRRR+ 5
camelia 9
Xliff O_o
m: say [R~] [1, 2 ,3], [4, 5, 6]
camelia 4 5 61 2 3
Xliff m: say [RZ~] [1, 2 ,3], [4, 5, 6]
camelia (41 52 63)
Xliff m: say [*] [1, 2 ,3], [4, 5, 6] 22:46
camelia 9
Xliff m: say [*] [1, 2 ,3]
camelia 6
Xliff m: say [*] [4, 5 ,6] 22:47
camelia 120
22:49 satori__ joined 22:51 reach_satori_ left 22:52 kamog joined
tobs I dunno, maybe nepugia had a point (or I'm reading too much into it): For some people there might be a difference between having all of their messages publicly logged by colabti vs. sent directly to discord. Should the topic include mention of the discord bridge? tyil, AlexDaniel, ops? 22:55
timotimo would probably be good
Xliff Matlab documentation sucks! 22:59
23:08 Cabanoss- left 23:10 Cabanossi joined 23:28 mowcat left 23:29 sena_kun left 23:38 lel joined
Xliff timotimo: Remember the discussion we had re: visualization 23:54
Can you remember what packages we were talking about? 23:55
23:59 reach_satori_ joined, satori__ left, thowe joined