2024/04/08

2024-04-08 00:00:03 +0200Inst(~Inst@user/Inst)
2024-04-08 00:00:18 +0200Inst(~Inst@user/Inst) (Remote host closed the connection)
2024-04-08 00:07:57 +0200akegalj(~akegalj@141-136-147-171.dsl.iskon.hr) (Quit: leaving)
2024-04-08 00:09:51 +0200dcoutts_(~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net)
2024-04-08 00:10:28 +0200dcoutts(~duncan@cpc69399-oxfd27-2-0-cust684.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
2024-04-08 00:12:00 +0200dcoutts__(~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net)
2024-04-08 00:14:31 +0200dcoutts_(~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net) (Ping timeout: 246 seconds)
2024-04-08 00:18:42 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-04-08 00:18:59 +0200euleritian(~euleritia@77.22.252.56)
2024-04-08 00:19:07 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-04-08 00:32:09 +0200shoggouth(uid607148@user/shoggouth)
2024-04-08 00:35:28 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-04-08 00:40:40 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-04-08 00:43:47 +0200poxel(~lennart@user/poxel) (Quit: WeeChat 4.2.1)
2024-04-08 00:48:59 +0200sudden(~cat@user/sudden) (Ping timeout: 260 seconds)
2024-04-08 00:49:14 +0200paddymahoney(~paddymaho@99.250.26.190) (Remote host closed the connection)
2024-04-08 01:05:16 +0200sudden(~cat@user/sudden)
2024-04-08 01:14:13 +0200acidjnk_new(~acidjnk@p200300d6e714dc26d1056ca2ae8c08a8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-04-08 01:20:25 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-04-08 01:23:34 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
2024-04-08 01:35:39 +0200 <c_wraith> are there any pure-haskell syntax highlight projects other than skylighting?
2024-04-08 01:36:36 +0200dispater(~dispater@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-08 01:36:37 +0200orcus(~orcus@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-08 01:38:20 +0200dispater(~dispater@mail.brprice.uk)
2024-04-08 01:38:51 +0200orcus(~orcus@mail.brprice.uk)
2024-04-08 01:39:16 +0200 <c_wraith> I guess there's highlighter2. Which still builds, despite the date on it.
2024-04-08 01:40:06 +0200finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2024-04-08 01:45:16 +0200ftweedal(~ftweedal@159.196.12.92)
2024-04-08 01:54:23 +0200mesaoptimizer(~mesaoptim@user/PapuaHardyNet) (Ping timeout: 252 seconds)
2024-04-08 01:59:34 +0200forell(~forell@user/forell) (Quit: ZNC - https://znc.in)
2024-04-08 02:01:57 +0200forell(~forell@user/forell)
2024-04-08 02:03:15 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-04-08 02:06:26 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-08 02:10:55 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds)
2024-04-08 02:14:20 +0200 <janus> back when there were multiple haskell implementations, did 'network' work with multiple of them?
2024-04-08 02:15:03 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2024-04-08 02:15:19 +0200 <janus> i suppose i don't really understand how 'network' interacts with the green threading of GHC
2024-04-08 02:16:21 +0200 <janus> i would guess that the GHC RTS would keep track of which green threads are trying to read/write from a file descriptor
2024-04-08 02:16:46 +0200 <janus> then the network package could use that functionality and be written in a blocking manner, but wouldn't actually the whole application
2024-04-08 02:19:16 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-04-08 02:19:35 +0200xff0x(~xff0x@2405:6580:b080:900:bb82:210b:4257:7a0f) (Ping timeout: 268 seconds)
2024-04-08 02:24:53 +0200 <janus> but if that's how it worked back when there were multiple haskell implementations, and they didn't have green threading, does that mean that the other impls didn't have concurrency at all?
2024-04-08 02:25:10 +0200 <janus> s/wouldn't actually the whole/wouldn't actually _block_ the whole/
2024-04-08 02:30:08 +0200 <geekosaur> ghc offers threadWaitRead and threadWaitWrite for the low level scheduling; I have no idea whether hugs or nhc98 had similar functionality
2024-04-08 02:33:01 +0200 <janus> oh , i see the network package does use those functions
2024-04-08 02:35:37 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 272 seconds)
2024-04-08 02:35:51 +0200 <geekosaur> I've been under the impression that only ghc ever offered threads of any variety, but I have no direct experience; nhc98 was already pretty much dead when I started using Haskell, and I did very little with Hugs
2024-04-08 02:36:55 +0200 <geekosaur> (and N:M threading came much later than green threads in GHC)
2024-04-08 02:37:51 +0200 <geekosaur> pretty sure no other Haskell implementation other than possibly UHC had those
2024-04-08 02:38:52 +0200 <janus> what did GHC have because N:M threading?
2024-04-08 02:38:55 +0200 <janus> *before
2024-04-08 02:39:19 +0200 <geekosaur> green threads, without OS threads
2024-04-08 02:40:04 +0200 <Maxdamantus> ie, 1:M or N:1 threading, not sure which.
2024-04-08 02:40:05 +0200 <c_wraith> is GND in GHC2021? that surprises me...
2024-04-08 02:40:26 +0200 <c_wraith> It is!
2024-04-08 02:40:32 +0200 <c_wraith> I sure didn't expect that.
2024-04-08 02:40:38 +0200 <janus> why is that surprising?
2024-04-08 02:40:53 +0200 <c_wraith> The number of times it has created holes in the type system in the past.
2024-04-08 02:41:01 +0200 <c_wraith> Yeah, we think they're all fixed now..
2024-04-08 02:41:07 +0200 <c_wraith> But.. are we sure?
2024-04-08 02:41:44 +0200 <geekosaur> it's impl threads:OS threads, so green threads are N:1 and 1:M makes no sense unless M == 1
2024-04-08 02:42:06 +0200 <c_wraith> what? you've never wanted 20 OS threads for a single application thread? :P
2024-04-08 02:42:31 +0200 <janus> hehe but then look at GHC2024 ;) it has DataKinds, wouldn't that be ever more in flux than GND?
2024-04-08 02:42:36 +0200ystael(~ystael@user/ystael) (Ping timeout: 260 seconds)
2024-04-08 02:42:44 +0200 <geekosaur> (well, strictly speaking if you use forkOS you get 2 OS threads per Haskell thread because one is used for FFI)
2024-04-08 02:42:54 +0200 <c_wraith> Yeah, DataKinds is a bit surprising because it's not... done.
2024-04-08 02:43:23 +0200 <janus> i wonder if we will ever get enough data to actually conclude that libraries that stayed on GHC2021 had less churn than the ones on GHC2024
2024-04-08 02:44:40 +0200 <jackdk> I thought the basic idea of DataKinds was pretty solid, but all the extra stuff around importing/exporting/binding/passing types was still evolving. Am I wrong?
2024-04-08 02:45:38 +0200 <janus> so if GHC had 1:M, and you did forkIO, the RTS would run select(2) on all your fd's and then schedule the right HEC? i suppose there was no epoll back then
2024-04-08 02:45:59 +0200dsmith_(~dsmith@user/dsmith)
2024-04-08 02:46:04 +0200 <geekosaur> yeh
2024-04-08 02:46:06 +0200 <c_wraith> jackdk: that's basically right. edge cases keep changing around as dependent haskell work progresses.
2024-04-08 02:46:18 +0200 <geekosaur> (and what "back then"? you still get that with the non-threaded runtime)
2024-04-08 02:47:09 +0200dsmith_(~dsmith@user/dsmith) (Remote host closed the connection)
2024-04-08 02:47:11 +0200 <janus> yeah ok.. so N:M and threaded runtime are two ways of saying the same thing, right?
2024-04-08 02:47:33 +0200 <geekosaur> I think you still get it with -threaded and +RTS -N1
2024-04-08 02:47:56 +0200 <geekosaur> except the program can use setNumCapabilities to override your -N
2024-04-08 02:48:07 +0200 <janus> ah makes sense
2024-04-08 02:48:21 +0200 <janus> i have made some libuv bindings for MicroHs
2024-04-08 02:48:41 +0200 <janus> and Lennart says he will eventually implement Concurrent Haskell (not sure what that means)
2024-04-08 02:48:53 +0200 <janus> i suppose it will be compatible to a certain degree
2024-04-08 02:48:55 +0200dsmith(~dsmith@user/dsmith) (Ping timeout: 260 seconds)
2024-04-08 02:49:03 +0200 <geekosaur> it means MicroHs doesn't have forkIO yet
2024-04-08 02:49:25 +0200 <janus> yeah it doesn't. i am thinking of writing a user-level scheduler for continuations like i did for Idris2
2024-04-08 02:49:41 +0200 <janus> but it feels silly cause it will be superfluous when he implements forkIO
2024-04-08 02:50:32 +0200 <janus> am i right to be annoyed that all the protocol implementations are tied to network and IO
2024-04-08 02:50:52 +0200 <janus> now that there are delimited continuations, does it mean there is now a fast way to schedule continuations in user space?
2024-04-08 02:51:39 +0200 <janus> so we could actually have an pure-continuation http library that would be fast even though if it was executed with a user-space scheduler?
2024-04-08 02:51:52 +0200 <geekosaur> network is just FFI bindings to OS network functions
2024-04-08 02:52:28 +0200 <janus> yeah but it has threadWaitRead. with my libuv bindings, i am not sure i can provide that API
2024-04-08 02:52:30 +0200 <geekosaur> you need those anyway unless you're planning to implement user-space TCP/IP (BTDT avoid)
2024-04-08 02:52:56 +0200 <janus> if i use libuv, surely i am not implementing user-space TCP/IP?
2024-04-08 02:53:23 +0200 <janus> let me just show you what i have: https://github.com/ysangkok/MicroHs/blob/libuv/tests/Foreign.hs
2024-04-08 02:53:29 +0200 <geekosaur> threadWaitRead is part of concurrent Haskell, if you are making an alternative to that then presumably you have some alternative or you will find all I/O to be difficult
2024-04-08 02:54:37 +0200 <geekosaur> so it looks like libuv exports its own interface to the system network API
2024-04-08 02:55:35 +0200 <janus> what i did in Idris is that i just stick all the continuations in a map. then when they need data, they yield and the scheduler loops. at each loop iteration, it calls the equivalent of select(2)
2024-04-08 02:56:13 +0200 <geekosaur> so now you need to either use libuv-provided mechanisms to interact with threads, or give up on threads entirely
2024-04-08 02:57:04 +0200 <janus> yeah.. it's probably best if i just wait for Lennart
2024-04-08 02:57:11 +0200 <janus> he works fast anyway, I think
2024-04-08 02:57:39 +0200 <geekosaur> even then you'll need libuv to provide you with a file descriptor to block/select/epoll/whatever on
2024-04-08 02:58:00 +0200 <geekosaur> otherwise it can't be made thread compatible
2024-04-08 02:58:13 +0200 <geekosaur> regardless of your thread implementation
2024-04-08 02:58:35 +0200 <janus> hmm, but maybe it doesn't need to be thread compatible... it would be ok if it could just be 'network' package compatible
2024-04-08 02:58:59 +0200 <janus> but i don't have a good understanding of how tied to GHC the network API is... i fear that it might be too tied
2024-04-08 02:59:12 +0200 <geekosaur> it didn't look to me like that was in the offing
2024-04-08 03:00:02 +0200 <geekosaur> this is not a question of "how tied to GHC the network API is", the only ties are threadWaitRead and threadWaitWrite and those are part of concurrent Haskell so you would need to provide those anyway so the thread impl knows what to select(2) on
2024-04-08 03:00:20 +0200 <geekosaur> network is tied to the OS network libraries, and libuv abstracts those away
2024-04-08 03:01:03 +0200 <janus> well maybe libuv is a mistake on my part, if it means code won't be compatible...
2024-04-08 03:01:38 +0200 <janus> but that's good news
2024-04-08 03:01:53 +0200 <janus> cause it sounds like the interface of Concurrent Haskell is fairly minimal
2024-04-08 03:02:20 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-04-08 03:03:48 +0200 <geekosaur> I just looked at the libuv documentation. it's worse thn I thought: it's a replacement event loop, so you would need to rewrite the GHC RTS to be based on libuv instead of its own event loop
2024-04-08 03:04:31 +0200 <geekosaur> or ask Lennart to implement concurrent MicroHs's event loop via libuv
2024-04-08 03:05:00 +0200 <janus> my goal is to make existing code compatible with MicroHs
2024-04-08 03:05:10 +0200 <janus> if libuv is not the best way to achieve that, i shouldn't use it
2024-04-08 03:05:26 +0200 <janus> the advantage of libuv is that it works across platforms
2024-04-08 03:05:29 +0200 <geekosaur> no, it's not, libuv is at a different level
2024-04-08 03:05:44 +0200 <geekosaur> libuv replaces the RTS, not Haskell code
2024-04-08 03:06:16 +0200 <janus> but if the RTS can use libuv internally and still provide the same user-level API, then it's all right
2024-04-08 03:06:32 +0200 <janus> when you said "or ask Lennart ... " , that's what i understood what a possibility
2024-04-08 03:06:43 +0200 <geekosaur> yes, that was what I was angling toward
2024-04-08 03:07:18 +0200 <janus> right. i am perfectly aware that the libuv code that i write in userspace really has to go, if MicroHs supports Concurrent Haskell
2024-04-08 03:07:37 +0200 <janus> i just do it in user space because it was what i thought was easiest to get this echo server running
2024-04-08 03:07:50 +0200 <janus> and it is very similar to what i did in Idris
2024-04-08 03:08:07 +0200 <janus> but when i did it, i didn't know that Lennart was planning to even add Concurrent Haskell
2024-04-08 03:08:46 +0200 <janus> so now the situation is changed and i probably shouldn't go down this route of user level scheduling
2024-04-08 03:09:39 +0200 <janus> I _do_ still think it's weird that Haskell is a 'pure' language and still we don't have prevalent effect systems that make it possible to write a HTTP server that can be treated as a continuation
2024-04-08 03:17:12 +0200 <monochrom> But we did. Haskell 1.2 and before had a CPS I/O system rather than a monad.
2024-04-08 03:17:56 +0200 <janus> but Haskell didn't even have monads yet, right?
2024-04-08 03:18:04 +0200 <monochrom> Right. :)
2024-04-08 03:18:40 +0200 <Axman6> It's so nice to hop on IRC and see conversations happening in my timezone. It's always so quiet when .au is awake :'(
2024-04-08 03:18:42 +0200 <janus> so how many years did it take for mtl/transformers to appear as the predominant effects system? i suppose it was already too late, because I don't know of MonadNetwork
2024-04-08 03:19:02 +0200 <geekosaur> btw, you would need to replace network. you could provide the same Haskell API but it would use libuv instead of OS network APIs directly
2024-04-08 03:19:32 +0200 <monochrom> type MonadNetwork = IO
2024-04-08 03:19:54 +0200 <janus> but you can't interpret IO... it's not abstracted, it's concrete
2024-04-08 03:20:05 +0200 <janus> isn't that why io-sim exists?
2024-04-08 03:21:24 +0200 <monochrom> I don't understand that. I thought I could interpret concrete data but not abstract objects.
2024-04-08 03:21:30 +0200 <janus> Axman6: yeah i never understood why it seemed like #haskell was mostly on european timezones... cause it seems like there is at least the same amount of Haskell going on in the US
2024-04-08 03:22:01 +0200 <geekosaur> mtl was already in ghc 5's libraries, but it included transformers functionality built in. transformers came later, when they evaluated type families vs. monad transformers+fundeps for mtl2-to-be
2024-04-08 03:22:17 +0200 <janus> monochrom: what i mean is that MonadNetwork would be a type class, so you can write an interpreter and 'mock' networking
2024-04-08 03:22:48 +0200 <janus> monochrom: IO isn't a type class, you can't take 'IO a' and run it in a pure context?
2024-04-08 03:22:51 +0200 <geekosaur> (you can see that in monads-fd vs. monads-tf on hackage)
2024-04-08 03:23:06 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 268 seconds)
2024-04-08 03:23:09 +0200 <janus> for me, MonadNetwork is abstract, since it is an interface, not an implmentation
2024-04-08 03:23:42 +0200euleritian(~euleritia@dynamic-176-006-188-089.176.6.pool.telefonica.de)
2024-04-08 03:24:38 +0200 <geekosaur> I think the question there is whether anyone wants to deal with the potential performance of lots of indirect calls for networking operations
2024-04-08 03:24:54 +0200 <janus> right, that makes sense, that makes a lot of sense
2024-04-08 03:25:29 +0200 <janus> but that then begs the question: with delimited continuations, could we now write those 'pure' / 'continuation' webservers and execute them just as fast as had they been in IO?
2024-04-08 03:25:42 +0200 <monochrom> There is just probably too little interest in doing mock testing on network code.
2024-04-08 03:25:48 +0200 <geekosaur> I don't know if you can arrange for the compiler to optimize the indirect method calls away in enough cases
2024-04-08 03:26:24 +0200 <geekosaur> and in any case I think network mocking can be done with linux interfaces without having to wire it into your language's network libs?
2024-04-08 03:26:41 +0200 <geekosaur> (and freebsd, dunno about windows or os x)
2024-04-08 03:27:16 +0200euleritian(~euleritia@dynamic-176-006-188-089.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-08 03:27:30 +0200 <monochrom> Yeah that. I test my students' network code in dockers. :)
2024-04-08 03:27:33 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-08 03:28:11 +0200 <janus> and i took your Cont article, extended it to be double-barrelled and wrote working Idris servers with it ;)
2024-04-08 03:29:24 +0200 <janus> it might be that you can mock it all through the OS, but that just seems so cumbersome to me...
2024-04-08 03:29:43 +0200 <janus> anyway, this is kind of orthogonal to the question of how much existing code could run on MicroHs
2024-04-08 03:30:43 +0200 <janus> it's good to hear that you could rewrite network and have it be compatble... would be really interesting to try that, but i suppose it doesn't make sense to even try before Concurrent Haskell arrives in MicroHs
2024-04-08 03:33:00 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 260 seconds)
2024-04-08 03:33:34 +0200infinity0(~infinity0@pwned.gg)
2024-04-08 03:41:06 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
2024-04-08 03:43:47 +0200 <janus> commit where 'net' was extracted (from ghc, maybe?): https://github.com/haskell/network/commit/efb0e791b67492213021c2081001cec5590e4f7c
2024-04-08 03:44:51 +0200 <janus> doesn't seem like it supported concurrency back then
2024-04-08 03:45:49 +0200 <janus> ah sorry, yes it did. it's in Socket.hsc
2024-04-08 03:46:13 +0200 <geekosaur> https://downloads.haskell.org/~ghc/5.00/docs/set/sec-net.html
2024-04-08 03:50:19 +0200 <geekosaur> looks like it was in 4.x as well
2024-04-08 03:54:19 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-04-08 03:56:08 +0200otto_s(~user@p4ff27276.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-04-08 03:57:59 +0200otto_s(~user@p5de2f26b.dip0.t-ipconnect.de)
2024-04-08 03:59:59 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds)
2024-04-08 04:01:34 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2024-04-08 04:12:31 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-08 04:14:00 +0200sroso(~sroso@user/SrOso)
2024-04-08 04:14:57 +0200mei(~mei@user/mei)
2024-04-08 04:15:34 +0200janus(~janus@anubis.0x90.dk) (Changing host)
2024-04-08 04:15:34 +0200janus(~janus@user/janus)
2024-04-08 04:18:07 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net)
2024-04-08 04:20:12 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-04-08 04:23:42 +0200tri(~tri@ool-43564db8.dyn.optonline.net)
2024-04-08 04:26:17 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2024-04-08 04:35:52 +0200dbaoty(~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Quit: Leaving.)
2024-04-08 04:43:10 +0200tri(~tri@ool-43564db8.dyn.optonline.net) (Remote host closed the connection)
2024-04-08 04:51:04 +0200tri(~tri@ool-43564db8.dyn.optonline.net)
2024-04-08 04:54:14 +0200td_(~td@i53870921.versanet.de) (Ping timeout: 252 seconds)
2024-04-08 04:55:58 +0200td_(~td@i53870933.versanet.de)
2024-04-08 04:56:55 +0200 <jackdk> monochrom: I have recently discovered that even the Python world wants IO-free network libraries: https://sans-io.readthedocs.io/
2024-04-08 05:00:00 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.)
2024-04-08 05:01:12 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2024-04-08 05:15:17 +0200systemfault(sid267009@about/typescript/member/systemfault) (Ping timeout: 240 seconds)
2024-04-08 05:18:24 +0200systemfault(sid267009@about/typescript/member/systemfault)
2024-04-08 05:19:05 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-08 05:21:31 +0200mei(~mei@user/mei)
2024-04-08 05:29:56 +0200tri(~tri@ool-43564db8.dyn.optonline.net) (Remote host closed the connection)
2024-04-08 05:31:33 +0200JimL(~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-04-08 05:31:53 +0200 <sm> janus: are you implementing libs for MicroHs ?
2024-04-08 05:34:25 +0200JimL(~quassel@89.162.16.26)
2024-04-08 05:34:54 +0200 <sm> it's interesting about european timezones, I think I've noticed that too. Possibly there are more OSS/academic haskellers there, who have time/permission to chat, unlike most corporate devs
2024-04-08 05:36:30 +0200 <sm> also I guess there can be regional preferences/predominance of IRC / matrix / discord / ...
2024-04-08 05:36:58 +0200 <sm> and these are more siloed than in the past
2024-04-08 05:37:20 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-08 05:42:19 +0200 <janus> sm: i've only written these libuv bindings, that's it
2024-04-08 05:42:37 +0200 <janus> sm: don't think cabal supports microhs yet, so depending on what you mean by lib, it might not be possible
2024-04-08 05:43:14 +0200 <sm> it sounded like you were porting/cloning network for microhs
2024-04-08 05:43:51 +0200 <sm> that's what I meant. I think microhs is exciting.
2024-04-08 05:44:32 +0200 <janus> i'd do it but i don't think it makes sense since network seems to assume that green threads are available
2024-04-08 05:44:44 +0200 <sm> aha
2024-04-08 05:44:55 +0200 <janus> but as you can see, Lennart is planning on adding those
2024-04-08 05:45:13 +0200 <sm> aHA
2024-04-08 05:45:53 +0200 <janus> but you can see from my PoC that you can do networking just fine without green threads
2024-04-08 05:46:11 +0200 <sm> awesome
2024-04-08 05:46:28 +0200 <janus> you just have to schedule everything yourself so and then it isn't compatible with any existing code... so probably not worth the effort
2024-04-08 05:47:00 +0200 <sm> experiments++
2024-04-08 05:49:53 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds)
2024-04-08 05:51:48 +0200werneta(~werneta@071-083-160-242.res.spectrum.com) (Quit: leaving)
2024-04-08 05:51:53 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-04-08 05:53:43 +0200aforemny_(~aforemny@i59F516C7.versanet.de) (Ping timeout: 260 seconds)
2024-04-08 05:54:12 +0200aforemny(~aforemny@i59F516E6.versanet.de)
2024-04-08 05:55:35 +0200nurupo(~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
2024-04-08 05:55:56 +0200xigua(~xigua@user/xigua) (Read error: Connection reset by peer)
2024-04-08 05:56:10 +0200xigua(~xigua@user/xigua)
2024-04-08 06:00:24 +0200actioninja(~actioninj@user/actioninja) (Quit: see ya mane)
2024-04-08 06:00:52 +0200actioninja(~actioninj@user/actioninja)
2024-04-08 06:04:23 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 06:04:23 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 06:04:23 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 06:05:54 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-04-08 06:05:58 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-04-08 06:07:33 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-08 06:08:23 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-04-08 06:08:43 +0200nickiminjaj(~nickiminj@user/laxhh) (Client Quit)
2024-04-08 06:27:41 +0200michalz(~michalz@185.246.207.205)
2024-04-08 06:33:06 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Remote host closed the connection)
2024-04-08 06:34:48 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com)
2024-04-08 06:38:02 +0200dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-04-08 06:43:04 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 06:43:04 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 06:43:04 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 06:45:39 +0200nickiminjaj(~nickiminj@user/laxhh) (Client Quit)
2024-04-08 06:50:53 +0200igemnace(~ian@user/igemnace)
2024-04-08 06:53:29 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-08 06:58:27 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds)
2024-04-08 07:04:46 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-04-08 07:05:08 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-04-08 07:05:28 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-08 07:08:55 +0200zetef(~quassel@5.2.182.99)
2024-04-08 07:10:36 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-04-08 07:10:47 +0200sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net)
2024-04-08 07:11:39 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-04-08 07:17:15 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-04-08 07:20:01 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-04-08 07:20:30 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-04-08 07:30:45 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-04-08 07:31:20 +0200euleritian(~euleritia@dynamic-176-006-186-113.176.6.pool.telefonica.de)
2024-04-08 07:34:59 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-04-08 07:44:00 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
2024-04-08 07:44:48 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2024-04-08 07:46:10 +0200Axman6(~Axman6@user/axman6) (Remote host closed the connection)
2024-04-08 07:46:25 +0200Axman6(~Axman6@user/axman6)
2024-04-08 07:49:23 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 07:49:23 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 07:49:23 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 07:54:35 +0200nickiminjaj(~nickiminj@user/laxhh) (Ping timeout: 260 seconds)
2024-04-08 07:57:27 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de)
2024-04-08 07:59:56 +0200zetef(~quassel@5.2.182.99) (Ping timeout: 260 seconds)
2024-04-08 08:00:02 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-04-08 08:01:54 +0200yeitrafferin(~user@2a04:4540:720b:ad00:4e6c:5428:51b2:1598)
2024-04-08 08:02:03 +0200euphores(~SASL_euph@user/euphores)
2024-04-08 08:04:05 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
2024-04-08 08:04:34 +0200cross(~cross@spitfire.i.gajendra.net) (Ping timeout: 246 seconds)
2024-04-08 08:06:12 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-04-08 08:08:13 +0200zetef(~quassel@5.2.182.99)
2024-04-08 08:21:54 +0200cross(~cross@spitfire.i.gajendra.net)
2024-04-08 08:28:46 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds)
2024-04-08 08:30:35 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-04-08 08:34:15 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds)
2024-04-08 08:35:40 +0200acidjnk_new(~acidjnk@p200300d6e714dc9124c21742e07a126c.dip0.t-ipconnect.de)
2024-04-08 08:39:46 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2024-04-08 08:42:45 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-08 08:43:48 +0200nurupo(~nurupo.ga@user/nurupo)
2024-04-08 08:44:31 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-04-08 08:53:06 +0200danza(~francesco@an-19-178-190.service.infuturo.it)
2024-04-08 08:59:59 +0200zetef(~quassel@5.2.182.99) (Ping timeout: 264 seconds)
2024-04-08 09:01:47 +0200euleritian(~euleritia@dynamic-176-006-186-113.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-08 09:02:06 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-08 09:09:49 +0200zetef(~quassel@5.2.182.99)
2024-04-08 09:10:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-08 09:13:08 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-08 09:23:02 +0200igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-04-08 09:25:02 +0200gmg(~user@user/gehmehgeh)
2024-04-08 09:31:51 +0200zetef(~quassel@5.2.182.99) (Remote host closed the connection)
2024-04-08 09:34:20 +0200zetef(~quassel@5.2.182.99)
2024-04-08 09:38:16 +0200migas97(~migas@static.140.65.63.178.clients.your-server.de)
2024-04-08 09:39:24 +0200mesaoptimizer(~mesaoptim@user/PapuaHardyNet)
2024-04-08 09:40:09 +0200igemnace(~ian@user/igemnace)
2024-04-08 09:42:22 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-04-08 09:44:30 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-08 09:48:32 +0200Square(~Square4@user/square)
2024-04-08 09:54:33 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2024-04-08 09:55:39 +0200zetef(~quassel@5.2.182.99) (Ping timeout: 255 seconds)
2024-04-08 09:55:47 +0200danza(~francesco@an-19-178-190.service.infuturo.it) (Ping timeout: 272 seconds)
2024-04-08 09:57:28 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-04-08 09:57:58 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-08 09:58:37 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-08 09:59:42 +0200sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection)
2024-04-08 10:05:55 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2024-04-08 10:07:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-08 10:28:59 +0200dhil(~dhil@2001:8e0:2014:3100:3d77:3c3c:fa90:61a5)
2024-04-08 10:33:07 +0200zetef(~quassel@5.2.182.99)
2024-04-08 10:33:11 +0200chele(~chele@user/chele)
2024-04-08 10:35:47 +0200danse-nr3(~danse-nr3@an-19-178-190.service.infuturo.it)
2024-04-08 10:35:53 +0200danse-nr3(~danse-nr3@an-19-178-190.service.infuturo.it) (Remote host closed the connection)
2024-04-08 10:36:17 +0200danse-nr3(~danse-nr3@an-19-178-190.service.infuturo.it)
2024-04-08 10:49:22 +0200ft(~ft@p4fc2a20e.dip0.t-ipconnect.de) (Quit: leaving)
2024-04-08 10:52:33 +0200akegalj(~akegalj@141-136-147-171.dsl.iskon.hr)
2024-04-08 10:57:50 +0200philopsos(~caecilius@user/philopsos) (Quit: Lost terminal)
2024-04-08 10:59:04 +0200tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
2024-04-08 11:05:24 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Quit: Leaving.)
2024-04-08 11:05:27 +0200stratl(~user@p5b0f3575.dip0.t-ipconnect.de)
2024-04-08 11:15:45 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
2024-04-08 11:16:33 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-08 11:17:33 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-04-08 11:18:41 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-08 11:21:26 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds)
2024-04-08 11:23:12 +0200ec_(~ec@gateway/tor-sasl/ec)
2024-04-08 11:26:11 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2024-04-08 11:26:42 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-04-08 11:30:11 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-04-08 11:31:22 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2024-04-08 11:31:44 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-04-08 11:33:12 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
2024-04-08 11:35:33 +0200zetef(~quassel@5.2.182.99) (Ping timeout: 255 seconds)
2024-04-08 11:46:33 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2024-04-08 11:46:53 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-04-08 11:50:14 +0200hammond(~abner@user/hammond2) (Read error: Connection reset by peer)
2024-04-08 11:54:56 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
2024-04-08 11:56:48 +0200dhil(~dhil@2001:8e0:2014:3100:3d77:3c3c:fa90:61a5) (Quit: Leaving)
2024-04-08 12:09:05 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-04-08 12:09:36 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-04-08 12:12:04 +0200zetef(~quassel@5.2.182.99)
2024-04-08 12:18:05 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-04-08 12:18:37 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-08 12:18:56 +0200hammond(proscan@gateway02.insomnia247.nl)
2024-04-08 12:23:38 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 256 seconds)
2024-04-08 12:24:34 +0200xff0x(~xff0x@2405:6580:b080:900:d77c:415b:b254:7fcb)
2024-04-08 12:30:50 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de)
2024-04-08 12:34:48 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-04-08 12:35:29 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2024-04-08 12:36:09 +0200Lord_of_Life_Lord_of_Life
2024-04-08 12:37:19 +0200xdminsy(~xdminsy@117.147.70.203)
2024-04-08 12:37:19 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-04-08 12:47:49 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-04-08 12:49:22 +0200stratl(~user@p5b0f3575.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-04-08 12:56:56 +0200danse-nr3(~danse-nr3@an-19-178-190.service.infuturo.it) (Read error: Connection reset by peer)
2024-04-08 12:57:34 +0200danse-nr3(~danse-nr3@151.47.219.151)
2024-04-08 13:04:07 +0200[exa](~exa@user/exa/x-3587197)
2024-04-08 13:08:29 +0200danse-nr3(~danse-nr3@151.47.219.151) (Ping timeout: 256 seconds)
2024-04-08 13:25:20 +0200sanpo(~sanpo@user/sanpo) (Quit: Client closed)
2024-04-08 13:32:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-04-08 13:34:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-04-08 13:39:19 +0200cfricke(~cfricke@user/cfricke)
2024-04-08 13:44:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-04-08 13:45:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-04-08 13:46:14 +0200danse-nr3(~danse-nr3@ba-19-139-35.service.infuturo.it)
2024-04-08 13:46:37 +0200danse-nr3(~danse-nr3@ba-19-139-35.service.infuturo.it) (Remote host closed the connection)
2024-04-08 13:47:02 +0200danse-nr3(~danse-nr3@ba-19-139-35.service.infuturo.it)
2024-04-08 13:48:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-04-08 13:49:30 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-04-08 14:03:25 +0200sroso(~sroso@user/SrOso) (Quit: Leaving :))
2024-04-08 14:06:36 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 268 seconds)
2024-04-08 14:06:46 +0200dbaoty(~dbaoty@tptn-04-0838.dsl.iowatelecom.net)
2024-04-08 14:21:09 +0200xdminsy(~xdminsy@117.147.70.203) (Ping timeout: 272 seconds)
2024-04-08 14:22:20 +0200xdminsy(~xdminsy@117.147.70.203)
2024-04-08 14:26:53 +0200cimento(n8n@user/n8n)
2024-04-08 14:27:16 +0200stratl(~user@p5b0f3d8b.dip0.t-ipconnect.de)
2024-04-08 14:27:29 +0200cimento(n8n@user/n8n) (Client Quit)
2024-04-08 14:27:35 +0200Eoco(~ian@128.101.131.218) (Ping timeout: 264 seconds)
2024-04-08 14:29:13 +0200Eoco(~ian@128.101.131.218)
2024-04-08 14:33:27 +0200Athas(athas@sigkill.dk) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-08 14:34:20 +0200sanpo(~sanpo@user/sanpo)
2024-04-08 14:36:32 +0200Eoco(~ian@128.101.131.218) (Remote host closed the connection)
2024-04-08 14:42:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-04-08 14:42:54 +0200Eoco(~ian@128.101.131.218)
2024-04-08 14:46:01 +0200TonyStone(~TonyStone@user/TonyStone) (Remote host closed the connection)
2024-04-08 14:50:16 +0200TonyStone(~TonyStone@user/TonyStone)
2024-04-08 14:52:40 +0200danse-nr3(~danse-nr3@ba-19-139-35.service.infuturo.it) (Ping timeout: 256 seconds)
2024-04-08 14:56:22 +0200Athas(athas@2a01:7c8:aaac:1cf:af1c:2933:77d:8603)
2024-04-08 14:56:24 +0200 <kuribas> Why does Spock-core have an upper limit? mtl (>=2.1 && <2.3)
2024-04-08 14:56:43 +0200 <kuribas> It is causing my cabal build to fail inside the haskell:9 docker.
2024-04-08 14:58:03 +0200 <kuribas> presumably because the mtl version is too high.
2024-04-08 15:02:11 +0200danse-nr3(~danse-nr3@ba-19-139-35.service.infuturo.it)
2024-04-08 15:05:32 +0200 <kuribas> Oh, I can take an earlier haskell docker.
2024-04-08 15:06:45 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-08 15:07:09 +0200 <yushyin> kuribas: https://github.com/agrafix/Spock/pull/185 that's why
2024-04-08 15:07:26 +0200 <yushyin> ( https://github.com/agrafix/Spock/pull/185#issuecomment-1806856069 )
2024-04-08 15:13:50 +0200divya(~user@202.170.201.67)
2024-04-08 15:14:24 +0200stratl(~user@p5b0f3d8b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-04-08 15:16:32 +0200tri(~tri@ool-18bbef1a.static.optonline.net)
2024-04-08 15:21:00 +0200tri(~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 256 seconds)
2024-04-08 15:27:53 +0200tri(~tri@ool-18bbef1a.static.optonline.net)
2024-04-08 15:28:39 +0200 <janus> kuribas: probably better to just use spock from git
2024-04-08 15:29:02 +0200 <janus> kuribas: you _can_ override the mtl version though, you don't have to use the one shipped with ghc
2024-04-08 15:29:21 +0200 <janus> kuribas: downgrading the whole docker image would be my third option ;)
2024-04-08 15:29:31 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 15:29:31 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 15:29:31 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 15:30:22 +0200 <janus> it's amazing how many years this fixing of mtl reexports is taking.. started in 2021 if i am not wrong: https://github.com/haskell/mtl/issues/101
2024-04-08 15:32:07 +0200 <danse-nr3> long-running processes are not unusual in the community as far as i understand
2024-04-08 15:32:44 +0200 <danse-nr3> had to reset my hyped-tech mindset when i moved to haskell ...
2024-04-08 15:32:56 +0200n8n(n8n@user/n8n)
2024-04-08 15:33:50 +0200 <yushyin> spock also doesn't seem to be the most active project
2024-04-08 15:34:04 +0200 <kuribas> janus: I just end up using a lower ghc version.
2024-04-08 15:34:23 +0200 <kuribas> haskell:9.4.8-buster instead of haskell:9
2024-04-08 15:34:40 +0200 <danse-nr3> it is not... all plain web microframeworks got to the background after servant i guess
2024-04-08 15:36:58 +0200 <probie> They didn't go the background, so much as being left as finished products, but the Haskell ecosystem has too much churn to allow that
2024-04-08 15:37:30 +0200nickiminjaj(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-04-08 15:37:38 +0200 <danse-nr3> huh ... i believe "finished" software is a myth
2024-04-08 15:38:01 +0200 <danse-nr3> (also a contradiction in terms)
2024-04-08 15:38:13 +0200 <janus> what about interfaces, can they be finished? ;)
2024-04-08 15:38:39 +0200 <danse-nr3> sure that's the reason for never versioning them
2024-04-08 15:39:14 +0200 <janus> what do you mean? interfaces are versioned, that's why the first two components of a PVP function number are different
2024-04-08 15:39:27 +0200 <janus> major bump => interface changed
2024-04-08 15:39:41 +0200 <janus> or more like iff
2024-04-08 15:39:51 +0200 <danse-nr3> nevermind ... not the best monday and it triggered my irony
2024-04-08 15:43:03 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-04-08 15:43:27 +0200euleritian(~euleritia@dynamic-176-006-178-051.176.6.pool.telefonica.de)
2024-04-08 15:44:41 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 15:45:05 +0200todi(~todi@p57803331.dip0.t-ipconnect.de)
2024-04-08 15:46:12 +0200ystael(~ystael@user/ystael)
2024-04-08 15:52:10 +0200Square(~Square4@user/square) (Ping timeout: 246 seconds)
2024-04-08 15:55:34 +0200divya(~user@202.170.201.67) (Ping timeout: 256 seconds)
2024-04-08 16:00:44 +0200nickiminjaj(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-04-08 16:04:00 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 16:04:41 +0200 <probie> danse-nr3: What new features does `cat` need?
2024-04-08 16:05:36 +0200 <danse-nr3> look, i don't feel like arguing about this. If you want to believe in the idea of finished software, you are free to do so
2024-04-08 16:09:23 +0200haskell_(~haskell@75-164-217-161.ptld.qwest.net)
2024-04-08 16:09:45 +0200haskell_(~haskell@75-164-217-161.ptld.qwest.net) (Remote host closed the connection)
2024-04-08 16:10:23 +0200 <probie> This feels like being relegated to the "on par with sovereign citizens" pile, and whilst I'll accept it because I don't want to waste your energy, I'm not exactly happy about it
2024-04-08 16:10:37 +0200probie(cc0b34050a@user/probie) ()
2024-04-08 16:11:46 +0200 <danse-nr3> wow...
2024-04-08 16:19:11 +0200myme(~myme@2a01:799:d5c:5f00:6072:e797:6705:d556) (Ping timeout: 268 seconds)
2024-04-08 16:19:35 +0200Square2(~Square@user/square)
2024-04-08 16:19:43 +0200myme(~myme@2a01:799:d5c:5f00:1e69:7aff:feab:e7ae)
2024-04-08 16:31:11 +0200euleritian(~euleritia@dynamic-176-006-178-051.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-08 16:32:35 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-08 16:41:05 +0200 <haskellbridge> <m​auke> There is this special biologist word we use for 'stable'. It is 'dead'. -- Jack Cohen
2024-04-08 16:42:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-08 16:42:41 +0200yeitrafferin(~user@2a04:4540:720b:ad00:4e6c:5428:51b2:1598) (Quit: Leaving)
2024-04-08 16:44:21 +0200 <danse-nr3> (:
2024-04-08 16:48:29 +0200nickiminjaj(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-04-08 16:48:35 +0200 <danse-nr3> seems more fair to me to use dehydration as a metaphor. Sure, not all software survives the process
2024-04-08 16:50:23 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 16:50:23 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 16:50:23 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 16:51:47 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
2024-04-08 16:58:35 +0200hueso(~root@user/hueso) (Read error: Connection reset by peer)
2024-04-08 16:58:36 +0200xdminsy(~xdminsy@117.147.70.203) (Read error: Connection reset by peer)
2024-04-08 16:58:51 +0200hueso(~root@user/hueso)
2024-04-08 17:05:56 +0200zetef(~quassel@5.2.182.99) (Ping timeout: 260 seconds)
2024-04-08 17:09:00 +0200rvalue(~rvalue@user/rvalue) (Ping timeout: 255 seconds)
2024-04-08 17:10:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-08 17:17:11 +0200hippoid(~hippoid@user/hippoid)
2024-04-08 17:18:30 +0200nickiminjaj(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-04-08 17:18:39 +0200Batzy(~quassel@user/batzy) (Read error: Connection reset by peer)
2024-04-08 17:20:28 +0200igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-04-08 17:21:08 +0200__monty__(~toonn@user/toonn)
2024-04-08 17:21:42 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-08 17:21:46 +0200Batzy(~quassel@user/batzy)
2024-04-08 17:23:25 +0200Square2(~Square@user/square) (Ping timeout: 255 seconds)
2024-04-08 17:24:08 +0200mei(~mei@user/mei)
2024-04-08 17:24:19 +0200zetef(~quassel@5.2.182.99)
2024-04-08 17:27:00 +0200sadie-sorceress(~sadie-sor@c-76-155-235-153.hsd1.co.comcast.net)
2024-04-08 17:27:13 +0200Square(~Square4@user/square)
2024-04-08 17:28:11 +0200alexherbo2(~alexherbo@2a02-8440-3141-1d70-d510-781c-6cfb-b61d.rev.sfr.net)
2024-04-08 17:29:59 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Quit: Leaving.)
2024-04-08 17:30:41 +0200 <janus> so what's the software analogue to the water bear?
2024-04-08 17:31:51 +0200yeitrafferin(~user@2a04:4540:720b:ad00:4e6c:5428:51b2:1598)
2024-04-08 17:31:52 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2024-04-08 17:37:24 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 17:37:34 +0200igemnace(~ian@user/igemnace)
2024-04-08 17:41:01 +0200 <danse-nr3> also plant seeds survive dehidration for a long while. There are too many variables though, and they are not simply part of the software itself. Haskell does great at maintainability for instance, but the population of potential new maintainers does not have a great outlook
2024-04-08 17:41:18 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds)
2024-04-08 17:41:40 +0200nickiminjaj(~nickiminj@user/laxhh) (Client Quit)
2024-04-08 17:44:04 +0200ubert(~Thunderbi@p200300ecdf3957b4cb1ee850dd579499.dip0.t-ipconnect.de)
2024-04-08 17:46:01 +0200 <c_wraith> last night I added a library that hadn't been updated since 2015 to a project and.. it worked great.
2024-04-08 17:46:21 +0200danse-nr3(~danse-nr3@ba-19-139-35.service.infuturo.it) (Ping timeout: 272 seconds)
2024-04-08 17:46:49 +0200rvalue(~rvalue@user/rvalue)
2024-04-08 17:47:11 +0200danse-nr3(~danse-nr3@an-19-169-111.service.infuturo.it)
2024-04-08 17:48:21 +0200sanpo(~sanpo@user/sanpo) (Quit: Client closed)
2024-04-08 17:49:43 +0200 <danse-nr3> luckily this is logged. Yes, in my experience haskell is quite resistent. It also depends by how fast a domain demands obsolescence. Also, i was talking free software. In a company, maintainability is great and finding new maintainers is also easy
2024-04-08 17:50:29 +0200 <dminuoso> danse-nr3: If interfaces can be finished, how can their implementations not be finished?
2024-04-08 17:50:49 +0200 <dminuoso> If an implementation behaves according to specification, bug-free, how can it be not finished?
2024-04-08 17:50:52 +0200 <danse-nr3> huh i think you missed something...
2024-04-08 17:51:48 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de)
2024-04-08 17:53:23 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-04-08 17:53:48 +0200euleritian(~euleritia@dynamic-176-006-178-051.176.6.pool.telefonica.de)
2024-04-08 18:00:02 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-04-08 18:04:56 +0200micro(~micro@user/micro) (Ping timeout: 268 seconds)
2024-04-08 18:05:40 +0200micro(~micro@user/micro)
2024-04-08 18:06:35 +0200danse-nr3(~danse-nr3@an-19-169-111.service.infuturo.it) (Ping timeout: 264 seconds)
2024-04-08 18:07:45 +0200tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-04-08 18:07:55 +0200chele(~chele@user/chele) (Remote host closed the connection)
2024-04-08 18:16:53 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2024-04-08 18:18:02 +0200sadie-sorceress(~sadie-sor@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Client closed)
2024-04-08 18:18:04 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-04-08 18:19:53 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-04-08 18:20:41 +0200euleritian(~euleritia@dynamic-176-006-178-051.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-08 18:20:59 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-08 18:25:44 +0200 <sm> dehydration, heh I like your 3-body reference
2024-04-08 18:25:54 +0200hueso(~root@user/hueso) (Ping timeout: 268 seconds)
2024-04-08 18:27:01 +0200zzidun93(~zzidun@user/zzidun)
2024-04-08 18:27:09 +0200 <sm> chaotic era approaching! DEHYDRATE
2024-04-08 18:27:42 +0200 <geekosaur> I think someone already mentioned water bears 😛
2024-04-08 18:28:02 +0200zzidun93(~zzidun@user/zzidun) (Client Quit)
2024-04-08 18:28:47 +0200 <sm> g'day geekosaur
2024-04-08 18:28:57 +0200geekosaurwaves
2024-04-08 18:33:29 +0200 <sm> c_wraith: \o/ always good to see things resisting rot
2024-04-08 18:34:13 +0200hueso(~root@user/hueso)
2024-04-08 18:35:16 +0200Inst(~Inst@user/Inst)
2024-04-08 18:35:21 +0200 <Inst> does Category do anything?
2024-04-08 18:35:38 +0200 <Inst> erm, does anyone actually use Control.Category?
2024-04-08 18:38:34 +0200tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2024-04-08 18:38:54 +0200sam113102(~sam@24.157.253.231)
2024-04-08 18:39:28 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Ping timeout: 255 seconds)
2024-04-08 18:39:34 +0200Etabeta11(~Etabeta1@176.207.241.56)
2024-04-08 18:39:34 +0200cayley52(~cayley5@user/phileasfogg)
2024-04-08 18:39:41 +0200fr33domlover1(~fr33domlo@towards.vision)
2024-04-08 18:39:42 +0200hc_(~hc@mail.hce.li)
2024-04-08 18:39:45 +0200henrytill_(e0180937c3@2a03:6000:1812:100::e8c)
2024-04-08 18:39:57 +0200brettgilio_(a35ba67324@2a03:6000:1812:100::260)
2024-04-08 18:39:57 +0200shreyasminocha_(51fdc93eda@user/shreyasminocha)
2024-04-08 18:39:57 +0200jakzale_(6291399afa@user/jakzale)
2024-04-08 18:39:58 +0200benjaminl_(~benjaminl@2601:1c0:8480:d580:223:24ff:fe66:4370)
2024-04-08 18:40:03 +0200sefidel_(~sefidel@user/sefidel)
2024-04-08 18:40:17 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-04-08 18:40:17 +0200chessai_(sid225296@id-225296.lymington.irccloud.com)
2024-04-08 18:40:17 +0200terrorjack0(~terrorjac@2a01:4f8:c17:87f8::)
2024-04-08 18:40:19 +0200integral_(sid296274@user/integral)
2024-04-08 18:40:23 +0200Yumemi_(~Yumemi@chamoin.net)
2024-04-08 18:40:25 +0200dispater-(~dispater@mail.brprice.uk)
2024-04-08 18:40:28 +0200conjunctive_(sid433686@id-433686.helmsley.irccloud.com)
2024-04-08 18:40:29 +0200michalz_(~michalz@185.246.207.193)
2024-04-08 18:40:34 +0200CrunchyFlakes_(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-04-08 18:40:35 +0200benkard(~mulk@p5b2dc97e.dip0.t-ipconnect.de)
2024-04-08 18:40:36 +0200dmj`_(sid72307@id-72307.hampstead.irccloud.com)
2024-04-08 18:40:39 +0200TheCoffeMaker_(~TheCoffeM@200.114.213.75)
2024-04-08 18:40:51 +0200B-J(~BenziJuni@232-148-209-31.dynamic.hringdu.is)
2024-04-08 18:40:55 +0200orcus-(~orcus@mail.brprice.uk)
2024-04-08 18:40:57 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-08 18:40:59 +0200 <Inst> in base, Kleisli, contravariant functors, function arrow
2024-04-08 18:41:23 +0200Ellenor(ellenor@invictus.wa.us.umbrellix.net)
2024-04-08 18:41:59 +0200Batzy_(~quassel@user/batzy)
2024-04-08 18:42:08 +0200zfnmxt_(~zfnmxt@107.189.30.63)
2024-04-08 18:42:09 +0200mzg_(mzg@abusers.hu)
2024-04-08 18:42:22 +0200haveo_(~weechat@pacamara.iuwt.fr)
2024-04-08 18:42:22 +0200destituion(~destituio@2a02:2121:107:22da:bbaf:a6d8:6599:5221) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200brettgilio(a35ba67324@2a03:6000:1812:100::260) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200Yumemi(~Yumemi@chamoin.net) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200henrytill(e0180937c3@2a03:6000:1812:100::e8c) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200mulk(~mulk@p5b2dc97e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200orcus(~orcus@mail.brprice.uk) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200dispater(~dispater@mail.brprice.uk) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200zfnmxt(~zfnmxt@user/zfnmxt) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200shreyasminocha(51fdc93eda@user/shreyasminocha) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200pointlessslippe1(~pointless@212.82.82.3) (Ping timeout: 268 seconds)
2024-04-08 18:42:22 +0200dmj`(sid72307@id-72307.hampstead.irccloud.com) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200integral(sid296274@user/integral) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200benjaminl(~benjaminl@user/benjaminl) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200haveo(~weechat@pacamara.iuwt.fr) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200jakzale(6291399afa@user/jakzale) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200abrar(~abrar@pool-72-78-199-167.phlapa.fios.verizon.net) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200Reinhilde(ellenor@2604:180:f2::bc) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200Benzi-Junior(~BenziJuni@232-148-209-31.dynamic.hringdu.is) (Read error: Connection reset by peer)
2024-04-08 18:42:23 +0200Batzy(~quassel@user/batzy) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200TonyStone(~TonyStone@user/TonyStone) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200michalz(~michalz@185.246.207.205) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200sefidel(~sefidel@user/sefidel) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200hc(~hc@mail.hce.li) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200mqlnv(~tripod@47.154.25.27) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200Etabeta1(~Etabeta1@user/meow/Etabeta1) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200Vajb(~Vajb@n6jbiwem1nfkemdydn4-1.v6.elisa-mobile.fi) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200chessai(sid225296@id-225296.lymington.irccloud.com) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200mzg(mzg@abusers.hu) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200fr33domlover(~fr33domlo@towards.vision) (Ping timeout: 268 seconds)
2024-04-08 18:42:23 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 268 seconds)
2024-04-08 18:42:24 +0200cayley5(~cayley5@user/phileasfogg) (Ping timeout: 268 seconds)
2024-04-08 18:42:24 +0200sam113101(~sam@24.157.253.231) (Ping timeout: 268 seconds)
2024-04-08 18:42:24 +0200dmj`_dmj`
2024-04-08 18:42:24 +0200tomboy65(~tomboy64@user/tomboy64)
2024-04-08 18:42:24 +0200TonyStone31(~TonyStone@user/TonyStone)
2024-04-08 18:42:24 +0200benkardmulk
2024-04-08 18:42:24 +0200fr33domlover1fr33domlover
2024-04-08 18:42:24 +0200integral_integral
2024-04-08 18:42:24 +0200chessai_chessai
2024-04-08 18:42:27 +0200terrorjack0terrorjack
2024-04-08 18:42:27 +0200sefidel_sefidel
2024-04-08 18:42:27 +0200Etabeta11Etabeta1
2024-04-08 18:42:27 +0200cayley52cayley5
2024-04-08 18:42:27 +0200conjunctive_conjunctive
2024-04-08 18:42:28 +0200jakzale_jakzale
2024-04-08 18:42:28 +0200sam113102sam113101
2024-04-08 18:42:35 +0200henrytill_henrytill
2024-04-08 18:42:41 +0200pointlessslippe-(~pointless@212.82.82.3)
2024-04-08 18:42:44 +0200brettgilio_brettgilio
2024-04-08 18:42:52 +0200shreyasminocha_shreyasminocha
2024-04-08 18:42:57 +0200abrar(~abrar@pool-72-78-199-167.phlapa.fios.verizon.net)
2024-04-08 18:43:02 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de)
2024-04-08 18:43:06 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-04-08 18:43:11 +0200mqlnv(~tripod@47.154.25.27)
2024-04-08 18:43:14 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com)
2024-04-08 18:46:29 +0200cyphase(~cyphase@user/cyphase)
2024-04-08 18:47:00 +0200zfnmxt_zfnmxt
2024-04-08 18:48:12 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2024-04-08 18:50:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-08 18:51:31 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-04-08 18:52:41 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.1.2)
2024-04-08 18:56:48 +0200nickiminjaj(~nickiminj@user-5-173-222-105.play-internet.pl)
2024-04-08 18:56:49 +0200nickiminjaj(~nickiminj@user-5-173-222-105.play-internet.pl) (Changing host)
2024-04-08 18:56:49 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 19:00:40 +0200gaff(~gaff@49.207.229.138)
2024-04-08 19:03:35 +0200 <gaff> For `newtype StateP s a = StateP { runStateP :: s -> (a, s) }` we have `fmap f (StateP g) = StateP $ \s -> let (a, s') = g s in (f a, s') ` How would you now reduce `fmap h (StateP $ \s -> let (a, s') = g s in (f a, s') )`?
2024-04-08 19:06:37 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2024-04-08 19:06:39 +0200nickiminjaj_(~nickiminj@188.146.120.15)
2024-04-08 19:06:39 +0200nickiminjaj_(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 19:06:39 +0200nickiminjaj_(~nickiminj@user/laxhh)
2024-04-08 19:06:50 +0200euleritian(~euleritia@dynamic-176-006-178-051.176.6.pool.telefonica.de)
2024-04-08 19:07:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-08 19:07:49 +0200 <gaff> Appreciate any help.
2024-04-08 19:08:16 +0200nickiminjaj(~nickiminj@user/laxhh) (Ping timeout: 255 seconds)
2024-04-08 19:08:32 +0200n8n(n8n@user/n8n) (Quit: WeeChat 4.2.1)
2024-04-08 19:09:06 +0200zetef(~quassel@5.2.182.99) (Remote host closed the connection)
2024-04-08 19:09:35 +0200yeitrafferin(~user@2a04:4540:720b:ad00:4e6c:5428:51b2:1598) (Quit: Leaving)
2024-04-08 19:11:30 +0200nickiminjaj_(~nickiminj@user/laxhh) (Client Quit)
2024-04-08 19:13:12 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 19:13:44 +0200 <ncf> is that fmap (h . f) (StateP g) ?
2024-04-08 19:14:35 +0200 <ncf> the equation tells you how to reduce it, but you might need to alpha-rename a few things to make sense of it
2024-04-08 19:14:54 +0200 <gaff> ncf: yes, indeed. I am just try to verify the equivalence.
2024-04-08 19:15:26 +0200 <ski> fmap h (StateP \s -> let (a,s') = g s in (f a,s'))
2024-04-08 19:15:31 +0200nickiminjaj(~nickiminj@user/laxhh) (Client Quit)
2024-04-08 19:15:32 +0200tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-04-08 19:15:41 +0200 <ski> = fmap h (StateP \s -> let (b,s'') = g s in (f b,s''))
2024-04-08 19:15:49 +0200 <gaff> i am tying to check if fmap (h . f) = fmap h . fmap f for this functor.
2024-04-08 19:16:03 +0200 <mauke> isn't that free?
2024-04-08 19:16:04 +0200tri(~tri@ool-18bbef1a.static.optonline.net)
2024-04-08 19:16:18 +0200 <ski> = StateP \s -> let (b,s'') = (\s -> let (a,s') = g s in (f a,s')) s in (h b, s'')
2024-04-08 19:16:34 +0200 <ski> = StateP \s -> let (b,s'') = let (a,s') = g s in (f a,s') in (h b,s'')
2024-04-08 19:16:52 +0200 <ski> = StateP \s -> let (a,s') = g s; (b,s'') = (f a,s') in (h b,s'')
2024-04-08 19:17:06 +0200 <ski> = StateP \s -> let (a,s') = g s; b = f a; s'' = s' in (h b,s'')
2024-04-08 19:17:21 +0200 <ski> = StateP \s -> let (a,s') = g s in (h (f a),s')
2024-04-08 19:17:31 +0200 <ski> = StateP \s -> let (a,s') = g s in ((h . f) a,s')
2024-04-08 19:17:42 +0200 <ski> = fmap (h . f) (StateP g)
2024-04-08 19:17:51 +0200 <mauke> nice
2024-04-08 19:18:02 +0200 <c_wraith> mauke: you're right. it's free as long as you have fmap id x === x
2024-04-08 19:18:05 +0200 <gaff> ski: thank you, that indeed is a nice proof.
2024-04-08 19:18:30 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 19:19:30 +0200igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.1)
2024-04-08 19:21:46 +0200nickiminjaj(~nickiminj@user/laxhh) (Client Quit)
2024-04-08 19:23:36 +0200mud(~mud@user/kadoban)
2024-04-08 19:26:19 +0200target_i(~target_i@user/target-i/x-6023099)
2024-04-08 19:29:59 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 19:29:59 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 19:29:59 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 19:33:32 +0200nickiminjaj(~nickiminj@user/laxhh) (Client Quit)
2024-04-08 19:33:58 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-04-08 19:37:22 +0200gaff(~gaff@49.207.229.138) ()
2024-04-08 19:39:19 +0200byte(~byte@149.28.222.189) (Ping timeout: 268 seconds)
2024-04-08 19:39:38 +0200byte(~byte@149.28.222.189)
2024-04-08 19:40:44 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-08 19:41:18 +0200mei(~mei@user/mei)
2024-04-08 20:02:31 +0200puke(~puke@user/puke) (Quit: puke)
2024-04-08 20:05:29 +0200puke(~puke@user/puke)
2024-04-08 20:05:51 +0200puke(~puke@user/puke) (Max SendQ exceeded)
2024-04-08 20:07:07 +0200puke(~puke@user/puke)
2024-04-08 20:19:28 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-04-08 20:23:48 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-04-08 20:26:18 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2024-04-08 20:28:08 +0200docrdoac^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-04-08 20:40:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-08 20:42:37 +0200vnogueira_(~vnogueira@user/vnogueira) (Remote host closed the connection)
2024-04-08 20:43:48 +0200vnogueira(~vnogueira@user/vnogueira)
2024-04-08 20:48:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-08 20:55:19 +0200tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-04-08 20:55:54 +0200tri(~tri@ool-18bbef1a.static.optonline.net)
2024-04-08 21:02:21 +0200 <Inst> did you know that Javascript effectively has where clauses?
2024-04-08 21:02:57 +0200 <Inst> arguing with Julians as to why they need a where macro, and am now reading on their metaprogramming ability to stuff it in
2024-04-08 21:03:21 +0200 <Inst> but JS has where clauses by setting up a where comment, then defining a bunch of functions to hoist
2024-04-08 21:03:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-08 21:04:05 +0200 <Inst> JS also has true immutable data, courtesy the "variables are 0-arity functions" of Paul Hudak
2024-04-08 21:04:36 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
2024-04-08 21:04:38 +0200 <Inst> the keyword isn't const, it's function ;)
2024-04-08 21:04:55 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-08 21:05:24 +0200 <Inst> actually, it doesn't, ugh
2024-04-08 21:07:59 +0200 <dolio> What's the where clause in JS?
2024-04-08 21:11:24 +0200y04nn(~username@2a03:1b20:8:f011::e10d)
2024-04-08 21:11:50 +0200 <Inst> hoisted functions
2024-04-08 21:12:01 +0200 <Inst> just comment where to pretend it's Haskell
2024-04-08 21:12:04 +0200 <Inst> then hoist away!
2024-04-08 21:12:23 +0200 <Inst> julia doesn't get this, and tbh idg why lispers act confused when you tell them about where clauses
2024-04-08 21:21:57 +0200 <sm> what's the big deal about where clauses Inst ?
2024-04-08 21:22:24 +0200 <sm> asking for a friend!
2024-04-08 21:22:46 +0200 <Inst> allows more declarative presentation of code, i.e, separate specification from implementation
2024-04-08 21:23:45 +0200 <sm> how are they significantly different from what you can do in other languages, eg multiple top level var/function definitions, or local definitions within functions ?
2024-04-08 21:23:58 +0200 <Inst> I mean the priority matters
2024-04-08 21:24:12 +0200 <Inst> I've been trying to get the line override method in Julia, it seems as though they don't have one
2024-04-08 21:24:22 +0200 <Inst> the only way around it is to use operators at the end of the line
2024-04-08 21:24:37 +0200 <Inst> vs start of the line in Haskell, and the Julian method is not only ugly, it makes it easier to not see the operator correctly
2024-04-08 21:24:42 +0200 <sm> I don't understand what's so special about where
2024-04-08 21:25:10 +0200 <c_wraith> This all sounds like the equivalent between let and lambda.
2024-04-08 21:25:36 +0200 <Inst> in Excel or Lisp?
2024-04-08 21:25:52 +0200 <c_wraith> (if you ignore HM explicitly treating them differently in terms of type generalization)
2024-04-08 21:26:53 +0200 <Inst> i fell in love with haskell not because it was functional, but because it was declarative and code was comprehensible, whereas it felt to me like imperative code was gobbledygook, but that was more reflective of my maturity level at the time
2024-04-08 21:27:12 +0200qqq(~qqq@92.43.167.61) (Ping timeout: 268 seconds)
2024-04-08 21:27:58 +0200 <c_wraith> I don't treat Haskell as a declarative language. I depend on operational semantics allowing me to ensure performance properties. This does sort of tie me to GHC, but I can live with that.
2024-04-08 21:28:11 +0200 <Inst> but i mean it matters that you read the specification first, not the implementation, and it's nice to be able to write a specification of your function / procedure before you go and implement it, it encourages top-down design
2024-04-08 21:28:46 +0200qqq(~qqq@92.43.167.73)
2024-04-08 21:28:59 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-04-08 21:29:03 +0200 <c_wraith> that's... types.
2024-04-08 21:29:58 +0200 <c_wraith> I do like Haskell's type system. It allows you to say a lot in a way that's both precise and concise.
2024-04-08 21:30:08 +0200 <c_wraith> And even checked by the compiler!
2024-04-08 21:30:30 +0200euleritian(~euleritia@dynamic-176-006-178-051.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-08 21:30:47 +0200euleritian(~euleritia@77.22.252.56)
2024-04-08 21:30:50 +0200 <Inst> i'm curious, a serious complaint about Haskell's types is that they're not easily extensible, which is a plus for correctness, but a minus for extensibility
2024-04-08 21:31:04 +0200 <Inst> (regarding types vs where, they both serve the same goal, no?)
2024-04-08 21:31:13 +0200 <Inst> how do you deal with that?
2024-04-08 21:31:42 +0200AlexNoo_(~AlexNoo@178.34.160.182)
2024-04-08 21:32:00 +0200 <c_wraith> functions.
2024-04-08 21:32:10 +0200Square(~Square4@user/square) (Ping timeout: 256 seconds)
2024-04-08 21:32:22 +0200 <c_wraith> I mean, that's a bit glib, and a reference to that one meme... but it's also true.
2024-04-08 21:32:30 +0200Square2(~Square@user/square)
2024-04-08 21:32:45 +0200 <c_wraith> I pass around functions for doing things. You want to change the behavior, use a different function.
2024-04-08 21:33:54 +0200 <c_wraith> It only works if you can foresee extension points, but that's the same as everything else.
2024-04-08 21:34:47 +0200 <Inst> custom HOF? or record of functions?
2024-04-08 21:35:13 +0200AlexZenon(~alzenon@94.233.240.255) (Ping timeout: 268 seconds)
2024-04-08 21:35:27 +0200AlexNoo(~AlexNoo@94.233.240.255) (Ping timeout: 260 seconds)
2024-04-08 21:35:29 +0200 <c_wraith> I've been working with commonmark for doing markdown -> html conversions recently. I wanted to add syntax highlighting to its code block conversions, and it was annoyingly awkward because commonmark uses a class.
2024-04-08 21:36:00 +0200 <c_wraith> I had to define a new data type wrapping the existing one that *almost* did what I want, and add trivial wrappers for all of the generation stuff except code blocks.
2024-04-08 21:36:08 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 21:36:08 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 21:36:08 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 21:36:22 +0200 <c_wraith> If it was just a record of functions, it would have been a trivial change.
2024-04-08 21:36:51 +0200 <c_wraith> Instead there was a big pile of hoops to jump through because someone thought that just because classes exist, they should be used.
2024-04-08 21:37:35 +0200nickiminjaj_(~nickiminj@user-5-173-222-109.play-internet.pl)
2024-04-08 21:37:35 +0200nickiminjaj_(~nickiminj@user-5-173-222-109.play-internet.pl) (Changing host)
2024-04-08 21:37:35 +0200nickiminjaj_(~nickiminj@user/laxhh)
2024-04-08 21:37:37 +0200 <sm> a too-rigid implementation
2024-04-08 21:37:40 +0200AlexNoo_AlexNoo
2024-04-08 21:37:47 +0200qqq(~qqq@92.43.167.73) (Ping timeout: 264 seconds)
2024-04-08 21:38:42 +0200qqq(~qqq@92.43.167.61)
2024-04-08 21:39:05 +0200 <dolio> I'm not sure there are any declarative languages, really.
2024-04-08 21:39:25 +0200 <dolio> At least, not for operational stuff.
2024-04-08 21:39:27 +0200 <c_wraith> SQL when you aren't give the ability to make hints for the query planner?
2024-04-08 21:39:54 +0200 <dolio> No, SQL is a lie in that respect.
2024-04-08 21:40:39 +0200 <dolio> In practice you need to worry about the query plans, and changing your 'declarative' query in various ways probably will affect the query plan.
2024-04-08 21:41:00 +0200AlexZenon(~alzenon@178.34.160.182)
2024-04-08 21:41:01 +0200 <c_wraith> sure, but those changes are voodoo. :)
2024-04-08 21:41:11 +0200 <dolio> Yeah, that makes it bad. :)
2024-04-08 21:41:31 +0200nickiminjaj(~nickiminj@user/laxhh) (Ping timeout: 260 seconds)
2024-04-08 21:41:39 +0200 <c_wraith> in general, I do think declarative <-> operational is an axis. And for anything where you care about performance, you need to be towards the operational end.
2024-04-08 21:42:14 +0200 <dolio> Layout of a GUI or something can probably be declarative.
2024-04-08 21:43:08 +0200 <c_wraith> hopefully the layout is something that can be run relatively rarely :)
2024-04-08 21:43:56 +0200 <geekosaur> window resizes, mostly
2024-04-08 21:45:06 +0200 <geekosaur> that said, I think declarative UI libs read the declarative layout and convert it to an operational layout based on the specific UI they're written for
2024-04-08 21:55:07 +0200philopsos(~caecilius@user/philopsos)
2024-04-08 22:00:54 +0200masterbuilder(~quassel@user/masterbuilder)
2024-04-08 22:02:08 +0200 <Inst> also tbh c_wraith: part of the point of where clauses is that traditionally, where clauses are type-inferred ;)
2024-04-08 22:06:52 +0200TheCoffeMaker_(~TheCoffeM@200.114.213.75) (Read error: Connection reset by peer)
2024-04-08 22:07:02 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2024-04-08 22:09:36 +0200ft(~ft@p4fc2a20e.dip0.t-ipconnect.de)
2024-04-08 22:14:27 +0200Square(~Square4@user/square)
2024-04-08 22:17:07 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-04-08 22:17:27 +0200Square2(~Square@user/square) (Ping timeout: 260 seconds)
2024-04-08 22:17:50 +0200euphores(~SASL_euph@user/euphores)
2024-04-08 22:17:56 +0200euphores(~SASL_euph@user/euphores) (Client Quit)
2024-04-08 22:18:17 +0200 <c_wraith> if you mean let-generalization, that's an intentional choice in the Hindley-Milner algorithm, not a fundamental truth.
2024-04-08 22:26:13 +0200Inst(~Inst@user/Inst) (Read error: Connection reset by peer)
2024-04-08 22:26:22 +0200Inst(~Inst@user/Inst)
2024-04-08 22:28:40 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-04-08 22:30:54 +0200euphores(~SASL_euph@user/euphores)
2024-04-08 22:36:52 +0200alexherbo2(~alexherbo@2a02-8440-3141-1d70-d510-781c-6cfb-b61d.rev.sfr.net) (Remote host closed the connection)
2024-04-08 22:38:50 +0200tititest(~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Quit: Leaving.)
2024-04-08 22:43:44 +0200akegalj(~akegalj@141-136-147-171.dsl.iskon.hr) (Quit: leaving)
2024-04-08 22:46:33 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 272 seconds)
2024-04-08 22:52:55 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-04-08 22:58:22 +0200julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752)
2024-04-08 23:01:22 +0200Eoco(~ian@128.101.131.218) (Ping timeout: 255 seconds)
2024-04-08 23:06:14 +0200Eoco(~ian@128.101.131.218)
2024-04-08 23:10:55 +0200robbert-vdh(~robbert@robbertvanderhelm.nl) (Quit: WeeChat 3.4)
2024-04-08 23:12:55 +0200 <Inst> c_wraith: i mean, traditionally, people drop off the type signatures in where clauses :)
2024-04-08 23:13:52 +0200qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2024-04-08 23:14:18 +0200Eoco(~ian@128.101.131.218) (Remote host closed the connection)
2024-04-08 23:14:47 +0200skioften includes them, for non-trivial local functions
2024-04-08 23:15:13 +0200benjaminl_(~benjaminl@2601:1c0:8480:d580:223:24ff:fe66:4370) (Remote host closed the connection)
2024-04-08 23:15:29 +0200benjaminl(~benjaminl@user/benjaminl)
2024-04-08 23:16:00 +0200Eoco(~ian@128.101.131.218)
2024-04-08 23:16:08 +0200 <geekosaur> I got over that (omitting type signatures in `let`/`where`) because it made debugging unexpected type mismatches painful
2024-04-08 23:18:44 +0200 <c_wraith> a lot of times types in nested definitions aren't expressible without ScopedTypeVariables
2024-04-08 23:20:14 +0200 <c_wraith> that cured me of trying to put unnecessary types on local definitions.
2024-04-08 23:20:47 +0200 <geekosaur> tbh I've rarely run into that
2024-04-08 23:22:09 +0200Nixkernal(~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch)
2024-04-08 23:23:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-08 23:23:45 +0200Eoco(~ian@128.101.131.218) (Remote host closed the connection)
2024-04-08 23:24:26 +0200Eoco(~ian@128.101.131.218)
2024-04-08 23:28:21 +0200julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
2024-04-08 23:31:15 +0200michalz_(~michalz@185.246.207.193) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-08 23:31:15 +0200nickiminjaj_(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-04-08 23:31:25 +0200stratl(~user@p200300f91701bc00227df96d735a3a19.dip0.t-ipconnect.de)
2024-04-08 23:32:57 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-04-08 23:33:08 +0200finsternis(~X@23.226.237.192)
2024-04-08 23:33:33 +0200Eoco(~ian@128.101.131.218) (Remote host closed the connection)
2024-04-08 23:34:09 +0200Eoco(~ian@128.101.131.218)
2024-04-08 23:35:41 +0200stratl(~user@p200300f91701bc00227df96d735a3a19.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2024-04-08 23:35:53 +0200julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752)
2024-04-08 23:37:53 +0200quintasan(~quassel@quintasan.pl)
2024-04-08 23:38:44 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-04-08 23:39:35 +0200sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net)
2024-04-08 23:43:27 +0200Eoco(~ian@128.101.131.218) (Remote host closed the connection)
2024-04-08 23:44:48 +0200nickiminjaj(~nickiminj@188.146.120.15)
2024-04-08 23:44:49 +0200nickiminjaj(~nickiminj@188.146.120.15) (Changing host)
2024-04-08 23:44:49 +0200nickiminjaj(~nickiminj@user/laxhh)
2024-04-08 23:44:52 +0200haskellbridge<s​m> uses type sigs for anything non trivial
2024-04-08 23:49:52 +0200Eoco(~ian@128.101.131.218)
2024-04-08 23:56:52 +0200nickiminjaj(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-04-08 23:59:51 +0200Eoco(~ian@128.101.131.218) (Remote host closed the connection)