2022/10/07

2022-10-07 00:02:47 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-07 00:03:51 +0200nate1(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-07 00:08:00 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 258 seconds)
2022-10-07 00:10:27 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-10-07 00:12:01 +0200inversed(~inversed@90.209.137.56) (Ping timeout: 260 seconds)
2022-10-07 00:16:44 +0200inversed(~inversed@90.209.137.56)
2022-10-07 00:17:20 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 265 seconds)
2022-10-07 00:18:11 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 00:18:27 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30::1c) (Quit: caryhartline)
2022-10-07 00:19:48 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 00:20:14 +0200kdaishi(~Thunderbi@94.191.152.1.mobile.tre.se) (Ping timeout: 265 seconds)
2022-10-07 00:24:19 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2022-10-07 00:28:11 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 00:29:55 +0200cyphase(~cyphase@user/cyphase)
2022-10-07 00:31:06 +0200titibandit(~titibandi@xdsl-89-0-65-2.nc.de) (Ping timeout: 268 seconds)
2022-10-07 00:32:28 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30::1c)
2022-10-07 00:33:01 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Ping timeout: 260 seconds)
2022-10-07 00:33:20 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 00:33:32 +0200zns(~zns@user/zns)
2022-10-07 00:35:58 +0200Tuplanolla(~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.)
2022-10-07 00:36:54 +0200heinz9(~trace@user/trace) (Remote host closed the connection)
2022-10-07 00:42:04 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 00:42:14 +0200zns(~zns@user/zns)
2022-10-07 00:42:24 +0200 <qrpnxz> hmmm, it's difficult to find a way to take advantage of build
2022-10-07 00:44:05 +0200 <geekosaur> it is? I thought pretty much any list "pipeline" that ended with a fold did so
2022-10-07 00:44:23 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-07 00:44:49 +0200 <dminuoso> It's as simple as `foldr (+) 0` *shrugs*
2022-10-07 00:46:06 +0200zns(~zns@user/zns) (Client Quit)
2022-10-07 00:46:07 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-07 00:46:16 +0200zns(~zns@user/zns)
2022-10-07 00:49:15 +0200xff0x(~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 252 seconds)
2022-10-07 00:54:12 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-10-07 00:55:50 +0200Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de) (Quit: Client closed)
2022-10-07 00:56:37 +0200Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de)
2022-10-07 00:58:44 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-10-07 00:59:14 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-07 01:00:19 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 01:01:59 +0200 <Guest86> The IntMap docs say the runtime of lookup or insert is min(n,W), n = number of entries in the map, W = number of bits in an Int (32 or 64).
2022-10-07 01:01:59 +0200 <Guest86> Because it's min(n,32) and 32 is a constant lookup/insert is always constant time, not log n in an Intmap?
2022-10-07 01:02:15 +0200xff0x(~xff0x@ai071162.d.east.v6connect.net)
2022-10-07 01:02:56 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 01:03:22 +0200 <Guest86> So there would never be a reason to use a hasmap if my keys are Ints?
2022-10-07 01:06:09 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds)
2022-10-07 01:07:29 +0200 <mixphix> you're probably better off using an IntMap if that's the case, its algorithms work by (ab)using the compile-time guarantee that the keys are encoded in a certain way
2022-10-07 01:07:51 +0200 <mixphix> for better performance
2022-10-07 01:08:17 +0200 <dminuoso> Which "certain way encoding" is that?
2022-10-07 01:08:37 +0200 <mixphix> the fact that they're Ints allow you to bit-twiddle safely
2022-10-07 01:09:03 +0200 <dminuoso> Mmm, abuse is not the term that comes to mind here.
2022-10-07 01:09:58 +0200catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
2022-10-07 01:10:02 +0200 <mixphix> "abuse" is a strong word, perhaps i should have said "exploiting"
2022-10-07 01:10:14 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-07 01:10:32 +0200 <dminuoso> "highly efficient implementation" sounds more positive. :)
2022-10-07 01:10:36 +0200 <mixphix> :)
2022-10-07 01:11:18 +0200Igloo(~ian@matrix.chaos.earth.li) (Quit: BIAB)
2022-10-07 01:11:39 +0200 <dminuoso> I use a recursive IntMap to have a kind of [Int] indexed tree, its really fun.
2022-10-07 01:11:55 +0200 <dminuoso> Performs incredibly well for lookup
2022-10-07 01:12:01 +0200 <dminuoso> Not quite so much for deep insertions
2022-10-07 01:13:36 +0200 <mixphix> interesting that you mention that, i recently wrote a small library for list-indexed maps, though recursion is an area i haven't tackled in it
2022-10-07 01:13:47 +0200nate1(~nate@98.45.169.16)
2022-10-07 01:14:39 +0200 <mixphix> <https://github.com/mixphix/deep-map>
2022-10-07 01:14:41 +0200 <dminuoso> data IntTree a = INode a (IM.IntMap (IntTree a))
2022-10-07 01:15:44 +0200 <dminuoso> Luckily I dont care about deep updates much, since my tree is very flat and construction happens once, and I dont mind a few milliseconds extra.
2022-10-07 01:15:58 +0200 <dminuoso> It's a long running server. :)
2022-10-07 01:18:04 +0200Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se)
2022-10-07 01:18:05 +0200 <mixphix> i wrote the above to help with aggregation statistics, and allowing for different types of keys in the same structure
2022-10-07 01:18:35 +0200nate1(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-10-07 01:20:51 +0200 <dminuoso> It's neat
2022-10-07 01:21:13 +0200mvk(~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 246 seconds)
2022-10-07 01:22:18 +0200Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 01:25:09 +0200 <Guest86> dminuoso: Since maxBound :: Int is huge every node of your tree can have billions of children? Or am I misunderstanding your data type?
2022-10-07 01:25:28 +0200 <EvanR> "complexity" = min(n,W) where W is 32 or 64, so this thing is less efficient on a 64bit computer!
2022-10-07 01:25:54 +0200 <EvanR> switching to 16 bit for 4x boost
2022-10-07 01:26:44 +0200 <Guest86> EvanR: Do these constants really make a difference?
2022-10-07 01:27:08 +0200 <EvanR> we do have benchmark games involving various languages and haskell trying to compete with IntMap
2022-10-07 01:27:22 +0200 <EvanR> afair it's pretty good
2022-10-07 01:29:24 +0200Igloo(~ian@matrix.chaos.earth.li)
2022-10-07 01:29:25 +0200 <EvanR> at least the constant time complexity can be used for bragging when clojure shows up with their fancy map type
2022-10-07 01:29:41 +0200son0p(~ff@181.136.122.143) (Ping timeout: 268 seconds)
2022-10-07 01:32:07 +0200 <Guest86> Is this real constant time lookup? The IntMap docs don't mention "amortized".
2022-10-07 01:33:15 +0200 <Guest86> Either way seems like a very impressive data structure.
2022-10-07 01:34:12 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2022-10-07 01:34:58 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-07 01:38:09 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-10-07 01:42:46 +0200jakalx(~jakalx@base.jakalx.net)
2022-10-07 01:43:38 +0200 <dminuoso> Guest86: No its not constant.
2022-10-07 01:43:51 +0200rockystone(~rocky@user/rockymarine) (Ping timeout: 265 seconds)
2022-10-07 01:47:10 +0200 <dminuoso> But yeah, Okaski strikes again.
2022-10-07 01:47:16 +0200 <dminuoso> *Okasaki
2022-10-07 01:50:23 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 01:53:03 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-10-07 01:54:11 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-10-07 01:55:27 +0200 <probie> EvanR: Going 16-bit won't help much. The Haskell report wants a minimum of 30 bits for an Int https://www.haskell.org/onlinereport/haskell2010/haskellch6.html#dx13-135001
2022-10-07 01:56:11 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 01:57:19 +0200 <hpc> just make your ints -1 bits wide
2022-10-07 02:00:26 +0200 <dminuoso> probie: So? GHC already violates the Haskell report in a few places for convenience.
2022-10-07 02:00:34 +0200 <dminuoso> I second hpc's suggestion.
2022-10-07 02:01:02 +0200 <dminuoso> With negative bits, you get faster-than-light access, which means you can access values not-yet-inserted into the map.
2022-10-07 02:01:51 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 02:02:08 +0200 <Clinton[m]> Using `OverloadedRecordDot`, is there a way I can only import a field say `x` as only a field, so `a.x` works but `x a` fails to compile?
2022-10-07 02:02:09 +0200 <Clinton[m]> I'd like to be able to say `x = a.x` without warnings about name shadowing.
2022-10-07 02:02:27 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-10-07 02:03:43 +0200 <hpc> dminuoso: and -1 is larger than 30 because you can't have negatively sized ints, so it's perfectly standards compliant!
2022-10-07 02:05:24 +0200califax(~califax@user/califx)
2022-10-07 02:06:33 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 02:08:09 +0200 <geekosaur> Clinton[m], perhaps you want NoFieldSelectors?
2022-10-07 02:08:51 +0200 <geekosaur> otherwise, not that I'm aware of (but in `x a` `x` is a function, so perhaps `hiding (x)` would work)
2022-10-07 02:09:51 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 02:10:12 +0200Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de) (Quit: Client closed)
2022-10-07 02:11:09 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 02:13:40 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Remote host closed the connection)
2022-10-07 02:13:59 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-07 02:14:31 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-10-07 02:15:21 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-10-07 02:15:34 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-10-07 02:17:06 +0200 <qrpnxz> geekosaur: the stream fusion type works as a state machine. In order to convert a `build` construction which is a function of the form `forall b. (a -> b -> b) -> b -> b` into a state and stepper function pair, i don't see a natural/beneficial way to do that that is not just building an actual list and consuming it. However, this is not totally terrible or game over, since the constructor
2022-10-07 02:17:09 +0200 <qrpnxz> specialization and inlining optimizations that stream fusion relies on are still very much applicable in this case.
2022-10-07 02:18:36 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-10-07 02:18:41 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 02:18:48 +0200 <Clinton[m]> geekosaur: ah, I found that just `import qualified M ()` instead of `import M(x)` does the trick. `import qualified M ()` imports the typeclass instance that gives me the record selector syntax with `x` without bringing `x` as a function into scope.
2022-10-07 02:19:05 +0200 <qrpnxz> (so i don't see a pithy rewrite rules for (streamList (build g)) but regular stream fusion optimizations still apply)
2022-10-07 02:19:40 +0200Franciman(~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer)
2022-10-07 02:19:56 +0200Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de)
2022-10-07 02:20:03 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-10-07 02:22:52 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-07 02:22:52 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-10-07 02:22:52 +0200wroathe(~wroathe@user/wroathe)
2022-10-07 02:22:59 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 248 seconds)
2022-10-07 02:26:38 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-10-07 02:26:53 +0200gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 02:31:03 +0200 <dminuoso> hpc: But its also also smaller than 1, so it's going to be incredibly space efficient since it can't have any elements inside.
2022-10-07 02:31:17 +0200 <dminuoso> Combined with the time-traveling lookup, it's a great boon.
2022-10-07 02:33:49 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
2022-10-07 02:35:01 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001)
2022-10-07 02:37:03 +0200stackdroid18(~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-10-07 02:39:40 +0200causal(~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e)
2022-10-07 02:40:43 +0200 <Guest86> dminuoso: Why is it not constant? O(min(n,W)) looks like O(sizeOfMap) or O(32) = O(1), whatever is smaller.
2022-10-07 02:41:41 +0200 <dminuoso> Guest86: Do you see that n in there?
2022-10-07 02:41:48 +0200 <dminuoso> That is just not constant.
2022-10-07 02:42:09 +0200 <dminuoso> For a while its linear, then it becomes constant
2022-10-07 02:42:24 +0200 <dminuoso> But overall that is not constant
2022-10-07 02:42:46 +0200 <EvanR> in the spirit of dropping details like O does... I'm confused xD
2022-10-07 02:43:20 +0200 <geekosaur> also this is not C; n is 64 on pretty much every platform these days
2022-10-07 02:44:00 +0200 <Guest86> Ok, I read min(n,W) as the math function min{n,W}: take n or W, whatever is the smaller value. And since W is a constant n is only chosen if it's a smaller constant than 64.
2022-10-07 02:44:08 +0200 <EvanR> so basically it's faster if you have less than 64 elements
2022-10-07 02:44:55 +0200Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 02:47:09 +0200 <[Leary]> Anything that eventually becomes constant really is O(1) though; big-O is the wrong tool for conveying non-asymptotic behaviour.
2022-10-07 02:49:45 +0200 <dminuoso> [Leary]: Mmm you have a fair point.
2022-10-07 02:50:15 +0200motherfsck(~motherfsc@user/motherfsck)
2022-10-07 02:50:17 +0200 <dminuoso> geekosaur: You meant *W is 64 on pretty much every platform.
2022-10-07 02:50:29 +0200 <dminuoso> Not that confusing W with n is going to have a difference here.
2022-10-07 02:50:47 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
2022-10-07 02:51:07 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-10-07 02:57:50 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
2022-10-07 02:58:51 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 03:01:13 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-10-07 03:01:44 +0200__xor(~xor@74.215.182.83)
2022-10-07 03:02:07 +0200__xor(~xor@74.215.182.83) (Client Quit)
2022-10-07 03:08:42 +0200gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 03:08:42 +0200gqplox(~textual@97e654ef.skybroadband.com) (Client Quit)
2022-10-07 03:10:36 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
2022-10-07 03:10:55 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-10-07 03:11:11 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-10-07 03:11:39 +0200talismanick(~talismani@2601:200:c100:c9e0::24ac) (Remote host closed the connection)
2022-10-07 03:11:59 +0200talismanick(~talismani@2601:200:c100:c9e0::24ac)
2022-10-07 03:14:31 +0200Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se)
2022-10-07 03:17:02 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-10-07 03:18:43 +0200Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 03:20:41 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-10-07 03:22:47 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 03:23:43 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 246 seconds)
2022-10-07 03:24:10 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2022-10-07 03:27:46 +0200xff0x(~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 265 seconds)
2022-10-07 03:28:36 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 260 seconds)
2022-10-07 03:29:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
2022-10-07 03:30:40 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 265 seconds)
2022-10-07 03:31:01 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 03:31:10 +0200zebrag(~chris@user/zebrag)
2022-10-07 03:33:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 03:34:27 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2022-10-07 03:35:25 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Ping timeout: 250 seconds)
2022-10-07 03:36:40 +0200 <justsomeguy> I just ran :info Array in ghci, and the first line is type role Array nominal representational ...what does that mean?
2022-10-07 03:39:49 +0200 <justsomeguy> Oh boy... I just found the haskellwiki page on roles ... I give up already.
2022-10-07 03:40:18 +0200bastelfreak(bastelfrea@libera/staff/VoxPupuli.bastelfreak) (Ping timeout: 600 seconds)
2022-10-07 03:40:36 +0200 <[Leary]> justsomeguy: It just means you have `Coercible b b' => Coercible (Array a b) (Array a b')`.
2022-10-07 03:41:33 +0200son0p(~ff@181.136.122.143)
2022-10-07 03:43:12 +0200 <[Leary]> The wiki page makes it look more complicated than it is; the Data.Coercible haddocks are straightforward.
2022-10-07 03:45:42 +0200justsomeguylooks up Coercible on Hoogle.
2022-10-07 03:52:25 +0200rockystone(~rocky@user/rockymarine) (Ping timeout: 265 seconds)
2022-10-07 03:53:43 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-07 03:53:57 +0200sayola(~sayola@dslb-088-064-186-217.088.064.pools.vodafone-ip.de)
2022-10-07 03:54:08 +0200ddellacosta(~ddellacos@static-198-44-136-116.cust.tzulo.com)
2022-10-07 03:55:06 +0200 <EvanR> translating coercibility through Array is giving me flashbacks to subtyping variance annotations
2022-10-07 03:55:16 +0200 <EvanR> probably not related
2022-10-07 04:02:34 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-10-07 04:05:13 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 04:06:19 +0200td_(~td@muedsl-82-207-238-011.citykom.de) (Ping timeout: 268 seconds)
2022-10-07 04:07:50 +0200td_(~td@94.134.91.210)
2022-10-07 04:08:53 +0200smol-hors(sid524992@smol/hors) ()
2022-10-07 04:12:56 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-10-07 04:14:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 04:21:11 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2022-10-07 04:22:33 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-07 04:22:33 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-10-07 04:22:34 +0200wroathe(~wroathe@user/wroathe)
2022-10-07 04:24:36 +0200notzmv(~zmv@user/notzmv)
2022-10-07 04:24:53 +0200jargon(~jargon@184.101.208.112)
2022-10-07 04:28:47 +0200dsrt^(~dsrt@c-76-17-6-165.hsd1.ga.comcast.net)
2022-10-07 04:29:44 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Remote host closed the connection)
2022-10-07 04:30:48 +0200frost(~frost@user/frost)
2022-10-07 04:31:27 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2022-10-07 04:31:46 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Client Quit)
2022-10-07 04:34:35 +0200nightbreak(~nightbrea@2600:4040:5416:c000:cc34:1caf:2efd:2193)
2022-10-07 04:37:54 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-10-07 04:37:54 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 04:38:01 +0200nightbreak[Away](~nightbrea@2600:4040:5416:c000:89ef:7927:9e8f:36c6) (Ping timeout: 260 seconds)
2022-10-07 04:38:38 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
2022-10-07 04:38:52 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2022-10-07 04:39:11 +0200motherfsck(~motherfsc@user/motherfsck)
2022-10-07 04:39:47 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds)
2022-10-07 04:44:28 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-10-07 04:44:33 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-10-07 04:46:18 +0200nate1(~nate@98.45.169.16)
2022-10-07 04:50:54 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
2022-10-07 04:53:47 +0200Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se)
2022-10-07 04:55:21 +0200k8yun(~k8yun@user/k8yun)
2022-10-07 04:57:22 +0200Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 05:03:28 +0200td_(~td@94.134.91.210) (Ping timeout: 265 seconds)
2022-10-07 05:04:51 +0200td_(~td@muedsl-82-207-238-163.citykom.de)
2022-10-07 05:06:40 +0200motherfsck(~motherfsc@user/motherfsck)
2022-10-07 05:08:47 +0200ddellacosta(~ddellacos@static-198-44-136-116.cust.tzulo.com) (Ping timeout: 265 seconds)
2022-10-07 05:09:22 +0200Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de) (Quit: Client closed)
2022-10-07 05:10:50 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 05:11:34 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 05:13:38 +0200smol-hors(sid524992@smol/hors)
2022-10-07 05:14:46 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 05:16:58 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 05:17:43 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 05:20:35 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 05:26:40 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 265 seconds)
2022-10-07 05:26:44 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-10-07 05:26:49 +0200dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2022-10-07 05:27:09 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 05:27:18 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-10-07 05:27:40 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 05:28:57 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 05:29:05 +0200nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-10-07 05:29:06 +0200k8yun(~k8yun@user/k8yun) (Quit: Leaving)
2022-10-07 05:29:23 +0200vglfr(~vglfr@145.224.100.190) (Ping timeout: 252 seconds)
2022-10-07 05:35:37 +0200mvk(~mvk@2607:fea8:5ce3:8500::778c)
2022-10-07 05:36:52 +0200mbuf(~Shakthi@49.204.120.232)
2022-10-07 05:37:45 +0200_xor(~xor@74.215.182.83) (Quit: WeeChat 3.6)
2022-10-07 05:37:47 +0200Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de)
2022-10-07 05:39:07 +0200Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de) (Client Quit)
2022-10-07 05:41:24 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 05:42:09 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30::1c) (Quit: caryhartline)
2022-10-07 05:43:54 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-10-07 05:45:26 +0200Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-10-07 05:45:28 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 05:45:36 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-10-07 05:50:30 +0200_xor(~xor@74.215.182.83)
2022-10-07 05:53:47 +0200Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-10-07 05:54:06 +0200vglfr(~vglfr@145.224.100.100)
2022-10-07 05:54:43 +0200Vajb(~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
2022-10-07 05:57:49 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 06:04:56 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 260 seconds)
2022-10-07 06:06:34 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds)
2022-10-07 06:10:56 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-07 06:12:13 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 06:14:51 +0200zns(~zns@user/zns)
2022-10-07 06:18:00 +0200jargon(~jargon@184.101.208.112) (Remote host closed the connection)
2022-10-07 06:21:33 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 06:23:11 +0200vglfr(~vglfr@145.224.100.100) (Quit: Quit)
2022-10-07 06:23:24 +0200vglfr(~vglfr@145.224.100.100)
2022-10-07 06:24:22 +0200vglfr(~vglfr@145.224.100.100) (Client Quit)
2022-10-07 06:24:36 +0200vglfr(~vglfr@145.224.100.100)
2022-10-07 06:25:32 +0200vglfr(~vglfr@145.224.100.100) (Client Quit)
2022-10-07 06:25:44 +0200vglfr(~vglfr@145.224.100.100)
2022-10-07 06:29:41 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 06:35:18 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 06:42:51 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 06:43:48 +0200jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-10-07 06:47:05 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 06:50:47 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 06:53:26 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-07 06:53:27 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 06:54:53 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 06:55:42 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 06:56:20 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 06:57:00 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 06:57:38 +0200zns(~zns@user/zns)
2022-10-07 06:58:14 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-07 06:58:30 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 06:58:43 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 06:59:19 +0200mvk(~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 246 seconds)
2022-10-07 06:59:50 +0200`2jt(~jtomas@90.red-88-17-81.dynamicip.rima-tde.net)
2022-10-07 07:00:49 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 07:01:53 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 265 seconds)
2022-10-07 07:05:05 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2022-10-07 07:06:51 +0200cyphase(~cyphase@user/cyphase)
2022-10-07 07:08:02 +0200kenran(~user@user/kenran)
2022-10-07 07:08:31 +0200zaquest(~notzaques@5.130.79.72) (Ping timeout: 260 seconds)
2022-10-07 07:16:02 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 07:19:40 +0200zaquest(~notzaques@5.130.79.72)
2022-10-07 07:20:03 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-10-07 07:21:55 +0200zns(~zns@user/zns)
2022-10-07 07:35:31 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 252 seconds)
2022-10-07 07:40:14 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-07 07:40:22 +0200cyphase(~cyphase@user/cyphase)
2022-10-07 07:41:09 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 07:41:11 +0200burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk)
2022-10-07 07:44:18 +0200zns(~zns@user/zns)
2022-10-07 07:44:18 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-10-07 07:45:23 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-07 07:47:37 +0200burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2022-10-07 07:48:12 +0200zns(~zns@user/zns) (Client Quit)
2022-10-07 07:53:07 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2022-10-07 07:58:53 +0200michalz(~michalz@185.246.207.218)
2022-10-07 07:59:20 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-10-07 08:00:38 +0200califax(~califax@user/califx)
2022-10-07 08:07:21 +0200acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de)
2022-10-07 08:07:38 +0200zns(~zns@user/zns)
2022-10-07 08:08:10 +0200coot(~coot@213.134.171.3)
2022-10-07 08:09:10 +0200mvk(~mvk@2607:fea8:5ce3:8500::778c)
2022-10-07 08:11:57 +0200phma(phma@2001:5b0:211f:2ab8:24ce:9e74:707e:f3b4) (Read error: Connection reset by peer)
2022-10-07 08:13:00 +0200phma(~phma@2001:5b0:210f:7f78:84ef:f73b:8c9:8002)
2022-10-07 08:15:32 +0200bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e)
2022-10-07 08:16:23 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 08:19:24 +0200dsrt^(~dsrt@c-76-17-6-165.hsd1.ga.comcast.net) (Remote host closed the connection)
2022-10-07 08:27:04 +0200Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-10-07 08:28:24 +0200Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 08:33:22 +0200Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-10-07 08:37:51 +0200`2jt(~jtomas@90.red-88-17-81.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2022-10-07 08:38:46 +0200Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 08:45:13 +0200tcard(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) (Quit: Leaving)
2022-10-07 08:50:13 +0200gmg(~user@user/gehmehgeh)
2022-10-07 08:50:16 +0200tcard(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9)
2022-10-07 08:51:47 +0200rockystone(~rocky@user/rockymarine) (Ping timeout: 248 seconds)
2022-10-07 08:56:52 +0200MajorBiscuit(~MajorBisc@c-001-011-059.client.tudelft.eduvpn.nl)
2022-10-07 08:58:29 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:3e7a:9e2c:d400:8ce1)
2022-10-07 08:59:12 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 09:01:21 +0200zeenk(~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63)
2022-10-07 09:02:01 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 09:03:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 09:06:04 +0200 <dminuoso> While they left, the GHC manual has an fairly good description.
2022-10-07 09:06:19 +0200 <dminuoso> Based on the various questions we get, I feel the GHC manual is not consulted often enough
2022-10-07 09:06:21 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 09:06:24 +0200 <dminuoso> It's so well written..
2022-10-07 09:06:57 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 09:07:00 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 09:08:34 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 09:17:53 +0200rockystone(~rocky@user/rockymarine) (Ping timeout: 268 seconds)
2022-10-07 09:20:23 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 09:24:43 +0200 <c_wraith> people are just used to manuals being useless
2022-10-07 09:26:47 +0200lottaquestions_(~nick@104.221.24.83) (Quit: Konversation terminated!)
2022-10-07 09:27:07 +0200lottaquestions_(~nick@2607:fa49:503e:7100:17df:3c92:219a:a0dd)
2022-10-07 09:30:15 +0200 <sm> +1! @where ghc-guide , or haskell-links.org/ghc-guide is an easy way to cite it
2022-10-07 09:30:36 +0200ft(~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: leaving)
2022-10-07 09:34:53 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 09:35:25 +0200mvk(~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 246 seconds)
2022-10-07 09:36:35 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-10-07 09:40:29 +0200fjMSX(~hypni2p@2.92.213.55) (Remote host closed the connection)
2022-10-07 09:42:04 +0200 <dminuoso> @where ghc-guide
2022-10-07 09:42:04 +0200 <lambdabot> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide
2022-10-07 09:52:26 +0200tcard(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) (Ping timeout: 260 seconds)
2022-10-07 09:58:27 +0200aliosablack(~chomwitt@94.66.62.161)
2022-10-07 10:00:14 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-10-07 10:00:19 +0200chomwitt(~chomwitt@2a02:587:dc14:f500:b953:cd7b:2dda:416c) (Ping timeout: 268 seconds)
2022-10-07 10:01:08 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:b350:182d:9fe7:1448)
2022-10-07 10:01:19 +0200shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-10-07 10:01:27 +0200rockystone(~rocky@user/rockymarine) (Ping timeout: 252 seconds)
2022-10-07 10:01:39 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-10-07 10:03:23 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 10:07:36 +0200bastelfreak(bastelfrea@libera/staff/VoxPupuli.bastelfreak)
2022-10-07 10:08:56 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:10:41 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 10:11:07 +0200_xor(~xor@74.215.182.83) (Quit: bbiab)
2022-10-07 10:16:21 +0200rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-07 10:16:22 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 10:17:06 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:17:09 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 10:17:34 +0200titibandit(~titibandi@xdsl-89-0-65-2.nc.de)
2022-10-07 10:17:41 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 10:17:57 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 10:19:04 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:21:13 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 10:21:42 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-10-07 10:28:57 +0200aliosablack(~chomwitt@94.66.62.161) (Ping timeout: 252 seconds)
2022-10-07 10:31:21 +0200vglfr(~vglfr@145.224.100.100) (Read error: Connection reset by peer)
2022-10-07 10:32:46 +0200vglfr(~vglfr@145.224.100.100)
2022-10-07 10:35:35 +0200vpan(~0@212.117.1.172)
2022-10-07 10:35:53 +0200Everything(~Everythin@37.115.210.35)
2022-10-07 10:37:01 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:40:23 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-10-07 10:41:15 +0200coot(~coot@213.134.171.3) (Quit: coot)
2022-10-07 10:41:28 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 10:41:50 +0200coot(~coot@213.134.171.3)
2022-10-07 10:50:23 +0200Franciman(~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer)
2022-10-07 10:52:02 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 10:55:08 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:56:48 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 11:00:06 +0200kadenwolff[m](~kadenwolf@2001:470:69fc:105::1:d97f) (Quit: You have been kicked for being idle)
2022-10-07 11:02:02 +0200chele(~chele@user/chele)
2022-10-07 11:02:24 +0200kdaishi(~Thunderbi@dyn3136-42.wlan.ic.ac.uk)
2022-10-07 11:04:33 +0200Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 11:05:48 +0200vglfr(~vglfr@145.224.100.100) (Ping timeout: 264 seconds)
2022-10-07 11:06:56 +0200kdaishi(~Thunderbi@dyn3136-42.wlan.ic.ac.uk) (Ping timeout: 265 seconds)
2022-10-07 11:08:01 +0200teo(~teo@user/teo)
2022-10-07 11:11:54 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 11:13:34 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 11:14:03 +0200tcard(~tcard@p1153206-ipngn11001hodogaya.kanagawa.ocn.ne.jp)
2022-10-07 11:15:45 +0200ubert(~Thunderbi@77.119.205.166.wireless.dyn.drei.com)
2022-10-07 11:15:50 +0200titibandit(~titibandi@xdsl-89-0-65-2.nc.de) (Quit: Leaving.)
2022-10-07 11:15:59 +0200tcard_(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9)
2022-10-07 11:16:42 +0200acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-10-07 11:18:45 +0200tcard(~tcard@p1153206-ipngn11001hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 268 seconds)
2022-10-07 11:21:46 +0200aliosablack(~chomwitt@2a02:587:dc14:6e00:43e8:683d:d9ee:e96a)
2022-10-07 11:22:16 +0200talismanick(~talismani@2601:200:c100:c9e0::24ac) (Ping timeout: 260 seconds)
2022-10-07 11:22:24 +0200 <sm> not so memorable otherwise
2022-10-07 11:26:49 +0200 <sm> @where+ ghc-guide https://downloads.haskell.org/ghc/latest/docs/users_guide/
2022-10-07 11:28:29 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 11:30:10 +0200acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de)
2022-10-07 11:32:16 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 11:35:30 +0200acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-07 11:38:16 +0200bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e) (Remote host closed the connection)
2022-10-07 11:38:39 +0200bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e)
2022-10-07 11:46:04 +0200vglfr(~vglfr@37.73.106.237)
2022-10-07 11:46:10 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 11:46:19 +0200potash(~foghorn@user/foghorn) (Ping timeout: 246 seconds)
2022-10-07 11:46:42 +0200Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-10-07 11:47:03 +0200potash(~foghorn@user/foghorn)
2022-10-07 11:47:22 +0200Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 11:52:32 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-10-07 11:57:24 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-10-07 11:58:08 +0200Lycurgus(~juan@user/Lycurgus)
2022-10-07 11:58:23 +0200bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e) (Quit: Leaving)
2022-10-07 12:04:45 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:b350:182d:9fe7:1448) (Remote host closed the connection)
2022-10-07 12:04:51 +0200infinity0(~infinity0@185.112.146.113) (Ping timeout: 268 seconds)
2022-10-07 12:05:01 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-07 12:07:44 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
2022-10-07 12:10:00 +0200freeside(~mengwong@202.161.55.11)
2022-10-07 12:10:27 +0200pgray_(~pgray@c-24-143-114-36.customer.broadstripe.net)
2022-10-07 12:11:11 +0200pgray__(~pgray@c-24-143-114-36.customer.broadstripe.net) (Read error: Connection reset by peer)
2022-10-07 12:11:41 +0200 <freeside> hi all, I was working through the State Monad example involving Random, and I thought, hey, what if I could just pass my pure inner function an infinite stream of random numbers, so the inner function can stay pure? Well, I tried it, and I ended up ^C'ing an infinite loop. https://github.com/smucclaw/sandbox/blob/default/mengwong/burrito/src/Lib.hs#L77
2022-10-07 12:13:03 +0200 <freeside> in the example here I am trying to add unique id attributes to a bunch of XHTML. It works when my inner function is in IO. It works when I hand my inner function a finite list of randomly generated IDs. It hangs when I try to construct an infinite list of random IDs. I thought laziness would be my friend here ... ?
2022-10-07 12:14:20 +0200titibandit(~titibandi@xdsl-89-0-65-2.nc.de)
2022-10-07 12:15:39 +0200 <lyxia> laziness and io don't mix
2022-10-07 12:15:49 +0200 <lyxia> repeatM in IO will run forever
2022-10-07 12:15:55 +0200 <Franciman> does laziness mix with parallelism?
2022-10-07 12:15:57 +0200 <Franciman> i don't think
2022-10-07 12:16:04 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 12:16:08 +0200 <Franciman> laziness mixes only with single threaded purity
2022-10-07 12:16:34 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds)
2022-10-07 12:16:45 +0200 <probie> Most IO functions are not lazy. You can might be able to make this work with unsafeInterleaveIO https://hackage.haskell.org/package/base-4.17.0.0/docs/System-IO-Unsafe.html#v:unsafeInterleaveIO
2022-10-07 12:18:28 +0200 <freeside> gotcha, thank you.
2022-10-07 12:18:58 +0200 <probie> s/can might/might/
2022-10-07 12:19:01 +0200 <byorgey> the better way is to directly use 'randoms' or 'randomRs' to generate an infinite list of random numbers.
2022-10-07 12:19:15 +0200 <byorgey> instead of trying to execute an infinite list of IO actions.
2022-10-07 12:19:35 +0200slydacyfa(~IceChat95@pa49-197-58-11.pa.qld.optusnet.com.au)
2022-10-07 12:21:19 +0200califax(~califax@user/califx) (Ping timeout: 258 seconds)
2022-10-07 12:21:24 +0200ulvarref`(~user@185.24.53.152)
2022-10-07 12:22:10 +0200 <freeside> mmm, i will try that, thank you.
2022-10-07 12:22:42 +0200califax(~califax@user/califx)
2022-10-07 12:22:59 +0200ulvarrefr(~user@188.124.56.153) (Ping timeout: 252 seconds)
2022-10-07 12:28:04 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 12:30:58 +0200 <lyxia> freeside: "par" is a pretty neat combinator for evaluating thunks in parallel, so I'd say yes, laziness mixes with parallelism.
2022-10-07 12:31:32 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 12:31:43 +0200 <lyxia> Franciman: that was for you ^
2022-10-07 12:32:12 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 12:32:32 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 12:32:37 +0200 <Franciman> lyxia: how does it deal with this programme? let x = thunk in 1 + x `par` x + 5 ?
2022-10-07 12:32:42 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 12:32:48 +0200slydacyfa(~IceChat95@pa49-197-58-11.pa.qld.optusnet.com.au) ()
2022-10-07 12:33:40 +0200 <Hecate> hi from MuniHac <3
2022-10-07 12:38:43 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-07 12:38:54 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 12:39:16 +0200ulvarref`(~user@185.24.53.152) (Ping timeout: 260 seconds)
2022-10-07 12:39:41 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-10-07 12:41:52 +0200 <lyxia> Franciman: depending on a race condition, x will be evaluated either by a new thread, by the main thread, or by both.
2022-10-07 12:42:04 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 12:42:07 +0200 <Franciman> and the other wil have to wait for the thunk
2022-10-07 12:42:09 +0200 <Franciman> no?
2022-10-07 12:42:13 +0200 <lyxia> Hecate: o/
2022-10-07 12:42:38 +0200 <Franciman> why both?
2022-10-07 12:42:52 +0200 <lyxia> well that's the race condition I spoke about, both threads might start evaluating because they don't see each other starting
2022-10-07 12:43:05 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 12:43:21 +0200 <Franciman> so they can also modify the value at the same time, rendering an invalid result?
2022-10-07 12:43:34 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 12:43:35 +0200 <Franciman> or is an invalid result impossible?
2022-10-07 12:43:47 +0200 <lyxia> no because this is supposed to be pure code so the value will be the same either way
2022-10-07 12:43:57 +0200 <lyxia> there are no invalid results
2022-10-07 12:44:19 +0200 <Franciman> ofc, but imagine intermixing complex operations on x, to compute x
2022-10-07 12:44:32 +0200 <Franciman> even if they are pure, if you intermix them without control, they can render the final result invalid
2022-10-07 12:45:00 +0200 <lyxia> and also nobody actually wants to use par on something that's just about to be evaluated on the main thread already
2022-10-07 12:45:14 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 12:45:55 +0200 <Franciman> ok but this is a simplified example ...
2022-10-07 12:45:57 +0200 <Franciman> well i understand
2022-10-07 12:46:00 +0200 <Franciman> okaaaaaaaaaaaaaay
2022-10-07 12:46:01 +0200 <lyxia> I'm not sure what you mean "if you intermix them without control"
2022-10-07 12:46:30 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 12:46:41 +0200__monty__(~toonn@user/toonn)
2022-10-07 12:47:49 +0200ulvarrefr(~user@188.124.56.153)
2022-10-07 12:47:52 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 12:49:26 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 12:51:53 +0200 <freeside> okay, randomRs is doing the right thing, but when i try to show Hex the Ints, I get the same thing over and over again, lolwut. https://github.com/smucclaw/sandbox/blob/default/mengwong/burrito/src/Lib.hs#L83
2022-10-07 12:53:48 +0200zer0bitz(~zer0bitz@2001:2003:f748:2000:256e:c8ac:d70d:56f6)
2022-10-07 12:56:59 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 12:57:56 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-07 13:01:09 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 13:01:09 +0200 <lyxia> why do you have repeat ""
2022-10-07 13:01:13 +0200 <[Leary]> > (+) <$> [1..] <*> repeat 1
2022-10-07 13:01:15 +0200 <lambdabot> [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2...
2022-10-07 13:01:23 +0200 <[Leary]> > (+ 1) <$> [1..]
2022-10-07 13:01:25 +0200 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29...
2022-10-07 13:01:29 +0200 <freeside> i was trying to get the ShowS to be a Show
2022-10-07 13:01:52 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 13:02:02 +0200 <lyxia> I think you meant pure "", which is [""], not repeat ""
2022-10-07 13:02:56 +0200 <lyxia> or do what [Leary] did
2022-10-07 13:03:54 +0200razetime(~quassel@117.193.4.113)
2022-10-07 13:04:11 +0200 <freeside> gotcha, my bad
2022-10-07 13:05:34 +0200jakalx(~jakalx@base.jakalx.net)
2022-10-07 13:06:48 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 13:09:03 +0200titibandit(~titibandi@xdsl-89-0-65-2.nc.de) (Quit: Leaving.)
2022-10-07 13:10:25 +0200xff0x(~xff0x@2405:6580:b080:900:4104:ab75:8049:18d8)
2022-10-07 13:14:12 +0200 <ski> > (getZipList . pure . ZipList) ""
2022-10-07 13:14:14 +0200 <lambdabot> [ZipList {getZipList = ""},ZipList {getZipList = ""},ZipList {getZipList = "...
2022-10-07 13:14:29 +0200 <ski> > (getZipList . pure) ""
2022-10-07 13:14:31 +0200 <lambdabot> ["","","","","","","","","","","","","","","","","","","","","","","","","",...
2022-10-07 13:16:55 +0200acidjnk_new(~acidjnk@p200300d6e7137a80d19b135f341f3cf7.dip0.t-ipconnect.de)
2022-10-07 13:17:55 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 13:20:26 +0200fjMSX(~hypni2p@2.92.213.55)
2022-10-07 13:21:10 +0200 <ski> freeside : you could also use (`showHex` "") <$> infWords
2022-10-07 13:21:43 +0200 <ski> @type (`showHex` "")
2022-10-07 13:21:44 +0200 <lambdabot> (Integral a, Show a) => a -> String
2022-10-07 13:22:11 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 248 seconds)
2022-10-07 13:27:10 +0200Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 13:27:23 +0200 <freeside> neat, thanks.
2022-10-07 13:28:48 +0200 <ski> other alternative ways of saying the same thing :
2022-10-07 13:29:02 +0200 <ski> flip showHex "" <$> infWords
2022-10-07 13:29:20 +0200 <ski> (showHex `flip` "") <$> infWords
2022-10-07 13:29:33 +0200 <ski> (\n -> showHex n "") <$> infWords
2022-10-07 13:33:47 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-10-07 13:37:58 +0200freeside(~mengwong@202.161.55.11) (Ping timeout: 268 seconds)
2022-10-07 13:42:51 +0200xff0x(~xff0x@2405:6580:b080:900:4104:ab75:8049:18d8) (Ping timeout: 260 seconds)
2022-10-07 13:44:31 +0200Guest56(~Guest56@2001:a62:153a:a201:4317:4122:7383:8e29)
2022-10-07 13:44:43 +0200xff0x(~xff0x@ai071162.d.east.v6connect.net)
2022-10-07 13:54:27 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 13:57:17 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 13:57:20 +0200vglfr(~vglfr@37.73.106.237) (Read error: Connection reset by peer)
2022-10-07 13:58:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Ping timeout: 250 seconds)
2022-10-07 14:00:14 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 14:00:25 +0200alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net)
2022-10-07 14:01:30 +0200vglfr(~vglfr@37.73.106.237)
2022-10-07 14:01:53 +0200razetime(~quassel@117.193.4.113) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-10-07 14:04:48 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 14:08:16 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-10-07 14:09:03 +0200zaquest(~notzaques@5.130.79.72)
2022-10-07 14:10:38 +0200 <ii8> Is there a way to apply a monadic function to a value wrapped in a maybe, and then have the result be the Maybe value inside the monad?
2022-10-07 14:10:50 +0200 <ii8> See here: https://paste.tomsmeding.com/Q6pNJ99r
2022-10-07 14:11:12 +0200 <dolio> traverse
2022-10-07 14:14:08 +0200 <ii8> dolio: ty ez
2022-10-07 14:16:01 +0200Lycurgus(~juan@user/Lycurgus)
2022-10-07 14:19:47 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds)
2022-10-07 14:20:57 +0200eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com)
2022-10-07 14:24:56 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-10-07 14:26:28 +0200 <byorgey> https://twitter.com/impurepics/status/1312158622302924801 the answer is always traverse
2022-10-07 14:27:05 +0200 <Hecate> :D
2022-10-07 14:27:45 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
2022-10-07 14:28:09 +0200 <byorgey> Hecate: how's MuniHac?
2022-10-07 14:29:09 +0200 <Hecate> byorgey: it's lovely, thank you!
2022-10-07 14:29:15 +0200 <Hecate> I've got some people at the Flora table
2022-10-07 14:29:26 +0200 <Hecate> and met some rock stars (^_^)
2022-10-07 14:31:03 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-10-07 14:33:05 +0200heinz9(~trace@user/trace)
2022-10-07 14:33:11 +0200 <heinz9> what does f a mean
2022-10-07 14:33:25 +0200 <ski> the function `f' applied to the argument `a'
2022-10-07 14:35:40 +0200 <heinz9> thx
2022-10-07 14:36:04 +0200 <heinz9> and a->b ist like a function pointer as a type?
2022-10-07 14:36:48 +0200 <ski> it's a function type. the type of functions accepting values of type `a' as input, and producing values of type `b' as output
2022-10-07 14:38:24 +0200eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com) (Ping timeout: 268 seconds)
2022-10-07 14:38:25 +0200 <ski> in C, if you wanted to pass a function (as argument or result to another function, or if you wanted to store it in a data structure), you'd actually pass a "function pointer". the appropriate type for that in C is `b (*)(a)' (the corresponding non-pointer function type would be `b (a)')
2022-10-07 14:38:47 +0200burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk)
2022-10-07 14:38:57 +0200 <ski> but there's no need to do "function pointers" in Haskell (unless you're usinng the FFI. then there's `FunPtr')
2022-10-07 14:40:44 +0200 <ski> @type Foreign.Ptr.nullFunPtr
2022-10-07 14:40:45 +0200 <lambdabot> GHC.Ptr.FunPtr a
2022-10-07 14:40:47 +0200 <ski> @type Foreign.Ptr.freeHaskellFunPtr
2022-10-07 14:40:49 +0200 <lambdabot> GHC.Ptr.FunPtr a -> IO ()
2022-10-07 14:43:04 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 14:46:36 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-10-07 14:48:03 +0200freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-07 14:48:15 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-10-07 14:52:44 +0200freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds)
2022-10-07 14:53:34 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 14:57:32 +0200 <dminuoso> Beautiful. I have a memory corruption. :(
2022-10-07 14:57:46 +0200Guest34(~Guest34@p5b0627ab.dip0.t-ipconnect.de)
2022-10-07 14:58:06 +0200ft(~ft@p3e9bc57b.dip0.t-ipconnect.de)
2022-10-07 14:58:34 +0200zebrag(~chris@user/zebrag)
2022-10-07 14:59:02 +0200 <dminuoso> And its not of the crashing kind, these you could debug. Its of the "debug routine keeps pointing at the wrong thing"
2022-10-07 14:59:17 +0200 <dminuoso> This has aliased buffer written all over it.
2022-10-07 14:59:32 +0200littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net)
2022-10-07 15:03:01 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 15:03:23 +0200mbuf(~Shakthi@49.204.120.232) (Quit: Leaving)
2022-10-07 15:07:37 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
2022-10-07 15:08:06 +0200gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 15:13:09 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-10-07 15:28:41 +0200vglfr(~vglfr@37.73.106.237) (Ping timeout: 250 seconds)
2022-10-07 15:28:46 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 258 seconds)
2022-10-07 15:30:11 +0200_xor(~xor@74.215.182.83)
2022-10-07 15:30:16 +0200gmg(~user@user/gehmehgeh)
2022-10-07 15:30:20 +0200vglfr(~vglfr@145.224.100.100)
2022-10-07 15:30:36 +0200freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-07 15:32:46 +0200acidjnk_new(~acidjnk@p200300d6e7137a80d19b135f341f3cf7.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2022-10-07 15:35:52 +0200gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 15:36:57 +0200gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 15:41:11 +0200eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com)
2022-10-07 15:43:05 +0200gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 15:43:19 +0200 <ii8> Is there a cooler way to write this: https://paste.tomsmeding.com/PM5lAfc8
2022-10-07 15:43:27 +0200kilolympus(~kilolympu@213.144.144.24)
2022-10-07 15:45:35 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 15:45:45 +0200 <[Leary]> :t \a -> liftA2 (<>) a . pure
2022-10-07 15:45:47 +0200 <lambdabot> (Applicative f, Semigroup c) => f c -> c -> f c
2022-10-07 15:45:50 +0200 <[Leary]> Perhaps.
2022-10-07 15:47:53 +0200 <[Leary]> :t \a b -> a <&> (<> b)
2022-10-07 15:47:55 +0200 <lambdabot> (Functor f, Semigroup b) => f b -> b -> f b
2022-10-07 15:48:18 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 15:48:48 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-07 15:48:48 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-10-07 15:48:48 +0200wroathe(~wroathe@user/wroathe)
2022-10-07 15:49:05 +0200acidjnk_new(~acidjnk@p200300d6e7137a80998e89214fca01fd.dip0.t-ipconnect.de)
2022-10-07 15:49:23 +0200 <chreekat> Semigroup a => Semigroup (Maybe a)
2022-10-07 15:50:03 +0200geekosaurwould note that sometimes "coller" is the wrong way to go. "code you'll understand 6 months down the road" is often better
2022-10-07 15:50:11 +0200 <geekosaur> *cooler
2022-10-07 15:51:57 +0200 <chreekat> ah I see, the default instance for Maybe doesn't propagate the Nothing
2022-10-07 15:53:04 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 15:53:59 +0200 <dminuoso> Whats the primitive to unshare bytestring buffers?
2022-10-07 15:55:35 +0200 <ii8> [Leary]: thanks!
2022-10-07 15:58:50 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 16:01:46 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2022-10-07 16:05:32 +0200k8yun(~k8yun@user/k8yun)
2022-10-07 16:07:15 +0200eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com) (Ping timeout: 250 seconds)
2022-10-07 16:18:12 +0200son0p(~ff@181.136.122.143) (Ping timeout: 265 seconds)
2022-10-07 16:19:05 +0200Sgeo(~Sgeo@user/sgeo)
2022-10-07 16:22:25 +0200alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net) (Ping timeout: 250 seconds)
2022-10-07 16:26:52 +0200kenran(~user@user/kenran) (Remote host closed the connection)
2022-10-07 16:30:27 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2022-10-07 16:33:57 +0200fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-10-07 16:34:15 +0200fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Client Quit)
2022-10-07 16:39:27 +0200burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 16:43:18 +0200odnes(~odnes@5-203-228-11.pat.nym.cosmote.net)
2022-10-07 16:45:09 +0200FragByte_(~christian@user/fragbyte)
2022-10-07 16:47:35 +0200FragByte(~christian@user/fragbyte) (Ping timeout: 244 seconds)
2022-10-07 16:47:35 +0200FragByte_FragByte
2022-10-07 16:48:41 +0200zns(~zns@user/zns)
2022-10-07 16:49:32 +0200 <EvanR> dminuoso, copy?
2022-10-07 16:50:57 +0200burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk)
2022-10-07 16:52:07 +0200burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 16:52:31 +0200odnes(~odnes@5-203-228-11.pat.nym.cosmote.net) (Ping timeout: 265 seconds)
2022-10-07 16:56:46 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 16:57:19 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 16:58:31 +0200zns(~zns@user/zns)
2022-10-07 16:59:21 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 17:01:40 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 17:03:46 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Ping timeout: 246 seconds)
2022-10-07 17:07:59 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 17:09:25 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-10-07 17:12:01 +0200gensyst(gensyst@user/gensyst)
2022-10-07 17:14:33 +0200 <gensyst> We have "newForeignPtr :: FinalizerPtr a -> Ptr a -> IO (ForeignPtr a)", and "type FinalizerPtr a = FunPtr (Ptr a -> IO ())". But how can I create a foreign pointer when the close function is of type Ptr a -> IO CInt and I want to throw an exception in IO if the returned CInt is not 0?
2022-10-07 17:15:24 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-10-07 17:15:33 +0200 <gensyst> hmmm. maybe that makes little sense? since it's GC and could be called any time, and so throwing exception sometime down the line is meaningless?
2022-10-07 17:16:10 +0200shriekingnoise(~shrieking@186.137.167.202)
2022-10-07 17:18:14 +0200 <EvanR> not meaningless, we have async exceptions that can technically do that
2022-10-07 17:18:23 +0200 <EvanR> would it be insane, maybe
2022-10-07 17:19:01 +0200 <EvanR> first question, which thread gets the exception
2022-10-07 17:19:21 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-10-07 17:19:28 +0200 <EvanR> once you answer this, make that thread responsible for the foreign resource anyway
2022-10-07 17:21:03 +0200 <EvanR> finalizers are probably better used for cleaning up resources at gc time, rather than crashing
2022-10-07 17:21:35 +0200 <gensyst> EvanR, i mean the "expected" result of that C func will be 0, but it could also not be (imo rare cases)
2022-10-07 17:21:39 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 17:22:00 +0200 <gensyst> ok I know what to do. I'm better off replacing my thing with a "with" thingy
2022-10-07 17:22:12 +0200 <gensyst> so no foreignptr needed
2022-10-07 17:23:37 +0200 <EvanR> yeah a bracket that acquires the resource, and regardless of how the story ends, cleans up the resource afteward
2022-10-07 17:23:38 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-07 17:25:55 +0200jakalx(~jakalx@base.jakalx.net)
2022-10-07 17:26:16 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 17:32:08 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-10-07 17:40:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 17:42:19 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:3e7a:9e2c:d400:8ce1) (Quit: WeeChat 2.8)
2022-10-07 17:45:37 +0200CiaoSen(~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen)
2022-10-07 17:46:14 +0200olle(~olle@p57849f17.dip0.t-ipconnect.de)
2022-10-07 17:46:25 +0200 <olle> Are haskell devs actually coding like this? https://degoes.net/articles/modern-fp
2022-10-07 17:47:39 +0200 <geekosaur> free monads are fairly common, yes
2022-10-07 17:47:47 +0200 <geekosaur> that doesn't mean everyone is using them
2022-10-07 17:48:01 +0200 <olle> Hm
2022-10-07 17:49:09 +0200 <oats> olle, holy christ that guy is ripped
2022-10-07 17:49:09 +0200 <olle> I wanna do it in PHP
2022-10-07 17:50:02 +0200 <EvanR> how about other way around, acme-php backage
2022-10-07 17:50:04 +0200 <EvanR> package
2022-10-07 17:50:13 +0200 <olle> http://olleharstedt.github.io/programming/2022/03/22/one-universal-mock-to-rule-them-all.html
2022-10-07 17:50:16 +0200 <olle> Did try one concept here
2022-10-07 17:51:02 +0200 <oats> olle, I'm also a little annoyed by the opening of that article
2022-10-07 17:51:16 +0200 <oats> you can write poor code in any language, with any paradigm
2022-10-07 17:51:32 +0200 <olle> So far, yes
2022-10-07 17:51:33 +0200 <oats> poor function naming, undescriptive argument names, boolean blindness...
2022-10-07 17:51:46 +0200 <olle> AI will solve it ;)
2022-10-07 17:51:50 +0200 <oats> what
2022-10-07 17:52:04 +0200 <olle> Domain-consiouss AI linters
2022-10-07 17:53:01 +0200 <EvanR> are you really going to take seriously the intro to that blog post when the guy looks like vin diesel
2022-10-07 17:53:25 +0200 <olle> Haha so distracting, those muscles
2022-10-07 17:53:48 +0200 <EvanR> do you take general relativity quantum mechanics tips from Riddick
2022-10-07 17:54:47 +0200 <olle> Those two can't be combined.....
2022-10-07 17:58:45 +0200 <EvanR> yet
2022-10-07 17:59:30 +0200 <EvanR> also that only makes Riddick even less credible
2022-10-07 18:00:07 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 18:00:10 +0200k8yun(~k8yun@user/k8yun) (Quit: Leaving)
2022-10-07 18:04:01 +0200 <gensyst> lol "Come on, this is 2015. We can do better than IO!" wtf
2022-10-07 18:04:11 +0200 <gensyst> so what's happening now 7 years later?
2022-10-07 18:04:30 +0200 <gensyst> free moands catching on now?
2022-10-07 18:05:59 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 18:06:25 +0200Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-10-07 18:07:34 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 18:08:28 +0200 <EvanR> lazy list IO => monads => free monads => comonad IO? xD
2022-10-07 18:08:43 +0200 <olle> Freer monad?
2022-10-07 18:09:09 +0200 <olle> Dijkstra Monads for All?
2022-10-07 18:09:21 +0200 <EvanR> funny the free monad version of IO is more restrictive than IO
2022-10-07 18:09:21 +0200 <olle> https://arxiv.org/abs/1903.01237
2022-10-07 18:09:45 +0200 <EvanR> maybe if we use restrictive monads, we become actually more freer
2022-10-07 18:10:17 +0200 <olle> You don't want freedom, you want correctness
2022-10-07 18:10:23 +0200 <gensyst> Free monads sounds scary. Is this something special, or just a design pattern that can be done with "simple Haskell"?
2022-10-07 18:10:29 +0200 <EvanR> correct. freedom is slavery
2022-10-07 18:10:59 +0200 <EvanR> gensyst, it's pretty simple as far as outlandish abstract nonsense can go around here
2022-10-07 18:11:20 +0200econo(uid147250@user/econo)
2022-10-07 18:11:28 +0200 <EvanR> but packages like freer will help you get the most performance in the process
2022-10-07 18:12:01 +0200 <EvanR> if you are planning to run free monads directly
2022-10-07 18:13:10 +0200 <EvanR> gensyst, just like monads tutorials though... you want to look at free functor first
2022-10-07 18:13:29 +0200 <EvanR> people never think to read functor tutorials xD
2022-10-07 18:13:41 +0200 <gensyst> ok...
2022-10-07 18:13:44 +0200 <heinz9> has someone a very complex use case about a functor, that demonstrates functors usefulness?
2022-10-07 18:14:03 +0200 <gensyst> i'll let this rest for a while
2022-10-07 18:14:06 +0200 <gensyst> no time for this lol
2022-10-07 18:14:18 +0200 <EvanR> functors are all around you
2022-10-07 18:14:20 +0200 <sm> that ripped guy is a good haskell writer
2022-10-07 18:16:08 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 18:16:28 +0200 <c_wraith> heinz9: amusingly, you can sort of see Lens as the complex use case for Functor.
2022-10-07 18:16:36 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-10-07 18:18:26 +0200gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 18:23:01 +0200 <heinz9> c_wraith, what is Lens
2022-10-07 18:24:10 +0200Midjak(~Midjak@82.66.147.146)
2022-10-07 18:24:18 +0200 <olle> It's similar to an asshole
2022-10-07 18:24:21 +0200 <olle> Nah
2022-10-07 18:24:24 +0200 <olle> Time to go home
2022-10-07 18:24:51 +0200olle(~olle@p57849f17.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-10-07 18:25:15 +0200 <EvanR> that's the worst tutorial analogy yet
2022-10-07 18:25:16 +0200 <c_wraith> lens is a library for data manipulation. The simplest portions are based on types like Functor f => (A -> f B) -> (S -> f T)
2022-10-07 18:25:22 +0200teo(~teo@user/teo) (Ping timeout: 268 seconds)
2022-10-07 18:26:28 +0200 <pareto-optimal-d> Is there a better lensey way to write: view (non "") . maximumByOf (backwards worded) (compare `on` (sum . map (subtract 96 . ord))) $ ""
2022-10-07 18:26:38 +0200zeenk(~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) (Quit: Konversation terminated!)
2022-10-07 18:27:45 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 18:28:58 +0200littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2022-10-07 18:28:59 +0200 <c_wraith> pareto-optimal-d: that code worries me anyway. what if your strings have anything other than lowercase letters and whitespace?
2022-10-07 18:29:07 +0200MajorBiscuit(~MajorBisc@c-001-011-059.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.5)
2022-10-07 18:30:13 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds)
2022-10-07 18:30:16 +0200 <pareto-optimal-d> c_wraith: It's a codewars and it says "only has lowercase letters and whitespace" :D
2022-10-07 18:30:56 +0200infinity0(~infinity0@185.112.146.113)
2022-10-07 18:31:22 +0200gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 18:32:55 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 18:36:48 +0200 <c_wraith> I don't see any obvious improvement. Other than naming the comparator, anyway.
2022-10-07 18:37:31 +0200causal(~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.6)
2022-10-07 18:37:44 +0200 <pareto-optimal-d> Yeah. Before `view (non "")` I just had `fromMaybe ""` but wonderd if `view (non "")` would be idiomatic lens for someone refusing to import Data.Maybe :P
2022-10-07 18:38:09 +0200 <pareto-optimal-d> I should name the comparator
2022-10-07 18:38:13 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds)
2022-10-07 18:38:31 +0200dzdcnfzd(~dzdcnfzd@pool-72-69-177-248.nycmny.fios.verizon.net)
2022-10-07 18:38:59 +0200acidjnk_new(~acidjnk@p200300d6e7137a80998e89214fca01fd.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-10-07 18:40:44 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 18:42:39 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-10-07 18:43:39 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-07 18:43:57 +0200gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 18:44:28 +0200zns(~zns@user/zns)
2022-10-07 18:47:14 +0200 <heinz9> are functors in general good for automation?
2022-10-07 18:48:45 +0200jakalx(~jakalx@base.jakalx.net)
2022-10-07 18:49:26 +0200 <c_wraith> That's a sort of odd question. Are numbers in general good for automation?
2022-10-07 18:49:28 +0200 <davean> heinz9: what does that even mean?
2022-10-07 18:50:12 +0200 <heinz9> Idk, just guessing
2022-10-07 18:50:26 +0200 <davean> I'm not even sure what you're guessing
2022-10-07 18:51:36 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 18:51:37 +0200 <davean> they make more things "look the same" for a particular sort of thing that is very general, so maybe if you mean the right thing by right thing by "automation"
2022-10-07 18:51:57 +0200 <davean> its kinda nonsensicle but it might be right if you happen to mean the right thing by it
2022-10-07 18:53:55 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 18:55:19 +0200 <heinz9> davean, this is helping me
2022-10-07 18:55:32 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 18:55:57 +0200 <EvanR> language hasn't caught up with how good functors are for what
2022-10-07 18:56:41 +0200acidjnk_new(~acidjnk@p200300d6e7137a27998e89214fca01fd.dip0.t-ipconnect.de)
2022-10-07 18:57:31 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 18:57:37 +0200cheater(~Username@user/cheater) (Quit: HEY! Must be the BitchX!)
2022-10-07 18:57:40 +0200 <EvanR> however pictures are great
2022-10-07 18:58:03 +0200vpan(~0@212.117.1.172) (Quit: Leaving.)
2022-10-07 19:03:40 +0200 <geekosaur> you could say functors are good at manipulating data in a way that makes many different kinds of manipulations fit a common "schema". and most programs are about manipulating data
2022-10-07 19:04:57 +0200 <geekosaur> as c_wraith pointed out earlier, lens is kinda taking that to the limit and using functors to manipulate a lot of different kinds of data within the same framework
2022-10-07 19:05:32 +0200cheater(~Username@user/cheater)
2022-10-07 19:07:33 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 19:11:14 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 19:11:27 +0200Guest56cafce25
2022-10-07 19:12:29 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 19:12:38 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 19:13:45 +0200zns(~zns@user/zns)
2022-10-07 19:18:42 +0200acidjnk_new(~acidjnk@p200300d6e7137a27998e89214fca01fd.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-07 19:20:25 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 265 seconds)
2022-10-07 19:27:06 +0200 <heinz9> has haskell morphims?
2022-10-07 19:27:14 +0200 <heinz9> morphisms
2022-10-07 19:28:46 +0200 <EvanR> morphism is jargon for the arrows in a category. In so far as Hask is a category... haskell functions (a -> b) are the morphisms
2022-10-07 19:29:21 +0200 <EvanR> (types are the objects)
2022-10-07 19:29:31 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 19:32:35 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-07 19:34:37 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 19:35:22 +0200 <geekosaur> that being essentially *why* we represent functions with type -> type
2022-10-07 19:43:14 +0200 <monochrom> In fact mathematicians use "name: type -> type" too because category theory started that notation.
2022-10-07 19:43:52 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-10-07 19:45:42 +0200 <monochrom> But back to the more general and meaningless question. Approximately, the only thing I can think of that is not good for automation is labour unions.
2022-10-07 19:46:04 +0200 <monochrom> I mean, even capitalism is good for automation, right? >:)
2022-10-07 19:46:32 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-10-07 19:47:13 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-07 19:47:50 +0200biberu(~biberu@user/biberu)
2022-10-07 19:49:45 +0200imaGuest(~imaGuest@176.219.40.168)
2022-10-07 19:49:58 +0200imaGuest(~imaGuest@176.219.40.168) (Client Quit)
2022-10-07 19:50:07 +0200 <c_wraith> no, capitalization only helps when you start trying things like autOmation
2022-10-07 19:52:11 +0200 <zzz> there's a reason caps lock is usually frowned upon
2022-10-07 19:52:24 +0200shaprfrows
2022-10-07 19:52:28 +0200 <shapr> ahem FROWNS
2022-10-07 19:52:38 +0200 <shapr> capital my good sir
2022-10-07 19:53:23 +0200 <zzz> it's not an unpopular lifestyle choice to remap capital lock to escape
2022-10-07 19:53:36 +0200 <shapr> I don't think my keyboard has a caps lock key
2022-10-07 19:53:47 +0200 <shapr> but anyway
2022-10-07 19:53:56 +0200 <shapr> I got a partial Haskell job today, so that's nice
2022-10-07 19:54:08 +0200 <zzz> ugh partial
2022-10-07 19:54:12 +0200shaprshrugs
2022-10-07 19:54:14 +0200 <shapr> better than nothing
2022-10-07 19:54:17 +0200 <monochrom> I thought people who remap capslock remap it to tab or ctrl.
2022-10-07 19:54:27 +0200 <zzz> monochrom: esc for vim
2022-10-07 19:54:34 +0200 <shapr> zzz: Part of the job is porting Python to Haskell, so I'm excited about that.
2022-10-07 19:54:42 +0200 <shapr> it's gonna be funnn
2022-10-07 19:54:50 +0200 <zzz> shapr: i was making a joke about partiality. congrats!
2022-10-07 19:54:53 +0200 <monochrom> Partial haskell jobs are the best haskell jobs because they don't terminate. Right? >:)
2022-10-07 19:55:19 +0200 <zzz> monochrom: ha!
2022-10-07 19:55:22 +0200 <davean> shapr: you should use the 'safe-haskell-job' package instead of the haskell jobs you find in 'base'
2022-10-07 19:55:46 +0200acidjnk(~acidjnk@p200300d6e7137a277c8dbdd75e4c4002.dip0.t-ipconnect.de)
2022-10-07 19:55:49 +0200 <EvanR> honestly, Nothing is a better result than partial(ity)
2022-10-07 19:55:59 +0200 <shapr> zzz: haha, I guess I missed that in my pattern match
2022-10-07 19:56:01 +0200 <zzz> ok guys
2022-10-07 19:56:04 +0200shaprhugs zzz
2022-10-07 19:56:25 +0200 <EvanR> the python monad
2022-10-07 19:58:00 +0200zzzthinks about a tail recursive ouroboros pyton
2022-10-07 19:59:15 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 20:07:59 +0200CiaoSen(~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-10-07 20:20:39 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-10-07 20:20:39 +0200cafce25(~Guest56@2001:a62:153a:a201:4317:4122:7383:8e29) (Quit: Client closed)
2022-10-07 20:21:14 +0200cafce25(~cafce25@2001:a62:153a:a201:4317:4122:7383:8e29)
2022-10-07 20:21:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 20:26:56 +0200 <shapr> hoi tromp, hoe gaat het?
2022-10-07 20:27:08 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 20:30:18 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-10-07 20:32:00 +0200 <tromp> hoi, shapr. het gaat prima. vandaag 15 jaar getrouwd:-)
2022-10-07 20:33:13 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
2022-10-07 20:37:36 +0200dzdcnfzd(~dzdcnfzd@pool-72-69-177-248.nycmny.fios.verizon.net) (Quit: Client closed)
2022-10-07 20:39:27 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 20:44:12 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 264 seconds)
2022-10-07 20:45:03 +0200Guest34(~Guest34@p5b0627ab.dip0.t-ipconnect.de) (Quit: Client closed)
2022-10-07 20:47:38 +0200 <zzz> saluton! kiel vi fartas?
2022-10-07 20:49:45 +0200 <EvanR> lol
2022-10-07 20:49:59 +0200 <EvanR> mi fartas bone
2022-10-07 20:50:15 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 20:51:04 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 20:57:00 +0200 <EvanR> stupid haskell tricks 104: are you sortBying some stuff using a custom ordering metric, but it's not good enough to make a last minute decision to put something specific dead last
2022-10-07 20:57:29 +0200 <EvanR> wrap the metric in (x, True) or (x, False) lol
2022-10-07 20:58:09 +0200 <EvanR> as a stupid tie breaker
2022-10-07 20:58:29 +0200 <EvanR> or ad hoc infinity
2022-10-07 20:58:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 21:05:55 +0200 <monochrom> Yes, product orders are the best things since orders. :)
2022-10-07 21:06:26 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 21:07:36 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 21:08:38 +0200 <davean> I don't just take my orders from just any old EvanR though
2022-10-07 21:09:00 +0200 <darkling> Accepth no subtitutes.
2022-10-07 21:09:04 +0200 <darkling> s/h//
2022-10-07 21:09:04 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-10-07 21:11:38 +0200zns(~zns@user/zns) (Quit: zzz)
2022-10-07 21:12:11 +0200zns(~zns@user/zns)
2022-10-07 21:12:15 +0200zns(~zns@user/zns) (Client Quit)
2022-10-07 21:16:47 +0200littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net)
2022-10-07 21:17:50 +0200 <ski> but what's the categorical significance of lexicographic ?
2022-10-07 21:20:49 +0200Digit(~user@user/digit)
2022-10-07 21:22:50 +0200 <Digit> hi. using ghci for quick calculations, is there a way to have it not truncate numbers? so it shows e.g. "2.52e12" in full like 2520000000000?
2022-10-07 21:23:25 +0200 <EvanR> be careful if you ask for "full" decimal representation of floats
2022-10-07 21:23:30 +0200littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2022-10-07 21:23:51 +0200 <geekosaur> there's no control over the Show instance for Float or Double, no
2022-10-07 21:24:13 +0200 <geekosaur> you could use one of the functions in the Numeric module (or Text.Printf) to print it yourself
2022-10-07 21:24:23 +0200 <EvanR> :t showFFloat
2022-10-07 21:24:24 +0200 <lambdabot> RealFloat a => Maybe Int -> a -> ShowS
2022-10-07 21:24:36 +0200 <darkling> We found some data today that was measuring areas of counties in something like square microns... :)
2022-10-07 21:25:06 +0200 <EvanR> you can get more digits using showFFloat or defining your own newtype wrapper over floats
2022-10-07 21:25:18 +0200 <darkling> (Or, rather, down to square µm precision)
2022-10-07 21:26:15 +0200alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net)
2022-10-07 21:26:52 +0200 <EvanR> but despite floats and doubles taking up only a few hexdigits at most, the decimal digits can stretch out to ridiculous if computed exactly
2022-10-07 21:27:05 +0200 <monochrom> Lexicalgraphic orders may have to do with mconcat over [Ordering]. Some monoidness may be involved.
2022-10-07 21:27:08 +0200 <ski> darkling : .. and lengths of coastlines ?
2022-10-07 21:27:38 +0200 <geekosaur> I was wondering how badly erosion affects those areas
2022-10-07 21:27:52 +0200 <darkling> Yeah, probably.
2022-10-07 21:27:57 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 21:28:15 +0200 <ski> monochrom : .. the other week, i was pondering this a little, thinking that indexing a family of orders, not by a set, but by an order, may be helpful here
2022-10-07 21:29:21 +0200 <monochrom> Yeah since we use lexicalgraphic orders on seuqences, firstly the index set has extra structure...
2022-10-07 21:29:31 +0200 <darkling> geekosaur: There are some "interesting" country and (US) state borders that were originally defined as "midline of the river", where the river moved afterwards.
2022-10-07 21:29:51 +0200 <ski> darkling : at least from some POV, lengths of coastlines shouldn't be measured in metres, but rather one should measure their fractal dimension
2022-10-07 21:30:18 +0200 <darkling> heh. I've had a hard job explaining that to my colleagues, let alone to our customers. :)
2022-10-07 21:31:04 +0200 <ski> monochrom : so, i was thinking about the functor category from an order (being a category), to the category of orders
2022-10-07 21:31:23 +0200 <EvanR> the customer says, "why don't you just require a bound on the curvature of the measured boundary"
2022-10-07 21:31:44 +0200 <EvanR> "and the length is mentioned relative to that"
2022-10-07 21:31:45 +0200 <ski> and i guess next step would be to think of the diagonal ("constant") functor to that category, and the left and right adjoints of that functor
2022-10-07 21:32:04 +0200 <monochrom> Call me conceit but I doubt how many customers even know the word "curvature".
2022-10-07 21:32:12 +0200 <geekosaur> darkling, yeh. and I used to live in a county which is partially under a lake
2022-10-07 21:32:13 +0200 <darkling> The customer's more likely to ask "can I spray against septoria here tomorrow?"
2022-10-07 21:32:18 +0200 <ski> "bound on the curvature" meaning ?
2022-10-07 21:32:25 +0200 <EvanR> a max curvature
2022-10-07 21:32:56 +0200 <darkling> ski: You don't accept any line segment approximation with a radius of curvature smaller than some value.
2022-10-07 21:32:58 +0200 <ski> i'm not sure if that's a sensible thing to require, looking at it at many scales
2022-10-07 21:33:19 +0200 <ski> (yea, i got what you mean now, ty)
2022-10-07 21:33:21 +0200 <EvanR> it would mean there's a smallest scale
2022-10-07 21:34:13 +0200 <ski> btw, there's this nice mathematical example of a "horn" or "trumpet", which has infinite surface area, but finite volume
2022-10-07 21:34:13 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 21:34:21 +0200 <monochrom> But tautologically if you know why you're measuring coastline lengths or what the answers are going to be used for, then you know a good cutoff of the fractal thing.
2022-10-07 21:34:44 +0200 <ski> so, can you paint all its infinite area, with a finite volume of paint ?
2022-10-07 21:34:54 +0200 <darkling> But septoria triticum? :)
2022-10-07 21:34:57 +0200 <monochrom> Like the same way if I know I'm plotting a Julia set on a 1680x1050 screen then I know when to stop.
2022-10-07 21:35:25 +0200 <monochrom> or at least have some approximate idea when to stop.
2022-10-07 21:35:26 +0200 <EvanR> the airplane you use to fly around the coast and measure it has a min turning radius xD
2022-10-07 21:35:38 +0200vorpuni(~pvorp@2001:861:3881:c690:cb6f:40ff:7639:1ec6)
2022-10-07 21:36:17 +0200 <ski> if you know the fractal dimension, then you'd have a good approximation to the measured coastline length, given a particular measuring yardstick to measure with
2022-10-07 21:37:07 +0200 <EvanR> oh, is there a relationship between bounded curvature and fractal dimension
2022-10-07 21:37:38 +0200 <EvanR> is the infinite surface area horn painted with a volume of paint a type mismatch?
2022-10-07 21:37:52 +0200 <EvanR> length vs area vs volume
2022-10-07 21:38:26 +0200 <ski> btw, Lars Lohn's LyCon keynote in 2016 at <https://www.youtube.com/watch?v=bSfe5M_zG2s#t=14m15s> talks about fractal dimension .. in his case, of a road rather than a coastline
2022-10-07 21:38:29 +0200 <darkling> It's got to be mathematical paint of infinitesimal thickness.
2022-10-07 21:38:38 +0200 <ski> (the whole keynote is quite enjoyable)
2022-10-07 21:38:39 +0200 <darkling> I think it's made from the milk of a spherical cow.
2022-10-07 21:39:07 +0200 <EvanR> space filling curves are like the biggest troll
2022-10-07 21:39:15 +0200 <ski> i think that's too low-resolution of a cow. it should be two spheres, connected by a cylinder
2022-10-07 21:39:53 +0200 <darkling> https://carfax.org.uk/files/temp/Cow.png
2022-10-07 21:40:15 +0200 <EvanR> that's just a basic image needed for business at carfax
2022-10-07 21:40:21 +0200 <darkling> (I must have rendered that over 20 years ago...)
2022-10-07 21:40:31 +0200 <ski> i read a physics book once, and it had a picture of the two-sphere cow
2022-10-07 21:40:57 +0200 <ski> (one sphere of lesser radius than the other, i might add)
2022-10-07 21:41:02 +0200 <monochrom> I have trouble envisioning serious fractalness of roads. Roads are made to be not annoying for drivers, for example.
2022-10-07 21:41:20 +0200 <darkling> Really? I can think of a few counterexamples. :)
2022-10-07 21:41:23 +0200 <monochrom> i.e., you don't even do an approximation of space-filling curves to roads.
2022-10-07 21:41:27 +0200 <EvanR> a federal highway should certainly be rather smooth
2022-10-07 21:41:28 +0200 <ski> yea, you have to consider a range of scales
2022-10-07 21:41:53 +0200 <EvanR> but new orleans might require fractal math
2022-10-07 21:42:07 +0200 <ski> the river bank ?
2022-10-07 21:42:12 +0200 <EvanR> just the streets
2022-10-07 21:42:23 +0200 <darkling> ski: Yes, but you have to keep crossing the state line...
2022-10-07 21:42:26 +0200 <ski> i guess they weren't really that planned
2022-10-07 21:43:16 +0200 <EvanR> this margarita place is on a disconnected piece of Miro street on one end of town. Miro street is supposed to be on the complete other side of town. Very confusing
2022-10-07 21:43:54 +0200 <ski> also confusing to have parallel pieces of the same road
2022-10-07 21:44:10 +0200 <ski> (and i'm not talking about the road turning like an "S")
2022-10-07 21:44:10 +0200 <monochrom> OK fibonaccoli is a great idea :)
2022-10-07 21:45:32 +0200 <darkling> Romanesco...
2022-10-07 21:45:46 +0200 <EvanR> you get used to the general shape of everything being a 90 degree warp, so the same street is perpendicular to itself, but streets having been overwritten and renamed is pretty bad
2022-10-07 21:46:18 +0200 <darkling> My mum's house is on a road that needs five right-hand turns to return to.
2022-10-07 21:46:44 +0200gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 21:47:04 +0200 <monochrom> OK he also does music. So now my question is what's the fractal dimension of Bumbling Bee when you play it 140 notes per minute haha
2022-10-07 21:47:33 +0200 <darkling> monochrom: Isn't that a bit slow for the piece? :)
2022-10-07 21:47:58 +0200olsner(~salparot@c83-252-230-207.bredband.tele2.se) (Leaving)
2022-10-07 21:48:08 +0200nightbreak(~nightbrea@2600:4040:5416:c000:cc34:1caf:2efd:2193) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-07 21:50:14 +0200jinsun(~jinsun@user/jinsun)
2022-10-07 21:50:16 +0200gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 21:50:48 +0200 <EvanR> darkling, did you make that spherical cow in Bryce3D? nice xD
2022-10-07 21:51:52 +0200 <darkling> I can't remember. Possibly DKBTrace?
2022-10-07 21:52:15 +0200 <ski> (he's also playing Vivaldi, at the start of the keynote)
2022-10-07 21:55:11 +0200 <darkling> Aha. I've found the source file. It was PoVRay.
2022-10-07 22:00:00 +0200nightbreak(~nightbrea@2600:4040:5416:c000:44f7:f82a:e240:c3e2)
2022-10-07 22:00:37 +0200heinz9(~trace@user/trace) (Remote host closed the connection)
2022-10-07 22:00:55 +0200alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
2022-10-07 22:05:06 +0200rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-07 22:07:11 +0200eN0n23eE4(~eN0n23eE4@047-024-217-062.res.spectrum.com)
2022-10-07 22:08:42 +0200rockystone(~rocky@user/rockymarine)
2022-10-07 22:11:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 22:15:05 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-10-07 22:20:17 +0200jakalx(~jakalx@base.jakalx.net)
2022-10-07 22:30:21 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 22:32:19 +0200jargon(~jargon@184.101.208.112)
2022-10-07 22:36:08 +0200nightbreak(~nightbrea@2600:4040:5416:c000:44f7:f82a:e240:c3e2) (Quit: Signing off for now...)
2022-10-07 22:37:46 +0200gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 22:41:33 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-10-07 22:43:34 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-10-07 22:44:50 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-10-07 22:45:19 +0200gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 22:50:53 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 22:54:13 +0200gensyst(gensyst@user/gensyst) (Quit: Leaving)
2022-10-07 22:55:59 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 22:56:13 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2022-10-07 22:57:59 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
2022-10-07 23:04:03 +0200gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 23:04:22 +0200kenran(~user@user/kenran)
2022-10-07 23:08:43 +0200mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 23:08:56 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 23:14:12 +0200titibandit(~titibandi@xdsl-89-0-65-2.nc.de)
2022-10-07 23:14:47 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2022-10-07 23:19:39 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-10-07 23:25:32 +0200codaraxis__(~codaraxis@user/codaraxis)
2022-10-07 23:29:41 +0200codaraxis(~codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
2022-10-07 23:31:45 +0200eN0n23eE4(~eN0n23eE4@047-024-217-062.res.spectrum.com) (Ping timeout: 268 seconds)
2022-10-07 23:32:22 +0200zebrag(~chris@user/zebrag) (Ping timeout: 268 seconds)
2022-10-07 23:32:33 +0200titibandit(~titibandi@xdsl-89-0-65-2.nc.de) (Quit: Leaving.)
2022-10-07 23:32:50 +0200zebrag(~chris@user/zebrag)
2022-10-07 23:38:31 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-10-07 23:38:32 +0200xstill_(xstill@fimu/xstill) (Quit: Ping timeout (120 seconds))
2022-10-07 23:41:30 +0200xstill_(xstill@fimu/xstill)
2022-10-07 23:41:46 +0200ec(~ec@gateway/tor-sasl/ec)
2022-10-07 23:43:01 +0200michalz(~michalz@185.246.207.218) (Remote host closed the connection)
2022-10-07 23:48:11 +0200burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 23:55:23 +0200kenran(~user@user/kenran) (Remote host closed the connection)
2022-10-07 23:57:06 +0200zer0bitz(~zer0bitz@2001:2003:f748:2000:256e:c8ac:d70d:56f6) (Ping timeout: 260 seconds)