🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:14
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:17
molaf left
00:18
Merfont joined
00:19
Kaeipi left
00:23
gordonfish left
00:32
perryprog left,
perryprog joined
00:57
Chi1thangoo left
01:04
BenGoldberg joined
01:09
mowcat left
01:11
gordonfish joined
01:18
Merfont left,
Merfont joined
01:27
Merfont left,
Merfont joined
01:50
MilkmanDan left
01:51
MilkmanDan joined
01:53
guifa left
02:10
aborazmeh left
02:15
tejr left
02:16
tejr joined
03:12
BenGoldberg left,
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
03:45
rifkin joined
|
|||
rifkin | i installed raku via the new rakubrew - but there is no p6doc. I tried zef install p6doc but i can't find the file p6doc | 03:46 | |
elcaro | I don't have a good answer, but since it's pretty quiet here... i'll take a shot | 03:48 | |
I seem to recall someone else having issues with installing p6doc via zef recently. I think it required some work | |||
for now, probably the quickest way to install it would be to clone the repo | 03:49 | ||
then you `cd` into the repo folder and `zef install .` | |||
should work... i think | |||
rifkin | docs.raku.org/programs/02-reading-docs shows to install rakudoc | ||
but there is no match for rakudoc | |||
elcaro | yeah, so i think it broke due to renaming... which is why it's probably easiest to manually install (ie. clone repo, etc) | 03:50 | |
github.com/raku/rakudoc | 03:52 | ||
here's the new repo... installation instructions are clone the repo and install locally :) | |||
rifkin | i'll try it | 03:53 | |
04:07
rifkin left
04:14
Merfont left
04:15
Merfont joined
04:29
BenGoldberg left,
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
05:04
BenGoldberg left,
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
05:19
bocaneri joined
05:23
Util left,
frost-lab joined
05:27
aluaces joined,
BenGoldberg left
05:28
bocaneri left,
bocaneri joined
05:29
bocaneri left,
bocaneri joined
05:30
bocaneri left,
bocaneri joined
05:31
bocaneri left
05:32
bocaneri joined
05:33
bocaneri left,
frost-lab left
05:35
Util joined
05:38
frost-lab joined
05:54
jmerelo joined,
ufobat joined
06:20
bocaneri joined
06:26
wamba joined
06:27
molaf joined
06:46
cpan-raku left
06:48
cpan-raku joined,
cpan-raku left,
cpan-raku joined
06:49
abraxxa left
06:51
abraxxa joined
07:00
bingos_ is now known as bingos
07:01
bingos left,
bingos joined
07:03
bingos is now known as BinGOs
07:11
abraxxa left
07:12
abraxxa joined
07:18
Sgeo left
07:25
MasterDuke joined
07:31
dakkar joined
07:50
moony left,
parabolize left
07:52
parabolize joined,
moony joined
08:05
sena_kun joined
08:10
ensamvarg left
08:14
ensamvarg joined
08:19
BenGoldberg joined
08:30
aborazmeh joined,
aborazmeh left,
aborazmeh joined
08:39
sena_kun left
08:46
domidumont joined
08:53
BenGoldberg left
08:57
wamba left
09:07
wamba joined
09:24
sjm_uk joined
09:31
sena_kun joined
09:47
aborazmeh left
09:56
epony left
10:03
ensamvarg195 joined
10:10
ensamvarg195 left
10:11
ensamvarg195 joined
10:23
andrzejku joined
10:51
Chi1thangoo joined
10:58
epony joined
11:00
__jrjsmrtn__ left
11:05
__jrjsmrtn__ joined
11:12
sena_kun left,
Black_Ribbon left
11:21
kylese joined
|
|||
kylese | Greetings, I've problems to understand why "the if-clause seems to cause an implicit data type conversion" ... Could some point me in the direction, pls? | 11:28 | |
moritz | kylese: context? | ||
kylese | Sorry, OUTPUT: «2 :: 3True ???» | ||
moritz, ?? | |||
moritz | kylese: where did you read that sentence you quoted? | 11:29 | |
kylese | moritz, I'm not sure what do mean by sentence? (The code is my minimal example.) | 11:30 | |
moritz, ... the quotation is my "interpretation" | |||
moritz | kylese: I understand even less now :-( | 11:32 | |
let's wait for somebody else to pick up, maybe I'm just dumb right now | |||
kylese | I try to understand why "$^b" is not "3" anymore, in the if-clause "???" | ||
moritz | and where's the code that demonstrates the problem? | 11:33 | |
kylese | my $block := { my Int $i = $^a; put "$^a :: $^b"; if ($^b > $i) { put "$^b ???"; } }; my $int_2 = 2; my $int_3 = 3; $block($int_2, $int_3); | 11:34 | |
evalable6 | 2 :: 3 True ??? |
||
kylese | Sorry, maybe i posted it only to camelia... ?!? | ||
moritz | maybe :D | ||
11:35
rindolf joined
|
|||
moritz | kylese: ok, I can answer your question :-) | 11:36 | |
kylese: if ($^b > $i) { put "$^b ???"; } the block here is a new block | |||
and $^b is its formal parameter | |||
so it's the same as if you wrote | |||
if $^b > $i -> $NEWVAR { put "$NEWVAR ???" } | 11:37 | ||
if you want to access the outer value of $^b, you can just write $b | |||
but at this point, it's less confusing if you write your block as | |||
my $block = -> $a, $b { use $a instead of $^a here } | 11:38 | ||
kylese | moritz, ok. Thank you for that so far. It seems that I have something to read now ... :) | 11:39 | |
moritz | the feature that `if` makes it value availalbe is useful in such a case: | ||
m: sub f() { 42 }; if f() -> $x { say "f returned $x" } | 11:40 | ||
camelia | f returned 42 | ||
moritz | you don't have to duplicate the f() call | ||
kylese | moritz, ok. That sounds reasonable.. | 11:41 | |
11:44
BenGoldberg joined
|
|||
lizmat | hmmm.. looks like we lost the module update announcer | 11:56 | |
modules.raku.org/dist/Text::Mathem...:ELIZABETH | |||
cpan-raku | New module released to CPAN! Text::MathematicalCase (0.0.1) by 03ELIZABETH | 11:58 | |
lizmat | Ah, I was merely impatient :-) | 12:00 | |
12:02
edk_ is now known as deadk
12:13
Chi1thangoo left
12:18
BenGoldberg left
12:23
andrzejku left
|
|||
cpan-raku | New module released to CPAN! Text::MathematicalCase (0.0.2) by 03ELIZABETH | 12:44 | |
[Coke] yawns. | 12:57 | ||
lizmat: seems like a much more useful version of github.com/coke/raku-unicode-mangler! | 12:58 | ||
lizmat | but with fewer options | 13:02 | |
[Coke] | I was only thinking command line usage when I threw mine together. | 13:03 | |
lizmat | hmmm... looks like my .trans approach doesn't handle accented cases well: | 13:06 | |
$ mc --monospace "përl" | |||
𝚙ë𝚛𝚕 | |||
[Coke] adds a reference to liz's module in his readme. | 13:09 | ||
lizmat: I basically check for combinors in the string, pull them out, do the transform, then put them back. | 13:10 | ||
lizmat | hmmm I guess I could just NFD the mapper, and only handle codepoints for which there is a translation | 13:11 | |
and than un-NFD the result | |||
lizmat will sleep a night on that | 13:13 | ||
in any case, will also put a ref in to App::Unicode::Mangle | |||
[Coke] | if you like. no worries | 13:14 | |
13:15
jmerelo left
13:31
Chi1thangoo joined
|
|||
El_Che | Has anyone more info about the work by a student to get raku to deliver binaries? While fatpacker is a godsend (thx mst++), I spent quite sone time getting the perl app deployable right. It's painful compared to projects in other langs | 14:09 | |
I don't know if it was a grant of a Google Summer of Code project | 14:10 | ||
MasterDuke | pamplemousse was the nick i believe | 14:11 | |
El_Che | googling | 14:12 | |
this seems to work: perl6 -e 'CompUnit::Loader.load-precompilation-file("test.moarvm".IO)' | 14:18 | ||
raku --target=mbc --output=test.moarvm -e 'say 42' ; raku -e 'CompUnit::Loader.load-precompilation-file("test.moarvm".IO)' | |||
dunno if it works with bigger programs using libs | |||
m: raku --target=mbc --output=test.moarvm -e 'say 42' ; raku -e 'CompUnit::Loader.load-precompilation-file("test.moarvm".IO)' | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3ku --target=mbc --output=test.moarvm -e7⏏5 'say 42' ; raku -e 'CompUnit::Loader.lo expecting any of: infix infix stopper … |
||
14:18
sena_kun joined
14:29
frost-lab left
14:32
Sgeo joined
|
|||
timotimo | El_Che: have you looked at my appimage work? | 14:44 | |
that's linux-only of course | |||
14:48
andrzejku joined
14:58
k-man left
14:59
kini left
15:06
k-man joined
15:08
kini joined
15:09
BenGoldberg joined
|
|||
El_Che | timotimo: It's a different scope (deploying on servers and containers) | 15:11 | |
15:14
domidumont left
|
|||
timotimo | ok but what prevents you from just deploying an appimage on a server :D | 15:15 | |
El_Che | timotimo: fear of being lynched :) | 15:17 | |
timotimo | if the people in question don't like appimage, maybe run a snapd from an appimage and install the rakudo program through that | 15:18 | |
El_Che | yes, users loves the umsollicited snap directory in they home :) | 15:19 | |
timotimo | ok, flatpak then? | 15:23 | |
15:23
jmerelo joined
15:25
mowcat joined
|
|||
El_Che | hehe | 15:27 | |
15:29
skids joined
15:34
patrickb joined
15:43
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
patrickb | . | 15:43 | |
15:44
BenGoldberg left
15:48
ambs left
15:50
aborazmeh left
15:56
Xliff joined
|
|||
Xliff | timotimo/vrurg - You around? | 15:57 | |
15:57
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
timotimo | one hand on kb, one on cat | 15:59 | |
rir | I would like to make classes that are final (C++) or concrete (Sather) or non-inheritable (Raku). Has anyone done this? For my purposes: compile time control would be efficient, runtime--adequate. | 16:00 | |
timotimo | i'm sorry, what is `Sather`? | 16:03 | |
moritz has no idea how to make a class non-inheritable, nor why you'd need that | 16:09 | ||
rir | A thesis/grad project out of Berkeley, I think. It was a study in typing by, primarily, Omohundro. | 16:10 | |
[Coke] | I assume you could muck with the metamodel | 16:13 | |
Altreus | restricting inheritance defeats OOP, don't do that | 16:14 | |
rir | moritz: Generally, I think it is reasonable where a class has not been designed with inheritance in mind. Classes that embody interfaces to non-raku artifacts seem like a case. | ||
[Coke] | and maybe trigger that mucking with an "is final" keyword that gave you a classHOW that disallowed inheritance somehow, but I'm afraid I'm all handwavy on this. | ||
Altreus | Just because you didn't have something in mind doesn't mean people won't find a reason to do it | ||
all you prevent is innovation | |||
example: this pesky `multi` keyword in raku | 16:15 | ||
[Coke] | if runtime is ok, you could put a validation call in each method in your class that exploded if actual class calling method wasn't expected class. | ||
but you're not going to get speed increases like you might with a 'final' class in Java. | |||
(in fact you're going to be jumping through more hoops to enforce) | |||
Altreus | raku inherits many perl principles, and one of them seems to be not to prevent people doing stuff just because they might hurt themselves | 16:16 | |
rir | One can also prevent a waste of time, by drawing attention to the fact that a class is tightly focused on an implementation detail. | ||
Altreus | write a comment and move on :) | ||
plenty of rope to hang yourself | |||
16:16
aborazmeh left
|
|||
[Coke] | m: class foo { method x is implementation-detail { say "hello"} } | 16:17 | |
camelia | ( no output ) | ||
16:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
rir | Hanging yourself is not a great argument. | 16:17 | |
[Coke] | m: class foo is implementation-detail { method x { say "hello"} } | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> 'foo' cannot inherit from 'implementation-detail' because it is unknown. at <tmp>:1 |
16:18 | |
[Coke] | (right, is doesn't mean trait there.) - rakudo does have a method level trait to track that one particular type. | ||
so, short version: there isn't a builtin way to do it. You can probably construct one and put it in module space by mucking with metamodel. | |||
lizmat | I guess one could make a "is not-inheritable" Method trait that would wrap the method and check the invocant and die if it is not the class itself | 16:20 | |
[Coke] | if you're OK with purely advisory but still in code, you could use a Final role. | ||
lizmat | and the meta-model could apply such a trait | ||
[Coke] | how to do :exists in NQP? | 16:22 | |
lizmat | nqp::existskey ? | ||
rir | Thanks Altreus, Coke, lizmat. Thanks, all. I do get Altreus' point but think there are clearly exceptional cases. As an amateur learning Raku, I'll file Liz's idea away. I see the beauty of the | 16:32 | |
cpan-raku | New module released to CPAN! Text::MathematicalCase (0.0.3) by 03ELIZABETH | 16:33 | |
lizmat | ^^^ that one also does accents correctly, [Coke]++ for the nudge | 16:34 | |
rir | ^ Meta-classes coming into the Docs and the invitation that it implies. But it is a big shift from the behaviorally descriptive documentation style. | 16:35 | |
lizmat | afk for a few hours& | ||
[Coke] | lizmat++ | 16:36 | |
rir | ^ I expect that all my code will be open. | 16:38 | |
16:38
dakkar left
|
|||
Xliff | timotimo: If you have some free time, can I borrow some of it? | 16:46 | |
I am experiencing a weird error that, if holds, means a serious bug in rakudo | |||
I just want another set of eyes on it before I create an issue. Just in case this bug isn't mine. | |||
jmerelo | Xliff: you've probably seen this, but just in case www.flickr.com/photos/atalaya/50509188396 | 17:21 | |
17:38
linkable6 left,
evalable6 left
17:40
linkable6 joined,
evalable6 joined
17:58
approaching236 left
18:18
perryprog left,
perryprog joined
18:35
BenGoldberg joined
18:39
rypervenche left
18:42
rypervenche joined,
jmerelo left
18:43
sena_kun left,
abraxxa left
18:47
BenGoldberg left,
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
18:52
wamba left
19:03
BenGoldberg left,
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
19:06
go|dfish left,
wamba joined
19:09
go|dfish joined,
BenGoldberg left
19:12
natrys joined
|
|||
timotimo | Xliff: wanna try now? | 19:15 | |
19:34
rindolf left,
rindolf joined
19:44
patrickb left
19:45
sjm_uk left
|
|||
cpan-raku | New module released to CPAN! Gnome::Gtk3 (0.31.0) by 03MARTIMM | 19:52 | |
19:55
bug2000 joined
|
|||
Xliff | timotimo: Sorry. Still busy with work. Will you have time in about 30 minutes or so? | 19:56 | |
timotimo | may be very distracted, but i'll have a quick look anyway | ||
Xliff | Thanks. | 19:57 | |
jmerelo: Oh wow! Thank you! | |||
tellable6 | Xliff, I'll pass your message to jmerelo | ||
Xliff | timotimo: In case you want to get a head start, I'm trying to check out why a role-based attribute doesn't appear to set properly and STAY set. | 20:02 | |
timotimo | roles aren't closures, maybe that's you rproblem | 20:03 | |
Xliff | Clone or down load p6-GLib and p6-GIO into the same directory. | ||
cd into p6-GIO and then run the following: ./p6gtkexec -e 'use GIO::Roles::GFile; my $iostream; my $t = GIO::File.new_tmp("g_file_writev_XXXXXX", $iostream); say $t; say $iostream' | 20:04 | ||
timotimo | m: sub attribute-with($obj, $num) { role Test { has $.blorp = $num }; $obj does Test }; my $one = attribute-with "Hello", "first"; say $one.blorp; my $two = attribute-with "Goodbye", "second"; say $two.blorp; say $one.blorp | 20:05 | |
camelia | first second first |
||
timotimo | that doesn't do it, hold on | ||
m: sub attribute-with($obj, $num) { role Test { method blorp { $num } }; $obj does Test }; my $one = attribute-with "Hello", "first"; say $one.blorp; my $two = attribute-with "Goodbye", "second"; say $two.blorp; say $one.blorp | |||
camelia | first second second |
||
timotimo | there you go | ||
Xliff | I'll be back in another 15 to go over the details. | 20:06 | |
Yes, but that test doesn't have an attriubute, which I understand IS added to the composing class, so would be considered a closure, yes? | |||
timotimo | doesn't have to be an attribute | 20:08 | |
the reason why that worked is - i guess - because the attribute was added and immediately had its default value set | |||
Xliff | Ah. OK. Back in 15. | ||
timotimo | so it couldn't retroactively fail to stay correct | ||
rindolf | Hi all! how can I get «zef install Math::Primesieve» to work on fedora 33 beta or mageia linux 8 x86-64? | 20:11 | |
20:12
andrzejku left
20:13
aborazmeh left
|
|||
rindolf | see modules.raku.org/dist/Math::Primes...an:CTILMES | 20:17 | |
+the <title> there is too generic | |||
20:18
kylese left
20:35
cooper joined
|
|||
Xliff | OK, back. | 20:37 | |
Wow. Took longer than I thought. | |||
20:38
natrys left
|
|||
Xliff | timotimo: gist.github.com/Xliff/44691ee3a050...dcff42970a | 20:56 | |
timotimo | having trouble getting it to work | 20:59 | |
cmpiling now | 21:01 | ||
21:04
ufobat left
|
|||
Xliff | OK | 21:04 | |
21:14
wamba left
21:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
guifa joined
|
|||
guifa | o/ | 21:17 | |
21:21
phogg left
|
|||
timotimo | FIOS: GIO::Raw::Definitions::GFileIOStream<5407500160> | 21:22 | |
!FIOS: GIO::Raw::Definitions::GFileIOStream<5407500160> | |||
GIO::File.new | |||
GIO::FileIOStream.new | |||
what am i supposed to be seeing? | |||
21:24
phogg joined,
phogg left,
phogg joined,
aluaces left
21:31
skids left
21:32
aborazmeh left
|
|||
Xliff | timotimo: The object GIO::FileIOStream is a GIO::Stream that does GLib::Roles::Object | 21:35 | |
GLib::Roles::Object puns $!o on any composing class. | |||
The only time I've ever had a problem with this patterm is with GIO:;FileIOStram. The punned $!o attribute is not getting set. | 21:36 | ||
I'm doing the same thing I'm doing with every other object. | |||
I can set $!o in a block, but the moment execution leaves that block $!o goes back to being unset. | 21:37 | ||
timotimo | where's the code i should look at? | 21:39 | |
FileIOStream? | |||
Xliff | Follow GIO::FileIOStream.setGFileIOStream | ||
The litmus test is that an instance of GIO::FileIOStream should have a non-nil return value for .GObject | 21:40 | ||
.GObject -> GLib::Roles::Object -> GIO::Stream -> GIO::FileIOStream | 21:41 | ||
21:47
mid_home joined
21:49
rindolf left
|
|||
timotimo | testing an idea that it might have been something very simple | 21:50 | |
but compile times are big :) | |||
Stage parse : 589.211 | |||
i could skip all of this trouble if i just used the debugger :D | |||
Xliff | I know. | 21:53 | |
The sucky compile times are the one reason I haven't released this, yet. | |||
timotimo | that tool really wants to be sugared up a whole bunch | ||
for example, by launching both the program you have and an extra terminal with the debugger in it | |||
Xliff | Which tool? | ||
timotimo | that's already properly connected | ||
Xliff | Hmm....if I knew what was involved, I could be talked into taking a stab at it. | 21:54 | |
timotimo | oh, just launch perl6/rakudo/raku with --debug-port=$n and launch another terminal with moar-remote localhost $n | 21:58 | |
and usually also --debug-suspend | |||
Xliff | OK. Will look into it. | 21:59 | |
22:00
BenGoldberg joined
22:03
Kaeipi joined
22:05
skyl4rk left
22:08
Merfont left
22:11
Kaiepi joined
22:15
Kaeipi left
22:18
cpan-raku left
22:20
cpan-raku joined,
cpan-raku left,
cpan-raku joined
22:34
BenGoldberg left
22:51
Doc_Holliwood left
|
|||
Xliff | Rebooting into Windows. | 22:54 | |
22:55
Xliff left
23:03
BenGoldberg joined
23:05
abraxxa joined
23:06
abraxxa left,
abraxxa joined
23:10
abraxxa left
23:11
abraxxa joined
23:12
BenGoldberg left,
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
23:15
BenGoldberg left,
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
23:28
daxim left
23:29
daxim joined
|