Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,916 events total
2025-11-02 20:18:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-02 20:26:51 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
2025-11-02 20:27:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-02 20:34:15 × infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 252 seconds)
2025-11-02 20:34:51 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-02 20:36:02 × jreicher quits (~user@user/jreicher) (Quit: In transit)
2025-11-02 20:37:01 Awoobis is now known as gAy_Dragon
2025-11-02 20:38:20 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
2025-11-02 20:40:32 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-02 20:44:38 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2025-11-02 20:45:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-02 20:47:44 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-11-02 20:48:07 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-02 20:50:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-02 20:54:37 infinity0 joins (~infinity0@pwned.gg)
2025-11-02 21:01:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-02 21:07:15 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-11-02 21:10:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-02 21:14:29 gmg joins (~user@user/gehmehgeh)
2025-11-02 21:14:56 wootehfoot joins (~wootehfoo@user/wootehfoot)
2025-11-02 21:16:35 haltingsolver joins (~cmo@2604:3d09:207f:8000::d1dc)
2025-11-02 21:19:24 jzargo joins (~jzargo@user/jzargo)
2025-11-02 21:20:12 AlexZenon_2 joins (~alzenon@178.34.160.166)
2025-11-02 21:20:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-02 21:22:29 × op_4 quits (~tslil@user/op-4/x-9116473) (Ping timeout: 256 seconds)
2025-11-02 21:22:29 × AlexZenon quits (~alzenon@178.34.160.166) (Ping timeout: 256 seconds)
2025-11-02 21:22:29 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 256 seconds)
2025-11-02 21:23:31 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 256 seconds)
2025-11-02 21:23:31 × fgarcia quits (~lei@user/fgarcia) (Ping timeout: 256 seconds)
2025-11-02 21:24:36 × haetsal quits (~quassel@221.138.168.192) (Ping timeout: 256 seconds)
2025-11-02 21:24:37 × Fijxu quits (~Fijxu@user/fijxu) (Read error: Connection reset by peer)
2025-11-02 21:24:50 jmcantrell_ joins (~weechat@user/jmcantrell)
2025-11-02 21:24:50 jmcantrell_ is now known as jmcantrell
2025-11-02 21:25:05 fgarcia joins (~lei@user/fgarcia)
2025-11-02 21:25:10 Fijxu_ joins (~Fijxu@user/fijxu)
2025-11-02 21:25:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-02 21:25:51 × tomku quits (~tomku@user/tomku) (Ping timeout: 256 seconds)
2025-11-02 21:26:03 haetsal joins (~quassel@221.138.168.192)
2025-11-02 21:26:05 tomku joins (~tomku@user/tomku)
2025-11-02 21:28:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-02 21:32:30 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
2025-11-02 21:32:43 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2025-11-02 21:33:47 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-02 21:35:43 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
2025-11-02 21:36:00 op_4 joins (~tslil@user/op-4/x-9116473)
2025-11-02 21:38:35 mwnaylor joins (~user@2601:5cf:837e:2bb0:8f48:1249:bca4:3647)
2025-11-02 21:41:51 <mwnaylor> Been a while since I tinkered with Haskell. I remember that `x' in a generic name for and item, while `xs' names a lists. Is there a convention for list of lists?
2025-11-02 21:42:07 <mwnaylor> s/and item/an item/
2025-11-02 21:43:41 <haskellbridge> <loonycyborg> I'd expect list of lists to mostly arise in context where x is a list, therefore list of lists would be xs
2025-11-02 21:44:17 <haskellbridge> <loonycyborg> Unless you deal with all 3 layers at the same place
2025-11-02 21:44:18 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2025-11-02 21:44:30 <haskellbridge> <loonycyborg> Does it happen often enough to have a convention? :P
2025-11-02 21:44:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-02 21:46:33 <mwnaylor> Don't know about Haskell, but have seen it a bit in Clojure. For practice, writing the Clojure mapcat in elisp and Common Lisp.
2025-11-02 21:46:37 AlexZenon_2 is now known as AlexZenon
2025-11-02 21:48:57 <jackdk> mwnaylor: I have seen people write example implementations of e.g. `concat :: [[a]] -> [a]` with a pattern `xs:xss`. But I haven't seen this sort of function come up in enough industrial code to notice a pattern
2025-11-02 21:49:24 <EvanR> xss, indicates it's a list of lists
2025-11-02 21:49:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-02 21:49:54 <EvanR> but is sure to infuriate non-haskell people reading the code
2025-11-02 21:50:20 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-02 21:50:28 <EvanR> though xs is already doing that
2025-11-02 21:50:47 <mwnaylor> xss is one option I'd considered. xsxs was the other, but I think xss reads better.
2025-11-02 21:50:58 <EvanR> xsxs misses the point of this name
2025-11-02 21:51:28 <EvanR> x is something, if you have many x's, the short name is xs
2025-11-02 21:51:33 <EvanR> if you have many xs's
2025-11-02 21:51:38 <EvanR> xss
2025-11-02 21:51:41 <Anarchos> OCaml uses xss too (in seq.ml[i] files of stdlib)
2025-11-02 21:51:43 <mwnaylor> I wasn't planning on much Haskell code. I like some of the clean names.
2025-11-02 21:52:06 <EvanR> if you're managing a real list of concrete things, maybe use another name
2025-11-02 21:52:21 <EvanR> person:persons
2025-11-02 21:52:30 <EvanR> page:pages
2025-11-02 21:52:45 <EvanR> but abstract operations on any list don't get this luxury
2025-11-02 21:53:04 jreicher joins (~user@user/jreicher)
2025-11-02 21:54:55 <mwnaylor> It is an abstraction, as mapcat is a higher order function. As least for this discussion.
2025-11-02 21:55:39 <monochrom> You can use "xss" for [[a]]
2025-11-02 21:55:57 <monochrom> OK you already know. :)
2025-11-02 21:57:03 <mwnaylor> I'd gravitated toward xss. I like getting others' opinions.
2025-11-02 21:58:16 <monochrom> Yeah it's a very common convention.
2025-11-02 21:58:55 <EvanR> if you find yourself using an xsss, you're now a three S haskell programmer
2025-11-02 21:59:29 <darkling> Is that what's known as a snake case variable? :)
2025-11-02 21:59:41 <EvanR> lol
2025-11-02 22:00:11 <monochrom> I used double*** in C a long time ago.
2025-11-02 22:00:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-02 22:00:33 <EvanR> impressive
2025-11-02 22:01:46 <monochrom> Basically just because I had 2D arrays, fully dynamically allocated, and back then "double[m][n]" was not allowed for variable m,n, and I needed to pass such matrices by reference.
2025-11-02 22:03:13 <EvanR> any each individual double was boxed?
2025-11-02 22:03:17 <EvanR> and*
2025-11-02 22:03:29 <monochrom> It was C! What box? :)
2025-11-02 22:04:17 <EvanR> if it was an array of double, you could pass that around using double*
2025-11-02 22:04:32 <EvanR> an array of pointers, double**
2025-11-02 22:04:42 <EvanR> where did the third star come from
2025-11-02 22:05:39 <monochrom> OK so I did row major order. For an m rows n cols matrix, I allocated a block of m pointers, then each initialized to malloc of n doubles.
2025-11-02 22:05:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-11-02 22:06:04 <monochrom> The thrid star is from passing the matrix by reference to a function.
2025-11-02 22:06:14 <fgarcia> for names i am not always consistent. if a function is a list of strings i am about equally as likely to use " ss " instead of " xss "
2025-11-02 22:07:09 <EvanR> a string: cs
2025-11-02 22:07:15 <EvanR> c:cs
2025-11-02 22:07:45 <EvanR> functions
2025-11-02 22:07:47 <EvanR> f:fs
2025-11-02 22:07:55 <EvanR> g:gs

All times are in UTC.