|
🦋 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
|
|||