|
🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 6 September 2022. |
|||
|
01:05
hulk joined,
kylese left
02:15
hulk left,
kylese joined
|
|||
| ingy | I wanted to mention here that YAMLScript is an official language track on exercism.org now: exercism.org/tracks/yamlscript | 02:15 | |
| The exercise solutions in YS are always among the most concise... Raku, Haskell and Python generally do quite well also... | 02:17 | ||
| Here's a generated language comparison of one of the exercises: gist.github.com/ingydotnet/03d6e44...8b298cbc9e | 02:18 | ||
| The Raku solution there is lovely <3 :) | |||
|
03:18
Aedil joined
|
|||
| xinming | Hi, Is there a better way to do something like this: my $class = Int; Any ~~ $class ? | 03:21 | |
| Check class in scalar not Any | |||
|
03:33
nine_ joined,
nine left,
camelia left
03:38
camelia joined
05:35
Sgeo left
06:26
xinming_ left
06:28
xinming_ joined
06:49
xinming_ left
06:51
xinming_ joined
07:11
simcop2387 left,
perlbot left
07:25
simcop2387 joined
07:26
perlbot joined
07:28
MasterDuke left
|
|||
| antononcube | @ingy What “generated” means? I do not think it means “LLM-generated”, but I might be wrong. | 07:39 | |
| ab5tract | xinming: are you trying to check whether the object is a scalar? | 08:00 | |
|
08:14
dakkar joined
08:32
Aedil left,
sena_kun joined
08:40
Aedil joined
09:05
sena_kun left
10:33
jjido joined
10:57
jjido left
11:00
teatwo left
|
|||
| xinming | ab5tract: Nope, I'm trying to check the $scalar has class assigned. $scalar.defined returns False for class | 11:54 | |
| So what I can think of is, use Any to test with, but wish to know if we can have better way for this. | 12:02 | ||
| antononcube | @xinming You can probably use Perl6::Metamodel::ClassHOW. | 12:05 | |
| timo | you want to check what the variable is defined as? | 12:07 | |
| m: my Int $foo; my Any $bar; say $foo.VAR.of; say $bar.VAR.of; | 12:08 | ||
| camelia | (Int) (Any) |
||
| timo | or you want to see if the thing stored in the variable is not definite, i.e. not an instance? | ||
| m: my $foo = Any; my $bar = Pair; my $baz = 99; class Meanie { method defined { False } }; my $quux = Meanie.new(); for ($foo, $bar, $baz, $quux) { say "DEFINITE? $_.DEFINITE() - defined? $_.defined()"; } | 12:10 | ||
| camelia | DEFINITE? False - defined? False DEFINITE? False - defined? False DEFINITE? True - defined? True DEFINITE? True - defined? False |
||
| timo | m: my $foo = Any; my $bar = Pair; my $baz = 99; class Meanie { method defined { False } }; my $quux = Meanie.new(); my $blorb = Meanie; for ($foo, $bar, $baz, $quux, $blorb) { say "DEFINITE? $_.DEFINITE() - defined? $_.defined() - ~~ Mu:U? $( $_ ~~ Mu:U )"; } | 12:11 | |
| camelia | DEFINITE? False - defined? False - ~~ Mu:U? True DEFINITE? False - defined? False - ~~ Mu:U? True DEFINITE? True - defined? True - ~~ Mu:U? True DEFINITE? True - defined? False - ~~ Mu:U? True DEFINITE? False - defined? False - ~~ Mu:U? True |
||
| timo | m: my $foo = Any; my $bar = Pair; my $baz = 99; class Meanie { method defined { False } }; my $quux = Meanie.new(); my $blorb = Meanie; for (:$foo, :$bar, :$baz, :$quux, :$blorb) -> $_ is copy { say .key; $_ = .value; say "DEFINITE? $_.DEFINITE() - defined? $_.defined() - ~~ Mu:U? $( $_ ~~ Mu:U )"; } | 12:12 | |
| camelia | foo DEFINITE? False - defined? False - ~~ Mu:U? True bar DEFINITE? False - defined? False - ~~ Mu:U? True baz DEFINITE? True - defined? True - ~~ Mu:U? True quux DEFINITE? True - defined? False - ~~ Mu:U? True blorb DEFINITE? False -… |
||
| timo | m: my $foo = Any; my $bar = Pair; my $baz = 99; class Meanie { method defined { False } }; my $quux = Meanie.new(); my $blorb = Meanie; say "DEFINITE? defined? Mu:U?"; for (:$foo, :$bar, :$baz, :$quux, :$blorb) -> $_ is copy { say .key; $_ = .value; ($_.DEFINITE(), $_.defined(), $_ ~~ Mu:U).fmt("% 10s").say; } | 12:14 | |
| camelia | DEFINITE? defined? Mu:U? foo False False True bar False False True baz True True True quux True False True blorb False False True |
||
| timo | ok not 100% sure why Mu:U gives True for all those | 12:15 | |
| m: my $foo = Any; my $bar = Pair; my $baz = 99; class Meanie { method defined { False } }; my $quux = Meanie.new(); my $blorb = Meanie; say "Mu:U?"; for ($foo, $bar, $baz, $quux, $blorb) { say ($_ ~~ Mu:U) } | 12:16 | ||
| camelia | Mu:U? True True True True True |
||
| timo | m: my $foo = Any; my $bar = Pair; my $baz = 99; class Meanie { method defined { False } }; my $quux = Meanie.new(); my $blorb = Meanie; say "Mu:U?"; for ($foo, $bar, $baz, $quux, $blorb) { say ($_ ~~ Mu:U, $_ ~~ Mu:D, $_ ~~ Mu:_) } | 12:17 | |
| camelia | Mu:U? (True False True) (True False True) (True True True) (True True True) (True False True) |
||
| timo | m: say 42 ~~ Int:U | ||
| camelia | False | ||
| timo | m: for (42,) { say $_ ~~ Int:U } | 12:18 | |
| camelia | False | ||
| timo | m: for (42,) { say $_ ~~ Any:U } | ||
| camelia | False | ||
| timo | m: for (42,) { say $_ ~~ Mu:U } | ||
| camelia | True | ||
| timo | okay, stay away from Mu:U i guess? | ||
| m: given 42 { say $_ ~~ Mu:U } | 12:23 | ||
| camelia | True | ||
| timo | m: say 42 ~~ Mu:U | ||
| camelia | False | ||
| timo | i wonder if it checks against the scalar container there | 12:24 | |
| say Scalar ~~ Any; say Scalar ~~ Mu | |||
| evalable6 | True True |
||
| timo | hmm. yeah, not sure. | ||
| lizmat | and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2024/09/17/2024-...omma-plug/ | 12:27 | |
| xinming | timo: Just test wether the class in var is other than Any. | 12:54 | |
| m: $c = Int; $c.Bool.say; (Any ~~ Int).Bool.say; | |||
| camelia | ===SORRY!=== Error while compiling <tmp> Variable '$c' is not declared. Perhaps you forgot a 'sub' if this was intended to be part of a signature? at <tmp>:1 ------> <BOL>⏏$c = Int; $c.Bool.say; (Any ~~ Int).Boo |
||
| xinming | m: my $c = Int; $c.Bool.say; (Any ~~ Int).Bool.say; | ||
| camelia | False False |
||
| timo | m: my $a = Int; say $a =:= Any; $a = Any; say $a =:= Any | 13:23 | |
| camelia | False False |
||
| timo | m: my $a = Int; say $a === Any; $a = Any; say $a === Any | ||
| camelia | False True |
||
|
13:23
xinming left
13:26
xinming joined
13:35
silug left
13:36
silug joined
14:29
andinus2 left
14:30
andinus joined
|
|||
| timo | m: gist.github.com/timo/2aa2a740fba4e...ee3d337e1c | 15:12 | |
| camelia | Ip.new(a => $[Address.new(address => 999, ifname => "eth0"), Address.new(address => 123, ifname => "wlp0")], r => $[Route.new(dev => "eth0", dst => "default"), Route.new(dev => "lo", dst => "127.0.0.1")]) | ||
| timo | here, have some sillyness | ||
|
17:07
dakkar left
17:41
sena_kun joined
18:51
MoC joined
18:54
MoC left
|
|||
| ingy | antononcube: by generated I mean I have a ys program that generated the markdown gist I posted by cloning the 74 exercism language repos, pulling out the code from each and formatting it all into markdown | 19:01 | |
| I can make pages showing all the exercises as implemented by the langs I'm interested in. or 1 exercise showing every lang implementation | 19:03 | ||
|
19:07
xinming left
19:28
jjido joined
|
|||
| antononcube | @ingy This is cool -- it should be a treasure trove for LLM training. | 19:38 | |
|
19:58
sena_kun left
|
|||
| weekly: x.com/antononcube/status/1836081920981209089 | 20:40 | ||
| notable6__ | antononcube, Noted! (weekly) | ||
|
22:11
Aedil left
22:23
Sgeo joined
22:39
sena_kun joined
22:41
sena_kun left
23:06
jjido left
|
|||