Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,869 events total
2025-11-03 10:38:51 deptype joins (~deptype@2406:b400:3a:73c2:4b0e:36fd:bf73:2ff7)
2025-11-03 10:40:13 × trickard quits (~trickard@cpe-63-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2025-11-03 10:40:21 trickard_ joins (~trickard@cpe-63-98-47-163.wireline.com.au)
2025-11-03 10:40:47 × Digit quits (~user@user/digit) (Read error: Connection reset by peer)
2025-11-03 10:58:39 × deptype quits (~deptype@2406:b400:3a:73c2:4b0e:36fd:bf73:2ff7) (Remote host closed the connection)
2025-11-03 10:58:56 deptype joins (~deptype@2406:b400:3a:73c2:6922:e99c:537:1929)
2025-11-03 11:07:58 Square2 joins (~Square@user/square)
2025-11-03 11:11:39 Inline joins (~inlinE@2a02:8071:57a1:dc0:a54f:a27d:cf25:667b)
2025-11-03 11:21:54 acidjnk joins (~acidjnk@p200300d6e7171976342d0abd7c7df47c.dip0.t-ipconnect.de)
2025-11-03 11:28:17 chele joins (~chele@user/chele)
2025-11-03 11:29:14 × karenw quits (~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2025-11-03 11:29:40 trickard___ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
2025-11-03 11:30:12 trickard___ is now known as trickard
2025-11-03 11:30:46 × trickard_ quits (~trickard@cpe-63-98-47-163.wireline.com.au) (Ping timeout: 256 seconds)
2025-11-03 11:39:27 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-11-03 11:42:03 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
2025-11-03 11:44:30 Digit joins (~user@user/digit)
2025-11-03 11:45:36 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
2025-11-03 11:46:35 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-11-03 11:51:39 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-11-03 11:51:59 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-11-03 11:58:25 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
2025-11-03 11:58:40 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-11-03 12:05:11 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 250 seconds)
2025-11-03 12:06:11 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-11-03 12:06:21 Square3 joins (~Square4@user/square)
2025-11-03 12:09:23 craunts795335385 joins (~craunts@136.158.7.194)
2025-11-03 12:09:48 × Square2 quits (~Square@user/square) (Ping timeout: 252 seconds)
2025-11-03 12:14:32 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
2025-11-03 12:15:24 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-03 12:19:39 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-11-03 12:19:58 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-11-03 12:20:29 × Square3 quits (~Square4@user/square) (Remote host closed the connection)
2025-11-03 12:25:12 × deptype quits (~deptype@2406:b400:3a:73c2:6922:e99c:537:1929) (Remote host closed the connection)
2025-11-03 12:25:47 deptype joins (~deptype@2406:b400:3a:73c2:adf2:5878:8562:a7a)
2025-11-03 12:32:55 × Inline quits (~inlinE@2a02:8071:57a1:dc0:a54f:a27d:cf25:667b) (Remote host closed the connection)
2025-11-03 12:33:13 Inline joins (~inlinE@2a02:8071:57a1:dc0:a54f:a27d:cf25:667b)
2025-11-03 12:37:51 Googulator92 is now known as Googulator
2025-11-03 12:38:25 prdak joins (~Thunderbi@user/prdak)
2025-11-03 12:42:42 × ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.7.1)
2025-11-03 12:58:16 ouilemur joins (~jgmerritt@user/ouilemur)
2025-11-03 13:01:06 ttybitnik joins (~ttybitnik@user/wolper)
2025-11-03 13:02:41 <[exa]> Is there some canonical data type in the libraries that would represent a "directory structure"? Like a Tree but with explicit filename key, and data only in leaves ("files")
2025-11-03 13:13:46 <Leary> [exa]: Sounds like a trie, specifically a "trie map" rather than a "trie set".
2025-11-03 13:15:29 <[exa]> yeah sounds like it
2025-11-03 13:16:04 <[exa]> funnily there's no package with general tries, somehow people only do stringy ones
2025-11-03 13:16:32 <[exa]> (time to act?!)
2025-11-03 13:19:17 <Leary> 'generic-trie' looks alright.
2025-11-03 13:23:08 [exa] tries to refocus eyes
2025-11-03 13:23:12 <[exa]> somehow I missed that
2025-11-03 13:23:14 <[exa]> thanks a lot!
2025-11-03 13:23:48 <dminuoso> A directory structure is, under most filesystems, not just a dree but a DAG.
2025-11-03 13:23:50 user363627 joins (~user@user/user363627)
2025-11-03 13:24:06 <dminuoso> Sorry, not even acylic.
2025-11-03 13:24:09 <dminuoso> A graph.
2025-11-03 13:24:30 <tomsmeding> a dree?
2025-11-03 13:24:38 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-11-03 13:24:42 <dminuoso> nice
2025-11-03 13:25:14 × deptype quits (~deptype@2406:b400:3a:73c2:adf2:5878:8562:a7a) (Remote host closed the connection)
2025-11-03 13:25:28 deptype joins (~deptype@2406:b400:3a:73c2:f533:eee9:1812:5e31)
2025-11-03 13:25:43 AlexNoo_ is now known as AlexNoo
2025-11-03 13:26:25 × notzmv quits (~umar@user/notzmv) (Ping timeout: 264 seconds)
2025-11-03 13:27:57 × weary-traveler quits (~user@user/user363627) (Ping timeout: 250 seconds)
2025-11-03 13:27:59 <[exa]> dminuoso: I meant a really naive trivial one :D
2025-11-03 13:28:38 <[exa]> Leary: is it just me or that generic-trie is too generic? there isn't anything like "listing a directory" or so
2025-11-03 13:29:41 prdak joins (~Thunderbi@user/prdak)
2025-11-03 13:34:59 prdak1 joins (~Thunderbi@user/prdak)
2025-11-03 13:36:37 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 264 seconds)
2025-11-03 13:36:37 prdak1 is now known as prdak
2025-11-03 13:37:20 <tomsmeding> isn't the idea of a trie that a node encodes its entire prefix, and the particular substring on an edge has no useful semantics by itself?
2025-11-03 13:37:39 <tomsmeding> so I wouldn't expect a trie library to expose a function for getting the outgoing edges of a node, because that ought not to be relevant for a trie
2025-11-03 13:38:16 <tomsmeding> [exa]: why not just data FileTree = Directory (Map FileName FileTree) | File FileName Stuffs
2025-11-03 13:38:57 <dminuoso> tomsmeding: No the opposite.
2025-11-03 13:39:10 <dminuoso> You essentially only encode portions in edges.
2025-11-03 13:39:15 <tomsmeding> I know
2025-11-03 13:39:19 <tomsmeding> I know how a trie works
2025-11-03 13:39:33 <Leary> [exa]: Actually, upon further inspection, it looks like it's focused more on being an optimised `Map` than on otherwise exploiting its trie-ness. 'trie-simple' looks more suitable, with e.g.: `match :: Ord c => [c] -> TMap c a -> (Maybe a, TMap c a)`
2025-11-03 13:39:37 × trickard quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
2025-11-03 13:40:03 <tomsmeding> dminuoso: but the portions on the edges are not meaningful values by themselves, they just happen to be substrings that are shared by all values in a particular subset of your set
2025-11-03 13:40:31 <dminuoso> I've always rolled my own trie implementations to cope with the specific needs.
2025-11-03 13:40:33 <Leary> They're meaningful if you control the atoms.
2025-11-03 13:41:00 <dminuoso> For our DNS stuff I have a SparseTrie that can have sort if "missing" intermediate nodes.
2025-11-03 13:41:07 <dminuoso> s/sort if/sort of"
2025-11-03 13:42:17 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
2025-11-03 13:44:00 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-11-03 13:45:16 × deptype quits (~deptype@2406:b400:3a:73c2:f533:eee9:1812:5e31) (Remote host closed the connection)
2025-11-03 13:45:50 deptype joins (~deptype@2406:b400:3a:73c2:c5bd:c4ff:b106:a7ad)
2025-11-03 13:46:10 <[exa]> tomsmeding: yeah I wanted to avoid reimplementation
2025-11-03 13:46:15 <[exa]> Leary: oh nice
2025-11-03 13:46:42 <[exa]> Leary: how do you find the packages? hoogle is hiding this from me completely
2025-11-03 13:46:45 <[exa]> ._.
2025-11-03 13:46:47 prdak joins (~Thunderbi@user/prdak)
2025-11-03 13:46:53 <tomsmeding> search for "trie" on hackage?
2025-11-03 13:47:18 <tomsmeding> hoogle searches only in the stackage set in any case
2025-11-03 13:47:19 prdak1 joins (~Thunderbi@user/prdak)
2025-11-03 13:47:27 <dminuoso> I looked for trie packages on hackage, there is not much generic stuff up there.
2025-11-03 13:48:33 <dminuoso> Im not sure a generic version is even that useful. You tend to pick a trie for performance reasons, and then you want it tailored to your algorithm.
2025-11-03 13:49:16 <dminuoso> And it must facilitate particular access patterns. Maybe you care about inserting a lot
2025-11-03 13:49:24 <Leary> [exa]: Just hackage search, like they said.
2025-11-03 13:51:10 × prdak1 quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)

All times are in UTC.