🦋 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:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:13
Kaiepi left
00:16
Kaiepi joined
00:56
Cabanossi left
00:58
Cabanossi joined
01:12
aborazmeh left
01:26
molaf left
01:39
molaf joined
01:40
Xliff left
02:05
Manifest0 left
02:06
Manifest0 joined
02:12
rbt left
02:20
Cabanoss- joined
02:24
Cabanossi left,
Cabanoss- is now known as Cabanossi
02:38
poga left
03:22
NODE left
03:23
NODE joined
03:44
KindOne left
03:49
KindOne joined
03:52
brtastic joined
03:57
albongo is now known as albino
04:07
KindTwo joined
04:09
devmikey left,
KindOne left
04:11
KindTwo is now known as KindOne
04:30
affaf joined
|
|||
affaf | Hey dudes. Quick question. | 04:30 | |
``` | |||
```sub foo(Str $s) { "" };say "this shouldn't run";if (0 == 0){ my Int $x = foo(""); say $x}``` should not type check but why does this work? | |||
Ugh here's a hastebin link hasteb.in/vetoqowe.pl | 04:31 | ||
04:37
clarjon1 left
|
|||
affaf | As in I still get the print. | 04:45 | |
04:53
wamba joined
05:08
clarjon1 joined
|
|||
timotimo | m: sub foo(Str $s --> "") {}; say foo | 05:15 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Calling foo() will never work with declared signature (Str $s --> "") at <tmp>:1 ------> 3sub foo(Str $s --> "") {}; say 7⏏5foo |
||
timotimo | m: sub foo(Str $s --> "") {}; say foo("") | ||
camelia | |||
timotimo | m: sub foo(Str $s --> "") {}; my Int $a = foo("") | ||
camelia | Type check failed in assignment to $a; expected Int but got Str ("") in block <unit> at <tmp> line 1 |
||
timotimo | m: sub foo(Str $s --> "") {}; my Int $a = foo(""); say "never runs" | ||
camelia | Type check failed in assignment to $a; expected Int but got Str ("") in block <unit> at <tmp> line 1 |
||
timotimo | m: sub foo(Str $s --> "") {}; say "runs"; my Int $a = foo(""); say "never runs" | ||
camelia | runs Type check failed in assignment to $a; expected Int but got Str ("") in block <unit> at <tmp> line 1 |
||
timotimo | that's runtime, too | ||
05:23
xinming left
05:24
xinming joined
05:31
sauvin joined
05:33
brtastic left
05:43
holli__ joined
05:45
affaf left
05:49
gordonfish left
05:51
skids left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
06:05
brtastic joined
06:18
Sgeo left,
stoned75 joined
06:38
JJMerelo joined
06:40
molaf left
06:44
Kaiepi left
06:48
Kaiepi joined
06:52
domidumont joined
07:13
pecastro joined
07:16
soursBot joined
07:17
andrzejku joined
07:18
wamba left
|
|||
samebchase- | Hello, Say I have a hash %h with many keys, and now I want a smaller hash with just the keys a, b. I know I can do %h<a b>:p, but that gives me a list. How do I get a smaller "subset" hash? | 07:36 | |
07:37
JJMerelo left
07:38
holli__ left
07:44
chloekek_ joined
|
|||
samebchase- | I would imagine that this is not an encouraged workflow because we don't have structural-sharing... It would allocate a whole new map. | 07:52 | |
07:58
JJMerelo joined
|
|||
MasterDuke | m: my %a = %(:1a, :2b, :3c); my %b = %a<b c>:p; dd %a; dd %b | 08:02 | |
camelia | Hash %a = {:a(1), :b(2), :c(3)} Hash %b = {:b(2), :c(3)} |
||
08:03
chloekek_ left,
tailgate joined
|
|||
samebchase- | woah, let me try that out. The documentation says that "The adverb :p returns a Pair or a List of Pair instead of just the value." | 08:08 | |
So it would need to be assigned to a new hash | |||
08:12
soursBot left
08:17
vike1 left
|
|||
elcaro | Another useful feature of the `:p` on hash slices is that it will "collapse" undefined values | 08:23 | |
so oyu can fearlessly give a list of keys that may or may not be in the original hash | |||
m: my %h = (:1a :2b :4d); my @k = <a b c>; say %h{@k}; say %h{@k}:p | |||
camelia | (1 2 (Any)) (a => 1 b => 2) |
||
elcaro | similar to doing a set intersection | 08:25 | |
m: say set(<a b d>) ∩ set(<a b c>) | |||
camelia | Set(a b) | ||
08:30
soursBot joined
08:35
aluaces left
08:50
sena_kun joined
08:56
vike1 joined
09:00
JJMerelo left
09:11
aborazmeh left
09:15
hacktor left
09:25
raku-bridge left
09:26
cpan-raku left,
raku-bridge joined,
raku-bridge left,
raku-bridge joined,
cpan-raku joined,
cpan-raku left,
cpan-raku joined
09:31
wamba joined
09:34
soursBot left
09:35
soursBot joined
09:40
rindolf joined,
kensanata joined
09:44
Geth left,
Geth joined
09:45
raku-bridge left
09:46
cpan-raku left
09:47
raku-bridge joined
10:01
cpan-raku joined,
cpan-raku left,
cpan-raku joined
10:05
wamba left
10:13
lichtkind joined
10:16
kensanata left,
Demos[m] left
10:18
chloekek_ joined
10:21
girafe2 left
10:27
girafe joined,
Altai-man_ joined
10:30
sena_kun left
10:39
soursBot left
10:58
Black_Ribbon left
10:59
soursBot joined
11:07
El_Che joined
|
|||
samebchase- | thank you MasterDuke and elcaro! | 11:13 | |
11:19
holli__ joined
|
|||
MasterDuke | np | 11:19 | |
11:24
suman joined
|
|||
suman | github.com/Raku/problem-solving/bl...to-Raku.md | 11:28 | |
11:30
soursBot_ joined,
soursBot left
11:39
chloekek_ left
|
|||
uzl[m] | .seen jmerelo | 11:47 | |
tellable6 | uzl[m], I saw jmerelo 2020-05-28T10:07:04Z in #raku-dev: <JJMerelo> jnthn by all means. | ||
uzl[m] | .tell jmerelo I think some doc issues that were addressed by respective PRs and could thus be closed. From the top of my head: github.com/Raku/doc/issues/3389 , github.com/Raku/doc/issues/3308 | 11:50 | |
tellable6 | uzl[m], I'll pass your message to JJMerelo | ||
11:51
sarna joined
11:54
holli__ left
12:02
soursBot_ left
12:11
suman left
12:20
soursBot joined
12:26
aluaces joined,
aluaces is now known as alberto,
alberto is now known as Guest62
12:28
sena_kun joined
12:30
Altai-man_ left
12:46
wamba joined
12:53
leont joined
13:03
aborazmeh joined,
aborazmeh left,
aborazmeh joined
13:07
konvertex joined
|
|||
[Coke] | I get "type check failed" | 13:19 | |
(the code in the bin said "if true, run this code"... so yes, it was going to run. :) | 13:21 | ||
13:37
andrzejku left
13:40
holli__ joined
13:57
brtastic left,
andrzejku joined
14:14
wamba left
14:21
lucasb joined
14:25
sarna left
14:27
Altai-man_ joined
14:29
sena_kun left
14:34
gordonfish joined
14:35
soursBot left,
soursBot joined
|
|||
raku-bridge | <Tilwa> I found a broken link on raku.org/community/ : the smoke testing links to smoke.perl6.org/ which is the default nginx page. Is there a working page somewhere or should it be removed ? | 14:41 | |
14:53
brtastic joined
14:58
aborazmeh left
15:00
soursBot left
15:03
skids joined
15:07
soursBot joined
15:09
holli__ left
|
|||
jdv79 | Tilwa: there's a link at the bottom of hte page about how to contrib/fix that | 15:15 | |
though what the fix would be is unclear | |||
dotdotdot | Well, I'll open a github issue later then. Thanks! | 15:16 | |
jdv79 | i guess that was zoffix so maybe just remove that section...? | 15:17 | |
dotdotdot | Maybe it could link to rakudist instead? dunno | 15:21 | |
15:30
poohman joined
|
|||
poohman | hi | 15:30 | |
was trying to use the module XML::Class and was aiming at using a method called from-xml | 15:31 | ||
it throws an error saying none of the signatures match | 15:32 | ||
what does the second argument in the signature below stand for | |||
? | |||
(XML::Class:U: Str $xml, *%_ --> XML::Class) | |||
just to be sure that I was making no typos I generated an xml string using the to-xml method and passed that | 15:33 | ||
but got the same error | |||
15:34
_jrjsmrtn joined
|
|||
elcaro | this is a class method, as the first parameter is an undefined XML::Class. the second is the $xml string, the third just stores and pairs/named args in the %_ hash | 15:34 | |
15:34
__jrjsmrtn__ left
|
|||
poohman | are there three arguments or two? | 15:35 | |
elcaro | so it looks like it would just be XML::Class.from-xml('<...>') | ||
well.. it's a method, so "first" is the invocant | |||
poohman | and what does *%_ mean? | 15:36 | |
elcaro | it's just an anonymous hash... similar to how we have $_ | ||
poohman | ok | ||
elcaro | m: sub foo($bar, *%_) {say %_}; foo('one', two => 2, :!three) | 15:37 | |
camelia | {three => False, two => 2} | ||
elcaro | just a way to capture any named args | ||
m: sub foo($bar, *%_) {say %_<three>}; foo('one', two => 2, :!three) | 15:38 | ||
camelia | False | ||
poohman | ok | ||
15:41
soursBot left
|
|||
poohman | thanks elcaro | 15:41 | |
15:41
soursBot joined
|
|||
elcaro | np | 15:45 | |
I've not used to module before.. so i'm not sure if i've given correct info | 15:46 | ||
poohman | one more question - XML::Class:U - what does the U here stand for?? undefined? | 15:49 | |
MasterDuke | yeah, the type object | 15:51 | |
poohman | ah | 15:52 | |
I was all these days forgetting to instantiate it and when I finally remember to do it | |||
I get this | |||
so I dont use new?? | 15:53 | ||
MasterDuke | yeah, then it's like a "class" or "static" method in other languages | 15:56 | |
16:06
soursBot left
|
|||
poohman | but I dont understand how one would pull the data into a type object - wont I need a instamtiated object to assign the data I deserialise from the xml | 16:07 | |
16:08
chloekek_ joined
|
|||
timotimo | classes with static data store them in the lexical scope of the class body | 16:08 | |
16:08
soursBot joined
|
|||
poohman | how would I be able to access them - could you give a smll example | 16:09 | |
timotimo | you'd need an accessor method | ||
m: class Flob { has $.attribute; my $static-one; my $static-two; method access-one is rw { $static-one }; method read-two { $static-two } }; Flob.new(attribute => 1).raku.say; Flob.access-one = 99; say Flob.access-one; | 16:10 | ||
camelia | Flob.new(attribute => 1) 99 |
||
timotimo | m: class Flob { has $.attribute; my $static-one; my $static-two; method access-one is rw { $static-one }; method read-two { $static-two } }; my $inst-one = Flob.new; $inst-one.access-one = 99; say Flob.access-one; | ||
camelia | 99 | ||
poohman | ok - let me look at the example again - maybe I missed the static member part of it | 16:12 | |
timotimo | i didn't read further up, so i may have missed something | 16:13 | |
poohman | ok - I see some light now - thanks - need to take a break | 16:21 | |
seems like a lot of MOP there | |||
16:23
holli__ joined
16:26
vike1 left
16:28
vike1 joined,
sena_kun joined
16:30
Altai-man_ left
16:38
ShimmerFairy left
16:39
ShimmerFairy joined
16:53
domidumont left
16:56
poohman left
17:12
poohman joined
17:15
mahafyi joined,
sena_kun left
17:16
sena_kun joined
17:17
stoned75 left
17:19
stoned75 joined
|
|||
mahafyi | i feel somewhat ready to start trying somethings with raku. i was looking at web modules, i can undertsnad the cro architecture but can't do a react redux site. But i understand Uzu, and the template6 / mustache. i am planning to start directly writing html files from raku, with inline javascript as needed. any guidance on starting website with | 17:19 | |
raku? | |||
17:27
Guest62 is now known as aluaces
17:31
patrickb joined
|
|||
timotimo | the reason why cro uses react/redux is just that it's pleasant to use | 17:33 | |
cro can work with any framework as well as frameworkless; there's a template language now, too | |||
17:35
holli__ left
|
|||
timotimo | i haven't looked at uzu at all yet | 17:35 | |
17:35
holli__ joined
|
|||
timotimo | oh, and of course cro can use any template engine that spits out any kind of data that is to be delivered to the client | 17:35 | |
as well as just writing your html in your code if you like | 17:36 | ||
HTML::Tag: say HTML::Tag::p.new(:text('This is my paragraph'), :class('pretty')).render; | 17:37 | ||
Typesafe::HTML: my $html = HTML.new('<p>this will not be quoted</p>'); $html ~= '<p>this will</p>'; | 17:38 | ||
modules.raku.org/dist/HTML::BoreDO...an:ALLSOPP here you nest calls to a sub called "h" | 17:39 | ||
modules.raku.org/dist/HTML::Lazy:cpan:SAMGWISE - haven't looked at this one at all yet | |||
mahafyi | timotimo : ah ok. so we can just use the cro pipelines to generate content on the flow by directly writing the html files needed. we can make the grammars needed to build links across all sitemap pages. I hadnt seen the Typesafe::HTML :) | 17:40 | |
as far as Uzu goes i was thinking just to start with an apache httpd instead for web server. as it provides authentication for users out of the box. | 17:41 | ||
timotimo | well, don't have to "write files" really | 17:42 | |
mahafyi | how will the user have a html file in the web server then? | 17:43 | |
timotimo | there doesn't have to be a file for some html to be served | 17:44 | |
the server can literally make shit up :) | |||
mahafyi | i see. i didn't know about that. | ||
timotimo | having to have one file correspond to one URL is probably a thing you are used to from coding with php or cgi scripts directly | 17:45 | |
over there you'd often put a .htaccess file that rewrites URLs | 17:46 | ||
but "web applications" and "web frameworks" just grab the whole request, so you can decide on your owh whether you look at the filesystem, at a database, at a random number generator, at the stars, etc | |||
mahafyi | wow. look like i need to understand this whole thing afresh. | 17:48 | |
17:59
Xliff joined
|
|||
Xliff | \o | 18:00 | |
I'm tryint to print color sequences to the console. I'm doing something like this... | |||
m: print "\033Hello!\033" | |||
camelia | ␀33Hello!␀33 | ||
Xliff | So only the "\0" part is being recognized. What's the proper way to implement this? | 18:01 | |
( I hope it isn't chr.... } | |||
mahafyi | ah so that how things like Uzu does its 'live reloads' etc, where any content changed in the 'watch' paths immediately shows up in browser.i was wondering about that | 18:02 | |
18:02
ctilmes1 joined
|
|||
Xliff | Well... "{ chr(27) }" but is more verbose than I'd like. | 18:03 | |
\o ctilmes! | |||
18:06
ctilmes left
|
|||
[Coke] | Xliff: This answers a different question, but have you seen: github.com/tadzik/Terminal-ANSIColor | 18:09 | |
Xliff | I've not looked deeply into it, no. | 18:10 | |
Oh, LOL!\ | |||
\e... much better! :) | |||
[Coke] | m: print "\0d12" | 18:11 | |
camelia | ␀d12 | ||
[Coke] | (nope) | ||
m: print "\c[33]" | 18:13 | ||
camelia | ! | ||
[Coke] | m: print "\x033" | ||
camelia | 3 | ||
18:18
KindTwo joined
18:20
KindOne left
18:23
KindTwo is now known as KindOne
18:27
Altai-man_ joined
18:29
sauvin left
18:30
sena_kun left
|
|||
timotimo | m: print "\o033 | 18:33 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in double quotes; couldn't find final '"' (corresponding starter was at line 1) at <tmp>:1 ------> 3print "\o0337⏏5<EOL> expecting any of: argument l… |
||
timotimo | m: print "\o033" | ||
camelia | |||
18:36
ctilmes1 left
18:37
patrickb left
18:38
picmyk left,
picmyk joined,
soursBot left
18:39
patrickb joined
|
|||
[Coke] | m: "\o033".uninames.say | 18:40 | |
camelia | (<control-001B>) | ||
[Coke] | timotimo++ | ||
timotimo | greppable6: \\0\d\d | 18:41 | |
greppable6 | timotimo, 175 lines, 32 modules: gist.github.com/8d0ca6466379338db3...3ce28ce9c7 | ||
18:45
soursBot joined
|
|||
timotimo | not going through all of that now | 18:49 | |
the first few i looked at were in readme and pod | |||
18:54
patrickb left
18:56
soursBot left
19:02
soursBot joined
19:07
poohman left
19:08
mahafyi left
19:14
kensanata joined
19:18
soursBot left
19:24
mahafyi joined
19:30
poohman joined
19:31
Altai-man_ left
|
|||
mahafyi | so cro istelf is a webserver, doesn't need something like apache http to serve up web content. and can do secure https connections as well.. | 19:36 | |
19:41
hacktor joined,
hacktor left
19:45
patrickb joined
19:47
devmikey joined
19:53
[Sno] left
19:56
sno joined
|
|||
timotimo | usually you'd want to have an nginx in front, much like you would with other web frameworks | 19:56 | |
let the webserver handle TLS and load balancing, and static file hosting is something nginx is quite fast at | 19:57 | ||
mahafyi | oh ok. just working thru the cro examples now. | 20:03 | |
but in the first cro example localhost:20000 says HELLO, and i can't find the word HELLO and how it is served up anywhere in the dir (that was stubbed) files, except there is some binary file that matches. | 20:08 | ||
timotimo | it's not under lib/Routes.rakumod (or .pm6 or whatever)? | 20:12 | |
mahafyi | pastebin.com/cx2DHFGR this is all i see | 20:15 | |
so it shows as a binary file match in lib/.precomp | 20:16 | ||
timotimo | well, what is in lib/Routes.pm6? | 20:19 | |
mahafyi | oh so sorry, i did a case sensitive grep forgot the -i flag. | 20:20 | |
20:20
brtastic left
|
|||
timotimo | ah :) | 20:21 | |
it happens | |||
20:22
wamba joined
|
|||
moon-child | I've been playing with the fancy superscripts | 20:22 | |
5⁶⁷ is the same as 5 ** 67 -- well and good | |||
plain ⁶ is the same as 6. That means that ⁶⁷⁸ is the same as 6 ** 78, which feels inconsistent and not obvious | 20:23 | ||
timotimo | yeah | ||
m: say 5⁶⁷5⁶ | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3say 5⁶⁷7⏏055⁶ expecting any of: infix infix stopper postfix statement end statement modifie… |
||
20:25
mowcat joined
|
|||
moon-child | I think it might be better to straight up outlaw leading superscript. But if not that, then ⁶⁷⁸ should be 678 | 20:25 | |
20:27
patrickb left
|
|||
timotimo | i'd only outlaw mixing the interpretation of superscript as superscript after a superscript digit | 20:29 | |
mahafyi | timotimo : thanks - here is a first html page (i slurped a file i downloaded from w3 css) pasteboard.co/JaFe8b7.png | 20:32 | |
i suppose its singularly uninteresting to anyone, but i am very happy lol | 20:33 | ||
20:37
xinming left,
xinming joined
|
|||
mahafyi | is there any reason to choose ngnix over apache http (since i have setup apache only so far) | 20:42 | |
20:44
Black_Ribbon joined
|
|||
moon-child | timotimo: hmmm. That's probably reasonable | 20:44 | |
mahafyi: nginx is faster and simpler. But apache is a totally fine choice. And it shouldn't be hard to switch later on, if you need to | |||
mahafyi | moon-child ty | 20:45 | |
20:48
cpage left
20:50
cpage joined
|
|||
mahafyi | ok first onto learning Cro::HTTP::Router :) | 20:52 | |
20:57
poohman left
21:01
mahafyi left
21:03
bdju left
21:04
bdju joined
21:07
agentzh joined,
agentzh left,
agentzh joined
|
|||
moon-child | trying to install IO::Socket::Async::SSL gives 'Could not find OpenSSL in: (bunch of paths)' I have openssl installed (obviously). How do I tell the package about it? | 21:12 | |
21:19
rindolf left
21:26
mahafyi joined
21:36
mahafyi left
21:46
kensanata left
22:08
foo222 joined,
foo222 left
23:07
ToddAndMargo joined
|
|||
ToddAndMargo | Hi All. Over on github.com/tadzik/perl6-Config-INI...ter/README What does he mean "For example usage, see SYNOPSIS in the Pod"? What is a Pod and where do I fid it? | 23:08 | |
timotimo | github.com/tadzik/perl6-Config-INI...INI.pm#L45 | 23:09 | |
"POD" used to stand for "plain old documentation" i think? it's a more complex format of comments with things like sections, links between things, formatting, etc | 23:10 | ||
and it usually lives in a perl module file, usually at the end | |||
raku has a format that's just called "Pod" rather than it being an abbreviation | 23:11 | ||
it's the format in which the whole raku documentation site's content is written | |||
ToddAndMargo | Would that be in his code section? | 23:12 | |
Found it. github.com/tadzik/perl6-Config-INI...fig/INI.pm starts at line 45. Thank you! | 23:13 | ||
23:17
Sgeo joined
23:49
chloekek_ left
23:50
mowcat left
23:53
devmikey left
|