Home liberachat/#haskell: Logs Calendar

Logs on 2024-04-26 (liberachat/#haskell)

00:04:09 × waldo quits (~waldo@user/waldo) (Ping timeout: 252 seconds)
00:04:42 waldo joins (~waldo@user/waldo)
00:12:36 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 255 seconds)
00:15:35 × driib quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 264 seconds)
00:18:20 wroathe joins (~wroathe@24-152-179-157.fttp.usinternet.com)
00:18:20 × wroathe quits (~wroathe@24-152-179-157.fttp.usinternet.com) (Changing host)
00:18:20 wroathe joins (~wroathe@user/wroathe)
00:21:13 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
00:21:21 × wroathe quits (~wroathe@user/wroathe) (Client Quit)
00:23:29 euleritian joins (~euleritia@212.144.241.187)
00:25:03 driib joins (~driib@vmi931078.contaboserver.net)
00:25:18 × y04nn quits (~username@2a03:1b20:8:f011::e10d) (Remote host closed the connection)
00:25:32 y04nn joins (~username@2a03:1b20:8:f011::e10d)
00:30:25 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 268 seconds)
00:33:09 × xff0x quits (~xff0x@2405:6580:b080:900:78b5:44c3:11b7:3511) (Read error: Connection reset by peer)
00:37:49 × ystael quits (~ystael@user/ystael) (Ping timeout: 268 seconds)
00:38:13 xff0x joins (~xff0x@2405:6580:b080:900:83cb:90d7:e988:de63)
00:38:34 euleritian joins (~euleritia@212.144.241.187)
00:43:05 × mei quits (~mei@user/mei) (Remote host closed the connection)
00:45:29 mei joins (~mei@user/mei)
00:54:21 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
00:58:40 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
00:59:00 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds)
01:04:36 × xal quits (~xal@mx1.xal.systems) ()
01:05:04 xal joins (~xal@mx1.xal.systems)
01:05:34 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 268 seconds)
01:06:22 euleritian joins (~euleritia@dynamic-176-006-187-024.176.6.pool.telefonica.de)
01:15:45 k_hachig2 joins (~k_hachig@2607:fea8:351d:ef0:44fc:138:83ed:493e)
01:15:48 × k_hachig quits (~k_hachig@2607:fea8:351d:ef0:652e:13ed:96d2:f8ef) (Ping timeout: 260 seconds)
01:18:30 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
01:18:52 califax joins (~califax@user/califx)
01:18:58 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
01:19:54 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
01:21:12 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
01:21:28 × y04nn quits (~username@2a03:1b20:8:f011::e10d) (Ping timeout: 255 seconds)
01:21:39 × xff0x quits (~xff0x@2405:6580:b080:900:83cb:90d7:e988:de63) (Ping timeout: 260 seconds)
01:23:48 × euleritian quits (~euleritia@dynamic-176-006-187-024.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
01:24:01 euleritian joins (~euleritia@212.144.241.187)
01:26:14 peterbecich joins (~Thunderbi@47.229.123.186)
01:28:18 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 252 seconds)
01:28:23 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:28:50 × aforemny quits (~aforemny@i59F516E4.versanet.de) (Ping timeout: 252 seconds)
01:28:59 califax joins (~califax@user/califx)
01:32:04 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
01:33:40 × otto_s quits (~user@p5b04436d.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
01:35:29 aforemny joins (~aforemny@i59F516C6.versanet.de)
01:35:45 otto_s joins (~user@p5b044b31.dip0.t-ipconnect.de)
01:37:06 × waldo quits (~waldo@user/waldo) (Ping timeout: 256 seconds)
01:42:33 euleritian joins (~euleritia@212.144.241.187)
01:51:01 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
01:56:11 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 260 seconds)
01:59:17 euleritian joins (~euleritia@212.144.241.187)
02:01:25 × mei quits (~mei@user/mei) (Remote host closed the connection)
02:03:44 × jocke-l quits (jocke-l@a.x0.is) (Ping timeout: 256 seconds)
02:03:50 mei joins (~mei@user/mei)
02:08:59 × peterbecich quits (~Thunderbi@47.229.123.186) (Ping timeout: 264 seconds)
02:12:50 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 252 seconds)
02:13:30 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:13:47 euleritian joins (~euleritia@212.144.241.187)
02:14:25 k_hachig joins (~k_hachig@2607:fea8:351d:ef0:7060:d72d:2b43:1742)
02:14:53 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
02:15:31 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:17:25 × k_hachig2 quits (~k_hachig@2607:fea8:351d:ef0:44fc:138:83ed:493e) (Ping timeout: 256 seconds)
02:21:45 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
02:27:42 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 252 seconds)
02:29:30 × totalghost quits (~ghost@172-105-178-131.ip.linodeusercontent.com) (Quit: Lost terminal)
02:31:12 euleritian joins (~euleritia@212.144.241.187)
02:32:09 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds)
02:32:28 × hueso quits (~root@user/hueso) (Quit: hueso)
02:33:28 × td_ quits (~td@i5387092A.versanet.de) (Ping timeout: 255 seconds)
02:33:49 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:35:06 td_ joins (~td@i53870921.versanet.de)
02:38:23 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 264 seconds)
02:41:51 hueso joins (~root@user/hueso)
02:42:00 euleritian joins (~euleritia@212.144.241.187)
02:45:58 jocke-l joins (jocke-l@a.x0.is)
02:49:08 × k_hachig quits (~k_hachig@2607:fea8:351d:ef0:7060:d72d:2b43:1742) (Quit: WeeChat 4.2.2)
03:07:46 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
03:11:08 aforemny_ joins (~aforemny@2001:9e8:6cf4:e200:c321:623a:48be:28f1)
03:11:11 madeleine-sydney joins (~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
03:12:14 × aforemny quits (~aforemny@i59F516C6.versanet.de) (Ping timeout: 252 seconds)
03:16:41 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
03:27:05 × liamzy__ quits (~Inst@user/Inst) (Ping timeout: 252 seconds)
03:58:37 emergence joins (emergence@2607:5300:60:5910:dcad:beff:feef:5bc)
04:02:42 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:08:34 peterbecich joins (~Thunderbi@47.229.123.186)
04:22:41 michalz joins (~michalz@185.246.207.217)
04:24:45 y04nn joins (~username@2a03:1b20:8:f011::e10d)
04:29:30 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 245 seconds)
04:30:41 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
04:31:28 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
04:34:49 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
04:55:05 × madeleine-sydney quits (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Konversation terminated!)
04:56:19 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
04:57:13 chiselfuse joins (~chiselfus@user/chiselfuse)
05:00:26 × peterbecich quits (~Thunderbi@47.229.123.186) (Quit: peterbecich)
05:00:55 peterbecich joins (~Thunderbi@47.229.123.186)
05:08:47 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:12:42 × Rodney_ quits (~Rodney@176.254.244.83) (Ping timeout: 252 seconds)
05:14:34 × euleritian quits (~euleritia@212.144.241.187) (Read error: Connection reset by peer)
05:14:56 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:15:49 euleritian joins (~euleritia@212.144.241.187)
05:27:31 gorignak joins (~gorignak@user/gorignak)
05:30:05 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:37:19 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 256 seconds)
05:37:56 × peterbecich quits (~Thunderbi@47.229.123.186) (Ping timeout: 256 seconds)
05:42:33 Rodney_ joins (~Rodney@176.254.244.83)
05:44:42 euleritian joins (~euleritia@dynamic-176-006-187-100.176.6.pool.telefonica.de)
05:49:24 × causal quits (~eric@50.35.88.207) (Quit: WeeChat 4.1.1)
05:52:39 × euleritian quits (~euleritia@dynamic-176-006-187-100.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
05:53:05 euleritian joins (~euleritia@212.144.241.187)
05:59:12 acidjnk joins (~acidjnk@p200300d6e714dc76fc9e8da7e9a4142b.dip0.t-ipconnect.de)
06:03:19 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:05:32 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
06:05:56 EvanR joins (~EvanR@user/evanr)
06:15:00 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:16:25 × xdminsy quits (~xdminsy@117.147.70.233) (Ping timeout: 246 seconds)
06:17:26 xdminsy joins (~xdminsy@117.147.70.233)
06:19:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:20:35 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:20:51 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
06:21:00 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
06:25:20 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 245 seconds)
06:32:12 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 260 seconds)
06:32:22 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
06:32:47 euleritian joins (~euleritia@212.144.241.187)
06:38:48 vpan joins (~vpan@212.117.1.172)
06:39:55 Square joins (~Square@user/square)
06:44:19 × euleritian quits (~euleritia@212.144.241.187) (Ping timeout: 256 seconds)
06:47:41 oo_miguel joins (~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
06:48:54 euleritian joins (~euleritia@dynamic-176-006-187-100.176.6.pool.telefonica.de)
06:49:43 × kimiamania quits (~76637481@user/kimiamania) (Quit: PegeLinux)
06:50:39 kimiamania joins (~76637481@user/kimiamania)
06:51:07 × tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
06:59:53 mima joins (~mmh@aftr-62-216-211-229.dynamic.mnet-online.de)
07:18:21 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
07:28:46 × ft quits (~ft@p4fc2a20e.dip0.t-ipconnect.de) (Quit: leaving)
07:29:34 gmg joins (~user@user/gehmehgeh)
07:35:45 × son0p quits (~ff@191.104.18.195) (Ping timeout: 245 seconds)
07:39:52 × y04nn quits (~username@2a03:1b20:8:f011::e10d) (Ping timeout: 260 seconds)
07:44:54 sawilagar joins (~sawilagar@user/sawilagar)
07:59:59 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.1)
08:04:05 × lol_ quits (~lol@2603:3016:1e01:b940:500c:2d35:d29f:521d) (Ping timeout: 245 seconds)
08:05:25 jcarpenter2 joins (~lol@2603:3016:1e01:b940:2575:1903:5fc2:ed7c)
08:09:37 × driib quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 255 seconds)
08:11:24 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
08:20:45 × AlexZenon quits (~alzenon@178.34.161.189) (Ping timeout: 245 seconds)
08:21:06 Nixkernal joins (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch)
08:25:39 AlexZenon joins (~alzenon@178.34.161.189)
08:28:25 × Nixkernal quits (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
08:33:54 waldo joins (~waldo@user/waldo)
08:38:56 Nixkernal joins (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch)
08:58:33 × waldo quits (~waldo@user/waldo) (Ping timeout: 268 seconds)
09:04:34 × mei quits (~mei@user/mei) (Remote host closed the connection)
09:06:59 mei joins (~mei@user/mei)
09:07:48 __monty__ joins (~toonn@user/toonn)
09:15:50 × Nixkernal quits (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch) (Read error: Connection reset by peer)
09:16:28 Nixkernal joins (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch)
09:21:11 waldo joins (~waldo@user/waldo)
09:22:20 × waldo quits (~waldo@user/waldo) (Client Quit)
09:22:50 anon1123_ is now known as anon8697
09:40:31 × Square quits (~Square@user/square) (Ping timeout: 260 seconds)
09:45:27 × forell_ quits (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (Ping timeout: 255 seconds)
09:47:48 <carbolymer> which API do you prefer, 1 or 2? https://paste.tomsmeding.com/qxFouHyR
09:47:48 forell joins (~forell@user/forell)
09:48:46 <ncf> 2 is extensible
09:49:25 <carbolymer> fair point
09:49:42 <Rembane> I prefer number 2, it contains more words and not just a bundle of IO operations.
09:51:32 <Hecate> carbolymer: is 2 just like… accessors?
09:52:38 <carbolymer> can you call changing the state, an accessor?
09:53:55 <[Leary]> carbolymer: 3: `do { Tripwire{trigger,check} <- mkTripwire; ... }`
09:54:34 <carbolymer> [Leary]: oh that's a nice idea
09:57:18 × destituion quits (~destituio@2a02:2121:340:2456:fffe:d0f:7737:dd1) (Read error: Connection reset by peer)
09:57:35 destituion joins (~destituio@85.221.111.174)
09:57:48 yin joins (~yin@user/zero)
09:59:42 <tomsmeding> definitely 2
10:01:21 <Rembane> If you wanna go really spicy you can replace IO with some monad that looks like IO to make it possible to test stuff in a pure fashion.
10:04:11 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds)
10:04:37 <carbolymer> that'd be an overkil for this
10:04:43 <carbolymer> thanks everyone
10:04:51 <carbolymer> I'll go with nr 2
10:08:26 <Rembane> Sounds good. I'm always trudging around in the testing swamps, which is why I see these things everywhere.
10:14:39 titibandit joins (~titibandi@user/titibandit)
10:20:03 chele joins (~chele@user/chele)
10:34:30 danza joins (~francesco@an-19-186-120.service.infuturo.it)
10:37:50 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
10:43:16 × acidjnk quits (~acidjnk@p200300d6e714dc76fc9e8da7e9a4142b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
10:47:49 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:48:45 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
10:50:44 Lord_of_Life_ is now known as Lord_of_Life
10:54:07 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
10:55:06 chiselfuse joins (~chiselfus@user/chiselfuse)
10:58:43 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:05:44 yin_ joins (~yin@user/zero)
11:11:08 pyooque joins (~puke@user/puke)
11:11:08 puke is now known as Guest3456
11:11:08 × Guest3456 quits (~puke@user/puke) (Killed (iridium.libera.chat (Nickname regained by services)))
11:11:08 pyooque is now known as puke
11:18:15 × yin quits (~yin@user/zero) (Ping timeout: 245 seconds)
11:19:37 yin joins (~yin@user/zero)
11:22:31 noumenon joins (~noumenon@113.51-175-156.customer.lyse.net)
11:22:51 nij- joins (~NPC@c-73-238-75-2.hsd1.ma.comcast.net)
11:23:18 <nij-> Why isn't getLine of type `IO () -> String`, but rather `IO String`?
11:23:38 <nij-> How do I make whatever getLine returns into a datum of type String?
11:23:56 <geekosaur> `getLine` is not a `String`, it is a program that when run may produce a `String`
11:24:06 <geekosaur> @quote /bin/ls
11:24:06 <lambdabot> shachaf says: getLine :: IO String contains a String in the same way that /bin/ls contains a list of files
11:25:51 <geekosaur> and if you want access to the `String` if and when it is produced, you use `>>=` (or write using `do` notation, which does the `>>=` for you)
11:26:48 <nij-> Hmm but I will never get a pure String.. you mean?
11:27:07 <nij-> because a single monad m cannot be removed.
11:27:16 <int-e> But you can pass it to pure functions from within IO
11:27:16 <nij-> i.e. mmx -> mx is possible
11:27:20 <nij-> but mx -> x is not.
11:27:37 <geekosaur> it's possible temporarily, but you hav e to put it back when you're done
11:27:38 <int-e> :t fmap
11:27:39 <lambdabot> Functor f => (a -> b) -> f a -> f b
11:27:41 <geekosaur> :t (>>=)
11:27:42 <lambdabot> Monad m => m a -> (a -> m b) -> m b
11:27:44 <nij-> int-e Right, but my whole program, since the introduction of getLn, will be "impure" in this sense?
11:27:58 <int-e> yes it will be
11:27:58 <geekosaur> it is anyway, since `main :: IO a`
11:28:06 <nij-> ok
11:28:26 <nij-> So the idea is to write pure functions all the way down, and have the "dirty" elements only for stdio
11:28:28 <nij-> ?
11:28:36 <int-e> :t interact
11:28:37 <lambdabot> (String -> String) -> IO ()
11:28:49 <geekosaur> roughly yes
11:28:57 <int-e> (you can make main = interact main' and then main' :: String -> String can actually be pure)
11:29:12 <geekosaur> pure functions are easier to work with, but useful programs are impure
11:29:15 <nij-> If I really want, can I write a function of type IO String -> String, that
11:29:27 <int-e> (Is that a good idea? Not if you want more interesting effects but `interact` is lovely for simple trext processing.)
11:29:29 <nij-> if read correctly, return the string, if not, return "LOL"
11:29:54 <ncf> that wouldn't be pure
11:29:56 <geekosaur> there's a way to do it, but it won't do what you expect
11:30:11 <int-e> :t const "LOL"
11:30:11 <lambdabot> b -> [Char]
11:30:12 <nij-> ncf Why not?
11:30:26 <nij-> geekosaur Yeah, right. I'm just curious how to do that.
11:30:35 <ncf> "reading successfully" is not a property of an IO String. it's a property of running that action
11:31:04 <int-e> To be pure, foo getLine would have to return the same result every time it's evaluated.
11:31:07 <nij-> Ok.. how about. If it's read to be "A", return "A"; otherwise, return "LOL"?
11:31:54 <ncf> the pure result of type String cannot depend on what running the action does
11:32:03 <nij-> Hmm I see. Then I make it weaker: make the function whose "final type" is the pure String.
11:32:05 <int-e> We have `unsafePerformIO` and the name is not a joke.
11:32:48 <ncf> nij-: isn't that what you wrote earlier?
11:32:50 <int-e> The right way is to start within IO and then pass values (like the string that `getLine` produces) into pure functions.
11:33:14 <tomsmeding> the idea of IO is that it is "viral": any computation that is impure (e.g. because it has side-effects, or does not always return the same thing, etc.) is in IO, and anything that _uses_ any of that is hence also in IO
11:33:56 <tomsmeding> a traditional design for programming in haskell is to write most of your program without IO, and to have a relatively small outside layer that does IO and calls into the pure logic inside to do the actual, well, logic
11:34:02 <tomsmeding> ("functional core, imperative shell")
11:34:27 <tomsmeding> there are various ways to make this more nuanced, e.g. with effect systems, but the basic idea is still a sound way to construct purely functional programs
11:34:55 <tomsmeding> so indeed, as soon as you use getLine, anything that calls that will live in IO
11:35:29 <tomsmeding> but that doesn't mean that you cannot write a 'foo :: String -> Whatever' function that uses the result, and then at the top level, have 'do { line <- getLine ; print (foo line) }'
11:35:37 <tomsmeding> this implicitly uses (>>=)
11:36:03 <tomsmeding> (removing the syntactic sugar ("desugared"), that would be 'getLine >>= \line -> print (foo line)')
11:36:34 <tomsmeding> the upshot of it all is that a function that returns a non-IO value will hence be pure and always return the same thing without side effects!
11:36:37 <tomsmeding> and that's the big win
11:37:38 <tomsmeding> (unless you use something like unsafePerformIO, but then it's on you to maintain that promise, and woe you if you don't -- it's called "unsafe" for a reason)
11:38:07 <tomsmeding> (using unsafePerformIO correctly is quite tricky and essentially requires knowing something about GHC's internals)
11:39:53 <int-e> . o O ( imagine a T-shirt saying "ask me about `unsaferPerformIO` inside `atomically`" )
11:40:04 <nij-> I see. Thanks!
11:40:06 <nij-> Hmm
11:40:19 <nij-> Unless, the function is IO String -> String, which always returns a constant?
11:40:34 <nij-> s/a constant/a predefined constant/
11:40:38 <tomsmeding> the only way to implement that function (apart from using unsafePerformIO) is to return a constant
11:40:46 <nij-> I see. Thanks a lot!
11:41:06 <tomsmeding> and apart from breaking open the internals of the IO data type (yes, it's a data type) and doing things that are even more unsafe than unsafePerformIO
11:42:47 <nij-> Interesting.
11:43:27 ncf . o O ( unsafeCoerce )
11:44:42 <tomsmeding> yeah there are more backdoors
11:45:13 <tomsmeding> you can also pass through a FFI function mistagged as non-IO
11:45:21 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:45:29 <tomsmeding> I feel like that does not make my general claim any less true :p
11:45:53 <nij-> Just wondering,
11:45:59 <nij-> monads are functors with structures
11:46:15 <nij-> Are there pairs of functors that satisfy some algebraic relations like this too?
11:46:22 <int-e> @quote burrito
11:46:22 <lambdabot> xplat says: monads are to burritos as distributive laws are to pepto-bismol
11:48:07 <ncf> adjunctions come to mind
11:48:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:49:26 <nij-> ncf any interesting and useful adjunctions in haskell?
11:49:37 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
11:49:47 × zer0bitz quits (~zer0bitz@user/zer0bitz) (Quit: https://zer0bitz.dy.fi)
11:50:05 <ncf> (,) a ⊣ (->) a
11:50:17 <ncf> :t (curry, uncurry)
11:50:18 <lambdabot> (((a1, b1) -> c1) -> a1 -> b1 -> c1, (a2 -> b2 -> c2) -> (a2, b2) -> c2)
11:51:08 <ncf> you can make a State monad out of this!
11:51:18 <ncf> (and a Store comonad)
11:52:27 <nij-> hmm.. im not looking for functions that have algebraic relations, but functors.
11:52:35 <nij-> multiple (i.e. more than 1) functors
11:53:13 <ncf> well, (,) a and (->) a are the functors here
11:53:31 <ncf> relations between functors are bound to involve types and functions
11:54:48 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:55:41 <nij-> I don't know about these two functors.. wow.
11:55:54 <nij-> What are them? They aren't composed with eng chars so too hard to find with google.
11:57:33 × glguy quits (g@libera/staff/glguy) (Read error: Connection reset by peer)
11:58:17 <ncf> (,) a b is (a, b) (pair type) and (->) a b is a -> b (function type)
11:58:47 <nij-> I see. In math this is just x and ->.
11:58:56 <tomsmeding> well, a x - and a -> -
11:58:57 <nij-> Delaying evaluation, or (un)currying
11:59:12 <nij-> hom tensor adjunction
11:59:38 <nij-> Any other .. that's useful, and particularly only "works in CompSci"?
11:59:43 Square joins (~Square@user/square)
12:00:53 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
12:01:14 × mei quits (~mei@user/mei) (Remote host closed the connection)
12:01:54 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
12:01:59 <ncf> not sure what you mean by that
12:02:25 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
12:03:27 <nij-> Hmm.. I'm just trying out my luck to see if we have more intereting adjunctions. And since ,-> adjunctions show up elsewhere, my curiousity doesn't stop here :D
12:04:07 fedir joins (~fedir@188.191.238.23)
12:04:26 tomsmeding writes lots of haskell code, including interesting type trickery, without properly knowing what an adjunction is
12:05:53 <nij-> tomsmeding Yeah, I'm just curious xD
12:06:02 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
12:06:05 acidjnk joins (~acidjnk@p200300d6e714dc76fc9e8da7e9a4142b.dip0.t-ipconnect.de)
12:06:33 <jackdk> Near as I can tell from https://hackage.haskell.org/package/adjunctions-4.4.2/docs/Data-Functor-Adjunction.html , it's just (r,) and (r ->), and various lifting instances
12:07:15 <ncf> yeah adjunctions between hask and hask are not immensely interesting
12:07:39 <jackdk> the Representable superclass is good fun though
12:08:12 mei joins (~mei@user/mei)
12:08:33 <nij-> In math point of view, the functors F and G are adjoint (i.e. form an adjunction pair) if they are "invertible" to each other "up to 2-functors (i.e. functors between functors)" .
12:08:47 <ncf> but e.g. the free monoid functor [] can be seen as a left adjoint to the forgetful functor from the category of monoids to the category of sets (or hask)
12:08:54 <nij-> Anyway, it's a very natural generalization of inverse functors.
12:09:24 <nij-> ncf Oh right, those too!
12:09:24 <ncf> up to 2-morphisms*
12:09:42 <nij-> structuralizing and forgetting pair
12:10:06 <nij-> (Yeah.. ncf, I just think 2-mors are too much a jargon for this channel.)
12:10:17 xff0x joins (~xff0x@2405:6580:b080:900:a359:eeea:f982:7525)
12:10:26 <fedir> What's wrong?https://i.imgur.com/0LoCDJt.png
12:10:28 <ncf> better than incorrect jargon!
12:10:53 <ncf> fedir: use :{ and :} to delimit multi-line definitions in ghci
12:11:09 <ncf> or semicolons
12:11:24 <geekosaur> fedir, ghci doesn't know how to group the defining equations together by itself, as ncf says you must put them on one line or use :{ :} to group them
12:11:29 nij- parts (~NPC@c-73-238-75-2.hsd1.ma.comcast.net) (Using Circe, the loveliest of all IRC clients)
12:11:51 <fedir> Thanks!
12:16:51 × fedir quits (~fedir@188.191.238.23) (Quit: fedir)
12:25:31 zer0bitz joins (~zer0bitz@user/zer0bitz)
12:30:19 × tinjamin quits (~tinjamin@banshee.h4x0r.space) (Quit: The Lounge - https://thelounge.chat)
12:31:33 tinjamin joins (~tinjamin@banshee.h4x0r.space)
12:33:27 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
12:37:49 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds)
12:48:31 danza_ joins (~francesco@an-19-169-90.service.infuturo.it)
12:50:52 × danza quits (~francesco@an-19-186-120.service.infuturo.it) (Ping timeout: 246 seconds)
12:55:21 × auri quits (~auri@fsf/member/auri) (Ping timeout: 268 seconds)
12:55:29 × rncwnd quits (~quassel@2a01:4f8:221:27c6::1) (Ping timeout: 256 seconds)
12:57:49 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 268 seconds)
13:04:06 fedir joins (~fedir@188.191.238.23)
13:04:52 rncwnd joins (~quassel@2a01:4f8:221:27c6::1)
13:05:06 auri joins (~auri@fsf/member/auri)
13:12:37 × danza_ quits (~francesco@an-19-169-90.service.infuturo.it) (Ping timeout: 268 seconds)
13:19:33 Inst joins (~Inst@user/Inst)
13:19:35 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:21:35 ystael joins (~ystael@user/ystael)
13:27:09 kritzefitz joins (~kritzefit@debian/kritzefitz)
13:29:34 × destituion quits (~destituio@85.221.111.174) (Ping timeout: 255 seconds)
13:33:27 destituion joins (~destituio@2a02:2121:340:2456:fffe:d0f:7737:dd1)
13:45:06 glguy joins (g@libera/staff/glguy)
13:49:40 fozworth joins (~taylor@47.187.212.21)
13:51:01 × igemnace quits (~igemnace@user/igemnace) (Quit: ZNC 1.8.2+deb2build5 - https://znc.in)
13:52:26 igemnace joins (~igemnace@user/igemnace)
13:53:13 ft joins (~ft@p4fc2a20e.dip0.t-ipconnect.de)
13:59:41 × igemnace quits (~igemnace@user/igemnace) (Quit: ZNC 1.8.2+deb2build5 - https://znc.in)
14:00:12 Sgeo joins (~Sgeo@user/sgeo)
14:02:57 pavonia joins (~user@user/siracusa)
14:06:10 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:09:31 igemnace joins (~igemnace@user/igemnace)
14:17:12 × fedir quits (~fedir@188.191.238.23) (Quit: fedir)
14:18:11 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
14:19:31 × hueso quits (~root@user/hueso) (Quit: hueso)
14:23:57 hueso joins (~root@user/hueso)
14:26:29 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
14:30:14 <yin> just use ghcid tbh
14:31:50 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
14:32:43 <yin> ghcid --warnings --no-status --run --clear --no-height-limit myfile.hs
14:34:19 chiselfuse joins (~chiselfus@user/chiselfuse)
14:43:17 × euleritian quits (~euleritia@dynamic-176-006-187-100.176.6.pool.telefonica.de) (Ping timeout: 240 seconds)
14:45:18 euleritian joins (~euleritia@ip-185-104-138-51.ptr.icomera.net)
14:50:54 fedir joins (~fedir@188.191.238.23)
14:51:48 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:58:41 × yin_ quits (~yin@user/zero) (Ping timeout: 268 seconds)
15:08:56 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:10:34 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
15:11:34 chiselfuse joins (~chiselfus@user/chiselfuse)
15:11:42 × fedir quits (~fedir@188.191.238.23) (Quit: Leaving)
15:12:15 fkv24 joins (~fkv24@188.191.238.23)
15:17:54 <ski> @quote /bin/ls
15:17:54 <lambdabot> shachaf says: getLine :: IO String contains a String in the same way that /bin/ls contains a list of files
15:20:11 × fkv24 quits (~fkv24@188.191.238.23) (Quit: fkv24)
15:23:28 <tomsmeding> that quote was indeed referenced :)
15:24:09 <EvanR> it's crazy how they can fit so many lists of files in /bin/ls
15:24:16 <EvanR> serious compression tech
15:25:21 <ncf> on some OSes they're actually stored on your filesystem directly
15:25:34 <tomsmeding> have you considered how many integers are in 'Integer -> Integer'
15:32:12 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
15:32:49 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:33:08 <Inst> this is dumb
15:33:16 <Inst> my cell phone is almost out of battery, it's been lost
15:33:26 <Inst> welp, wrong channel, sorry
15:33:37 <EvanR> probably for the best
15:33:56 <EvanR> between traffic accidents and misinformation and serious lack of haskell, phones suck
15:34:54 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.1)
15:36:02 <Inst> EvanR: the situation is ridiculous, I'm trying to figure out how to hack into my phone via the VPS app to turn on Find My and location services so I can call the police on the taxi driver who ran off with my phone
15:36:14 fkv24 joins (~fkv24@188.191.238.23)
15:36:58 <EvanR> there was an article recently about 2FA and how to recover from losing your phone
15:37:10 <EvanR> which is often one way or another the way you authenticate
15:37:58 <Inst> i'm pissed off because i'm calling the phone once in a while to turn it on, then ss -t on my VPN server
15:38:03 <Inst> and geolocating my IP
15:38:11 × fkv24 quits (~fkv24@188.191.238.23) (Remote host closed the connection)
15:38:28 fkv24 joins (~fkv24@188.191.238.23)
15:38:33 × fkv24 quits (~fkv24@188.191.238.23) (Remote host closed the connection)
15:40:14 fkv24 joins (~fkv24@188.191.238.23)
15:55:00 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 260 seconds)
15:57:04 × qqq quits (~qqq@92.43.167.61) (Quit: Lost terminal)
15:57:06 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
16:01:34 Olekawaii joins (~Olekawaii@ntas02lp.tenafly.k12.nj.us)
16:05:31 × Olekawaii quits (~Olekawaii@ntas02lp.tenafly.k12.nj.us) (Remote host closed the connection)
16:11:27 × fkv24 quits (~fkv24@188.191.238.23) (Remote host closed the connection)
16:18:55 tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net)
16:19:15 × vpan quits (~vpan@212.117.1.172) (Quit: Leaving.)
16:19:18 swamp_ joins (~zmt00@user/zmt00)
16:22:25 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 245 seconds)
16:25:08 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
16:26:32 img joins (~img@user/img)
16:33:02 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
16:33:22 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:34:02 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
16:34:34 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
16:37:14 califax joins (~califax@user/califx)
16:39:52 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
16:40:27 CrunchyFlakes joins (~CrunchyFl@146.52.130.128)
16:40:59 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
16:44:36 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
16:50:29 × demon-cat quits (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 240 seconds)
16:51:45 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 252 seconds)
16:54:06 fkv24 joins (~fkv24@188.191.238.23)
16:58:46 demon-cat joins (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
17:05:54 × fkv24 quits (~fkv24@188.191.238.23) (Quit: fkv24)
17:07:49 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
17:11:01 Olekawaii joins (~Olekawaii@ntas02lp.tenafly.k12.nj.us)
17:20:08 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:23:14 × Olekawaii quits (~Olekawaii@ntas02lp.tenafly.k12.nj.us) (Remote host closed the connection)
17:23:52 × mei quits (~mei@user/mei) (Remote host closed the connection)
17:25:03 Olekawaii joins (~Olekawaii@ntas02lp.tenafly.k12.nj.us)
17:30:21 mei joins (~mei@user/mei)
17:37:31 × Olekawaii quits (~Olekawaii@ntas02lp.tenafly.k12.nj.us) (Remote host closed the connection)
17:43:19 causal joins (~eric@50.35.88.207)
17:43:29 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:48:27 Inst_ joins (~Inst@user/Inst)
17:51:12 × Inst quits (~Inst@user/Inst) (Ping timeout: 256 seconds)
18:05:13 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
18:06:16 yin_ joins (~yin@user/zero)
18:10:38 × Square quits (~Square@user/square) (Remote host closed the connection)
18:15:08 madeleine-sydney joins (~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
18:17:53 L29Ah joins (~L29Ah@wikipedia/L29Ah)
18:18:00 euphores joins (~SASL_euph@user/euphores)
18:18:16 × demon-cat quits (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 260 seconds)
18:27:58 demon-cat joins (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
18:31:03 × euleritian quits (~euleritia@ip-185-104-138-51.ptr.icomera.net) (Ping timeout: 255 seconds)
18:31:16 euleritian joins (~euleritia@176.2.140.113)
18:46:39 × yin quits (~yin@user/zero) (Read error: Connection reset by peer)
18:47:42 rvalue- joins (~rvalue@user/rvalue)
18:48:51 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 260 seconds)
18:49:02 target_i joins (~target_i@user/target-i/x-6023099)
18:50:32 ph88 joins (~ph88@ip5b403f30.dynamic.kabel-deutschland.de)
18:53:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:55:30 rvalue- is now known as rvalue
18:57:24 y04nn joins (~username@2a03:1b20:8:f011::e10d)
19:01:13 × michalz quits (~michalz@185.246.207.217) (Ping timeout: 272 seconds)
19:02:38 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:08:25 × yin_ quits (~yin@user/zero) (Quit: Reconnecting)
19:08:38 yin joins (~yin@user/zero)
19:13:27 × micro quits (~micro@user/micro) (Ping timeout: 256 seconds)
19:16:50 micro joins (~micro@user/micro)
19:21:48 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
19:24:24 × mei quits (~mei@user/mei) (Remote host closed the connection)
19:30:49 mei joins (~mei@user/mei)
19:31:01 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Remote host closed the connection)
19:32:54 Square joins (~Square@user/square)
19:35:52 × yin quits (~yin@user/zero) (Ping timeout: 255 seconds)
19:39:35 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
19:49:04 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
19:56:56 peterbecich joins (~Thunderbi@47.229.123.186)
20:01:26 yin joins (~yin@user/zero)
20:03:29 <yin> EvanR: i run ghc on my phone :)
20:04:41 × AlexNoo quits (~AlexNoo@178.34.161.189) (Read error: Connection reset by peer)
20:05:02 <EvanR> I'm jelly
20:05:56 AlexNoo joins (~AlexNoo@178.34.161.189)
20:06:22 <yin>
20:09:08 × yin quits (~yin@user/zero) (Quit: leaving)
20:09:30 yin joins (~yin@user/zero)
20:10:07 × Square quits (~Square@user/square) (Remote host closed the connection)
20:11:02 × opqdonut quits (opqdonut@pseudo.fixme.fi) (Remote host closed the connection)
20:11:07 Square joins (~Square@user/square)
20:12:53 × ft quits (~ft@p4fc2a20e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
20:14:05 ft joins (~ft@p4fc2a1f9.dip0.t-ipconnect.de)
20:18:37 × Nixkernal quits (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch) (Ping timeout: 255 seconds)
20:19:12 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:20:31 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
20:21:54 Nixkernal joins (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch)
20:27:22 opqdonut joins (opqdonut@pseudo.fixme.fi)
20:27:43 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
20:30:47 × destituion quits (~destituio@2a02:2121:340:2456:fffe:d0f:7737:dd1) (Read error: Connection reset by peer)
20:31:04 destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d)
20:35:22 <monochrom> Don't get jelly, get even! Run ghc on your watch. >:)
20:35:40 <monochrom> VR headset OK too. :)
20:41:58 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:44:36 × euleritian quits (~euleritia@176.2.140.113) (Read error: Connection reset by peer)
20:44:51 <tomsmeding> monochrom: if you make ghc use less memory
20:44:56 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:45:17 <monochrom> I know, we just need 16-bit GHC. >:)
20:45:24 <tomsmeding> lol
20:46:06 <tomsmeding> although, if running `ghc --version` counts, that uses just a little less than 100 MB of memory
20:46:26 <tomsmeding> (this is supposed to be funny)
20:47:25 Guest49 joins (~Guest49@24.144.1.228)
20:47:41 <monochrom> Back then when MLton performed whole-program optimizations and required 128MB, it was a big deal, it was like "only your school server can handle it".
20:47:46 <int-e> monochrom: need hugs?
20:48:15 <monochrom> Oh! That's a good idea. Running hugs on your watch first.
20:48:56 × Guest49 quits (~Guest49@24.144.1.228) (Client Quit)
20:49:27 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:53:37 × ocra8 quits (ocra8@user/ocra8) (Quit: WeeChat 4.2.2)
20:55:33 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
20:57:46 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
20:58:27 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
21:12:57 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
21:13:21 ocra8 joins (ocra8@user/ocra8)
21:16:30 michalz joins (~michalz@185.246.207.200)
21:18:33 × Square quits (~Square@user/square) (Ping timeout: 268 seconds)
21:24:24 random-jellyfish joins (~developer@2a02:2f04:11e:c600:9d85:706a:2e8a:a4d1)
21:24:24 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:9d85:706a:2e8a:a4d1) (Changing host)
21:24:24 random-jellyfish joins (~developer@user/random-jellyfish)
21:25:00 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
21:25:02 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:25:57 gmg joins (~user@user/gehmehgeh)
21:28:36 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:30:36 × Inst_ quits (~Inst@user/Inst) (Ping timeout: 252 seconds)
21:32:44 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 268 seconds)
21:33:41 × mima quits (~mmh@aftr-62-216-211-229.dynamic.mnet-online.de) (Ping timeout: 240 seconds)
21:33:56 Inst joins (~Inst@user/Inst)
21:34:01 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:39:12 sadie-sorceress joins (~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
21:39:17 × madeleine-sydney quits (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Ping timeout: 240 seconds)
21:48:57 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
21:53:39 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds)
21:56:41 × michalz quits (~michalz@185.246.207.200) (Quit: ZNC 1.8.2 - https://znc.in)
22:00:22 × ph88 quits (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Remote host closed the connection)
22:05:50 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:12:04 dsrt^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
22:27:03 × sadie-sorceress quits (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Konversation terminated!)
22:27:50 × dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
22:31:41 × yin quits (~yin@user/zero) (Quit: Lost terminal)
22:40:08 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:43:10 yin joins (~yin@user/zero)
22:43:33 yin is now known as zzz
22:51:17 × acidjnk quits (~acidjnk@p200300d6e714dc76fc9e8da7e9a4142b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
22:57:59 <haskellbridge> <i​rregularsphere> I sometimes use Haskell on my phone, too!
22:58:00 <haskellbridge> <i​rregularsphere> It's on 8.10.7 rn (upgradable to 9.2.5-1) but Termux fills up 18GB of my phone's storage mostly due to useless packages I installed in the past. Planning to wipe & reinstall, though.
23:06:39 driib joins (~driib@vmi931078.contaboserver.net)
23:15:46 sroso joins (~sroso@user/SrOso)
23:16:20 × destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 268 seconds)
23:18:12 destituion joins (~destituio@2a02:2121:340:2456:fffe:d0f:7737:dd1)
23:21:05 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
23:22:32 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:25:57 × hueso quits (~root@user/hueso) (Ping timeout: 272 seconds)
23:28:55 hueso joins (~root@user/hueso)
23:29:05 madeleine-sydney joins (~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
23:29:35 × zzz quits (~yin@user/zero) (Ping timeout: 256 seconds)
23:37:02 philopsos joins (~caecilius@user/philopsos)
23:41:05 × peterbecich quits (~Thunderbi@47.229.123.186) (Remote host closed the connection)
23:42:12 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:45:21 peterbecich joins (~Thunderbi@47.229.123.186)
23:57:03 zzz joins (~yin@user/zero)

All times are in UTC on 2024-04-26.