SmokeMachine weekly: dev.to/fco/crolite-filling-the-moj...ystem-4ebi 00:37
notable6 SmokeMachine, Noted! (weekly)
01:13 Sgeo joined 02:16 stanrifkin left 03:28 oodani left 03:32 oodani joined 04:28 Aedil joined 05:43 abraxxa-home joined
disbot2 <simon_sibl> I enjoy lisp But now I can’t stop thinking What if Guix was using Raku 07:53
<simon_sibl> I mean technically it’s possible to add a Raku frontend to guile 07:54
07:57 melezhik joined 08:54 lichtkind joined 08:59 Aedil left 09:09 MoC joined 09:10 apac joined 09:20 stanrifkin joined 09:21 merp left 09:25 vasko left 09:26 vasko4 joined 09:27 apac left 09:30 Sgeo left 09:37 apac joined 10:17 melezhik left 10:25 stanrifkin left, stanrifkin joined 10:42 apac left
ab5tract There is a distro that uses Rakudo 11:11
Can’t recall the name but you can find it mentioned in a Rakudo weekly from way back 11:12
tbrowder hi, i just remembered that "my Hash %h" means a container of Hashes *instead* of a Hash!! the error msgs, looking back, said it expected an element to be a hash but i didn't pick up on it, duh. oh, what pain that caused.
i would like the err msg to add something like "did you mean that element to be a hash, dummy?" 11:15
ab5tract tbrowder: yeah that is definitely a potential gotcha
‘of’ is a good friend here 11:16
m: my %h of Int; %h<a> = 5; %h<b> = <nok>
camelia Type check failed for an element of %h; expected Int but got Str
in block <unit> at <tmp> line 1
tbrowder the parser now often gives friendly hints
ab5tract tbrowder: a “worry” would be appropriate, I think , for the specific cases of ‘my Hash %h’ and ‘my Array @a’ 11:17
I’d like to propose that you take a stab at adding this yourself via a PR 11:18
tbrowder yes, i was getting that msg, but, it didn't hit me because i was wrapped up in teaking a TWEAK
tweaking...
ab5tract: ok, on my TODO list, add to prob solving shall i? 11:19
lizmat problem is: there is nothing wrong with: my Hash %h
and generally we don't warn on valid code constructs, do we? 11:20
tbrowder true, but ...
ab5tract Yeah I was demonstrating ‘of’ as a mnemonic rather than the error message
lizmat: aren’t all “potential difficulties” valid code?
lizmat m: my $a; my $a 11:21
camelia Potential difficulties:
Redeclaration of symbol '$a'.
at <tmp>:1
------> my $a; my $a<HERE><EOL>
lizmat m: my $a; my $a; say "foo"
camelia Potential difficulties:
Redeclaration of symbol '$a'.
at <tmp>:1
------> my $a; my $a<HERE>; say "foo"
foo
lizmat ab5tract: I guess 11:22
ab5tract m: no worries; my $a; my $a; say "foo"
camelia foo
lizmat yeah, problem is doing the "no worries" in a lexical scope in that case, but yeah
tbrowder yes, maybe another job for a linter 11:23
ab5tract loves a chance to use “no worries” :)
tbrowder ;-D
my son-in-law's fav expresssion
ab5tract But yeah, we tend to be pretty conservative with worries.. in my proposal here, you can get past the worry in a number of sensible ways 11:24
‘my %h of Hash’ or ‘my Hash[Int] %h’ wouldn’t worry, for example 11:25
11:25 abraxxa-home left
tbrowder thnx for feedback, back to the trenches... 11:27
ab5tract tbrowder: regarding a problem solving ticket, I think it could be an interesting discussion
So if you have the time, please feel free to start one
tbrowder wilco! 11:43
thnx
11:45 abraxxa joined
SmokeMachine simon_sibl: I was thinking about using Raku for configuration a few time ago ands wrote this for that: github.com/FCO/Configuration 11:45
ds7832 Hey, I've created a Raku article on the unofficial NixOS Wiki: nixos.wiki/wiki/Raku (containing enough instructions to get people going, I hope, including on how to fix the Readline error that's common on NixOS). -- Anyone else using Raku on NixOS, please look over it and add your knowledge :) 11:47
lizmat weekly: nixos.wiki/wiki/Raku 12:00
notable6 lizmat, Noted! (weekly)
tbrowder see problem-solving issue #496 12:39
librasteve_ I thought we had a plan to bundle Readline (or something like that) …? 12:40
13:13 apac joined
Geth raku.org/main: 263d8d734a | librasteve++ | 2 files
redirect
13:52
raku.org/main: 5ad6b9cc1f | librasteve++ | lib/Org/Community.rakumod
link whateverables
raku.org/main: e711f29fd8 | librasteve++ (committed using GitHub Web editor) | 3 files
Merge pull request #267 from Raku/redirect

