00:11
arkiuat left
|
|||
disbot6 | <jubilatious1_98524> Oops, that was supposed to be directed to: @Voldenet | 00:13 | |
00:24
arkiuat joined
00:29
arkiuat left
00:38
lichtkind left
00:40
arkiuat joined
00:41
bloatable6 left,
linkable6 left,
unicodable6 left,
shareable6 left,
sourceable6 left
00:43
linkable6 joined,
sourceable6 joined,
shareable6 joined,
simcop2387 left,
quotable6 left,
notable6 left,
bloatable6 joined,
unicodable6 joined
00:44
quotable6 joined,
notable6 joined,
arkiuat left
00:47
Aedil left
00:51
simcop2387 joined
00:59
arkiuat joined
01:10
Nantekoto joined
01:11
Nantekoto left
02:25
hvxgr left,
hvxgr joined
02:27
arkiuat left
02:28
arkiuat joined
02:49
Ekho- is now known as Ekho
03:25
vasko45 left,
vasko45 joined
04:52
sjn left,
sjn joined
05:52
elcaro joined
06:05
Aedil joined
07:05
Aedil left
07:35
arkiuat left
07:39
kylese joined,
kylese left
07:40
kylese joined
07:47
arkiuat joined
07:51
arkiuat left
08:13
Guest75 joined
08:14
Guest75 left
08:19
arkiuat joined
08:24
arkiuat left
|
|||
disbot6 | <librasteve> @sjoshuan it looks fine to me | 08:33 | |
08:46
thatonelutenist left,
thatonelutenist joined
08:52
arkiuat joined
08:57
arkiuat left
09:15
arkiuat joined
09:20
arkiuat left
09:48
arkiuat joined
09:53
arkiuat left
09:55
ds7832 joined
09:56
Aedil joined
10:13
Sgeo left
10:16
arkiuat joined
10:21
arkiuat left
10:29
charsbar left,
charsbar joined
10:49
arkiuat joined
|
|||
disbot6 | <jubilatious1_98524> @sjn Don't like the 1.2 version: -Ohumans; ...looks too much like zero-humans. | 10:52 | |
10:53
arkiuat left
|
|||
disbot6 | <librasteve> arkuiat: yeah, that struck me too - but my conclusion is different ... the purpose of this strapline is to drive interest through engagement { to pick three well know ones Nike => Just Do It [wtf does that mean?], Apple => Think Different [ie we are not IBM], De Beers => Diamonds Are Forever {physically strong or love is eternal] } --- it only working if there is an emotional response and that means some kind of resonating | 11:02 | |
dissonance | |||
<jubilatious1_98524> "Code Different" | 11:03 | ||
<jubilatious1_98524> "Deeply Expressive" | 11:04 | ||
<librasteve> in our case this means "code in the style you like / that fits the job" AND "this nutty language was designed by a (lazy) linguist and has hooks in it that are designed to engage the bits of your brain that workk with natural language - <my our has with without andthen ...> | |||
<librasteve> @jubilatious1_98524 ... well yes --- I like your ideas because they also align to the message of expressive and multi-paradigm ... but I prefer "works the way you think" ;-) | 11:08 | ||
<librasteve> @sjoshuan - is there enough real estate on your beermat to fit "works the way you think"? | 11:09 | ||
<jubilatious1_98524> @sjoshuan Do you mean 2026 sticker? And does "Deeply Expressive" fit on your beermat? 😃 | 11:10 | ||
<librasteve> chatgpt.com/share/68eb8cb8-bcd4-80...70170a593e | 11:11 | ||
<jubilatious1_98524> You're basically asking ChatGPT it's opinion of your slogan. Try instead: "Raku programming language ELI5" | 11:13 | ||
Voldenet | jubilatious1_98524: nah, categorize is more fit for this particular use case | ||
disbot6 | <librasteve> @jubilatious1_98524 - we spent a fair bit of time bikeshedding the strapline for the new raku.org website ... github.com/librasteve/raku-org-25-.../issues/14 ... at your request I reopened this discussion issue since I think its fair to keep this open and to evolve it - but tbh it was hard enough to get agreement on the one we chose (so if you want to propose a change, the onus is on you to achieve a concensus on the | 11:14 | |
new thing) | |||
<librasteve> in the meantime, I am proposing that our schlotke for Fosdem is consistent with our current agreed strapline | 11:15 | ||
<jubilatious1_98524> @Voldenet not very memorable... "categorize" versus "classify". Are programmers just supposed to memorize it? | 11:16 | ||
<librasteve> (if it will physicall fit) | |||
Voldenet | Yes, for me classify is somewhat memorable, categorize I have to look up | 11:17 | |
i like C#'s "groupBy" (like classify) but there's no alternative for "categorize" | |||
11:17
arkiuat joined
|
|||
Voldenet | i guess "GroupByMany" would be C# naming | 11:17 | |
disbot6 | <jubilatious1_98524> @Voldenet so yo remembered "classify" was going to give you a weird Empty-string as key? | 11:18 | |
Voldenet | classify is not doing that | ||
classify will die if you attempt to do that | |||
the empty key is coming from `orelse ""` | 11:19 | ||
you can set it to Nil or anything else | |||
disbot6 | <jubilatious1_98524> @Voldenet see my most recent: && $0.Str // "" | ||
11:20
lichtkind joined
|
|||
disbot6 | <librasteve> the ChatGPT I shared was not so much that I bow to ChatGPTs opinion, but that its response is pretty much in line with my thoughts on the underlying (actually quite technical) rationale behind "works the way you think" ... | 11:21 | |
Voldenet | yeah, you explicitly say to get empty key :) | ||
11:22
arkiuat left
|
|||
disbot6 | <jubilatious1_98524> I can set it to Nil but I still don't want it appearing in my output. That's why I still want a :skip-empty adverb. | 11:23 | |
Voldenet | use .categorize | 11:24 | |
and that's it | 11:25 | ||
disbot6 | <jubilatious1_98524> But I'll have to read over the Docs on categorize and classify to see it they make sense to me. | ||
Voldenet | basically, categorize accepts 0..n categories | ||
so you can have element in 0 or many keys | |||
classify accepts exactly 1 | |||
in this case 0 or 1, which is exactly your use case | 11:26 | ||
so there's not going to be :skip-empty | |||
timtowtdi could say that it can be useful… | |||
but it'd be an alias for existing method mostly | 11:28 | ||
disbot6 | <jubilatious1_98524> Your original classify code output 3 categories: old_, older_ and oldest_. Not sure where you're getting "classify accepts exactly 1" from. | ||
Voldenet | I mean, classify returns one category from every block invoked | 11:29 | |
categorize returns many | |||
m: (1..10).classify({ [.is-prime, $_ %% 2 ]}).say # note that it creates nested tree with exact category path | 11:30 | ||
camelia | {False => {False => [1 9], True => [4 6 8 10]}, True => {False => [3 5 7], True => [2]}} | ||
Voldenet | m: (1..10).categorize({ [.is-prime, $_ %% 2 ]}).say # this only returns 2 bools, so some things will get both categories | ||
camelia | {False => [1 1 3 4 5 6 7 8 9 9 10], True => [2 2 3 4 5 6 7 8 10]} | ||
Voldenet | also note duplicated elements | ||
disbot6 | <jubilatious1_98524> So classify was designed to choke on non-matching criteria? | 11:31 | |
Voldenet | Yes | 11:34 | |
11:36
ds7832 left
|
|||
disbot6 | <jubilatious1_98524> @Voldenet show me the spec | 11:39 | |
<jubilatious1_98524> m: .put for <apple banana carrot>.classify({ m/^ a | b | c / }).sort; | 11:40 | ||
<Raku eval> a apple b banana c carrot | |||
<jubilatious1_98524> m: .put for <apple banana carrot daikon>.classify({ m/^ a | b | c / }).sort; | 11:41 | ||
<Raku eval> daikon a apple b banana c carrot Use of Nil in string context in block <unit> at main.raku line 1 Use of Nil in string context in block <unit> at main.raku line 1 Use of Nil in string context in block at main.raku line 1 | |||
11:43
ds7832 joined
|
|||
Voldenet | github.com/Raku/roast/blob/master/...classify.t | 11:49 | |
but classify is ultimately for different use case entirely | 11:50 | ||
m: .put for <apple banana carrot daikon>.classify({ .substr(0,1) }).sort | 11:51 | ||
camelia | a apple b banana c carrot d daikon |
||
11:52
arkiuat joined
|
|||
Voldenet | categorize is a lot more accepting github.com/Raku/roast/blob/master/...tegorize.t | 11:52 | |
m: .put for <apple banana carrot daikon>.categorize(*.comb).sort | 11:53 | ||
camelia | a apple banana banana banana carrot daikon b banana c carrot d daikon e apple i daikon k daikon l apple n banana banana daikon o carrot daikon p apple apple r carrot carrot t carrot |
||
11:56
arkiuat left
12:01
mimosa joined
|
|||
disbot6 | <jubilatious1_98524> m: .say for <apple apple banana carrot>.categorize({ m/^ <[abc]> /.Str } ).sort; | 12:06 | |
<Raku eval> a => [apple apple] b => [banana] c => [carrot] | |||
<jubilatious1_98524> m: .say for <apple apple banana carrot daikon>.categorize({ m/^ <[abc]> /.Str } ).sort; | 12:07 | ||
<Raku eval> => [daikon] a => [apple apple] b => [banana] c => [carrot] Use of Nil in string context in block at main.raku line 1 | |||
12:18
arkiuat joined
|
|||
Voldenet | .Str would get invoked on no match, that's where the error comes from | 12:19 | |
m: .say for <apple apple banana carrot daikon>.categorize({ m/^ <[abc]> / andthen .Str } ).sort; | |||
camelia | a => [apple apple] b => [banana] c => [carrot] |
||
12:23
arkiuat left,
MoC joined
12:34
stanrifkin joined
|
|||
disbot6 | <jubilatious1_98524> Thanks! | 12:35 | |
12:46
arkiuat joined
12:50
arkiuat left
|
|||
disbot6 | <librasteve> I would like to use a module and then to turn around an reexport all its symbols in the new module -- what is the best way to do this? | 12:54 | |
12:55
librasteve_ joined
|
|||
lizmat | librasteve there's no simple generic solution, especially if the symbols aren't packages or subs | 12:59 | |
docs.raku.org/syntax/sub%20EXPORT | 13:00 | ||
in other words: create a sub EXPORT that lives in the compunit's scope (so no unit class Foo, but class Foo { } sub EXPORT ...) | 13:01 | ||
which should return a Map with the things you want to export | |||
disbot6 | <librasteve> .oO | ||
<librasteve> looks like i can work with that | 13:02 | ||
<librasteve> many thanks! | |||
lizmat | note that sub EXPORT can also be a multi, if you want to pass positional arguments to it | 13:03 | |
github.com/lizmat/String-Utils/blo...#L660-L676 is an example of an EXPORT sub that takes the names of subs to be exported | 13:04 | ||
disbot6 | <librasteve> OK - so the subs I got down OK .... how about the role / class declarations ...? | 13:12 | |
<librasteve> I got << role Script does Tag[Regular] is export {...} >> and I want to move the code from Air::Base to Air::Base::Tags ... | |||
<librasteve> but still expose the role to those who go use Air::Base in their code | 13:13 | ||
<librasteve> without having to go for a FQN | |||
13:19
arkiuat joined
|
|||
lizmat | roles can be exported without the & prefix | 13:22 | |
13:24
arkiuat left
|
|||
disbot6 | <librasteve> so something like Map.new( 'Script' => Air::Base::Tags::Script ) ?? | 13:24 | |
<librasteve> oh - just 'Script' => Script, lol | 13:35 | ||
13:53
arkiuat joined
13:58
arkiuat left
14:20
arkiuat joined
14:25
arkiuat left
|
|||
disbot6 | <sjoshuan> These are intended to be stickers. Happy to air the suggestion to the organizers 🙂 | 14:31 | |
<sjoshuan> @jubilatious1_98524: If we look into making beer mats, we might make some specifically for that. "Deeply expressive" might fit there! 😄 | 14:33 | ||
14:52
arkiuat joined
14:58
arkiuat left
15:06
arkiuat joined
15:09
mimosa left
15:10
mimosa joined
15:11
arkiuat left
15:39
arkiuat joined
15:40
apac joined
15:44
arkiuat left
15:47
ds7823 joined
16:01
ds7832 left
16:04
arkiuat joined
16:12
arkiuat left
16:22
arkiuat joined
16:30
arkiuat left
16:45
ds7832 joined
16:59
arkiuat joined
17:03
swaggboi joined
17:12
ds7823 left,
ds7832 left
17:16
arkiuat left
17:39
arkiuat joined
17:44
arkiuat left
17:52
ds7823 joined
17:53
Sgeo joined
17:55
librasteve_ left
18:06
arkiuat joined
18:11
arkiuat left
18:19
melezhik joined
|
|||
melezhik | . | 18:19 | |
18:24
arkiuat joined
18:30
arkiuat left
18:57
arkiuat joined
19:02
arkiuat left
19:21
arkiuat joined
19:30
arkiuat left
19:33
kylese left
19:42
arkiuat joined
19:47
arkiuat left
20:05
arkiuat joined
20:10
arkiuat left
20:19
arkiuat joined
20:20
cryosis left
20:22
cryosis joined
20:44
mimosa left
20:48
melezhik left
20:49
arkiuat left
21:02
arkiuat joined
21:03
MoC left
21:06
arkiuat left
21:18
apac left
21:19
arkiuat joined
21:21
apac joined
21:24
arkiuat left
21:25
arkiuat joined
21:31
arkiuat left
21:33
simcop2387 left
21:36
ds7832 joined
21:37
ds7823 left
21:46
stanrifkin left
21:58
arkiuat joined
22:03
arkiuat left
22:13
simcop2387 joined
22:17
arkiuat joined
|
|||
arkiuat | librasteve: I can't argue with that. Marketing was a black art even before we started trying to market free stuff, which makes it even more mysterious afaict | 23:19 | |
tellable6 | arkiuat, I'll pass your message to librasteve_ | ||
23:20
ds7832 left
|
|||
tbrowder | hi, what raku app or distro should i start with for scraping a website? i'm looking at feasibility of auto reading of the results of the florida powerball lottery as reported at floridalottery.com | 23:24 | |
23:36
apa_c joined
23:38
apac left
23:41
apa_c left
23:50
oodani left,
oodani joined
|
|||
tbrowder | ah, LibCurl is the answer... | 23:59 |