2022/10/07

2022-10-07 00:00:26 +0000 <dminuoso> probie: So? GHC already violates the Haskell report in a few places for convenience.
2022-10-07 00:00:34 +0000 <dminuoso> I second hpc's suggestion.
2022-10-07 00:01:02 +0000 <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 00:01:51 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 00:02:08 +0000 <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 00:02:09 +0000 <Clinton[m]> I'd like to be able to say `x = a.x` without warnings about name shadowing.
2022-10-07 00:02:27 +0000califax(~califax@user/califx) (Remote host closed the connection)
2022-10-07 00:03:43 +0000 <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 00:05:24 +0000califax(~califax@user/califx)
2022-10-07 00:06:33 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 00:08:09 +0000 <geekosaur> Clinton[m], perhaps you want NoFieldSelectors?
2022-10-07 00:08:51 +0000 <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 00:09:51 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 00:10:12 +0000Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de) (Quit: Client closed)
2022-10-07 00:11:09 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 00:13:40 +0000beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Remote host closed the connection)
2022-10-07 00:13:59 +0000beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-07 00:14:31 +0000stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-10-07 00:15:21 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-10-07 00:15:34 +0000stiell_(~stiell@gateway/tor-sasl/stiell)
2022-10-07 00:17:06 +0000 <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 00:17:09 +0000 <qrpnxz> specialization and inlining optimizations that stream fusion relies on are still very much applicable in this case.
2022-10-07 00:18:36 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-10-07 00:18:41 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 00:18:48 +0000 <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 00:19:05 +0000 <qrpnxz> (so i don't see a pithy rewrite rules for (streamList (build g)) but regular stream fusion optimizations still apply)
2022-10-07 00:19:40 +0000Franciman(~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer)
2022-10-07 00:19:56 +0000Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de)
2022-10-07 00:20:03 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-10-07 00:22:52 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-07 00:22:52 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-10-07 00:22:52 +0000wroathe(~wroathe@user/wroathe)
2022-10-07 00:22:59 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 248 seconds)
2022-10-07 00:26:38 +0000justsomeguy(~justsomeg@user/justsomeguy)
2022-10-07 00:26:53 +0000gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 00:31:03 +0000 <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 00:31:17 +0000 <dminuoso> Combined with the time-traveling lookup, it's a great boon.
2022-10-07 00:33:49 +0000mtjm(~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
2022-10-07 00:35:01 +0000mtjm(~mutantmel@2604:a880:2:d0::208b:d001)
2022-10-07 00:37:03 +0000stackdroid18(~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-10-07 00:39:40 +0000causal(~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e)
2022-10-07 00:40:43 +0000 <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 00:41:41 +0000 <dminuoso> Guest86: Do you see that n in there?
2022-10-07 00:41:48 +0000 <dminuoso> That is just not constant.
2022-10-07 00:42:09 +0000 <dminuoso> For a while its linear, then it becomes constant
2022-10-07 00:42:24 +0000 <dminuoso> But overall that is not constant
2022-10-07 00:42:46 +0000 <EvanR> in the spirit of dropping details like O does... I'm confused xD
2022-10-07 00:43:20 +0000 <geekosaur> also this is not C; n is 64 on pretty much every platform these days
2022-10-07 00:44:00 +0000 <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 00:44:08 +0000 <EvanR> so basically it's faster if you have less than 64 elements
2022-10-07 00:44:55 +0000Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 00:47:09 +0000 <[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 00:49:45 +0000 <dminuoso> [Leary]: Mmm you have a fair point.
2022-10-07 00:50:15 +0000motherfsck(~motherfsc@user/motherfsck)
2022-10-07 00:50:17 +0000 <dminuoso> geekosaur: You meant *W is 64 on pretty much every platform.
2022-10-07 00:50:29 +0000 <dminuoso> Not that confusing W with n is going to have a difference here.
2022-10-07 00:50:47 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
2022-10-07 00:51:07 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-10-07 00:57:50 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
2022-10-07 00:58:51 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 01:01:13 +0000Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-10-07 01:01:44 +0000__xor(~xor@74.215.182.83)
2022-10-07 01:02:07 +0000__xor(~xor@74.215.182.83) (Client Quit)
2022-10-07 01:08:42 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 01:08:42 +0000gqplox(~textual@97e654ef.skybroadband.com) (Client Quit)
2022-10-07 01:10:36 +0000justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
2022-10-07 01:10:55 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-10-07 01:11:11 +0000justsomeguy(~justsomeg@user/justsomeguy)
2022-10-07 01:11:39 +0000talismanick(~talismani@2601:200:c100:c9e0::24ac) (Remote host closed the connection)
2022-10-07 01:11:59 +0000talismanick(~talismani@2601:200:c100:c9e0::24ac)
2022-10-07 01:14:31 +0000Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se)
2022-10-07 01:17:02 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-10-07 01:18:43 +0000Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 01:20:41 +0000zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-10-07 01:22:47 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 01:23:43 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 246 seconds)
2022-10-07 01:24:10 +0000waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2022-10-07 01:27:46 +0000xff0x(~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 265 seconds)
2022-10-07 01:28:36 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 260 seconds)
2022-10-07 01:29:07 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
2022-10-07 01:30:40 +0000beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 265 seconds)
2022-10-07 01:31:01 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 01:31:10 +0000zebrag(~chris@user/zebrag)
2022-10-07 01:33:07 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 01:34:27 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2022-10-07 01:35:25 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Ping timeout: 250 seconds)
2022-10-07 01:36:40 +0000 <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 01:39:49 +0000 <justsomeguy> Oh boy... I just found the haskellwiki page on roles ... I give up already.
2022-10-07 01:40:18 +0000bastelfreak(bastelfrea@libera/staff/VoxPupuli.bastelfreak) (Ping timeout: 600 seconds)
2022-10-07 01:40:36 +0000 <[Leary]> justsomeguy: It just means you have `Coercible b b' => Coercible (Array a b) (Array a b')`.
2022-10-07 01:41:33 +0000son0p(~ff@181.136.122.143)
2022-10-07 01:43:12 +0000 <[Leary]> The wiki page makes it look more complicated than it is; the Data.Coercible haddocks are straightforward.
2022-10-07 01:45:42 +0000justsomeguylooks up Coercible on Hoogle.
2022-10-07 01:52:25 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 265 seconds)
2022-10-07 01:53:43 +0000bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-07 01:53:57 +0000sayola(~sayola@dslb-088-064-186-217.088.064.pools.vodafone-ip.de)
2022-10-07 01:54:08 +0000ddellacosta(~ddellacos@static-198-44-136-116.cust.tzulo.com)
2022-10-07 01:55:06 +0000 <EvanR> translating coercibility through Array is giving me flashbacks to subtyping variance annotations
2022-10-07 01:55:16 +0000 <EvanR> probably not related
2022-10-07 02:02:34 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-10-07 02:05:13 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 02:06:19 +0000td_(~td@muedsl-82-207-238-011.citykom.de) (Ping timeout: 268 seconds)
2022-10-07 02:07:50 +0000td_(~td@94.134.91.210)
2022-10-07 02:08:53 +0000smol-hors(sid524992@smol/hors) ()
2022-10-07 02:12:56 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-10-07 02:14:30 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 02:21:11 +0000raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2022-10-07 02:22:33 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-07 02:22:33 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-10-07 02:22:34 +0000wroathe(~wroathe@user/wroathe)
2022-10-07 02:24:36 +0000notzmv(~zmv@user/notzmv)
2022-10-07 02:24:53 +0000jargon(~jargon@184.101.208.112)
2022-10-07 02:28:47 +0000dsrt^(~dsrt@c-76-17-6-165.hsd1.ga.comcast.net)
2022-10-07 02:29:44 +0000roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Remote host closed the connection)
2022-10-07 02:30:48 +0000frost(~frost@user/frost)
2022-10-07 02:31:27 +0000roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2022-10-07 02:31:46 +0000roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Client Quit)
2022-10-07 02:34:35 +0000nightbreak(~nightbrea@2600:4040:5416:c000:cc34:1caf:2efd:2193)
2022-10-07 02:37:54 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-10-07 02:37:54 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 02:38:01 +0000nightbreak[Away](~nightbrea@2600:4040:5416:c000:89ef:7927:9e8f:36c6) (Ping timeout: 260 seconds)
2022-10-07 02:38:38 +0000justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
2022-10-07 02:38:52 +0000motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2022-10-07 02:39:11 +0000motherfsck(~motherfsc@user/motherfsck)
2022-10-07 02:39:47 +0000stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds)
2022-10-07 02:44:28 +0000stiell_(~stiell@gateway/tor-sasl/stiell)
2022-10-07 02:44:33 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-10-07 02:46:18 +0000nate1(~nate@98.45.169.16)
2022-10-07 02:50:54 +0000motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
2022-10-07 02:53:47 +0000Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se)
2022-10-07 02:55:21 +0000k8yun(~k8yun@user/k8yun)
2022-10-07 02:57:22 +0000Erez(~Erez@h-155-4-187-85.A412.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 03:03:28 +0000td_(~td@94.134.91.210) (Ping timeout: 265 seconds)
2022-10-07 03:04:51 +0000td_(~td@muedsl-82-207-238-163.citykom.de)
2022-10-07 03:06:40 +0000motherfsck(~motherfsc@user/motherfsck)
2022-10-07 03:08:47 +0000ddellacosta(~ddellacos@static-198-44-136-116.cust.tzulo.com) (Ping timeout: 265 seconds)
2022-10-07 03:09:22 +0000Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de) (Quit: Client closed)
2022-10-07 03:10:50 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 03:11:34 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 03:13:38 +0000smol-hors(sid524992@smol/hors)
2022-10-07 03:14:46 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 03:16:58 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 03:17:43 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 03:20:35 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 03:26:40 +0000waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 265 seconds)
2022-10-07 03:26:44 +0000stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-10-07 03:26:49 +0000dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2022-10-07 03:27:09 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 03:27:18 +0000stiell_(~stiell@gateway/tor-sasl/stiell)
2022-10-07 03:27:40 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 03:28:57 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 03:29:05 +0000nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-10-07 03:29:06 +0000k8yun(~k8yun@user/k8yun) (Quit: Leaving)
2022-10-07 03:29:23 +0000vglfr(~vglfr@145.224.100.190) (Ping timeout: 252 seconds)
2022-10-07 03:35:37 +0000mvk(~mvk@2607:fea8:5ce3:8500::778c)
2022-10-07 03:36:52 +0000mbuf(~Shakthi@49.204.120.232)
2022-10-07 03:37:45 +0000_xor(~xor@74.215.182.83) (Quit: WeeChat 3.6)
2022-10-07 03:37:47 +0000Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de)
2022-10-07 03:39:07 +0000Guest86(~Guest86@p200300ef9718356967cd5be491300607.dip0.t-ipconnect.de) (Client Quit)
2022-10-07 03:41:24 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 03:42:09 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30::1c) (Quit: caryhartline)
2022-10-07 03:43:54 +0000zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-10-07 03:45:26 +0000Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-10-07 03:45:28 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 03:45:36 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-10-07 03:50:30 +0000_xor(~xor@74.215.182.83)
2022-10-07 03:53:47 +0000Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-10-07 03:54:06 +0000vglfr(~vglfr@145.224.100.100)
2022-10-07 03:54:43 +0000Vajb(~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
2022-10-07 03:57:49 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 04:04:56 +0000bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 260 seconds)
2022-10-07 04:06:34 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds)
2022-10-07 04:10:56 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-07 04:12:13 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 04:14:51 +0000zns(~zns@user/zns)
2022-10-07 04:18:00 +0000jargon(~jargon@184.101.208.112) (Remote host closed the connection)
2022-10-07 04:21:33 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 04:23:11 +0000vglfr(~vglfr@145.224.100.100) (Quit: Quit)
2022-10-07 04:23:24 +0000vglfr(~vglfr@145.224.100.100)
2022-10-07 04:24:22 +0000vglfr(~vglfr@145.224.100.100) (Client Quit)
2022-10-07 04:24:36 +0000vglfr(~vglfr@145.224.100.100)
2022-10-07 04:25:32 +0000vglfr(~vglfr@145.224.100.100) (Client Quit)
2022-10-07 04:25:44 +0000vglfr(~vglfr@145.224.100.100)
2022-10-07 04:29:41 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 04:35:18 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 04:42:51 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 04:43:48 +0000jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-10-07 04:47:05 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 04:50:47 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 04:53:26 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-07 04:53:27 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 04:54:53 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 04:55:42 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-10-07 04:56:20 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 04:57:00 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 04:57:38 +0000zns(~zns@user/zns)
2022-10-07 04:58:14 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-07 04:58:30 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 04:58:43 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-07 04:59:19 +0000mvk(~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 246 seconds)
2022-10-07 04:59:50 +0000`2jt(~jtomas@90.red-88-17-81.dynamicip.rima-tde.net)
2022-10-07 05:00:49 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 05:01:53 +0000cyphase(~cyphase@user/cyphase) (Ping timeout: 265 seconds)
2022-10-07 05:05:05 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2022-10-07 05:06:51 +0000cyphase(~cyphase@user/cyphase)
2022-10-07 05:08:02 +0000kenran(~user@user/kenran)
2022-10-07 05:08:31 +0000zaquest(~notzaques@5.130.79.72) (Ping timeout: 260 seconds)
2022-10-07 05:16:02 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 05:19:40 +0000zaquest(~notzaques@5.130.79.72)
2022-10-07 05:20:03 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2022-10-07 05:21:55 +0000zns(~zns@user/zns)
2022-10-07 05:35:31 +0000cyphase(~cyphase@user/cyphase) (Ping timeout: 252 seconds)
2022-10-07 05:40:14 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-07 05:40:22 +0000cyphase(~cyphase@user/cyphase)
2022-10-07 05:41:09 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 05:41:11 +0000burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk)
2022-10-07 05:44:18 +0000zns(~zns@user/zns)
2022-10-07 05:44:18 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-10-07 05:45:23 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-07 05:47:37 +0000burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2022-10-07 05:48:12 +0000zns(~zns@user/zns) (Client Quit)
2022-10-07 05:53:07 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2022-10-07 05:58:53 +0000michalz(~michalz@185.246.207.218)
2022-10-07 05:59:20 +0000califax(~califax@user/califx) (Remote host closed the connection)
2022-10-07 06:00:38 +0000califax(~califax@user/califx)
2022-10-07 06:07:21 +0000acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de)
2022-10-07 06:07:38 +0000zns(~zns@user/zns)
2022-10-07 06:08:10 +0000coot(~coot@213.134.171.3)
2022-10-07 06:09:10 +0000mvk(~mvk@2607:fea8:5ce3:8500::778c)
2022-10-07 06:11:57 +0000phma(phma@2001:5b0:211f:2ab8:24ce:9e74:707e:f3b4) (Read error: Connection reset by peer)
2022-10-07 06:13:00 +0000phma(~phma@2001:5b0:210f:7f78:84ef:f73b:8c9:8002)
2022-10-07 06:15:32 +0000bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e)
2022-10-07 06:16:23 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 06:19:24 +0000dsrt^(~dsrt@c-76-17-6-165.hsd1.ga.comcast.net) (Remote host closed the connection)
2022-10-07 06:27:04 +0000Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-10-07 06:28:24 +0000Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 06:33:22 +0000Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-10-07 06:37:51 +0000`2jt(~jtomas@90.red-88-17-81.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2022-10-07 06:38:46 +0000Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 06:45:13 +0000tcard(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) (Quit: Leaving)
2022-10-07 06:50:13 +0000gmg(~user@user/gehmehgeh)
2022-10-07 06:50:16 +0000tcard(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9)
2022-10-07 06:51:47 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 248 seconds)
2022-10-07 06:56:52 +0000MajorBiscuit(~MajorBisc@c-001-011-059.client.tudelft.eduvpn.nl)
2022-10-07 06:58:29 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:3e7a:9e2c:d400:8ce1)
2022-10-07 06:59:12 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 07:01:21 +0000zeenk(~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63)
2022-10-07 07:02:01 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 07:03:07 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 07:06:04 +0000 <dminuoso> While they left, the GHC manual has an fairly good description.
2022-10-07 07:06:19 +0000 <dminuoso> Based on the various questions we get, I feel the GHC manual is not consulted often enough
2022-10-07 07:06:21 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 07:06:24 +0000 <dminuoso> It's so well written..
2022-10-07 07:06:57 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 07:07:00 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 07:08:34 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 07:17:53 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 268 seconds)
2022-10-07 07:20:23 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 07:24:43 +0000 <c_wraith> people are just used to manuals being useless
2022-10-07 07:26:47 +0000lottaquestions_(~nick@104.221.24.83) (Quit: Konversation terminated!)
2022-10-07 07:27:07 +0000lottaquestions_(~nick@2607:fa49:503e:7100:17df:3c92:219a:a0dd)
2022-10-07 07:30:15 +0000 <sm> +1! @where ghc-guide , or haskell-links.org/ghc-guide is an easy way to cite it
2022-10-07 07:30:36 +0000ft(~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: leaving)
2022-10-07 07:34:53 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 07:35:25 +0000mvk(~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 246 seconds)
2022-10-07 07:36:35 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-10-07 07:40:29 +0000fjMSX(~hypni2p@2.92.213.55) (Remote host closed the connection)
2022-10-07 07:42:04 +0000 <dminuoso> @where ghc-guide
2022-10-07 07:42:04 +0000 <lambdabot> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide
2022-10-07 07:52:26 +0000tcard(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) (Ping timeout: 260 seconds)
2022-10-07 07:58:27 +0000aliosablack(~chomwitt@94.66.62.161)
2022-10-07 08:00:14 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-10-07 08:00:19 +0000chomwitt(~chomwitt@2a02:587:dc14:f500:b953:cd7b:2dda:416c) (Ping timeout: 268 seconds)
2022-10-07 08:01:08 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:b350:182d:9fe7:1448)
2022-10-07 08:01:19 +0000shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-10-07 08:01:27 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 252 seconds)
2022-10-07 08:01:39 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-10-07 08:03:23 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 08:07:36 +0000bastelfreak(bastelfrea@libera/staff/VoxPupuli.bastelfreak)
2022-10-07 08:08:56 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 08:10:41 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 08:11:07 +0000_xor(~xor@74.215.182.83) (Quit: bbiab)
2022-10-07 08:16:21 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-07 08:16:22 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 08:17:06 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 08:17:09 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 08:17:34 +0000titibandit(~titibandi@xdsl-89-0-65-2.nc.de)
2022-10-07 08:17:41 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 08:17:57 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 08:19:04 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 08:21:13 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 08:21:42 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-10-07 08:28:57 +0000aliosablack(~chomwitt@94.66.62.161) (Ping timeout: 252 seconds)
2022-10-07 08:31:21 +0000vglfr(~vglfr@145.224.100.100) (Read error: Connection reset by peer)
2022-10-07 08:32:46 +0000vglfr(~vglfr@145.224.100.100)
2022-10-07 08:35:35 +0000vpan(~0@212.117.1.172)
2022-10-07 08:35:53 +0000Everything(~Everythin@37.115.210.35)
2022-10-07 08:37:01 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 08:40:23 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-10-07 08:41:15 +0000coot(~coot@213.134.171.3) (Quit: coot)
2022-10-07 08:41:28 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 08:41:50 +0000coot(~coot@213.134.171.3)
2022-10-07 08:50:23 +0000Franciman(~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer)
2022-10-07 08:52:02 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 08:55:08 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 08:56:48 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 09:00:06 +0000kadenwolff[m](~kadenwolf@2001:470:69fc:105::1:d97f) (Quit: You have been kicked for being idle)
2022-10-07 09:02:02 +0000chele(~chele@user/chele)
2022-10-07 09:02:24 +0000kdaishi(~Thunderbi@dyn3136-42.wlan.ic.ac.uk)
2022-10-07 09:04:33 +0000Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 09:05:48 +0000vglfr(~vglfr@145.224.100.100) (Ping timeout: 264 seconds)
2022-10-07 09:06:56 +0000kdaishi(~Thunderbi@dyn3136-42.wlan.ic.ac.uk) (Ping timeout: 265 seconds)
2022-10-07 09:08:01 +0000teo(~teo@user/teo)
2022-10-07 09:11:54 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 09:13:34 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 09:14:03 +0000tcard(~tcard@p1153206-ipngn11001hodogaya.kanagawa.ocn.ne.jp)
2022-10-07 09:15:45 +0000ubert(~Thunderbi@77.119.205.166.wireless.dyn.drei.com)
2022-10-07 09:15:50 +0000titibandit(~titibandi@xdsl-89-0-65-2.nc.de) (Quit: Leaving.)
2022-10-07 09:15:59 +0000tcard_(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9)
2022-10-07 09:16:42 +0000acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-10-07 09:18:45 +0000tcard(~tcard@p1153206-ipngn11001hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 268 seconds)
2022-10-07 09:21:46 +0000aliosablack(~chomwitt@2a02:587:dc14:6e00:43e8:683d:d9ee:e96a)
2022-10-07 09:22:16 +0000talismanick(~talismani@2601:200:c100:c9e0::24ac) (Ping timeout: 260 seconds)
2022-10-07 09:22:24 +0000 <sm> not so memorable otherwise
2022-10-07 09:26:49 +0000 <sm> @where+ ghc-guide https://downloads.haskell.org/ghc/latest/docs/users_guide/
2022-10-07 09:28:29 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 09:30:10 +0000acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de)
2022-10-07 09:32:16 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 09:35:30 +0000acidjnk_new(~acidjnk@p200300d6e7137a80d13b76c6af76f1e0.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-07 09:38:16 +0000bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e) (Remote host closed the connection)
2022-10-07 09:38:39 +0000bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e)
2022-10-07 09:46:04 +0000vglfr(~vglfr@37.73.106.237)
2022-10-07 09:46:10 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 09:46:19 +0000potash(~foghorn@user/foghorn) (Ping timeout: 246 seconds)
2022-10-07 09:46:42 +0000Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-10-07 09:47:03 +0000potash(~foghorn@user/foghorn)
2022-10-07 09:47:22 +0000Franciman(~Franciman@mx1.fracta.dev)
2022-10-07 09:52:32 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-10-07 09:57:24 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-10-07 09:58:08 +0000Lycurgus(~juan@user/Lycurgus)
2022-10-07 09:58:23 +0000bilegeek(~bilegeek@2600:1008:b00e:3dc6:f0e6:2dec:781a:b64e) (Quit: Leaving)
2022-10-07 10:04:45 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:b350:182d:9fe7:1448) (Remote host closed the connection)
2022-10-07 10:04:51 +0000infinity0(~infinity0@185.112.146.113) (Ping timeout: 268 seconds)
2022-10-07 10:05:01 +0000raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-07 10:07:44 +0000Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
2022-10-07 10:10:00 +0000freeside(~mengwong@202.161.55.11)
2022-10-07 10:10:27 +0000pgray_(~pgray@c-24-143-114-36.customer.broadstripe.net)
2022-10-07 10:11:11 +0000pgray__(~pgray@c-24-143-114-36.customer.broadstripe.net) (Read error: Connection reset by peer)
2022-10-07 10:11:41 +0000 <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 10:13:03 +0000 <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 10:14:20 +0000titibandit(~titibandi@xdsl-89-0-65-2.nc.de)
2022-10-07 10:15:39 +0000 <lyxia> laziness and io don't mix
2022-10-07 10:15:49 +0000 <lyxia> repeatM in IO will run forever
2022-10-07 10:15:55 +0000 <Franciman> does laziness mix with parallelism?
2022-10-07 10:15:57 +0000 <Franciman> i don't think
2022-10-07 10:16:04 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 10:16:08 +0000 <Franciman> laziness mixes only with single threaded purity
2022-10-07 10:16:34 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds)
2022-10-07 10:16:45 +0000 <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 10:18:28 +0000 <freeside> gotcha, thank you.
2022-10-07 10:18:58 +0000 <probie> s/can might/might/
2022-10-07 10:19:01 +0000 <byorgey> the better way is to directly use 'randoms' or 'randomRs' to generate an infinite list of random numbers.
2022-10-07 10:19:15 +0000 <byorgey> instead of trying to execute an infinite list of IO actions.
2022-10-07 10:19:35 +0000slydacyfa(~IceChat95@pa49-197-58-11.pa.qld.optusnet.com.au)
2022-10-07 10:21:19 +0000califax(~califax@user/califx) (Ping timeout: 258 seconds)
2022-10-07 10:21:24 +0000ulvarref`(~user@185.24.53.152)
2022-10-07 10:22:10 +0000 <freeside> mmm, i will try that, thank you.
2022-10-07 10:22:42 +0000califax(~califax@user/califx)
2022-10-07 10:22:59 +0000ulvarrefr(~user@188.124.56.153) (Ping timeout: 252 seconds)
2022-10-07 10:28:04 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:30:58 +0000 <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 10:31:32 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 10:31:43 +0000 <lyxia> Franciman: that was for you ^
2022-10-07 10:32:12 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 10:32:32 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 10:32:37 +0000 <Franciman> lyxia: how does it deal with this programme? let x = thunk in 1 + x `par` x + 5 ?
2022-10-07 10:32:42 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 10:32:48 +0000slydacyfa(~IceChat95@pa49-197-58-11.pa.qld.optusnet.com.au) ()
2022-10-07 10:33:40 +0000 <Hecate> hi from MuniHac <3
2022-10-07 10:38:43 +0000beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-07 10:38:54 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:39:16 +0000ulvarref`(~user@185.24.53.152) (Ping timeout: 260 seconds)
2022-10-07 10:39:41 +0000econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-10-07 10:41:52 +0000 <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 10:42:04 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 10:42:07 +0000 <Franciman> and the other wil have to wait for the thunk
2022-10-07 10:42:09 +0000 <Franciman> no?
2022-10-07 10:42:13 +0000 <lyxia> Hecate: o/
2022-10-07 10:42:38 +0000 <Franciman> why both?
2022-10-07 10:42:52 +0000 <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 10:43:05 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 10:43:21 +0000 <Franciman> so they can also modify the value at the same time, rendering an invalid result?
2022-10-07 10:43:34 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 10:43:35 +0000 <Franciman> or is an invalid result impossible?
2022-10-07 10:43:47 +0000 <lyxia> no because this is supposed to be pure code so the value will be the same either way
2022-10-07 10:43:57 +0000 <lyxia> there are no invalid results
2022-10-07 10:44:19 +0000 <Franciman> ofc, but imagine intermixing complex operations on x, to compute x
2022-10-07 10:44:32 +0000 <Franciman> even if they are pure, if you intermix them without control, they can render the final result invalid
2022-10-07 10:45:00 +0000 <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 10:45:14 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 10:45:55 +0000 <Franciman> ok but this is a simplified example ...
2022-10-07 10:45:57 +0000 <Franciman> well i understand
2022-10-07 10:46:00 +0000 <Franciman> okaaaaaaaaaaaaaay
2022-10-07 10:46:01 +0000 <lyxia> I'm not sure what you mean "if you intermix them without control"
2022-10-07 10:46:30 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 10:46:41 +0000__monty__(~toonn@user/toonn)
2022-10-07 10:47:49 +0000ulvarrefr(~user@188.124.56.153)
2022-10-07 10:47:52 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 10:49:26 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-10-07 10:51:53 +0000 <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 10:53:48 +0000zer0bitz(~zer0bitz@2001:2003:f748:2000:256e:c8ac:d70d:56f6)
2022-10-07 10:56:59 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 10:57:56 +0000jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-07 11:01:09 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 11:01:09 +0000 <lyxia> why do you have repeat ""
2022-10-07 11:01:13 +0000 <[Leary]> > (+) <$> [1..] <*> repeat 1
2022-10-07 11:01:15 +0000 <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 11:01:23 +0000 <[Leary]> > (+ 1) <$> [1..]
2022-10-07 11:01:25 +0000 <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 11:01:29 +0000 <freeside> i was trying to get the ShowS to be a Show
2022-10-07 11:01:52 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se)
2022-10-07 11:02:02 +0000 <lyxia> I think you meant pure "", which is [""], not repeat ""
2022-10-07 11:02:56 +0000 <lyxia> or do what [Leary] did
2022-10-07 11:03:54 +0000razetime(~quassel@117.193.4.113)
2022-10-07 11:04:11 +0000 <freeside> gotcha, my bad
2022-10-07 11:05:34 +0000jakalx(~jakalx@base.jakalx.net)
2022-10-07 11:06:48 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 11:09:03 +0000titibandit(~titibandi@xdsl-89-0-65-2.nc.de) (Quit: Leaving.)
2022-10-07 11:10:25 +0000xff0x(~xff0x@2405:6580:b080:900:4104:ab75:8049:18d8)
2022-10-07 11:14:12 +0000 <ski> > (getZipList . pure . ZipList) ""
2022-10-07 11:14:14 +0000 <lambdabot> [ZipList {getZipList = ""},ZipList {getZipList = ""},ZipList {getZipList = "...
2022-10-07 11:14:29 +0000 <ski> > (getZipList . pure) ""
2022-10-07 11:14:31 +0000 <lambdabot> ["","","","","","","","","","","","","","","","","","","","","","","","","",...
2022-10-07 11:16:55 +0000acidjnk_new(~acidjnk@p200300d6e7137a80d19b135f341f3cf7.dip0.t-ipconnect.de)
2022-10-07 11:17:55 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 11:20:26 +0000fjMSX(~hypni2p@2.92.213.55)
2022-10-07 11:21:10 +0000 <ski> freeside : you could also use (`showHex` "") <$> infWords
2022-10-07 11:21:43 +0000 <ski> @type (`showHex` "")
2022-10-07 11:21:44 +0000 <lambdabot> (Integral a, Show a) => a -> String
2022-10-07 11:22:11 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 248 seconds)
2022-10-07 11:27:10 +0000Erez(~Erez@h-155-4-187-85.A980.priv.bahnhof.se) (Remote host closed the connection)
2022-10-07 11:27:23 +0000 <freeside> neat, thanks.
2022-10-07 11:28:48 +0000 <ski> other alternative ways of saying the same thing :
2022-10-07 11:29:02 +0000 <ski> flip showHex "" <$> infWords
2022-10-07 11:29:20 +0000 <ski> (showHex `flip` "") <$> infWords
2022-10-07 11:29:33 +0000 <ski> (\n -> showHex n "") <$> infWords
2022-10-07 11:33:47 +0000zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-10-07 11:37:58 +0000freeside(~mengwong@202.161.55.11) (Ping timeout: 268 seconds)
2022-10-07 11:42:51 +0000xff0x(~xff0x@2405:6580:b080:900:4104:ab75:8049:18d8) (Ping timeout: 260 seconds)
2022-10-07 11:44:31 +0000Guest56(~Guest56@2001:a62:153a:a201:4317:4122:7383:8e29)
2022-10-07 11:44:43 +0000xff0x(~xff0x@ai071162.d.east.v6connect.net)
2022-10-07 11:54:27 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 11:57:17 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-07 11:57:20 +0000vglfr(~vglfr@37.73.106.237) (Read error: Connection reset by peer)
2022-10-07 11:58:59 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Ping timeout: 250 seconds)
2022-10-07 12:00:14 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 12:00:25 +0000alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net)
2022-10-07 12:01:30 +0000vglfr(~vglfr@37.73.106.237)
2022-10-07 12:01:53 +0000razetime(~quassel@117.193.4.113) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-10-07 12:04:48 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 12:08:16 +0000frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-10-07 12:09:03 +0000zaquest(~notzaques@5.130.79.72)
2022-10-07 12:10:38 +0000 <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 12:10:50 +0000 <ii8> See here: https://paste.tomsmeding.com/Q6pNJ99r
2022-10-07 12:11:12 +0000 <dolio> traverse
2022-10-07 12:14:08 +0000 <ii8> dolio: ty ez
2022-10-07 12:16:01 +0000Lycurgus(~juan@user/Lycurgus)
2022-10-07 12:19:47 +0000jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds)
2022-10-07 12:20:57 +0000eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com)
2022-10-07 12:24:56 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-10-07 12:26:28 +0000 <byorgey> https://twitter.com/impurepics/status/1312158622302924801 the answer is always traverse
2022-10-07 12:27:05 +0000 <Hecate> :D
2022-10-07 12:27:45 +0000Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
2022-10-07 12:28:09 +0000 <byorgey> Hecate: how's MuniHac?
2022-10-07 12:29:09 +0000 <Hecate> byorgey: it's lovely, thank you!
2022-10-07 12:29:15 +0000 <Hecate> I've got some people at the Flora table
2022-10-07 12:29:26 +0000 <Hecate> and met some rock stars (^_^)
2022-10-07 12:31:03 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-10-07 12:33:05 +0000heinz9(~trace@user/trace)
2022-10-07 12:33:11 +0000 <heinz9> what does f a mean
2022-10-07 12:33:25 +0000 <ski> the function `f' applied to the argument `a'
2022-10-07 12:35:40 +0000 <heinz9> thx
2022-10-07 12:36:04 +0000 <heinz9> and a->b ist like a function pointer as a type?
2022-10-07 12:36:48 +0000 <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 12:38:24 +0000eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com) (Ping timeout: 268 seconds)
2022-10-07 12:38:25 +0000 <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 12:38:47 +0000burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk)
2022-10-07 12:38:57 +0000 <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 12:40:44 +0000 <ski> @type Foreign.Ptr.nullFunPtr
2022-10-07 12:40:45 +0000 <lambdabot> GHC.Ptr.FunPtr a
2022-10-07 12:40:47 +0000 <ski> @type Foreign.Ptr.freeHaskellFunPtr
2022-10-07 12:40:49 +0000 <lambdabot> GHC.Ptr.FunPtr a -> IO ()
2022-10-07 12:43:04 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 12:46:36 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-10-07 12:48:03 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-07 12:48:15 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-10-07 12:52:44 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds)
2022-10-07 12:53:34 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 12:57:32 +0000 <dminuoso> Beautiful. I have a memory corruption. :(
2022-10-07 12:57:46 +0000Guest34(~Guest34@p5b0627ab.dip0.t-ipconnect.de)
2022-10-07 12:58:06 +0000ft(~ft@p3e9bc57b.dip0.t-ipconnect.de)
2022-10-07 12:58:34 +0000zebrag(~chris@user/zebrag)
2022-10-07 12:59:02 +0000 <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 12:59:17 +0000 <dminuoso> This has aliased buffer written all over it.
2022-10-07 12:59:32 +0000littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net)
2022-10-07 13:03:01 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 13:03:23 +0000mbuf(~Shakthi@49.204.120.232) (Quit: Leaving)
2022-10-07 13:07:37 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
2022-10-07 13:08:06 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 13:13:09 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-10-07 13:28:41 +0000vglfr(~vglfr@37.73.106.237) (Ping timeout: 250 seconds)
2022-10-07 13:28:46 +0000gmg(~user@user/gehmehgeh) (Ping timeout: 258 seconds)
2022-10-07 13:30:11 +0000_xor(~xor@74.215.182.83)
2022-10-07 13:30:16 +0000gmg(~user@user/gehmehgeh)
2022-10-07 13:30:20 +0000vglfr(~vglfr@145.224.100.100)
2022-10-07 13:30:36 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-07 13:32:46 +0000acidjnk_new(~acidjnk@p200300d6e7137a80d19b135f341f3cf7.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2022-10-07 13:35:52 +0000gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 13:36:57 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 13:41:11 +0000eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com)
2022-10-07 13:43:05 +0000gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 13:43:19 +0000 <ii8> Is there a cooler way to write this: https://paste.tomsmeding.com/PM5lAfc8
2022-10-07 13:43:27 +0000kilolympus(~kilolympu@213.144.144.24)
2022-10-07 13:45:35 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 13:45:45 +0000 <[Leary]> :t \a -> liftA2 (<>) a . pure
2022-10-07 13:45:47 +0000 <lambdabot> (Applicative f, Semigroup c) => f c -> c -> f c
2022-10-07 13:45:50 +0000 <[Leary]> Perhaps.
2022-10-07 13:47:53 +0000 <[Leary]> :t \a b -> a <&> (<> b)
2022-10-07 13:47:55 +0000 <lambdabot> (Functor f, Semigroup b) => f b -> b -> f b
2022-10-07 13:48:18 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 13:48:48 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-07 13:48:48 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-10-07 13:48:48 +0000wroathe(~wroathe@user/wroathe)
2022-10-07 13:49:05 +0000acidjnk_new(~acidjnk@p200300d6e7137a80998e89214fca01fd.dip0.t-ipconnect.de)
2022-10-07 13:49:23 +0000 <chreekat> Semigroup a => Semigroup (Maybe a)
2022-10-07 13:50:03 +0000geekosaurwould 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 13:50:11 +0000 <geekosaur> *cooler
2022-10-07 13:51:57 +0000 <chreekat> ah I see, the default instance for Maybe doesn't propagate the Nothing
2022-10-07 13:53:04 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 13:53:59 +0000 <dminuoso> Whats the primitive to unshare bytestring buffers?
2022-10-07 13:55:35 +0000 <ii8> [Leary]: thanks!
2022-10-07 13:58:50 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 14:01:46 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2022-10-07 14:05:32 +0000k8yun(~k8yun@user/k8yun)
2022-10-07 14:07:15 +0000eN0n23eE4(eN0n23eE4@047-024-217-062.res.spectrum.com) (Ping timeout: 250 seconds)
2022-10-07 14:18:12 +0000son0p(~ff@181.136.122.143) (Ping timeout: 265 seconds)
2022-10-07 14:19:05 +0000Sgeo(~Sgeo@user/sgeo)
2022-10-07 14:22:25 +0000alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net) (Ping timeout: 250 seconds)
2022-10-07 14:26:52 +0000kenran(~user@user/kenran) (Remote host closed the connection)
2022-10-07 14:30:27 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2022-10-07 14:33:57 +0000fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-10-07 14:34:15 +0000fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Client Quit)
2022-10-07 14:39:27 +0000burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 14:43:18 +0000odnes(~odnes@5-203-228-11.pat.nym.cosmote.net)
2022-10-07 14:45:09 +0000FragByte_(~christian@user/fragbyte)
2022-10-07 14:47:35 +0000FragByte(~christian@user/fragbyte) (Ping timeout: 244 seconds)
2022-10-07 14:47:35 +0000FragByte_FragByte
2022-10-07 14:48:41 +0000zns(~zns@user/zns)
2022-10-07 14:49:32 +0000 <EvanR> dminuoso, copy?
2022-10-07 14:50:57 +0000burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk)
2022-10-07 14:52:07 +0000burnsidesLlama(~burnsides@client-8-92.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 14:52:31 +0000odnes(~odnes@5-203-228-11.pat.nym.cosmote.net) (Ping timeout: 265 seconds)
2022-10-07 14:56:46 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 14:57:19 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 14:58:31 +0000zns(~zns@user/zns)
2022-10-07 14:59:21 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 15:01:40 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 15:03:46 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Ping timeout: 246 seconds)
2022-10-07 15:07:59 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 15:09:25 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2022-10-07 15:12:01 +0000gensyst(gensyst@user/gensyst)
2022-10-07 15:14:33 +0000 <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 15:15:24 +0000chele(~chele@user/chele) (Remote host closed the connection)
2022-10-07 15:15:33 +0000 <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 15:16:10 +0000shriekingnoise(~shrieking@186.137.167.202)
2022-10-07 15:18:14 +0000 <EvanR> not meaningless, we have async exceptions that can technically do that
2022-10-07 15:18:23 +0000 <EvanR> would it be insane, maybe
2022-10-07 15:19:01 +0000 <EvanR> first question, which thread gets the exception
2022-10-07 15:19:21 +0000bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-10-07 15:19:28 +0000 <EvanR> once you answer this, make that thread responsible for the foreign resource anyway
2022-10-07 15:21:03 +0000 <EvanR> finalizers are probably better used for cleaning up resources at gc time, rather than crashing
2022-10-07 15:21:35 +0000 <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 15:21:39 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 15:22:00 +0000 <gensyst> ok I know what to do. I'm better off replacing my thing with a "with" thingy
2022-10-07 15:22:12 +0000 <gensyst> so no foreignptr needed
2022-10-07 15:23:37 +0000 <EvanR> yeah a bracket that acquires the resource, and regardless of how the story ends, cleans up the resource afteward
2022-10-07 15:23:38 +0000jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-07 15:25:55 +0000jakalx(~jakalx@base.jakalx.net)
2022-10-07 15:26:16 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 15:32:08 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-10-07 15:40:52 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 15:42:19 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:3e7a:9e2c:d400:8ce1) (Quit: WeeChat 2.8)
2022-10-07 15:45:37 +0000CiaoSen(~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen)
2022-10-07 15:46:14 +0000olle(~olle@p57849f17.dip0.t-ipconnect.de)
2022-10-07 15:46:25 +0000 <olle> Are haskell devs actually coding like this? https://degoes.net/articles/modern-fp
2022-10-07 15:47:39 +0000 <geekosaur> free monads are fairly common, yes
2022-10-07 15:47:47 +0000 <geekosaur> that doesn't mean everyone is using them
2022-10-07 15:48:01 +0000 <olle> Hm
2022-10-07 15:49:09 +0000 <oats> olle, holy christ that guy is ripped
2022-10-07 15:49:09 +0000 <olle> I wanna do it in PHP
2022-10-07 15:50:02 +0000 <EvanR> how about other way around, acme-php backage
2022-10-07 15:50:04 +0000 <EvanR> package
2022-10-07 15:50:13 +0000 <olle> http://olleharstedt.github.io/programming/2022/03/22/one-universal-mock-to-rule-them-all.html
2022-10-07 15:50:16 +0000 <olle> Did try one concept here
2022-10-07 15:51:02 +0000 <oats> olle, I'm also a little annoyed by the opening of that article
2022-10-07 15:51:16 +0000 <oats> you can write poor code in any language, with any paradigm
2022-10-07 15:51:32 +0000 <olle> So far, yes
2022-10-07 15:51:33 +0000 <oats> poor function naming, undescriptive argument names, boolean blindness...
2022-10-07 15:51:46 +0000 <olle> AI will solve it ;)
2022-10-07 15:51:50 +0000 <oats> what
2022-10-07 15:52:04 +0000 <olle> Domain-consiouss AI linters
2022-10-07 15:53:01 +0000 <EvanR> are you really going to take seriously the intro to that blog post when the guy looks like vin diesel
2022-10-07 15:53:25 +0000 <olle> Haha so distracting, those muscles
2022-10-07 15:53:48 +0000 <EvanR> do you take general relativity quantum mechanics tips from Riddick
2022-10-07 15:54:47 +0000 <olle> Those two can't be combined.....
2022-10-07 15:58:45 +0000 <EvanR> yet
2022-10-07 15:59:30 +0000 <EvanR> also that only makes Riddick even less credible
2022-10-07 16:00:07 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 16:00:10 +0000k8yun(~k8yun@user/k8yun) (Quit: Leaving)
2022-10-07 16:04:01 +0000 <gensyst> lol "Come on, this is 2015. We can do better than IO!" wtf
2022-10-07 16:04:11 +0000 <gensyst> so what's happening now 7 years later?
2022-10-07 16:04:30 +0000 <gensyst> free moands catching on now?
2022-10-07 16:05:59 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 16:06:25 +0000Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-10-07 16:07:34 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 16:08:28 +0000 <EvanR> lazy list IO => monads => free monads => comonad IO? xD
2022-10-07 16:08:43 +0000 <olle> Freer monad?
2022-10-07 16:09:09 +0000 <olle> Dijkstra Monads for All?
2022-10-07 16:09:21 +0000 <EvanR> funny the free monad version of IO is more restrictive than IO
2022-10-07 16:09:21 +0000 <olle> https://arxiv.org/abs/1903.01237
2022-10-07 16:09:45 +0000 <EvanR> maybe if we use restrictive monads, we become actually more freer
2022-10-07 16:10:17 +0000 <olle> You don't want freedom, you want correctness
2022-10-07 16:10:23 +0000 <gensyst> Free monads sounds scary. Is this something special, or just a design pattern that can be done with "simple Haskell"?
2022-10-07 16:10:29 +0000 <EvanR> correct. freedom is slavery
2022-10-07 16:10:59 +0000 <EvanR> gensyst, it's pretty simple as far as outlandish abstract nonsense can go around here
2022-10-07 16:11:20 +0000econo(uid147250@user/econo)
2022-10-07 16:11:28 +0000 <EvanR> but packages like freer will help you get the most performance in the process
2022-10-07 16:12:01 +0000 <EvanR> if you are planning to run free monads directly
2022-10-07 16:13:10 +0000 <EvanR> gensyst, just like monads tutorials though... you want to look at free functor first
2022-10-07 16:13:29 +0000 <EvanR> people never think to read functor tutorials xD
2022-10-07 16:13:41 +0000 <gensyst> ok...
2022-10-07 16:13:44 +0000 <heinz9> has someone a very complex use case about a functor, that demonstrates functors usefulness?
2022-10-07 16:14:03 +0000 <gensyst> i'll let this rest for a while
2022-10-07 16:14:06 +0000 <gensyst> no time for this lol
2022-10-07 16:14:18 +0000 <EvanR> functors are all around you
2022-10-07 16:14:20 +0000 <sm> that ripped guy is a good haskell writer
2022-10-07 16:16:08 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 16:16:28 +0000 <c_wraith> heinz9: amusingly, you can sort of see Lens as the complex use case for Functor.
2022-10-07 16:16:36 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-10-07 16:18:26 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 16:23:01 +0000 <heinz9> c_wraith, what is Lens
2022-10-07 16:24:10 +0000Midjak(~Midjak@82.66.147.146)
2022-10-07 16:24:18 +0000 <olle> It's similar to an asshole
2022-10-07 16:24:21 +0000 <olle> Nah
2022-10-07 16:24:24 +0000 <olle> Time to go home
2022-10-07 16:24:51 +0000olle(~olle@p57849f17.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-10-07 16:25:15 +0000 <EvanR> that's the worst tutorial analogy yet
2022-10-07 16:25:16 +0000 <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 16:25:22 +0000teo(~teo@user/teo) (Ping timeout: 268 seconds)
2022-10-07 16:26:28 +0000 <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 16:26:38 +0000zeenk(~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) (Quit: Konversation terminated!)
2022-10-07 16:27:45 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 16:28:58 +0000littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2022-10-07 16:28:59 +0000 <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 16:29:07 +0000MajorBiscuit(~MajorBisc@c-001-011-059.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.5)
2022-10-07 16:30:13 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds)
2022-10-07 16:30:16 +0000 <pareto-optimal-d> c_wraith: It's a codewars and it says "only has lowercase letters and whitespace" :D
2022-10-07 16:30:56 +0000infinity0(~infinity0@185.112.146.113)
2022-10-07 16:31:22 +0000gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 16:32:55 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 16:36:48 +0000 <c_wraith> I don't see any obvious improvement. Other than naming the comparator, anyway.
2022-10-07 16:37:31 +0000causal(~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.6)
2022-10-07 16:37:44 +0000 <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 16:38:09 +0000 <pareto-optimal-d> I should name the comparator
2022-10-07 16:38:13 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds)
2022-10-07 16:38:31 +0000dzdcnfzd(~dzdcnfzd@pool-72-69-177-248.nycmny.fios.verizon.net)
2022-10-07 16:38:59 +0000acidjnk_new(~acidjnk@p200300d6e7137a80998e89214fca01fd.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-10-07 16:40:44 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 16:42:39 +0000bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-10-07 16:43:39 +0000jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-07 16:43:57 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 16:44:28 +0000zns(~zns@user/zns)
2022-10-07 16:47:14 +0000 <heinz9> are functors in general good for automation?
2022-10-07 16:48:45 +0000jakalx(~jakalx@base.jakalx.net)
2022-10-07 16:49:26 +0000 <c_wraith> That's a sort of odd question. Are numbers in general good for automation?
2022-10-07 16:49:28 +0000 <davean> heinz9: what does that even mean?
2022-10-07 16:50:12 +0000 <heinz9> Idk, just guessing
2022-10-07 16:50:26 +0000 <davean> I'm not even sure what you're guessing
2022-10-07 16:51:36 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 16:51:37 +0000 <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 16:51:57 +0000 <davean> its kinda nonsensicle but it might be right if you happen to mean the right thing by it
2022-10-07 16:53:55 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 16:55:19 +0000 <heinz9> davean, this is helping me
2022-10-07 16:55:32 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 16:55:57 +0000 <EvanR> language hasn't caught up with how good functors are for what
2022-10-07 16:56:41 +0000acidjnk_new(~acidjnk@p200300d6e7137a27998e89214fca01fd.dip0.t-ipconnect.de)
2022-10-07 16:57:31 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 16:57:37 +0000cheater(~Username@user/cheater) (Quit: HEY! Must be the BitchX!)
2022-10-07 16:57:40 +0000 <EvanR> however pictures are great
2022-10-07 16:58:03 +0000vpan(~0@212.117.1.172) (Quit: Leaving.)
2022-10-07 17:03:40 +0000 <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 17:04:57 +0000 <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 17:05:32 +0000cheater(~Username@user/cheater)
2022-10-07 17:07:33 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 17:11:14 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 17:11:27 +0000Guest56cafce25
2022-10-07 17:12:29 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 17:12:38 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 17:13:45 +0000zns(~zns@user/zns)
2022-10-07 17:18:42 +0000acidjnk_new(~acidjnk@p200300d6e7137a27998e89214fca01fd.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-07 17:20:25 +0000beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 265 seconds)
2022-10-07 17:27:06 +0000 <heinz9> has haskell morphims?
2022-10-07 17:27:14 +0000 <heinz9> morphisms
2022-10-07 17:28:46 +0000 <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 17:29:21 +0000 <EvanR> (types are the objects)
2022-10-07 17:29:31 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 17:32:35 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-07 17:34:37 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-10-07 17:35:22 +0000 <geekosaur> that being essentially *why* we represent functions with type -> type
2022-10-07 17:43:14 +0000 <monochrom> In fact mathematicians use "name: type -> type" too because category theory started that notation.
2022-10-07 17:43:52 +0000biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-10-07 17:45:42 +0000 <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 17:46:04 +0000 <monochrom> I mean, even capitalism is good for automation, right? >:)
2022-10-07 17:46:32 +0000jmdaemon(~jmdaemon@user/jmdaemon)
2022-10-07 17:47:13 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-07 17:47:50 +0000biberu(~biberu@user/biberu)
2022-10-07 17:49:45 +0000imaGuest(~imaGuest@176.219.40.168)
2022-10-07 17:49:58 +0000imaGuest(~imaGuest@176.219.40.168) (Client Quit)
2022-10-07 17:50:07 +0000 <c_wraith> no, capitalization only helps when you start trying things like autOmation
2022-10-07 17:52:11 +0000 <zzz> there's a reason caps lock is usually frowned upon
2022-10-07 17:52:24 +0000shaprfrows
2022-10-07 17:52:28 +0000 <shapr> ahem FROWNS
2022-10-07 17:52:38 +0000 <shapr> capital my good sir
2022-10-07 17:53:23 +0000 <zzz> it's not an unpopular lifestyle choice to remap capital lock to escape
2022-10-07 17:53:36 +0000 <shapr> I don't think my keyboard has a caps lock key
2022-10-07 17:53:47 +0000 <shapr> but anyway
2022-10-07 17:53:56 +0000 <shapr> I got a partial Haskell job today, so that's nice
2022-10-07 17:54:08 +0000 <zzz> ugh partial
2022-10-07 17:54:12 +0000shaprshrugs
2022-10-07 17:54:14 +0000 <shapr> better than nothing
2022-10-07 17:54:17 +0000 <monochrom> I thought people who remap capslock remap it to tab or ctrl.
2022-10-07 17:54:27 +0000 <zzz> monochrom: esc for vim
2022-10-07 17:54:34 +0000 <shapr> zzz: Part of the job is porting Python to Haskell, so I'm excited about that.
2022-10-07 17:54:42 +0000 <shapr> it's gonna be funnn
2022-10-07 17:54:50 +0000 <zzz> shapr: i was making a joke about partiality. congrats!
2022-10-07 17:54:53 +0000 <monochrom> Partial haskell jobs are the best haskell jobs because they don't terminate. Right? >:)
2022-10-07 17:55:19 +0000 <zzz> monochrom: ha!
2022-10-07 17:55:22 +0000 <davean> shapr: you should use the 'safe-haskell-job' package instead of the haskell jobs you find in 'base'
2022-10-07 17:55:46 +0000acidjnk(~acidjnk@p200300d6e7137a277c8dbdd75e4c4002.dip0.t-ipconnect.de)
2022-10-07 17:55:49 +0000 <EvanR> honestly, Nothing is a better result than partial(ity)
2022-10-07 17:55:59 +0000 <shapr> zzz: haha, I guess I missed that in my pattern match
2022-10-07 17:56:01 +0000 <zzz> ok guys
2022-10-07 17:56:04 +0000shaprhugs zzz
2022-10-07 17:56:25 +0000 <EvanR> the python monad
2022-10-07 17:58:00 +0000zzzthinks about a tail recursive ouroboros pyton
2022-10-07 17:59:15 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 18:07:59 +0000CiaoSen(~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-10-07 18:20:39 +0000raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-10-07 18:20:39 +0000cafce25(~Guest56@2001:a62:153a:a201:4317:4122:7383:8e29) (Quit: Client closed)
2022-10-07 18:21:14 +0000cafce25(~cafce25@2001:a62:153a:a201:4317:4122:7383:8e29)
2022-10-07 18:21:28 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 18:26:56 +0000 <shapr> hoi tromp, hoe gaat het?
2022-10-07 18:27:08 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 18:30:18 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-10-07 18:32:00 +0000 <tromp> hoi, shapr. het gaat prima. vandaag 15 jaar getrouwd:-)
2022-10-07 18:33:13 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
2022-10-07 18:37:36 +0000dzdcnfzd(~dzdcnfzd@pool-72-69-177-248.nycmny.fios.verizon.net) (Quit: Client closed)
2022-10-07 18:39:27 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 18:44:12 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 264 seconds)
2022-10-07 18:45:03 +0000Guest34(~Guest34@p5b0627ab.dip0.t-ipconnect.de) (Quit: Client closed)
2022-10-07 18:47:38 +0000 <zzz> saluton! kiel vi fartas?
2022-10-07 18:49:45 +0000 <EvanR> lol
2022-10-07 18:49:59 +0000 <EvanR> mi fartas bone
2022-10-07 18:50:15 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 18:51:04 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-07 18:57:00 +0000 <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 18:57:29 +0000 <EvanR> wrap the metric in (x, True) or (x, False) lol
2022-10-07 18:58:09 +0000 <EvanR> as a stupid tie breaker
2022-10-07 18:58:29 +0000 <EvanR> or ad hoc infinity
2022-10-07 18:58:59 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 19:05:55 +0000 <monochrom> Yes, product orders are the best things since orders. :)
2022-10-07 19:06:26 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 19:07:36 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 19:08:38 +0000 <davean> I don't just take my orders from just any old EvanR though
2022-10-07 19:09:00 +0000 <darkling> Accepth no subtitutes.
2022-10-07 19:09:04 +0000 <darkling> s/h//
2022-10-07 19:09:04 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-10-07 19:11:38 +0000zns(~zns@user/zns) (Quit: zzz)
2022-10-07 19:12:11 +0000zns(~zns@user/zns)
2022-10-07 19:12:15 +0000zns(~zns@user/zns) (Client Quit)
2022-10-07 19:16:47 +0000littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net)
2022-10-07 19:17:50 +0000 <ski> but what's the categorical significance of lexicographic ?
2022-10-07 19:20:49 +0000Digit(~user@user/digit)
2022-10-07 19:22:50 +0000 <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 19:23:25 +0000 <EvanR> be careful if you ask for "full" decimal representation of floats
2022-10-07 19:23:30 +0000littlefinger(~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2022-10-07 19:23:51 +0000 <geekosaur> there's no control over the Show instance for Float or Double, no
2022-10-07 19:24:13 +0000 <geekosaur> you could use one of the functions in the Numeric module (or Text.Printf) to print it yourself
2022-10-07 19:24:23 +0000 <EvanR> :t showFFloat
2022-10-07 19:24:24 +0000 <lambdabot> RealFloat a => Maybe Int -> a -> ShowS
2022-10-07 19:24:36 +0000 <darkling> We found some data today that was measuring areas of counties in something like square microns... :)
2022-10-07 19:25:06 +0000 <EvanR> you can get more digits using showFFloat or defining your own newtype wrapper over floats
2022-10-07 19:25:18 +0000 <darkling> (Or, rather, down to square µm precision)
2022-10-07 19:26:15 +0000alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net)
2022-10-07 19:26:52 +0000 <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 19:27:05 +0000 <monochrom> Lexicalgraphic orders may have to do with mconcat over [Ordering]. Some monoidness may be involved.
2022-10-07 19:27:08 +0000 <ski> darkling : .. and lengths of coastlines ?
2022-10-07 19:27:38 +0000 <geekosaur> I was wondering how badly erosion affects those areas
2022-10-07 19:27:52 +0000 <darkling> Yeah, probably.
2022-10-07 19:27:57 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-07 19:28:15 +0000 <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 19:29:21 +0000 <monochrom> Yeah since we use lexicalgraphic orders on seuqences, firstly the index set has extra structure...
2022-10-07 19:29:31 +0000 <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 19:29:51 +0000 <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 19:30:18 +0000 <darkling> heh. I've had a hard job explaining that to my colleagues, let alone to our customers. :)
2022-10-07 19:31:04 +0000 <ski> monochrom : so, i was thinking about the functor category from an order (being a category), to the category of orders
2022-10-07 19:31:23 +0000 <EvanR> the customer says, "why don't you just require a bound on the curvature of the measured boundary"
2022-10-07 19:31:44 +0000 <EvanR> "and the length is mentioned relative to that"
2022-10-07 19:31:45 +0000 <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 19:32:04 +0000 <monochrom> Call me conceit but I doubt how many customers even know the word "curvature".
2022-10-07 19:32:12 +0000 <geekosaur> darkling, yeh. and I used to live in a county which is partially under a lake
2022-10-07 19:32:13 +0000 <darkling> The customer's more likely to ask "can I spray against septoria here tomorrow?"
2022-10-07 19:32:18 +0000 <ski> "bound on the curvature" meaning ?
2022-10-07 19:32:25 +0000 <EvanR> a max curvature
2022-10-07 19:32:56 +0000 <darkling> ski: You don't accept any line segment approximation with a radius of curvature smaller than some value.
2022-10-07 19:32:58 +0000 <ski> i'm not sure if that's a sensible thing to require, looking at it at many scales
2022-10-07 19:33:19 +0000 <ski> (yea, i got what you mean now, ty)
2022-10-07 19:33:21 +0000 <EvanR> it would mean there's a smallest scale
2022-10-07 19:34:13 +0000 <ski> btw, there's this nice mathematical example of a "horn" or "trumpet", which has infinite surface area, but finite volume
2022-10-07 19:34:13 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f) (Remote host closed the connection)
2022-10-07 19:34:21 +0000 <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 19:34:44 +0000 <ski> so, can you paint all its infinite area, with a finite volume of paint ?
2022-10-07 19:34:54 +0000 <darkling> But septoria triticum? :)
2022-10-07 19:34:57 +0000 <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 19:35:25 +0000 <monochrom> or at least have some approximate idea when to stop.
2022-10-07 19:35:26 +0000 <EvanR> the airplane you use to fly around the coast and measure it has a min turning radius xD
2022-10-07 19:35:38 +0000vorpuni(~pvorp@2001:861:3881:c690:cb6f:40ff:7639:1ec6)
2022-10-07 19:36:17 +0000 <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 19:37:07 +0000 <EvanR> oh, is there a relationship between bounded curvature and fractal dimension
2022-10-07 19:37:38 +0000 <EvanR> is the infinite surface area horn painted with a volume of paint a type mismatch?
2022-10-07 19:37:52 +0000 <EvanR> length vs area vs volume
2022-10-07 19:38:26 +0000 <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 19:38:29 +0000 <darkling> It's got to be mathematical paint of infinitesimal thickness.
2022-10-07 19:38:38 +0000 <ski> (the whole keynote is quite enjoyable)
2022-10-07 19:38:39 +0000 <darkling> I think it's made from the milk of a spherical cow.
2022-10-07 19:39:07 +0000 <EvanR> space filling curves are like the biggest troll
2022-10-07 19:39:15 +0000 <ski> i think that's too low-resolution of a cow. it should be two spheres, connected by a cylinder
2022-10-07 19:39:53 +0000 <darkling> https://carfax.org.uk/files/temp/Cow.png
2022-10-07 19:40:15 +0000 <EvanR> that's just a basic image needed for business at carfax
2022-10-07 19:40:21 +0000 <darkling> (I must have rendered that over 20 years ago...)
2022-10-07 19:40:31 +0000 <ski> i read a physics book once, and it had a picture of the two-sphere cow
2022-10-07 19:40:57 +0000 <ski> (one sphere of lesser radius than the other, i might add)
2022-10-07 19:41:02 +0000 <monochrom> I have trouble envisioning serious fractalness of roads. Roads are made to be not annoying for drivers, for example.
2022-10-07 19:41:20 +0000 <darkling> Really? I can think of a few counterexamples. :)
2022-10-07 19:41:23 +0000 <monochrom> i.e., you don't even do an approximation of space-filling curves to roads.
2022-10-07 19:41:27 +0000 <EvanR> a federal highway should certainly be rather smooth
2022-10-07 19:41:28 +0000 <ski> yea, you have to consider a range of scales
2022-10-07 19:41:53 +0000 <EvanR> but new orleans might require fractal math
2022-10-07 19:42:07 +0000 <ski> the river bank ?
2022-10-07 19:42:12 +0000 <EvanR> just the streets
2022-10-07 19:42:23 +0000 <darkling> ski: Yes, but you have to keep crossing the state line...
2022-10-07 19:42:26 +0000 <ski> i guess they weren't really that planned
2022-10-07 19:43:16 +0000 <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 19:43:54 +0000 <ski> also confusing to have parallel pieces of the same road
2022-10-07 19:44:10 +0000 <ski> (and i'm not talking about the road turning like an "S")
2022-10-07 19:44:10 +0000 <monochrom> OK fibonaccoli is a great idea :)
2022-10-07 19:45:32 +0000 <darkling> Romanesco...
2022-10-07 19:45:46 +0000 <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 19:46:18 +0000 <darkling> My mum's house is on a road that needs five right-hand turns to return to.
2022-10-07 19:46:44 +0000gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 19:47:04 +0000 <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 19:47:33 +0000 <darkling> monochrom: Isn't that a bit slow for the piece? :)
2022-10-07 19:47:58 +0000olsner(~salparot@c83-252-230-207.bredband.tele2.se) (Leaving)
2022-10-07 19:48:08 +0000nightbreak(~nightbrea@2600:4040:5416:c000:cc34:1caf:2efd:2193) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-07 19:50:14 +0000jinsun(~jinsun@user/jinsun)
2022-10-07 19:50:16 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 19:50:48 +0000 <EvanR> darkling, did you make that spherical cow in Bryce3D? nice xD
2022-10-07 19:51:52 +0000 <darkling> I can't remember. Possibly DKBTrace?
2022-10-07 19:52:15 +0000 <ski> (he's also playing Vivaldi, at the start of the keynote)
2022-10-07 19:55:11 +0000 <darkling> Aha. I've found the source file. It was PoVRay.
2022-10-07 20:00:00 +0000nightbreak(~nightbrea@2600:4040:5416:c000:44f7:f82a:e240:c3e2)
2022-10-07 20:00:37 +0000heinz9(~trace@user/trace) (Remote host closed the connection)
2022-10-07 20:00:55 +0000alexiscott(~user@37.red-83-33-248.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
2022-10-07 20:05:06 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-07 20:07:11 +0000eN0n23eE4(~eN0n23eE4@047-024-217-062.res.spectrum.com)
2022-10-07 20:08:42 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 20:11:54 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:e519:421e:c827:31f)
2022-10-07 20:15:05 +0000jakalx(~jakalx@base.jakalx.net) ()
2022-10-07 20:20:17 +0000jakalx(~jakalx@base.jakalx.net)
2022-10-07 20:30:21 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 20:32:19 +0000jargon(~jargon@184.101.208.112)
2022-10-07 20:36:08 +0000nightbreak(~nightbrea@2600:4040:5416:c000:44f7:f82a:e240:c3e2) (Quit: Signing off for now...)
2022-10-07 20:37:46 +0000gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 20:41:33 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-10-07 20:43:34 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-10-07 20:44:50 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-10-07 20:45:19 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 20:50:53 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 20:54:13 +0000gensyst(gensyst@user/gensyst) (Quit: Leaving)
2022-10-07 20:55:59 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 20:56:13 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2022-10-07 20:57:59 +0000Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
2022-10-07 21:04:03 +0000gqplox(~textual@97e654ef.skybroadband.com) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-10-07 21:04:22 +0000kenran(~user@user/kenran)
2022-10-07 21:08:43 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 21:08:56 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 21:14:12 +0000titibandit(~titibandi@xdsl-89-0-65-2.nc.de)
2022-10-07 21:14:47 +0000Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2022-10-07 21:19:39 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2022-10-07 21:25:32 +0000codaraxis__(~codaraxis@user/codaraxis)
2022-10-07 21:29:41 +0000codaraxis(~codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
2022-10-07 21:31:45 +0000eN0n23eE4(~eN0n23eE4@047-024-217-062.res.spectrum.com) (Ping timeout: 268 seconds)
2022-10-07 21:32:22 +0000zebrag(~chris@user/zebrag) (Ping timeout: 268 seconds)
2022-10-07 21:32:33 +0000titibandit(~titibandi@xdsl-89-0-65-2.nc.de) (Quit: Leaving.)
2022-10-07 21:32:50 +0000zebrag(~chris@user/zebrag)
2022-10-07 21:38:31 +0000ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-10-07 21:38:32 +0000xstill_(xstill@fimu/xstill) (Quit: Ping timeout (120 seconds))
2022-10-07 21:41:30 +0000xstill_(xstill@fimu/xstill)
2022-10-07 21:41:46 +0000ec(~ec@gateway/tor-sasl/ec)
2022-10-07 21:43:01 +0000michalz(~michalz@185.246.207.218) (Remote host closed the connection)
2022-10-07 21:48:11 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
2022-10-07 21:55:23 +0000kenran(~user@user/kenran) (Remote host closed the connection)
2022-10-07 21:57:06 +0000zer0bitz(~zer0bitz@2001:2003:f748:2000:256e:c8ac:d70d:56f6) (Ping timeout: 260 seconds)
2022-10-07 22:00:33 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-07 22:10:36 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 268 seconds)
2022-10-07 22:12:16 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 22:15:24 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 22:18:05 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 22:19:28 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 22:19:51 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds)
2022-10-07 22:23:50 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-07 22:26:22 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds)
2022-10-07 22:27:26 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-07 22:33:12 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 22:34:00 +0000acidjnk(~acidjnk@p200300d6e7137a277c8dbdd75e4c4002.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-07 22:37:47 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
2022-10-07 22:40:40 +0000king_gs(~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0)
2022-10-07 22:42:57 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-10-07 22:46:48 +0000coot(~coot@213.134.171.3) (Quit: coot)
2022-10-07 22:47:19 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 22:49:04 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-10-07 22:50:58 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 22:51:55 +0000zns(~zns@user/zns)
2022-10-07 22:51:59 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 22:55:22 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 265 seconds)
2022-10-07 22:57:51 +0000beteigeuze(~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df)
2022-10-07 22:59:55 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 23:00:41 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk)
2022-10-07 23:03:16 +0000CiaoSen(~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2022-10-07 23:04:11 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
2022-10-07 23:04:16 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 23:05:33 +0000burnsidesLlama(~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
2022-10-07 23:05:41 +0000leungbk(~user@2603-8000-1201-2dd2-cecb-6fc3-c348-38ff.res6.spectrum.com)
2022-10-07 23:09:15 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 268 seconds)
2022-10-07 23:10:36 +0000zns(~zns@user/zns) (Ping timeout: 260 seconds)
2022-10-07 23:11:52 +0000pavonia(~user@user/siracusa)
2022-10-07 23:12:51 +0000rockystone(~rocky@user/rockymarine)
2022-10-07 23:13:23 +0000tcard_(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) (Remote host closed the connection)
2022-10-07 23:13:25 +0000gqplox(~textual@97e654ef.skybroadband.com)
2022-10-07 23:13:40 +0000tcard_(~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9)
2022-10-07 23:14:09 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-07 23:16:08 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 23:18:56 +0000jargon(~jargon@184.101.208.112) (Remote host closed the connection)
2022-10-07 23:19:20 +0000jargon(~jargon@184.101.208.112)
2022-10-07 23:20:19 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
2022-10-07 23:20:45 +0000gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-10-07 23:24:14 +0000vorpuni(~pvorp@2001:861:3881:c690:cb6f:40ff:7639:1ec6) (Quit: bye)
2022-10-07 23:26:31 +0000gentauro(~gentauro@user/gentauro)
2022-10-07 23:32:25 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 23:39:21 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds)
2022-10-07 23:44:11 +0000Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-10-07 23:45:57 +0000jargon(~jargon@184.101.208.112) (Remote host closed the connection)
2022-10-07 23:46:26 +0000jargon(~jargon@184.101.208.112)
2022-10-07 23:46:34 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
2022-10-07 23:47:12 +0000jargon(~jargon@184.101.208.112) (Remote host closed the connection)
2022-10-07 23:47:37 +0000jargon(~jargon@184.101.208.112)
2022-10-07 23:53:16 +0000zns(~zns@user/zns)
2022-10-07 23:56:07 +0000mixphix(~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds)