»ö« 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
|