Redirect
Review done via video call
13:58 abraxxa left
[Coke] librasteve_++ 14:00
14:00 apac left
Geth raku.org/coke/readme2: ad665d1671 | (Will Coleda)++ | README.md
Standardize on --/test for local prereqs
14:09
raku.org: coke++ created pull request #268:
Standardize on --/test for local prereqs
14:11
raku.org/coke/semver: 7cba01443b | (Will Coleda)++ | lib/Org/Home.rakumod
Don't mention semver

Closes #255
14:14
raku.org: coke++ created pull request #269:
Don't mention semver
14:51 Aedil joined
Geth raku.org/main: 7cba01443b | (Will Coleda)++ | lib/Org/Home.rakumod
Don't mention semver

Closes #255
15:23
raku.org/main: 1bd382102e | librasteve++ (committed using GitHub Web editor) | lib/Org/Home.rakumod
Merge pull request #269 from Raku/coke/semver

Don't mention semver
raku.org/main: ad665d1671 | (Will Coleda)++ | README.md
Standardize on --/test for local prereqs
15:25
raku.org/main: 3c8050fe75 | librasteve++ (committed using GitHub Web editor) | README.md
Merge pull request #268 from Raku/coke/readme2

Standardize on --/test for local prereqs
disbot2 <antononcube> Please vote : news.ycombinator.com/item?id=45405068 15:31
ab5tract Voted 15:42
disbot2 <antononcube> Thanks! I am -- again -- spending too much time on LLM usage facilitation and related examples, so, any encouragement (like votes) helps. 15:45
ab5tract I hope to one day make good use of it 15:46
I also felt defensive of your efforts in the comments 15:47
disbot2 <antononcube> I think the LLM-tooling and LLM-graphing can help adoption. But the important step is mental -- one has to have the habit to ask "can this be done faster or better with LLMs" and allocate (predefined) time interval for LLM usage. 15:50
<antononcube> Basically, it is like "smart" gambling -- trying to play and win within a certain budget. 15:51
<librasteve> sorry … i am muck raking to see if we can lift this to the HN front page
El_Che .
16:00 apac joined 16:05 Sgeo joined
disbot2 <antononcube> @librasteve Just answered your question. 🙂 Please see/find my "conciseness of programming" statements. Honestly, I spent more time programming the LLM-graph visualization (via Graphviz DOT) than programming the actual core-computational functionalities. 16:09
<librasteve> so far your post got 5 upvotes in 30 mins, there is one about Ruby Gems that made it to the HN front page with 8 votes in 25 mins ... I would say two or three more votes could push you there but only if you get them in the next 5 mins or so 16:17
<librasteve> I think that the graph and inversion of control stuff is very interesting and I think that raku (with rakudoc) is a very good fit for self documenting code ... so @antononcube I am very supportive of your LLM + Raku work and try to help upvote anything you write 16:20
<antononcube> Yes, agreed. I plan to finish and publish the "inversion of control" article / blog post today. 16:25
SmokeMachine antoncube IoC? Interesting... I've played with that long time ago and not so long time ago... I like playing with that... 16:28
Geth raku.org/redirect-fix: eda2f29a2b | librasteve++ | 2 files
better redirect
raku.org: librasteve++ created pull request #270:
better redirect
16:31
disbot2 <antononcube> @SmokeMachine The inversion of control is "standard" for LLM function calling. The idea is the LLM calls your functions/subs running on "your computer." I.e. functions/subs external from LLM provider's POV.
SmokeMachine oh, OK... sorry I was thinking on "traditional" IoC on dependencies (like github.com/FCO/Injector and github.com/FCO/Deps). But about LLM, I also have a plan to play with that (dev.to/fco/introducing-mcp-a-proto...tial-19gp) (I still need to find some time to play with that...) 16:37
disbot2 <antononcube> The problem with LLM functionalities is that different LLM providers have similar -- yet different -- ideas about the protocols. 16:39
<antononcube> I have (and had) to spent too much time figuring out those kind of differences and making suitable software architectures. 16:40
<librasteve> it reminds me of the PC-DOS vs MS-DOS war ... 16:44
<antononcube> 🙂 It is not that different. I am not sure are the stakes higher or lower, though. 16:45
<jubilatious1_98524> Sorry, really don't like the whole worries thing at all. 16:49
17:03 Sgeo_ joined 17:06 Sgeo left
Geth raku.org/main: eda2f29a2b | librasteve++ | 2 files
better redirect
17:46
raku.org/main: 2189253bf7 | librasteve++ (committed using GitHub Web editor) | 2 files
Merge pull request #270 from Raku/redirect-fix

