antononcube I vaguly remember doing some illustrations abot that event. (I think I posted them here, in this channel.) 00:17
01:11 bdju left 01:17 bdju joined 01:21 wayland joined 01:22 wayland76 left 02:11 benchable6 joined, wayland76 joined 02:13 mc3 joined, mc3 left, mc3 joined 02:14 gugod_ joined 02:17 wayland left, Sgeo left, benchable6__ left, mc2 left, gugod left, mtj left 02:35 kylese left, hulk joined 02:58 mtj joined 03:15 hulk left, kylese joined 03:42 simcop2387 left 03:54 simcop2387 joined 03:58 Aedil left 04:08 Aedil joined 05:13 arkiuat left 05:25 arkiuat joined 05:57 Sgeo joined 06:29 arkiuat left 06:42 arkiuat joined 06:46 arkiuat left 06:54 arkiuat joined 06:59 arkiuat left 07:24 abraxxa-home joined 07:27 arkiuat joined 07:31 arkiuat left 07:47 melezhik joined 07:54 arkiuat joined 07:59 arkiuat left 08:27 arkiuat joined 08:36 arkiuat left 08:37 arkiuat joined 08:42 arkiuat left 09:09 arkiuat joined 09:14 arkiuat left 09:15 oodani left, oodani joined 09:24 habere-et-disper joined 09:26 Aedil left 09:44 arkiuat joined 09:48 arkiuat left 09:57 melezhik left 09:58 habere-et-disper left 10:18 arkiuat joined 10:23 arkiuat left 10:25 abraxxa-home left 10:48 arkiuat joined 10:53 arkiuat left 11:00 Sgeo left
librasteve the coffee cup is a very good meme for many things btw - topology, entropy and complexity, robotics - so raku is in good company 11:04
11:05 librasteve_ joined
SmokeMachine: can you maybe make a blue and yellow variant so that I can use for the weekly header? 11:16
www.etsy.com/uk/market/raku_coffee 11:17
coffee also features in PL world ... Java(Script), CoffeeScript ;-) 11:18
11:22 arkiuat joined 11:27 arkiuat left 11:32 arkiuat joined 11:36 arkiuat left 11:59 arkiuat joined 12:05 arkiuat left 12:20 arkiuat joined 12:24 arkiuat left
tbrowder thnx all, now i remember the event (at least the report of the event). 12:39
12:45 melezhik joined 12:49 arkiuat joined 12:53 arkiuat left 12:55 arkiuat joined 13:02 arkiuat left 13:05 arkiuat joined 13:06 Guest5038 joined 13:12 camelia left, camelia joined 13:24 arkiuat left 13:31 arkiuat joined 13:40 arkiuat left 13:42 arkiuat joined 13:49 MoC joined 13:58 arkiuat left 14:06 arkiuat joined 14:15 arkiuat left 14:17 arkiuat joined 14:22 arkiuat left 14:34 arkiuat joined 14:41 nahita joined 14:42 arkiuat left
nahita3882 weekly: candidate for Raku tricks: generate N standard Normals and "visualize" their distribution in 2 + 3 lines of pure Raku: paste.debian.net/1405350/ 14:46
notable6 nahita3882, Noted! (weekly)
antononcube Is "call as method" the proper name for using .& syntax? As in my &f = {$_ + 2}; 4.&f . 14:47
Is “ampersand call syntax” another correct name, by any chance?
librasteve Nahita: awesome! thanks...
14:52 nahita left
timo is the `-3` for the first bin misaligned because of a copy-pasting accident, or is there something not quite right with the code? 14:52
14:55 arkiuat joined, melezhik left
timo ah, you're putting an array, so you get a space between elements, but not before the first of course, so the first line is a bit too far to the left 14:58
@nahita3882 you may want something like `put (-3, *+$bin-width … +3).map({ .fmt: "%4.1f {"-" x +%binned{$_}}" }).join("\n");'` for the final line there 14:59
personally, i like `.say for ...` if i want lines from an array or sequence 15:00
tbrowder folks ought to prep your in-work showy stuff for soon-upcoming Raku-Advent article 15:16
timo antononcube, look for "uniform function call syntax" for something that is at least related 15:23
librasteve tbrowder ++ 15:24
@antononcube -- I (also) looked in the docs but nothing seems to be standard ... in the new periodic table, we went with method-like call 15:26
15:37 apac left 16:07 Aedil joined
antononcube Thank you! Searching "call as method" I landed (again) here: news.ycombinator.com/item?id=41886647 16:08
Voldenet Is × the same as *? 16:14
I just looked at the paste and was wondering what would be the use case of it
even worse, it looks almost exactly like x in my terminal ;\ 16:15
16:20 Aedil left 16:40 apac joined 16:45 Guest5038 left, Guest5038 joined 16:50 Aedil joined
librasteve @antononcube - yeah, since hopefully there will be some take up of the periodic table posters, i would lean to method-like call otherwise we will end up with two options 16:51
arkiuat w 16:52
Raku::Elements doesn't seem to single out that usage for naming 16:55
it just falls generically under Methodic as one of several different ways of making a Methodic 16:56
librasteve @antononcube - I just reread that HN page ... bit wierd since (i) it was generally quite positive on Raku and (ii) tbh I had forgotten about it, but I think that this is the nudge that set me to start with Air development... 16:58
16:58 derpydoo joined
m: say (3 × 4) 17:01
evalable6 12
librasteve m: say (12 ÷ 3)
evalable6 4
Voldenet wow ÷ is even more arcane symbol
though it's very legible compared to x
which… looks like x
librasteve Voldenet: I would say the use case is "do math like a regular human and not like a nerd" 17:02
Voldenet regular humans in europe use dot (e.g. 2 • 3 or 2 · 3)
librasteve yeah these chars are quite hard to make out at my resolution ... anyway seems like if anyone wanted to build a command line calculator could have keys for these symbols 17:03
Voldenet none of these work in raku though
BUT
in my opinion * and / are perfectly legible and probably better for one line of text 17:04
mostly because font creators work hard to make them legible 17:05
librasteve well, yeah and they appear in qwerty keyboard and so became quite popular in computing ;-)
timo true mathematicians will use the invisible multiplication sign unicode character
librasteve huuh?
timo u: U+2062 17:06
unicodable6 timo, U+2062 INVISIBLE TIMES [Cf] (control character)
17:06 apac left
timo m: say "5 \u2062 9 == 45" 17:06
camelia ===SORRY!=== Error while compiling <tmp>
Unrecognized backslash sequence: '\u'
at <tmp>:1
------> say "5 \<HERE>u2062 9 == 45"
expecting any of:
argument list
double quotes
term
timo m: say "5 \x2062 9 == 45"
camelia 5 ⁢ 9 == 45
timo beautiful, isn't it?
Voldenet amazing
timo unicode never ceases to amaze 17:07
librasteve m: multi infix:<\x2062>($a, $b) { $a * $b }; say 6 \x2062 7; 17:09
evalable6 42
timo now that's just silly :D :D :D 17:10
librasteve falls off chair
timo m: multi infix:<<\x2062>>($a, $b) { $a * $b }; say 6 9 17:11
camelia ===SORRY!=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> ix:<<\x2062>>($a, $b) { $a * $b }; say 6<HERE> 9
expecting any of:
infix
infix stopper
postfix
statement end
timo m: multi infix:<<\x2062>>($a, $b) { $a * $b }; use MONKEY; say EVAL "5 \x2062 9" 17:12
camelia 45
librasteve_ m: multi infix:<\<\x2062\>>($a, $b) { $a * $b }; say 5 \x2062 9 17:13
camelia ===SORRY!=== Error while compiling <tmp>
Confused
at <tmp>:1
------> :<\<\x2062\>>($a, $b) { $a * $b }; say 5<HERE> \x2062 9
expecting any of:
infix
infix stopper
postfix
statement end
stat…
librasteve_ oh
Voldenet though I really love characters I can simply type instead of copying from google 17:15
timo if you use < rather than << i think it will not interpret the backslash sequence
Voldenet well nowadays you can simply ask llm `type seahorse emoji` and it'll give you the proper sequence ;)
librasteve got it ... so the only problem with our code is that it is easier to type 6 * 7 than 6 \x2062 7 ... surely a Slang beckons? 17:16
arkiuat I wonder if klibertp ever figured out the compile-time type-checking capabilities 17:17
timo who's that? 17:18
oh from that old hackernews thread?
17:18 abraxxa-home joined
librasteve arkuiat: I get that compile time type checking is a neat technology ... and for a systems language (Rust being the archetype) this is important to save every cycle & byte going ... but I'm not really convinced that computationally that is really a good ROI for an expedience language such as Raku... most CPUs spend most of their time IO bound and in some cases (array bound check) you are stuck with runtime checks anyway 17:21
Voldenet hmm, it really depends on whether it's possible at some point to pre-compile the code 17:22
if it is, then even expensive type checking makes total sense
librasteve I understand (?) that one of the goals of RakuAST is to provide greater semantic introspection for the MOAR jit so hopefully that will help us to optimise the cr*p out of all the standard runtime type checks anyway
Voldenet detailed compile time checking actually allows you to optimize the code before it's being executed 17:24
for example you can skip type checking or inline without ever running the code, in some cases you can even deduce the result before running the code 17:25
timo we do have a lot of things that make compile-time analysis hairy
method calls on our objects are completely unconstrained for example 17:26
17:26 Guest5038 left
timo even when we have a type on a variable that points at one class, subclasses and the same class but with mixins are also allowed 17:26
languages like C++ have strict rules for how a derived class may overload a virtual method 17:27
for us, a derived class or a mixin can have a completely different signature, including return type annotation
and then there's the possibility of calling .wrap on the code object
librasteve please forgive me if I sound like I know what I am talking about ;-) ... but I get the feeling that Raku syntax was not defined with this in mind
timo i think it's less about the syntax and more about the semantics 17:28
we have things like traits we can attach to a wide variety of things
librasteve well -yes
timo so we're not necessarily held back by the lack of a syntactic hook to place some kind of restriction on that the user wishes to establish 17:29
arkiuat sure, but it's not as if Raku can't do any compile-time type checking at all, which is what it sounded like klibertp was thinking 17:30
timo what we can have is custom metaclasses that enforce certain restrictions on methods that a class of that metaclass can have, and then a slang could hook into the compiler at the right spot and do its type checking work only on types of that metaclass
an example of custom metaclasses is "monitor" from OO::Monitors, which i assume a couple of you have seen 17:31
librasteve I was thinking that formal techniques (such as Hindley–Milner) are very interdependent with the language design (and for me its nicer to have a type system I can employ "on demand" rather than spend my coding brainpower on serving a too-strict model) ... I see that using meta inspection and attaching optimisers at various points is more the Raku way - thanks for explaining! 17:39
timo it's mostly an opinion of mine, take it with a grain of salt :) 17:54
17:58 derpydoo left 18:01 apac joined 18:17 Sgeo joined 18:25 apac left
Voldenet I'd lean towards the HM type system as well 18:26
to me types and constraints are optimization hints
not some validation steps