better redirect
disbot2 <antononcube> weekly: rakuforprediction.wordpress.com/20...sal-specs/ 19:07
notable6 antononcube, Noted! (weekly)
ab5tract jubilatious : are you opposed to the entire idea of worries? 19:32
This Raku thing is pretty complex. I love that the compiler can provide me with helpful hints as to why the behavior im seeing is not the behavior I’m expecting 19:34
Since they can be trivially disabled, I’d like to hear more about why you don’t like them
Also, it’s slightly amusing that you combined sorry and worries in your sentence :) 19:37
disbot2 <jubilatious1_98524> Actually, it's sad that I worry about being sorry and amusing. But I'll try to formulate a response and come back to this when I have something coherent. 19:58
19:58 apac left
ab5tract I hope it’s clear that I’m referring to sorry and worry both referring to the two modes of exception produced by the core setting 20:04
disbot2 <librasteve> weekly: rakuforprediction.wordpress.com/20...sal-specs/ 20:09
notable6 librasteve, Noted! (weekly)
20:18 lichtkind left
disbot2 <jubilatious1_98524> @ab5tract which is what I need to understand better before replying. If you have a link it would help. (I remember Vadim's video series on Core but I don't have 5 hours to re-watch). 20:30
ab5tract Sorries are emitted during compilation when we know for a fact the code won’t work 20:31
m: my Int $a = <nok>
camelia Type check failed in assignment to $a; expected Int but got Str
in block <unit> at <tmp> line 1
ab5tract ah, oops, that’s still runtime 20:32
m: f() 20:34
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared routine:
f used at line 1
ab5tract A less contrived example would be 20:35
m: sub f($,$) { say “ok” }; f(5)
camelia ===SORRY!=== Error while compiling <tmp>
Calling f(Int) will never work with declared signature ($, $)
at <tmp>:1
------> sub f($,$) { say “ok” }; <HERE>f(5)
ab5tract So a sorry is a fatal compile time exception 20:37
Worries are non-fatal and instead are intended to point to the user that they may be holding something wrong, even though the way the user is holding the thing is technically 100% valid Raku code 20:38
disbot2 <jubilatious1_98524> Thanks!
<jubilatious1_98524> "holding"? 20:39
<jubilatious1_98524> "implementing"?
ab5tract Its a turn of phrase. A tool rarely works as expected if it’s being held upside down, for example
disbot2 <bscan> It is a bit confusing, but is it basically: sorrows, sorries, and panics are all errors while worries are warnings? Why not use the more standard terminology of error/warning? 20:40
ab5tract A hammer held upside down can still drive a nail
bscan: I wasn’t around at the time but i expect it’s so that there is no confusion about whether it is coming from the compiler or from user space 20:41
In the end they are all exception objects 20:42
disbot2 <jubilatious1_98524> Are there design docs on worries? Who decides what's a worry and what's not a worry? That's what I worry about.
ab5tract :)
If you aren’t adding a feature to Rakudo, there’s absolutely nothing to worry about 20:43
If you are, you can discuss for consensus with other core devs
In this case, I am suggesting a worry be added because anything a dev can encounter that Less Than Awesome should at least be discussed 20:44
Here tbrowder wasted time that could have been saved if the compiler had simply shared some concerns that are relatively obvious to the compiler 20:45
Worries are the only nonfatal way to surface those concerns. And since the code was valid, a sorry would be inappropriate anyway 20:46
Maybe it would be better left to a linter, and that’s what the problem solving ticket is there to discuss 20:47
20:48 maylay left 20:50 apac joined
disbot2 <jubilatious1_98524> Did Perl6 announce on day-one (year 2000) that from now on everything defaults to use strict and use warnings? 20:52
<librasteve> these are quite weird terms - worry and sorry ... but not quite as quirky as the latterday perl tems - croak and carp
<jubilatious1_98524> I've often felt that Perl6/Raku should have forced you to write use lenient; use imperiling if you wanted year-2000 Perl5 behavior. 20:53
<librasteve> @jubilatious1_98524 on day one use strict was inverted to use nostrict (liley similar with warnings 20:54
ab5tract But that’s the way it is?
librasteve: I think you mean ‘no strict’
You can disable worries lexically the exact same way: ‘no worries’ 20:55
disbot2 <librasteve> ah - yes
<jubilatious1_98524> @librasteve not as much wordplay that way. And who in their right mind is going to write use imperiling at the top of their production code? 20:56
ab5tract I’m really confused right now
jubilatious: are you saying you think the current defaults are wrong? 20:57
That’s what I’m assuming based on what I understand to be your objection to adding a new worry
disbot2 <librasteve> sorry - must sleep 20:59
<jubilatious1_98524> I like the current defaults, and to distinguish ourselves from historical Perl behavior whe should have come up with our own terminology. use lenient eq no strict; use imperiling eq no warnings. 21:00
ab5tract librasteve: no worries mate :)
disbot2 <jubilatious1_98524> 😉 21:01
<jubilatious1_98524> But yeah, my question still stands: "Are there design docs on worries? Who decides what's a worry and what's not a worry?" 21:02
Voldenet Can't worries simply be numbered and globally disabled/enabled somehow (by env vars?)
21:03 Aedil left
Voldenet and then only defaults would need discussing, not implementing more worries 21:03
there could maybe be various level of defaults, e.g.: `use worries (NOVICE)` `no worries; use worries (CRITICAL)` `no worries (PAIR_DECONT)` etc. 21:11
just thinking out loud
imo a worry is when somebody types in some syntax and it works differently from what could be expected 21:17
ab5tract jubilatious: are you already familiar with the old design docs? I’m sure they are at least mentioned there but I’m also not sure what you are still missing
disbot2 <jubilatious1_98524> And that implies a second level of complexity: sorry|worry versus strict|warnings. 21:19
ab5tract Strict is about declarations needing a scope specified or not. I don’t see that as intersecting with sorry or worry 21:20
Except inasmuch as no strict disables the sorry we would otherwise throw for a scope-less declaration
disbot2 <jubilatious1_98524> ab5tract: not really. I've dipped into them but hardly an expert. Some formatting problems made them hard for me to read. I wasn't able to resolve. 21:21
ab5tract iirc strict is short for “strictures” here
jubilatious; well, those are the Raku design docs, for better or worse
I remember finding some version of them that could be read from the terminal vial perldoc (which I think can also generate html) 21:23
disbot2 <jubilatious1_98524> ab5tract: I get what happened. I've meant to scrape through them.
21:23 MoC left
disbot2 <jubilatious1_98524> (figuring I need an older browser to peruse wayback machine. 21:24
ab5tract github.com/Raku/old-design-docs 21:28
pod2html comes with Perl, I think
And Perl comes with everything :)
But for sure perldoc can render these files without issue 21:29
Now, what u *really* want is to be able to find the exegeses and apocalypses 21:32
s/u/I/
disbot2 <jubilatious1_98524> 👍 21:35
ab5tract These files aren’t going to be changing much. When I get back to a computer I may try to put them up via GH pages 21:38
21:38 lichtkind joined 21:48 Maylay joined
ab5tract Now we are talking github.com/ab5tract/perl6-bible 21:52
23:23 lichtkind left 23:46 apac left