2022/04/22

2022-04-22 00:00:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-22 00:00:43 +0200redb(~nmh@136.49.49.211)
2022-04-22 00:03:20 +0200hololeap(~hololeap@user/hololeap)
2022-04-22 00:05:45 +0200redb(~nmh@136.49.49.211) (Ping timeout: 276 seconds)
2022-04-22 00:07:34 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 246 seconds)
2022-04-22 00:11:28 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-04-22 00:12:43 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-04-22 00:12:55 +0200xff0x_(~xff0x@om126194210237.10.openmobile.ne.jp)
2022-04-22 00:17:39 +0200DNH(~DNH@2a02:8109:b740:2c4:e19c:8cc4:dfdc:657b)
2022-04-22 00:21:01 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-04-22 00:23:55 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-22 00:24:43 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-22 00:32:13 +0200dextaa(~dextaa@user/dextaa) (Ping timeout: 256 seconds)
2022-04-22 00:33:40 +0200redb(~nmh@136.49.49.211)
2022-04-22 00:34:12 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2022-04-22 00:34:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-22 00:34:53 +0200 <tvandinther> Would somebody be able to walk me through some imports and modules and how to make them work in the repl and in a stack project?
2022-04-22 00:35:27 +0200 <tvandinther> I have a module where I import System.Random, when I load the module the REPL says it cant find the module for System.Random
2022-04-22 00:36:02 +0200 <geekosaur> if you are using stack to install modules (this is actually not a good idea), you need to use stack ghci to access them
2022-04-22 00:36:35 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-04-22 00:36:56 +0200 <tvandinther> I read about not using the `stack install` command. Not fully sure why that is but I haven't run it
2022-04-22 00:36:57 +0200sandersndr
2022-04-22 00:37:37 +0200 <geekosaur> because you don't install libraries with stack (or modern cabal), you let stack or cabal install them as part of a project which produces executables
2022-04-22 00:37:39 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 00:37:47 +0200 <tvandinther> My project was started using `stack MontyHall new simple`.
2022-04-22 00:38:16 +0200 <tvandinther> Right, and `stack install` is a global install?
2022-04-22 00:38:39 +0200acidjnk(~acidjnk@p200300d0c722df612442a13791a64f70.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-22 00:38:40 +0200 <geekosaur> actually it does nothing useful for a package which only consists of libraries
2022-04-22 00:39:09 +0200 <geekosaur> anyway use "stack ghci" instead of "ghci", if you have random specified as a dependency, and it should work
2022-04-22 00:39:39 +0200 <EvanR> cabal for lyfe
2022-04-22 00:39:48 +0200jerry99(~330f3999@cerf.good1.com)
2022-04-22 00:40:10 +0200 <tvandinther> I am using the `cabal repl` at the moment. How does that differ?
2022-04-22 00:40:28 +0200 <EvanR> eyebrow, you are managing the project with stack but then did cabal repl
2022-04-22 00:40:29 +0200 <geekosaur> it won't see anything installed by stack
2022-04-22 00:40:45 +0200 <geekosaur> (contrariwise stack won't see anything installed via cabal)
2022-04-22 00:41:08 +0200 <EvanR> they are kind of parallel tools instead of complimentary
2022-04-22 00:41:30 +0200 <tvandinther> Oh okay. I was just told to make a new project with stack and then make a repl with cabal.
2022-04-22 00:41:31 +0200 <geekosaur> they have some disagreements as to how to do some things
2022-04-22 00:41:36 +0200 <geekosaur> o.O
2022-04-22 00:41:37 +0200 <tvandinther> I notice that my stack project has a cabal file in it though
2022-04-22 00:42:09 +0200 <EvanR> in the beginning there was cabal, and cabal hell, so thus stack was born. Then cabal was fixed
2022-04-22 00:42:21 +0200 <geekosaur> "cabal" actually stands for two things: there is the Cabal library which everything uses as it's the interface to ghc'spackage databases, and there is cabal-install which is the "cabal" program
2022-04-22 00:42:56 +0200 <janus> and stack is only compatible with old versions of the cabal library afaik?
2022-04-22 00:43:00 +0200 <tvandinther> I see. so a cabal file /= cabal cli
2022-04-22 00:43:39 +0200 <geekosaur> right
2022-04-22 00:43:51 +0200 <geekosaur> and everything uses cabal files because they're package registration files
2022-04-22 00:44:00 +0200 <tvandinther> As a beginner is it best to forget about cabal as a command line tool?
2022-04-22 00:44:21 +0200 <EvanR> As a beginner is it best to forget about stack ?
2022-04-22 00:44:46 +0200 <tvandinther> Hahaha, I suppose the question is, how do I learn Haskell and not get caught in the holy war :P
2022-04-22 00:45:11 +0200 <EvanR> it seems to me you have to understand cabal anyway
2022-04-22 00:45:18 +0200 <EvanR> and stack is optional
2022-04-22 00:46:52 +0200 <sclv> if you are in a project, then depending on if you are using stack or cabal, you either say `stack ghci` or `cabal repl` to get a ghci session with the libraries the project depends on in scope
2022-04-22 00:46:59 +0200 <sclv> thats the simplest way to explain it
2022-04-22 00:47:20 +0200 <tvandinther> To take my question right back to where I first had issues. I had a simple project with my own modules, then I wanted to use functions from the System.Random package. I figured because it was just a system package that the import would just resolve but then the repl had issues loading my module, and also the language server complained about the
2022-04-22 00:47:21 +0200 <tvandinther> import. What would be the right step to import a system module like this?
2022-04-22 00:47:31 +0200 <sclv> both tools are project based and manage dependencies of your project for you, but in both cases raw "ghci" doesn't know about those dependencies unless you invoke it _through_ the tool
2022-04-22 00:47:58 +0200 <sclv> ok, well you need to add random as a dependency to your project
2022-04-22 00:48:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-22 00:48:24 +0200 <tvandinther> by just adding this line to the cabal file? `  build-depends: random`
2022-04-22 00:48:28 +0200 <sclv> yes
2022-04-22 00:48:55 +0200 <tvandinther> Is there a list syntax for that or do I make a new key-value pair for each dependency
2022-04-22 00:49:06 +0200 <sclv> its a list syntax
2022-04-22 00:49:40 +0200 <sclv> you cn read through some example cabal files from hackage or whatever to get a sense of their syntax https://hackage.haskell.org/package/bytestring-0.11.3.0/bytestring.cabal
2022-04-22 00:50:10 +0200 <sclv> or read the general docs https://cabal.readthedocs.io/en/3.6/cabal-package.html
2022-04-22 00:51:30 +0200Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.)
2022-04-22 00:51:36 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 00:51:43 +0200hololeap(~hololeap@user/hololeap)
2022-04-22 00:54:18 +0200 <tvandinther> thank you
2022-04-22 00:54:37 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-22 00:55:08 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-04-22 00:55:11 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-04-22 00:56:33 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-04-22 01:01:16 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-04-22 01:02:40 +0200redb(~nmh@136.49.49.211)
2022-04-22 01:05:08 +0200jerry99(~330f3999@cerf.good1.com) (Quit: CGI:IRC)
2022-04-22 01:06:12 +0200haritz(~hrtz@user/haritz) (Ping timeout: 276 seconds)
2022-04-22 01:08:29 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-22 01:10:17 +0200redb(~nmh@136.49.49.211)
2022-04-22 01:11:01 +0200AkechiShiro(~licht@user/akechishiro) (Quit: WeeChat 3.2.1)
2022-04-22 01:11:36 +0200mmhat(~mmh@55d4dd86.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-22 01:12:26 +0200haritz(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk)
2022-04-22 01:12:26 +0200haritz(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host)
2022-04-22 01:12:26 +0200haritz(~hrtz@user/haritz)
2022-04-22 01:15:07 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 240 seconds)
2022-04-22 01:16:26 +0200 <sm> System. and other hierarchical module names have no real meaning unfortunately. They can come from any package, sometimes even from more than one
2022-04-22 01:16:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-22 01:17:54 +0200teo(~teo@user/teo)
2022-04-22 01:17:55 +0200chomwitt(~chomwitt@2a02:587:dc1b:da00:e2f9:e987:da5c:6097) (Ping timeout: 260 seconds)
2022-04-22 01:18:00 +0200 <sm> when you're building, the package names are more important, when coding, the module names are more important.
2022-04-22 01:19:21 +0200rekahsoft(~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com)
2022-04-22 01:20:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-22 01:20:19 +0200rekahsoft(~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection)
2022-04-22 01:20:47 +0200rekahsoft(~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com)
2022-04-22 01:20:50 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2022-04-22 01:23:04 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-22 01:24:14 +0200hololeap(~hololeap@user/hololeap)
2022-04-22 01:26:10 +0200Guest91(~Guest91@caliga.eecs.tufts.edu) (Quit: Client closed)
2022-04-22 01:27:36 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-22 01:29:20 +0200redb(~nmh@136.49.49.211)
2022-04-22 01:30:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-22 01:34:35 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b)
2022-04-22 01:35:38 +0200chenqisu1(~chenqisu1@183.217.200.38)
2022-04-22 01:35:59 +0200nomagno(~nomagno@2001:470:69fc:105::c1f0) ()
2022-04-22 01:37:24 +0200redb(~nmh@136.49.49.211) (Ping timeout: 276 seconds)
2022-04-22 01:45:27 +0200foul_owl(~kerry@23.82.193.88) (Ping timeout: 260 seconds)
2022-04-22 01:45:28 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b) (Read error: Connection reset by peer)
2022-04-22 01:47:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-22 01:47:59 +0200redb(~nmh@136.49.49.211)
2022-04-22 01:48:22 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 01:49:17 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 01:51:05 +0200tvandinther(~tvandinth@2406:e002:6815:1801:eda7:b44d:2b93:da27) (Quit: Client closed)
2022-04-22 01:52:11 +0200stackdroid18(14094@user/stackdroid)
2022-04-22 01:52:41 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-22 01:54:40 +0200tvandinther(~tvandinth@2406:e002:6815:1801:f923:49c9:3df2:db52)
2022-04-22 01:55:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-22 01:55:58 +0200jerry99(~330f3999@cerf.good1.com)
2022-04-22 01:56:50 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 01:59:23 +0200mvk(~mvk@2607:fea8:5ce3:8500::46a8)
2022-04-22 02:00:14 +0200foul_owl(~kerry@23.82.193.89)
2022-04-22 02:01:17 +0200jerry99(~330f3999@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-04-22 02:02:31 +0200xff0x_(~xff0x@om126194210237.10.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-22 02:05:05 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
2022-04-22 02:05:22 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-04-22 02:06:18 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-22 02:07:13 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-22 02:10:53 +0200DNH(~DNH@2a02:8109:b740:2c4:e19c:8cc4:dfdc:657b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-04-22 02:13:07 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-22 02:13:07 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-22 02:13:07 +0200wroathe(~wroathe@user/wroathe)
2022-04-22 02:14:45 +0200 <Axman6> tvandinther: I'm probably the one who told you to use stack, but only because you mentioned you were already using it. I would recommend sticking with just cabal these days
2022-04-22 02:14:47 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-04-22 02:15:47 +0200ralu1(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 240 seconds)
2022-04-22 02:16:22 +0200DNH(~DNH@2a02:8109:b740:2c4:e19c:8cc4:dfdc:657b)
2022-04-22 02:17:04 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2022-04-22 02:17:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-22 02:17:56 +0200DNH(~DNH@2a02:8109:b740:2c4:e19c:8cc4:dfdc:657b) (Client Quit)
2022-04-22 02:18:20 +0200redb(~nmh@136.49.49.211)
2022-04-22 02:18:58 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-22 02:19:01 +0200DNH(~DNH@2a02:8109:b740:2c4:e19c:8cc4:dfdc:657b)
2022-04-22 02:22:19 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 02:23:40 +0200DNH(~DNH@2a02:8109:b740:2c4:e19c:8cc4:dfdc:657b) (Ping timeout: 250 seconds)
2022-04-22 02:23:41 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-22 02:25:54 +0200rekahsoft(~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection)
2022-04-22 02:28:34 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2022-04-22 02:28:57 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-04-22 02:29:01 +0200 <jackdk> I agree with Axman6. Stack was a good improvement at the time, but that time has passed.
2022-04-22 02:29:05 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 02:29:12 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-04-22 02:29:47 +0200 <Axman6> I still think that for application development, there is some benefit to the LTS approach, but that's about it
2022-04-22 02:30:15 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 02:30:20 +0200 <jackdk> `cabal freeze` covers that these days IMHO
2022-04-22 02:32:05 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-22 02:34:19 +0200dka(~code-is-a@ns3059207.ip-193-70-33.eu) (Quit: My Ex-Girlfriend once told me: I'm not a slut, I'm just popular)
2022-04-22 02:35:09 +0200dka(~code-is-a@ns3059207.ip-193-70-33.eu)
2022-04-22 02:35:13 +0200renzhi(~xp@2607:fa49:6500:b100::19a0)
2022-04-22 02:35:43 +0200redb(~nmh@136.49.49.211)
2022-04-22 02:35:46 +0200 <sm> stack will still be a smoother experience for most new users most of the time.
2022-04-22 02:36:26 +0200 <sm> but that'll keep declining as long as it's not getting maintenance
2022-04-22 02:39:15 +0200 <jackdk> I believe that is no longer true as of some time in the past, given that we now have ghcup, the v2-* commands are default, etc.
2022-04-22 02:39:20 +0200jerry99(~330f3999@cerf.good1.com)
2022-04-22 02:39:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 02:40:35 +0200ralu1(~ralu@static.211.245.203.116.clients.your-server.de)
2022-04-22 02:41:18 +0200 <sm> I see one tool with fewer footguns as simpler than all that, again most of the time, it's highly dependent. But YMMV
2022-04-22 02:41:34 +0200 <jerry99> is there a shorter way of doing this?
2022-04-22 02:41:50 +0200 <jerry99> :t let f = undefined :: Int -> String -> IO (); g = undefined :: IO Int; h = undefined :: IO String in join $ f <$> g <*> h
2022-04-22 02:41:51 +0200 <lambdabot> IO ()
2022-04-22 02:42:29 +0200jerry99(~330f3999@cerf.good1.com) (Client Quit)
2022-04-22 02:42:53 +0200jerry99(~330f3999@cerf.good1.com)
2022-04-22 02:43:52 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 02:44:50 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 02:45:03 +0200 <jackdk> jerry99: Nothing comes to mind. You could write it out in `do` notation if you feel that's clearer
2022-04-22 02:46:04 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2022-04-22 02:46:24 +0200frost(~frost@user/frost)
2022-04-22 02:47:17 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8)
2022-04-22 02:48:00 +0200 <sm> how could that really be much shorter ? I mean, come on :)
2022-04-22 02:48:59 +0200 <sm> with a multiline paste maybe I'd see it
2022-04-22 02:49:02 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-22 02:49:42 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
2022-04-22 02:49:55 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-22 02:50:12 +0200notzmv(~user@user/notzmv)
2022-04-22 02:52:35 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2022-04-22 02:53:50 +0200 <jerry99> I find it reasonably clean, I was just wondering if I missed some operators or functions
2022-04-22 02:54:30 +0200 <jerry99> (it being join $ f <$> g <*> h)
2022-04-22 02:54:33 +0200lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-04-22 02:54:40 +0200teo(~teo@user/teo) (Remote host closed the connection)
2022-04-22 02:57:14 +0200redb(~nmh@136.49.49.211)
2022-04-22 02:57:21 +0200xff0x_(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp)
2022-04-22 03:00:56 +0200 <sm> if you happen to be using any of these packages, they seem to define a helper: https://hoogle.haskell.org/?hoogle=(Int%20-%3E%20String%20-%3E%20IO%20())%20-%3E%20IO%20Int%20-%3E%20IO%20String%20-%3E%20IO%20()
2022-04-22 03:02:08 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-22 03:09:50 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-22 03:10:51 +0200JordiGH(~jordi@user/jordigh) (Quit: Jacking out)
2022-04-22 03:11:09 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-04-22 03:14:10 +0200neurocyte8614492(~neurocyte@user/neurocyte) (Ping timeout: 272 seconds)
2022-04-22 03:14:30 +0200vysn(~vysn@user/vysn)
2022-04-22 03:15:27 +0200razetime(~quassel@117.254.34.164)
2022-04-22 03:17:15 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-04-22 03:18:04 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2022-04-22 03:19:19 +0200andrey_(~andrey@p200300dbcf070c00b5dc7288fe0a9b15.dip0.t-ipconnect.de)
2022-04-22 03:21:09 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-22 03:21:39 +0200andrey(~andrey@p200300dbcf0d4c00ca7da127e9eab0e0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-22 03:22:30 +0200redb(~nmh@136.49.49.211)
2022-04-22 03:23:16 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-04-22 03:25:17 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-04-22 03:25:32 +0200califax(~califax@user/califx)
2022-04-22 03:27:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-22 03:27:28 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-22 03:29:22 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 272 seconds)
2022-04-22 03:30:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 03:30:36 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-04-22 03:39:30 +0200redb(~nmh@136.49.49.211)
2022-04-22 03:43:45 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-22 03:49:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-22 03:50:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 03:51:20 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2022-04-22 03:51:29 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Quit: WeeChat 3.5)
2022-04-22 04:01:22 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-22 04:01:37 +0200redb(~nmh@136.49.49.211)
2022-04-22 04:05:56 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-22 04:06:48 +0200 <hololeap> @pf join $ f <$> g <*> h
2022-04-22 04:06:48 +0200 <lambdabot> Maybe you meant: pl bf
2022-04-22 04:06:53 +0200 <hololeap> @pl join $ f <$> g <*> h
2022-04-22 04:06:53 +0200 <lambdabot> join (f <$> g <*> h)
2022-04-22 04:07:55 +0200 <hololeap> I think it would be more clear with do notation, but that's just me
2022-04-22 04:12:26 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2022-04-22 04:12:32 +0200 <hololeap> I also tried to reduce it with the knowledge that (\f -> join . fmap f) = (=<<), but it doesn't actually reduce that way
2022-04-22 04:15:30 +0200 <hololeap> you end up with: \f g h -> (join . ((<*>) . fmap f) g) h
2022-04-22 04:16:25 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-22 04:17:23 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-22 04:23:20 +0200nate1(~nate@98.45.169.16)
2022-04-22 04:23:47 +0200redb(~nmh@136.49.49.211)
2022-04-22 04:30:47 +0200nate1(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-04-22 04:31:21 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-22 04:34:11 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-04-22 04:35:19 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-04-22 04:35:35 +0200stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-04-22 04:35:52 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 04:36:04 +0200califax(~califax@user/califx) (Ping timeout: 240 seconds)
2022-04-22 04:36:45 +0200redb(~nmh@136.49.49.211)
2022-04-22 04:37:04 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2022-04-22 04:37:30 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-22 04:37:34 +0200califax(~califax@user/califx)
2022-04-22 04:37:55 +0200 <Axman6> join $ liftA2 f g h might be a little shorter
2022-04-22 04:39:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-04-22 04:40:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 04:40:48 +0200 <tvandinther> Quick question, I have a function that returns `IO Int` and I want to create a list of tuples of these integers `n` long. How would I do that?
2022-04-22 04:41:10 +0200 <Axman6> what result type do you want?
2022-04-22 04:41:21 +0200redb(~nmh@136.49.49.211) (Ping timeout: 276 seconds)
2022-04-22 04:41:43 +0200 <hololeap> tvandinther: so your function returns a different `IO Int` each time and you want to collect a few of those results?
2022-04-22 04:41:51 +0200 <tvandinther> `IO (Int, Int)`  I suppose for the return
2022-04-22 04:42:03 +0200 <tvandinther> yeah, basically a list of random integer tuples
2022-04-22 04:42:14 +0200 <Axman6> the first thing that somes to mind is replicateN n ((,) <$> f <*> f)
2022-04-22 04:42:41 +0200 <Axman6> IO (Int, Int) or IO [(Int, Int)]?
2022-04-22 04:42:56 +0200 <tvandinther> yeah the list one
2022-04-22 04:43:04 +0200 <hololeap> :t replicateM
2022-04-22 04:43:05 +0200 <lambdabot> Applicative m => Int -> m a -> m [a]
2022-04-22 04:43:26 +0200 <Axman6> looks like you want what I said above then
2022-04-22 04:44:12 +0200 <hololeap> % :t \(f :: IO Int) (n :: Int) -> replicateM n ((,) <$> f <*> f)
2022-04-22 04:44:13 +0200 <yahb> hololeap: IO Int -> Int -> IO [(Int, Int)]
2022-04-22 04:44:24 +0200 <Axman6> though there might be better solutionms if you tell us where that IO Int comes from
2022-04-22 04:44:41 +0200 <tvandinther> Cool, I think I'm getting closer to what I want. Am I correct in that I should define my pipeline functions as pure and then use `fmap` to get them to work with the IO monad?
2022-04-22 04:45:10 +0200 <Axman6> I don't think you've given us enough information to be able to answer that
2022-04-22 04:45:52 +0200 <hololeap> it's almost always a good idea to use the purest functions possible and then lift them into IO (or whatever abstraction) when you need to
2022-04-22 04:46:22 +0200 <tvandinther> I have transformations that take the int tuple and checks if the integers are equal and returns a boolean, then I count how many matches there are. Then there is another variation on that where I change one of the ints in the tuple before comparison
2022-04-22 04:47:18 +0200 <hololeap> change it with something from IO or something pure?
2022-04-22 04:47:31 +0200 <tvandinther> change based on something pure
2022-04-22 04:48:43 +0200 <hololeap> then you should be fine writing your two functions purely and piping in the IO Ints at the end
2022-04-22 04:49:13 +0200 <hololeap> "piping" meaning just regular haskell function stuff, not the pipes package or anything
2022-04-22 04:51:18 +0200 <tvandinther> Yes, I mean just passing outputs into inputs
2022-04-22 04:51:21 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-04-22 04:53:09 +0200 <hololeap> your first function would be something like: (Int, Int) -> Bool
2022-04-22 04:53:22 +0200 <hololeap> second would be: (Int -> Int) -> (Int, Int) -> (Int, Int)
2022-04-22 04:55:44 +0200 <hololeap> then you would just grab your (IO [(Int, Int)]) using relicateM or repeatM in a do block, and pass them to those functions and count the results
2022-04-22 04:56:28 +0200 <hololeap> you would end up with (IO Int) because 1) you are counting the results (Int) and 2) once you enter the IO monad your results have to be (IO a)
2022-04-22 04:57:19 +0200 <hololeap> does that make sense?
2022-04-22 04:58:04 +0200 <tvandinther> That makes sense. I just have questions about how to enter the IO monad
2022-04-22 04:58:05 +0200 <tvandinther> I have a function `createTuple :: Int -> Int -> (Int, Int)` and a function `randomInt :: IO Int` and I want to apply them so that I can call something like `createTuple randomInt randomInt`
2022-04-22 04:59:08 +0200 <hololeap> the most idiomatic way is to call randomInt twice in a do block to catch the results, then just end with `return (createTuple x y)` to get a `IO (Int, Int)` result
2022-04-22 04:59:14 +0200 <tvandinther> and then `replicateM n createTuple'`
2022-04-22 04:59:34 +0200 <hololeap> I can write up a quick example if you want
2022-04-22 04:59:38 +0200 <tvandinther> I see, let me try that
2022-04-22 05:00:02 +0200haasn(~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2022-04-22 05:00:24 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
2022-04-22 05:00:44 +0200redb(~nmh@136.49.49.211)
2022-04-22 05:00:48 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-22 05:01:24 +0200haasn(~nand@haasn.dev)
2022-04-22 05:04:20 +0200 <tvandinther> I made `createTuple' :: IO (Int, Int)` and then used it `tuples <- replicateM n createTuple'` but apparently tuples is type `[(Int, Int)]` when I expect it to be `[IO (Int, Int)]`. What am I missing?
2022-04-22 05:05:15 +0200 <Axman6> :t replicateM
2022-04-22 05:05:17 +0200 <lambdabot> Applicative m => Int -> m a -> m [a]
2022-04-22 05:05:30 +0200 <Axman6> why do you expect it to be [IO (Int, Int)]?
2022-04-22 05:06:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-22 05:07:47 +0200 <tvandinther> Oh should it be `IO [(Int, Int)]`?
2022-04-22 05:08:03 +0200 <Axman6> if you're using replicateM, yes
2022-04-22 05:08:27 +0200 <Axman6> if, for some reason, you want [IO (Int, Int)] then you can use replicate, but I doube that's what you want
2022-04-22 05:08:32 +0200 <tvandinther> the type hint still shows me the pure list
2022-04-22 05:08:39 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 05:09:18 +0200 <jackdk> can you copy paste from your ghci exactly what you typed and what it returned?
2022-04-22 05:09:31 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-22 05:10:00 +0200 <tvandinther> sure, I just have to fix my file cos its got some errors
2022-04-22 05:10:50 +0200 <jackdk> no worries =)
2022-04-22 05:12:11 +0200 <jackdk> Meanwhile, I think I understand what's going on. When you say you wrote `tuples <- replicateM n createTuple'` but apparently tuples is type `[(Int, Int)]`, was this in GHCi?
2022-04-22 05:13:15 +0200 <tvandinther> it wasn't, so perhaps I am being misled by HLS.
2022-04-22 05:13:32 +0200 <jackdk> It would've been inside a `do` block, then?
2022-04-22 05:13:34 +0200 <hololeap> tvandinther: http://sprunge.us/b5BvyB?haskell
2022-04-22 05:13:38 +0200 <tvandinther> Quick dumb question, how do I unpack a data record? Can I do that in a where clause?
2022-04-22 05:14:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-22 05:14:25 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com)
2022-04-22 05:14:38 +0200 <jackdk> you can pattern-match like `let MyRecordConstructor { field1 = x, field2 = y } = myRecord in ..` (or the equivalent in a `where`)
2022-04-22 05:15:02 +0200 <hololeap> you can give each field of the data record a name, which creates a function that unpacks that particular field
2022-04-22 05:15:09 +0200 <jackdk> also that
2022-04-22 05:15:11 +0200 <Axman6> you can also pattern match on it: let MyRecordConstructor x y z = myRecord
2022-04-22 05:15:16 +0200 <jackdk> also also that
2022-04-22 05:15:34 +0200califax(~califax@user/califx) (Ping timeout: 240 seconds)
2022-04-22 05:15:44 +0200 <Axman6> or you can turn on record dot syntax and use myRecord.field1, myRecord.filed2 :P
2022-04-22 05:15:56 +0200 <jackdk> also also also that but let's not get ahead of ourselves =P
2022-04-22 05:16:08 +0200 <hololeap> Axman6: when was that implemented?
2022-04-22 05:16:11 +0200califax(~califax@user/califx)
2022-04-22 05:16:20 +0200 <hololeap> is that a 9.2 thing?
2022-04-22 05:16:36 +0200 <jackdk> hololeap: yeah https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/overloaded_record_dot.html#ext…
2022-04-22 05:16:47 +0200 <hololeap> I mean, it's sorely needed
2022-04-22 05:17:38 +0200 <hololeap> tvandinther: I never actually used the createTuple function in that example, but it wasn't really needed
2022-04-22 05:18:19 +0200 <jackdk> tvandinther: so anyway, when you write `x <- expression`, if `expression :: m a` for some monad `m`, then `x` has type `a`. This is because `do`-notation transforms `x <- expression` into `expression >>= \x -> ...`
2022-04-22 05:18:50 +0200 <tvandinther> hololeap thanks for the code snippet. I'll take a closer look at it
2022-04-22 05:21:29 +0200redb(~nmh@136.49.49.211)
2022-04-22 05:24:53 +0200 <tvandinther> Ahh I see. Because when I ran the same expression in ghci with :t I got IO [tuple]
2022-04-22 05:25:41 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-04-22 05:26:32 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-22 05:26:35 +0200 <tvandinther> and to check my understanding >>= is the bind operator which allows connecting the expression monad to the next expression using the output x?
2022-04-22 05:27:36 +0200 <tvandinther> equivalent to unwrapping x from IO and calling the next function x -> IO y?
2022-04-22 05:27:49 +0200 <tvandinther> I'm probably wrong somewhere
2022-04-22 05:28:17 +0200redb(~nmh@136.49.49.211)
2022-04-22 05:32:52 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-22 05:33:28 +0200redb(~nmh@136.49.49.211)
2022-04-22 05:34:11 +0200 <hololeap> no, you're right. unwrapping x from IO and passing it to (x -> IO y) is what (>>=) does
2022-04-22 05:34:27 +0200 <hololeap> do notation is just syntactic sugar for that
2022-04-22 05:34:49 +0200 <c_wraith> as long as you only think of the "unwrapping" on the type level.
2022-04-22 05:35:07 +0200 <hololeap> right, it's a conceptual thing
2022-04-22 05:35:33 +0200 <c_wraith> at the value level, "unwrapping" is way too limited of a perspective to explain what's going on in IO
2022-04-22 05:38:29 +0200 <tvandinther> So then now I have a function which is `x -> y` how do I make it `x -> IO y` so that I can pass x into it in this do block?
2022-04-22 05:38:47 +0200 <tvandinther> I thought thats what fmap did but it doesn't seem to change it
2022-04-22 05:38:54 +0200 <Axman6> that is what fmap does
2022-04-22 05:39:02 +0200 <Axman6> % :t fmap @IO
2022-04-22 05:39:02 +0200 <yahb> Axman6: (a -> b) -> IO a -> IO b
2022-04-22 05:40:02 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-22 05:40:08 +0200 <hololeap> well, what you're probably looking for is (return . f) or (pure . f) -- return and pure are synonyms
2022-04-22 05:40:21 +0200 <tvandinther> Hmm. this is what it tells me:  Couldn't match type ‘[]’ with ‘IO’
2022-04-22 05:40:21 +0200 <tvandinther>   Expected: IO [Bool]
2022-04-22 05:40:22 +0200 <tvandinther>     Actual: [[Bool]]
2022-04-22 05:40:25 +0200 <hololeap> return and pure take a pure function and lift it to an Applicative/Monad
2022-04-22 05:40:36 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
2022-04-22 05:40:44 +0200 <hololeap> *a pure value
2022-04-22 05:41:01 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-22 05:41:09 +0200redb(~nmh@136.49.49.211) (Ping timeout: 276 seconds)
2022-04-22 05:41:22 +0200 <hololeap> when I said in the comment that you have to end with an IO action, you can use return or pure which are essentially "nullary" actions
2022-04-22 05:42:57 +0200 <hololeap> you can also use a let statement in the do block which is a pure way to assign a variable in a do block
2022-04-22 05:42:58 +0200 <tvandinther> okay I seemed to get it with `let y = map xToYFunc [x]`
2022-04-22 05:43:08 +0200 <tvandinther> what is the let statement sugar for?
2022-04-22 05:43:15 +0200 <Axman6> nothing
2022-04-22 05:43:26 +0200 <Axman6> it defines names
2022-04-22 05:43:40 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-04-22 05:43:45 +0200 <tvandinther> ooh right. I figured thats what `x <-` was
2022-04-22 05:43:49 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 05:43:51 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 05:44:04 +0200 <hololeap> no, <- is the syntactic sugar part of the do block
2022-04-22 05:44:07 +0200 <Axman6> though in do notation, I guess we have the sugar: ...; let x = y; ... which is equivalent to ...; let x = y in ...
2022-04-22 05:44:11 +0200 <hololeap> that's what maps to (>>=)
2022-04-22 05:44:26 +0200 <Axman6> let and <- do different things (pun intended)
2022-04-22 05:44:28 +0200redb(~nmh@136.49.49.211)
2022-04-22 05:44:54 +0200 <Axman6> x <- y; other ==> y >>= \x -> other
2022-04-22 05:45:07 +0200 <Axman6> let x = y; other ==> let x = y in other
2022-04-22 05:45:09 +0200 <tvandinther> so the token to the left of `<-` needs to be used immediately in the next statement? or can you use it twice?
2022-04-22 05:45:15 +0200 <Axman6> no
2022-04-22 05:45:23 +0200 <Axman6> it is in scope from then onwards
2022-04-22 05:45:48 +0200 <tvandinther> does it "unsugar" into a mess of nested brackets?
2022-04-22 05:45:55 +0200 <tvandinther> if you weave the usage of it
2022-04-22 05:46:00 +0200 <Axman6> > do {x <- [1,2,3]; y <- [10,20,30]; pure (x+y) }
2022-04-22 05:46:02 +0200 <lambdabot> [11,21,31,12,22,32,13,23,33]
2022-04-22 05:46:16 +0200 <hololeap> @undo do {x <- [1,2,3]; y <- [10,20,30]; pure (x+y) }
2022-04-22 05:46:16 +0200 <lambdabot> [1, 2, 3] >>= \ x -> [10, 20, 30] >>= \ y -> pure (x + y)
2022-04-22 05:46:17 +0200 <Axman6> whether it does or not is irrelevant
2022-04-22 05:47:04 +0200 <hololeap> you can write it out on pen and paper if you want, but do notation is there to save your brain cells and your sanity from all that
2022-04-22 05:47:39 +0200 <dibblego> https://github.com/system-f/fp-course/blob/master/README.markdown?plain=1#L325
2022-04-22 05:47:57 +0200 <tvandinther> yeah I can see that. I'm just trying to get my head around how the do block actually helps us. If you used x in that example do block again after the y, does it result in brackets?
2022-04-22 05:48:39 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 05:48:59 +0200 <Axman6> I'm not sure how that's relevant
2022-04-22 05:49:04 +0200mvk(~mvk@2607:fea8:5ce3:8500::46a8) (Ping timeout: 250 seconds)
2022-04-22 05:49:13 +0200 <hololeap> yes, it can result in statements wrapped in parens, if it is complex enough
2022-04-22 05:49:18 +0200 <dibblego> when the question is itself confused, in learning environment, we stop using do-notation altogether
2022-04-22 05:49:25 +0200 <dibblego> go back to using functions >>=
2022-04-22 05:49:48 +0200 <Axman6> do { x <- fx; y <- fy; g x y } ==> fx >>= (\x -> fy >>= \y -> g x y))
2022-04-22 05:50:00 +0200 <hololeap> I think they understand the concept of (>>=) but want to make sure do notation works as they intend it to
2022-04-22 05:50:15 +0200redb(~nmh@136.49.49.211)
2022-04-22 05:50:27 +0200 <Axman6> do { x <- fx; y <- fy; g x y } ==> fx >>= (\x -> fy >>= (\y -> g x y)) -- forgot a bracket
2022-04-22 05:50:47 +0200 <tvandinther> Cool, I think it starts to make sense to me how the do block works
2022-04-22 05:51:09 +0200 <hololeap> tvandinther: you can use @undo in the chat to convert a do statement to (>>=) spaghetti, or send a PM to lambdabot
2022-04-22 05:51:17 +0200 <tvandinther> I can see it tries to turn procedural statements into nested and composed function calls
2022-04-22 05:51:25 +0200 <tvandinther> thanks for the tip
2022-04-22 05:52:20 +0200 <hololeap> do notation can look like procedural code, but you have to remember in haskell it's all function composition
2022-04-22 05:52:38 +0200 <hololeap> there just happens to be a 1:1 correlation between the two
2022-04-22 05:52:54 +0200 <tvandinther> makes sense
2022-04-22 05:53:05 +0200 <tvandinther> thanks for all your help
2022-04-22 05:53:17 +0200 <tvandinther> my program now works and compiles
2022-04-22 05:53:47 +0200 <tvandinther> it runs n simulations of the monty all problem and reports how many times you win the car for swapping doors and not swapping doors
2022-04-22 05:53:54 +0200 <tvandinther> monty hall*
2022-04-22 05:54:03 +0200 <hololeap> nice
2022-04-22 05:56:32 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-04-22 05:59:49 +0200akurilin_(uid322841@id-322841.ilkley.irccloud.com)
2022-04-22 06:11:03 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-04-22 06:17:25 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Remote host closed the connection)
2022-04-22 06:17:39 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2022-04-22 06:18:46 +0200cdman(~dcm@27.2.216.103)
2022-04-22 06:18:46 +0200cdman(~dcm@27.2.216.103) (Changing host)
2022-04-22 06:18:46 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-22 06:20:48 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 276 seconds)
2022-04-22 06:21:01 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
2022-04-22 06:21:16 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-22 06:22:45 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-22 06:24:16 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-04-22 06:26:09 +0200 <hololeap> @undo do { let x = 3; let y = 4; pure (x+y) }
2022-04-22 06:26:09 +0200 <lambdabot> <unknown>.hs:1:17:Parse error: let
2022-04-22 06:30:00 +0200 <int-e> @undo do let { x = 3 }; let { y = 4 }; pure (x + y)
2022-04-22 06:30:01 +0200 <lambdabot> let { x = 3} in let { y = 4} in pure (x + y)
2022-04-22 06:30:27 +0200deadmarshal_(~deadmarsh@95.38.119.71)
2022-04-22 06:32:03 +0200 <hololeap> hm, I don't understand the distinction there
2022-04-22 06:32:13 +0200hsw_(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2022-04-22 06:32:31 +0200 <int-e> you need braces for the let blocks; otherwise they extend as far to the right as it goes, leading to parse errors
2022-04-22 06:32:49 +0200 <int-e> you /can/ put those outer braces as well, but those are optional.
2022-04-22 06:33:25 +0200hsw__(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2022-04-22 06:33:52 +0200 <hololeap> @undo do { let x = 3; y = 4 }; pure (x + y)
2022-04-22 06:33:52 +0200 <lambdabot> <unknown>.hs:1:24:Parse error: Last statement in a do-block must be an expression
2022-04-22 06:33:53 +0200 <int-e> @undo do let { x = 3; y = 4 }; pure (x + y)
2022-04-22 06:33:53 +0200 <lambdabot> let { x = 3; y = 4} in pure (x + y)
2022-04-22 06:34:18 +0200 <hololeap> ok. good to know
2022-04-22 06:34:53 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-04-22 06:34:54 +0200hsw__(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection)
2022-04-22 06:35:11 +0200hsw__(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2022-04-22 06:35:43 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Ping timeout: 260 seconds)
2022-04-22 06:36:18 +0200 <int-e> fortunately this doesn't come up when writing code with layout... indenting the let bindings happens naturally
2022-04-22 06:37:07 +0200hsw_(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Ping timeout: 260 seconds)
2022-04-22 06:39:03 +0200 <int-e> "those are optional" ... in this example, where the `do` block is the outermost block of interest.
2022-04-22 06:39:38 +0200 <hololeap> @undo do { let { x = 3; y = 4 }; pure (x + y) }
2022-04-22 06:39:38 +0200 <lambdabot> let { x = 3; y = 4} in pure (x + y)
2022-04-22 06:39:42 +0200 <int-e> I suppose it's more common to run into this in the form of `> let foo = do { bar; baz } in blah`...
2022-04-22 06:40:28 +0200 <hololeap> yeah this only comes up for me in chat with one-line code blocks
2022-04-22 06:41:13 +0200 <int-e> Hmm. Actually that works without braces. But it stops working if you want to have a second binding in the `let`...
2022-04-22 06:41:51 +0200 <int-e> so context matters a lot for which braces can be omitted
2022-04-22 06:41:58 +0200 <hololeap> @undo do { let { x = 3 }; let { y = 4 }; pure (x+y) }
2022-04-22 06:41:58 +0200 <lambdabot> let { x = 3} in let { y = 4} in pure (x + y)
2022-04-22 06:42:04 +0200 <hololeap> seems to work
2022-04-22 06:42:23 +0200 <hololeap> that could be useful
2022-04-22 06:43:16 +0200 <hololeap> :t do { z <- { let { x = 3 }; let { y = 4 }; pure (x+y) }; pure z }
2022-04-22 06:43:17 +0200 <lambdabot> error: parse error on input ‘{’
2022-04-22 06:43:31 +0200 <int-e> @undo do let { x = 3; }; pure 42
2022-04-22 06:43:31 +0200 <lambdabot> let { x = 3} in pure 42
2022-04-22 06:44:03 +0200 <int-e> Hmm. I wonder why it puts the closing brace there without a space. Oh well.
2022-04-22 06:44:39 +0200hsw__(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Ping timeout: 240 seconds)
2022-04-22 06:45:03 +0200 <hololeap> the mystery of the prize
2022-04-22 06:51:17 +0200 <hololeap> https://www.youtube.com/watch?v=BGPZMt3e4vM
2022-04-22 06:51:37 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2022-04-22 06:52:06 +0200phma(~phma@host-67-44-209-28.hnremote.net) (Read error: Connection reset by peer)
2022-04-22 06:52:51 +0200phma(phma@2001:5b0:212a:c5f8:8d11:236a:885c:d94f)
2022-04-22 06:54:34 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds)
2022-04-22 06:54:47 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2022-04-22 06:57:34 +0200hololeap(~hololeap@user/hololeap)
2022-04-22 06:59:33 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-22 07:05:03 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 07:06:18 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-04-22 07:16:19 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-04-22 07:16:42 +0200gpncarl(~gpncarl@210.12.195.6)
2022-04-22 07:16:48 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Quit: Leaving)
2022-04-22 07:16:48 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Quit: Leaving)
2022-04-22 07:18:12 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 07:18:18 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 07:20:03 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Client Quit)
2022-04-22 07:20:03 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Client Quit)
2022-04-22 07:20:35 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 07:20:47 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 07:21:21 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-04-22 07:21:21 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (K-Lined)
2022-04-22 07:21:58 +0200Midjak(~Midjak@82.66.147.146)
2022-04-22 07:23:19 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-22 07:25:09 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 07:27:07 +0200monochrom(trebla@216.138.220.146) (Quit: NO CARRIER)
2022-04-22 07:28:47 +0200notzmv(~user@user/notzmv) (Read error: Connection reset by peer)
2022-04-22 07:29:33 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-04-22 07:31:23 +0200zaquest(~notzaques@5.130.79.72)
2022-04-22 07:34:15 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
2022-04-22 07:34:39 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-22 07:34:42 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-22 07:34:46 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-22 07:34:54 +0200deadmarshal_(~deadmarsh@95.38.119.71) (Ping timeout: 276 seconds)
2022-04-22 07:36:04 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-22 07:36:55 +0200gurkenglas(~gurkengla@178.12.18.212)
2022-04-22 07:37:19 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
2022-04-22 07:43:48 +0200monochrom(trebla@216.138.220.146)
2022-04-22 07:45:06 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Quit: Client closed)
2022-04-22 07:48:12 +0200michalz(~michalz@185.246.204.61)
2022-04-22 07:50:48 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-22 07:53:41 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 07:54:20 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 07:58:44 +0200coot(~coot@213.134.190.95)
2022-04-22 07:59:36 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Ping timeout: 276 seconds)
2022-04-22 08:01:52 +0200jerry99(~330f3999@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-04-22 08:04:29 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 08:13:54 +0200cheategg(~Username@user/cheater) (Ping timeout: 276 seconds)
2022-04-22 08:15:13 +0200Guest84(~Guest84@157-131-110-151.fiber.dynamic.sonic.net)
2022-04-22 08:17:06 +0200cheategg(~Username@user/cheater)
2022-04-22 08:24:51 +0200Guest|58(~Guest|58@cpe-70-124-134-106.austin.res.rr.com)
2022-04-22 08:25:34 +0200Guest|58(~Guest|58@cpe-70-124-134-106.austin.res.rr.com) (Client Quit)
2022-04-22 08:28:26 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-22 08:29:44 +0200 <dminuoso> Anyone with nix flakes experience? Im trying to override a dependency in callCabal2nix, which appears to work in principle, except it doesnt appear to recognize the version of the replaced dependency.
2022-04-22 08:30:33 +0200acidjnk(~acidjnk@p200300d0c722df45a954244a97abeb7b.dip0.t-ipconnect.de)
2022-04-22 08:31:08 +0200 <dminuoso> Initially I thought I could just swap out a haskell dependency `dep` by providing it in the attrset in `callCabal2nix "foo" self { dep = dep; }`
2022-04-22 08:34:42 +0200raym(~raym@user/raym) (Quit: kernel update, rebooting...)
2022-04-22 08:34:44 +0200jinsun__(~jinsun@user/jinsun)
2022-04-22 08:35:27 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-04-22 08:36:30 +0200raym(~raym@user/raym)
2022-04-22 08:38:36 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 276 seconds)
2022-04-22 08:39:58 +0200mikoto-chan(~mikoto-ch@84.199.144.235)
2022-04-22 08:40:32 +0200dut(~dut@user/dut)
2022-04-22 08:40:51 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-22 08:43:12 +0200deadmarshal_(~deadmarsh@95.38.119.71)
2022-04-22 08:49:31 +0200codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511) ()
2022-04-22 08:51:06 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-04-22 08:52:26 +0200fendor(~fendor@178.165.175.241.wireless.dyn.drei.com)
2022-04-22 08:52:35 +0200hsw(~hsw@112-104-144-236.adsl.dynamic.seed.net.tw)
2022-04-22 08:54:28 +0200 <Axman6> TIL it's actually alowable to indent all top level definitions in a Haskell module: https://stackoverflow.com/questions/71963606/indented-import-statement-causes-parsing-error-in-sty…
2022-04-22 08:54:32 +0200 <Axman6> I'm not ok with this
2022-04-22 08:55:50 +0200 <dminuoso> On second thought this seems quite consistent.
2022-04-22 08:56:18 +0200 <dminuoso> For the most part, there's not really a difference between top level declaration groups and nested declaration groups
2022-04-22 08:56:29 +0200 <Axman6> I won't stand for it!
2022-04-22 08:56:44 +0200 <Axman6> Up with this I will not put!
2022-04-22 08:56:50 +0200 <dminuoso> The real question just becomes, why cant we have multiple modules per file!
2022-04-22 08:56:59 +0200Guest84(~Guest84@157-131-110-151.fiber.dynamic.sonic.net) (Quit: Client closed)
2022-04-22 08:57:40 +0200 <dminuoso> But yeah, this will break my regular flow of `rg ^foo`
2022-04-22 08:57:53 +0200 <dminuoso> I wonder whether hasktags plays nice with this
2022-04-22 09:01:49 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 09:04:29 +0200hsw(~hsw@112-104-144-236.adsl.dynamic.seed.net.tw) (Quit: Leaving)
2022-04-22 09:07:35 +0200 <[Leary]> dminuoso: You could always overlay the override into the haskell package set you pull callCabal2nix from. I'm not sure if there's a nicer way to do it using the final argument.
2022-04-22 09:10:03 +0200 <dminuoso> [Leary]: I think I finally figured it out. I kept writing `outputs = { self, powerdns }: ... callCabal2nix "powerdns-gerd" self { inherit powerdns; }`, but I should have referred to the correct powerdns output.
2022-04-22 09:10:23 +0200 <dminuoso> This is the price for not having a nominal or even structural type system.
2022-04-22 09:10:48 +0200 <dminuoso> As long as the attrvalues in that set are sets themselves, callCabal2nix is happy.
2022-04-22 09:11:28 +0200gpncarl(~gpncarl@210.12.195.6) (Ping timeout: 246 seconds)
2022-04-22 09:11:30 +0200gpncarl_(~gpncarl@222.249.231.3)
2022-04-22 09:12:52 +0200jinsun__(~jinsun@user/jinsun) (Ping timeout: 246 seconds)
2022-04-22 09:13:09 +0200jinsun(~jinsun@user/jinsun)
2022-04-22 09:14:44 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-22 09:21:13 +0200odnes(~odnes@5-203-234-96.pat.nym.cosmote.net)
2022-04-22 09:24:35 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 09:25:11 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 09:26:03 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-04-22 09:27:14 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-22 09:29:36 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94)
2022-04-22 09:30:36 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Ping timeout: 276 seconds)
2022-04-22 09:31:38 +0200awpr(uid446117@id-446117.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-22 09:32:28 +0200anomal(~anomal@87.227.196.109)
2022-04-22 09:34:31 +0200yahb(xsbot@user/mniip/bot/yahb) (Ping timeout: 256 seconds)
2022-04-22 09:36:14 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2022-04-22 09:38:19 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 240 seconds)
2022-04-22 09:40:59 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 09:41:35 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-22 09:41:39 +0200zyklotomic(~ethan@r4-128-61-95-197.res.gatech.edu) (Ping timeout: 276 seconds)
2022-04-22 09:42:12 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds)
2022-04-22 09:42:16 +0200mniip_(mniip@libera/staff/mniip) (Ping timeout: 620 seconds)
2022-04-22 09:43:22 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-22 09:43:26 +0200zyklotomic(~ethan@res380d-128-61-80-194.res.gatech.edu)
2022-04-22 09:44:55 +0200michalz(~michalz@185.246.204.61)
2022-04-22 09:45:56 +0200cdman(~dcm@27.2.216.103)
2022-04-22 09:45:57 +0200cdman(~dcm@27.2.216.103) (Changing host)
2022-04-22 09:45:57 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-22 09:45:57 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-04-22 09:47:23 +0200chele(~chele@user/chele)
2022-04-22 09:49:16 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-22 09:50:03 +0200machinedgod(~machinedg@24.105.81.50) (Remote host closed the connection)
2022-04-22 09:51:12 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-22 09:51:13 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 09:51:53 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-04-22 09:56:21 +0200michalz(~michalz@185.246.204.45)
2022-04-22 09:56:58 +0200coot(~coot@213.134.190.95) (Ping timeout: 272 seconds)
2022-04-22 09:58:19 +0200michalz(~michalz@185.246.204.45) (Read error: Connection reset by peer)
2022-04-22 10:02:32 +0200acidjnk(~acidjnk@p200300d0c722df45a954244a97abeb7b.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-22 10:02:57 +0200vpan(~0@212.117.1.172)
2022-04-22 10:03:17 +0200michalz(~michalz@185.246.204.57)
2022-04-22 10:03:55 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) (Quit: Konversation terminated!)
2022-04-22 10:04:28 +0200frost(~frost@user/frost)
2022-04-22 10:06:22 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-04-22 10:07:47 +0200michalz(~michalz@185.246.204.57) (Read error: Connection reset by peer)
2022-04-22 10:09:10 +0200acidjnk(~acidjnk@p200300d0c722df458c295d85833d4515.dip0.t-ipconnect.de)
2022-04-22 10:09:56 +0200vysn(~vysn@user/vysn) (Ping timeout: 250 seconds)
2022-04-22 10:10:49 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-04-22 10:12:55 +0200michalz(~michalz@185.246.204.45)
2022-04-22 10:15:20 +0200michalz(~michalz@185.246.204.45) (Read error: Connection reset by peer)
2022-04-22 10:15:38 +0200chomwitt(~chomwitt@2a02:587:dc1b:da00:499a:9af7:6bda:a228)
2022-04-22 10:16:26 +0200EvanR_(~EvanR@user/evanr)
2022-04-22 10:17:05 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-04-22 10:17:23 +0200EvanR(~EvanR@user/evanr) (Ping timeout: 260 seconds)
2022-04-22 10:19:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-22 10:19:51 +0200michalz(~michalz@185.246.204.43)
2022-04-22 10:20:28 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 10:21:22 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-04-22 10:22:28 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-22 10:23:50 +0200ccntrq(~Thunderbi@2a01:e34:eccb:b060:1aaa:c763:5b18:efae)
2022-04-22 10:23:50 +0200michalz(~michalz@185.246.204.43) (Read error: Connection reset by peer)
2022-04-22 10:26:06 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 272 seconds)
2022-04-22 10:26:15 +0200acidjnk(~acidjnk@p200300d0c722df458c295d85833d4515.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-22 10:29:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-22 10:29:07 +0200michalz(~michalz@185.246.204.61)
2022-04-22 10:30:11 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 10:33:48 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 10:34:11 +0200michalz(~michalz@185.246.204.57)
2022-04-22 10:34:27 +0200Pickchea(~private@user/pickchea)
2022-04-22 10:36:27 +0200michalz(~michalz@185.246.204.57) (Read error: Connection reset by peer)
2022-04-22 10:36:45 +0200michalz(~michalz@185.246.204.43)
2022-04-22 10:39:07 +0200deadmarshal_(~deadmarsh@95.38.119.71) (Ping timeout: 256 seconds)
2022-04-22 10:39:42 +0200deadmarshal_(~deadmarsh@95.38.229.172)
2022-04-22 10:41:27 +0200michalz(~michalz@185.246.204.43) (Read error: Connection reset by peer)
2022-04-22 10:43:17 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-04-22 10:45:15 +0200pagnol(~user@014198154145.ctinets.com)
2022-04-22 10:45:33 +0200MajorBiscuit(~MajorBisc@145.94.234.148)
2022-04-22 10:46:09 +0200kimjetwav(~user@2607:fea8:2362:b400:96b1:77a5:e350:efea)
2022-04-22 10:46:19 +0200michalz(~michalz@185.246.204.57)
2022-04-22 10:47:52 +0200michalz(~michalz@185.246.204.57) (Read error: Connection reset by peer)
2022-04-22 10:49:27 +0200dminuoso(~dminuoso@user/dminuoso) (Quit: ZNC 1.7.5 - https://znc.in)
2022-04-22 10:49:31 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be) (Quit: WeeChat 3.5)
2022-04-22 10:50:04 +0200dminuoso(~dminuoso@static.88-198-218-68.clients.your-server.de)
2022-04-22 10:50:53 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be)
2022-04-22 10:51:39 +0200michalz(~michalz@185.246.204.61)
2022-04-22 10:52:50 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 10:56:33 +0200phma(phma@2001:5b0:212a:c5f8:8d11:236a:885c:d94f) (Read error: Connection reset by peer)
2022-04-22 10:56:46 +0200michalz(~michalz@185.246.204.57)
2022-04-22 10:57:05 +0200phma(~phma@host-67-44-208-95.hnremote.net)
2022-04-22 10:58:06 +0200michalz(~michalz@185.246.204.57) (Remote host closed the connection)
2022-04-22 10:58:29 +0200 <albet70> % :t join @((->)(a->b))
2022-04-22 10:59:17 +0200 <albet70> :t join @((->)(_->_))
2022-04-22 10:59:18 +0200 <lambdabot> error: parse error on input ‘->’
2022-04-22 11:00:10 +0200AdamConner-Sax[m(~adamcsmat@2001:470:69fc:105::1:e2c8) (Quit: You have been kicked for being idle)
2022-04-22 11:01:01 +0200 <albet70> join :: ((a->b) -> (a->b)->c) -> (a->b)->c
2022-04-22 11:01:14 +0200AdamConner-Sax[m(~adamcsmat@2001:470:69fc:105::1:e2c8)
2022-04-22 11:01:14 +0200AdamConner-Sax[m(~adamcsmat@2001:470:69fc:105::1:e2c8) ()
2022-04-22 11:01:22 +0200 <albet70> which senecio would use this join?
2022-04-22 11:04:13 +0200michalz(~michalz@185.246.204.61)
2022-04-22 11:05:37 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 11:05:39 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 240 seconds)
2022-04-22 11:08:24 +0200ikke(~kevin@alpine/developer/ikke) (Quit: WeeChat 3.2)
2022-04-22 11:10:19 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-04-22 11:10:34 +0200michalz(~michalz@185.246.204.43)
2022-04-22 11:11:51 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:f495:2a2b:7341:cd42)
2022-04-22 11:13:13 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-22 11:14:35 +0200michalz(~michalz@185.246.204.43) (Read error: Connection reset by peer)
2022-04-22 11:18:08 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-22 11:19:46 +0200michalz(~michalz@185.246.204.61)
2022-04-22 11:23:09 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-22 11:28:10 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2022-04-22 11:31:34 +0200mmhat(~mmh@55d4d532.access.ecotel.net)
2022-04-22 11:32:32 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-04-22 11:32:59 +0200deadmarshal_(~deadmarsh@95.38.229.172) (Ping timeout: 240 seconds)
2022-04-22 11:34:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 11:37:02 +0200chomwitt(~chomwitt@2a02:587:dc1b:da00:499a:9af7:6bda:a228) (Ping timeout: 250 seconds)
2022-04-22 11:42:53 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 11:43:15 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 260 seconds)
2022-04-22 11:44:00 +0200xff0x_(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds)
2022-04-22 11:47:29 +0200michalz(~michalz@185.246.204.45)
2022-04-22 11:48:02 +0200cyphase(~cyphase@user/cyphase)
2022-04-22 11:48:42 +0200chomwitt(~chomwitt@94.66.60.112)
2022-04-22 11:50:50 +0200michalz(~michalz@185.246.204.45) (Read error: Connection reset by peer)
2022-04-22 11:52:57 +0200Pickchea(~private@user/pickchea) (Ping timeout: 276 seconds)
2022-04-22 11:55:43 +0200odnes_(~odnes@5-203-161-139.pat.nym.cosmote.net)
2022-04-22 11:55:58 +0200odnes(~odnes@5-203-234-96.pat.nym.cosmote.net) (Read error: Connection reset by peer)
2022-04-22 11:56:08 +0200michalz(~michalz@185.246.204.57)
2022-04-22 11:57:11 +0200dminuoso(~dminuoso@static.88-198-218-68.clients.your-server.de) (Quit: ZNC 1.7.5 - https://znc.in)
2022-04-22 11:58:19 +0200oxide(~lambda@user/oxide) (Ping timeout: 240 seconds)
2022-04-22 11:58:19 +0200michalz(~michalz@185.246.204.57) (Read error: Connection reset by peer)
2022-04-22 11:58:40 +0200zebrag(~chris@user/zebrag)
2022-04-22 12:00:33 +0200oxide(~lambda@user/oxide)
2022-04-22 12:01:45 +0200acidjnk(~acidjnk@p200300d0c722df45b88c221642ee616c.dip0.t-ipconnect.de)
2022-04-22 12:03:02 +0200michalz(~michalz@185.246.204.45)
2022-04-22 12:03:14 +0200akegalj(~akegalj@78-3-37-199.adsl.net.t-com.hr)
2022-04-22 12:03:33 +0200mikoto-chan(~mikoto-ch@84.199.144.235) (Ping timeout: 256 seconds)
2022-04-22 12:04:14 +0200__monty__(~toonn@user/toonn)
2022-04-22 12:06:31 +0200redb(~nmh@136.49.49.211)
2022-04-22 12:09:28 +0200michalz(~michalz@185.246.204.45) (Read error: Connection reset by peer)
2022-04-22 12:09:54 +0200michalz(~michalz@185.246.204.45)
2022-04-22 12:10:55 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-22 12:11:47 +0200 <akegalj> Do I remember correctly that there were 1200 active users in this channel 5+ years ago (on freenode network at that time)? Did this drop happen when #haskell changed networks or is there some other dynamics at play? I really enjoy reading discussion and tips and tricks shered in this channel and I hope it stays healthy :)
2022-04-22 12:12:18 +0200 <geekosaur> happened with the cutover from freenode
2022-04-22 12:12:30 +0200 <geekosaur> we figure there were never 1200 *active* users
2022-04-22 12:14:04 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-22 12:14:04 +0200michalz(~michalz@185.246.204.45) (Read error: Connection reset by peer)
2022-04-22 12:14:13 +0200 <akegalj> yeah, I am mostly in read only mode as well. But if I feel confident contributing (which i rarelly do :D) I step in
2022-04-22 12:14:48 +0200 <akegalj> ok, so freenode cutover is main reason
2022-04-22 12:18:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-22 12:18:48 +0200michalz(~michalz@185.246.204.45)
2022-04-22 12:20:39 +0200michalz(~michalz@185.246.204.45) (Read error: Connection reset by peer)
2022-04-22 12:22:04 +0200tvandinther(~tvandinth@2406:e002:6815:1801:f923:49c9:3df2:db52) (Quit: Client closed)
2022-04-22 12:25:05 +0200crameleon(~LSD@2a03:4000:55:d20::3) (Quit: I love you.)
2022-04-22 12:25:15 +0200michalz(~michalz@185.246.204.43)
2022-04-22 12:28:27 +0200michalz(~michalz@185.246.204.43) (Read error: Connection reset by peer)
2022-04-22 12:28:29 +0200 <sm> in two ways: cleaning out of inactive nicks, and people taking the opportunity to try newer chat systems
2022-04-22 12:30:34 +0200haskl[error](~haskl@user/haskl) (Read error: Connection reset by peer)
2022-04-22 12:30:50 +0200 <yushyin> i still see all the regulars from before the network change (and also lots of new nicks) ^^
2022-04-22 12:33:04 +0200haskl(~haskl@user/haskl)
2022-04-22 12:33:42 +0200michalz(~michalz@185.246.204.43)
2022-04-22 12:35:38 +0200Batzy(~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.)
2022-04-22 12:36:54 +0200odnes_(~odnes@5-203-161-139.pat.nym.cosmote.net) (Remote host closed the connection)
2022-04-22 12:37:04 +0200Batzy(~quassel@user/batzy)
2022-04-22 12:37:13 +0200odnes_(~odnes@5-203-161-139.pat.nym.cosmote.net)
2022-04-22 12:37:36 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-04-22 12:38:08 +0200acidsys(~crameleon@2a03:4000:6:b666:6666::)
2022-04-22 12:38:19 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2022-04-22 12:39:10 +0200coot(~coot@213.134.190.95)
2022-04-22 12:39:38 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-22 12:40:18 +0200Lord_of_Life_Lord_of_Life
2022-04-22 12:40:40 +0200redb(~nmh@136.49.49.211)
2022-04-22 12:48:05 +0200michalz(~michalz@185.246.204.43) (Read error: Connection reset by peer)
2022-04-22 12:49:19 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-22 12:49:43 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-22 12:49:52 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-22 12:50:51 +0200deadmarshal_(~deadmarsh@95.38.229.172)
2022-04-22 12:51:21 +0200odnes_(~odnes@5-203-161-139.pat.nym.cosmote.net) (Quit: Leaving)
2022-04-22 12:52:52 +0200michalz(~michalz@185.246.204.61)
2022-04-22 12:54:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-22 12:54:04 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 12:55:34 +0200deadmarshal_(~deadmarsh@95.38.229.172) (Ping timeout: 272 seconds)
2022-04-22 12:56:17 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-22 12:59:05 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds)
2022-04-22 12:59:09 +0200michalz(~michalz@185.246.204.45)
2022-04-22 12:59:43 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b)
2022-04-22 12:59:44 +0200akegalj(~akegalj@78-3-37-199.adsl.net.t-com.hr) (Quit: leaving)
2022-04-22 13:00:15 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 13:01:12 +0200chenqisu1(~chenqisu1@183.217.200.38) (Ping timeout: 276 seconds)
2022-04-22 13:03:11 +0200abastro(~abab9579@220.75.216.63)
2022-04-22 13:04:23 +0200michalz(~michalz@185.246.204.45) (Read error: Connection reset by peer)
2022-04-22 13:06:26 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 13:07:10 +0200redb(~nmh@136.49.49.211)
2022-04-22 13:07:57 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 13:08:47 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-22 13:09:38 +0200michalz(~michalz@185.246.204.61)
2022-04-22 13:10:27 +0200acidjnk(~acidjnk@p200300d0c722df45b88c221642ee616c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-22 13:11:13 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-22 13:21:39 +0200xcombelle(~xavie@176-139-252-198.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-04-22 13:26:00 +0200joo-_(~joo-_@fsf/member/joo--) (Quit: leaving)
2022-04-22 13:26:14 +0200joo-_(~joo-_@87-49-147-113-mobile.dk.customer.tdc.net)
2022-04-22 13:26:14 +0200joo-_(~joo-_@87-49-147-113-mobile.dk.customer.tdc.net) (Changing host)
2022-04-22 13:26:14 +0200joo-_(~joo-_@fsf/member/joo--)
2022-04-22 13:27:24 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 13:32:30 +0200michalz(~michalz@185.246.204.61)
2022-04-22 13:33:44 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b) (Read error: Connection reset by peer)
2022-04-22 13:34:34 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-22 13:35:28 +0200acidjnk(~acidjnk@p200300d0c722df45b88c221642ee616c.dip0.t-ipconnect.de)
2022-04-22 13:35:52 +0200redb(~nmh@136.49.49.211)
2022-04-22 13:43:39 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 13:44:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 13:48:36 +0200michalz(~michalz@185.246.204.43)
2022-04-22 13:48:46 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 272 seconds)
2022-04-22 13:49:54 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-22 13:52:17 +0200michalz(~michalz@185.246.204.43) (Read error: Connection reset by peer)
2022-04-22 13:53:38 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-04-22 13:54:37 +0200califax(~califax@user/califx)
2022-04-22 13:56:11 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:f495:2a2b:7341:cd42) (Read error: Connection reset by peer)
2022-04-22 13:57:33 +0200michalz(~michalz@185.246.204.61)
2022-04-22 13:57:39 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-22 13:57:56 +0200img(~img@user/img)
2022-04-22 13:59:16 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-04-22 13:59:36 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
2022-04-22 14:01:52 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 14:06:55 +0200michalz(~michalz@185.246.204.57)
2022-04-22 14:08:42 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Ping timeout: 250 seconds)
2022-04-22 14:08:42 +0200michalz(~michalz@185.246.204.57) (Read error: Connection reset by peer)
2022-04-22 14:09:54 +0200ubert1(~Thunderbi@2a02:8109:9880:303c:64b2:910f:832:8385)
2022-04-22 14:12:01 +0200michalz(~michalz@185.246.204.57)
2022-04-22 14:13:49 +0200redb(~nmh@136.49.49.211)
2022-04-22 14:13:49 +0200michalz(~michalz@185.246.204.57) (Read error: Connection reset by peer)
2022-04-22 14:17:08 +0200michalz(~michalz@185.246.204.57)
2022-04-22 14:17:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 14:18:39 +0200acidjnk(~acidjnk@p200300d0c722df45b88c221642ee616c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-22 14:21:37 +0200razetime(~quassel@117.254.34.164) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-04-22 14:23:47 +0200michalz(~michalz@185.246.204.57) (Read error: Connection reset by peer)
2022-04-22 14:24:14 +0200michalz(~michalz@185.246.204.43)
2022-04-22 14:25:18 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
2022-04-22 14:25:18 +0200michalz(~michalz@185.246.204.43) (Read error: Connection reset by peer)
2022-04-22 14:26:25 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 14:27:01 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 14:28:26 +0200xff0x_(~xff0x@om126194210237.10.openmobile.ne.jp)
2022-04-22 14:28:55 +0200abrantesasf(~abrantesa@177.25.190.164)
2022-04-22 14:28:56 +0200redb(~nmh@136.49.49.211)
2022-04-22 14:29:00 +0200michalz(~michalz@185.246.204.61)
2022-04-22 14:29:19 +0200abrantesasf(~abrantesa@177.25.190.164) (Remote host closed the connection)
2022-04-22 14:31:12 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 14:31:38 +0200michalz(~michalz@185.246.204.61)
2022-04-22 14:32:01 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-22 14:33:07 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-22 14:36:16 +0200michalz(~michalz@185.246.204.61) (Read error: Connection reset by peer)
2022-04-22 14:40:43 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 14:42:36 +0200cheategg(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-04-22 14:42:50 +0200cheategg(~Username@user/cheater)
2022-04-22 14:50:27 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 240 seconds)
2022-04-22 14:54:28 +0200abastro(~abab9579@220.75.216.63) (Remote host closed the connection)
2022-04-22 14:55:15 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 256 seconds)
2022-04-22 14:57:17 +0200fluxit(~fluxit@techsmix.net)
2022-04-22 15:02:44 +0200Pickchea(~private@user/pickchea)
2022-04-22 15:03:34 +0200stef204(~stef204@user/stef204)
2022-04-22 15:03:57 +0200redb(~nmh@136.49.49.211)
2022-04-22 15:04:01 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 15:04:12 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 240 seconds)
2022-04-22 15:08:07 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-22 15:09:27 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-04-22 15:10:17 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 15:10:51 +0200meinside(uid24933@id-24933.helmsley.irccloud.com)
2022-04-22 15:11:34 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 15:13:08 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:c820:105d:e1c4:cead)
2022-04-22 15:14:53 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-04-22 15:17:32 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-22 15:19:53 +0200deadmarshal_(~deadmarsh@95.38.229.172)
2022-04-22 15:21:04 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 246 seconds)
2022-04-22 15:23:19 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-22 15:24:17 +0200 <carter> Matrix channels have those accidental conference notifications
2022-04-22 15:24:51 +0200deadmarshal_(~deadmarsh@95.38.229.172) (Ping timeout: 276 seconds)
2022-04-22 15:26:01 +0200abrantesasf(~abrantesa@177.25.190.176)
2022-04-22 15:26:11 +0200abrantesasf(~abrantesa@177.25.190.176) (Remote host closed the connection)
2022-04-22 15:27:12 +0200coot(~coot@213.134.190.95)
2022-04-22 15:27:47 +0200abastro(~abab9579@220.75.216.63)
2022-04-22 15:28:31 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 3.5)
2022-04-22 15:29:20 +0200rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-22 15:30:10 +0200gpncarl_(~gpncarl@222.249.231.3) (Ping timeout: 250 seconds)
2022-04-22 15:30:13 +0200rembo10(~rembo10@main.remulis.com)
2022-04-22 15:36:09 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2022-04-22 15:36:22 +0200redb(~nmh@136.49.49.211)
2022-04-22 15:39:23 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-22 15:40:53 +0200abastro(~abab9579@220.75.216.63) (Remote host closed the connection)
2022-04-22 15:41:06 +0200redb(~nmh@136.49.49.211) (Ping timeout: 276 seconds)
2022-04-22 15:41:30 +0200abastro(~abab9579@220.75.216.63)
2022-04-22 15:41:40 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Read error: Connection reset by peer)
2022-04-22 15:41:50 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-04-22 15:42:14 +0200redb(~nmh@136.49.49.211)
2022-04-22 15:42:37 +0200ubert1(~Thunderbi@2a02:8109:9880:303c:64b2:910f:832:8385) (Quit: ubert1)
2022-04-22 15:42:55 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-22 15:42:55 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-22 15:42:55 +0200wroathe(~wroathe@user/wroathe)
2022-04-22 15:45:38 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-22 15:45:57 +0200anomal(~anomal@87.227.196.109)
2022-04-22 15:46:05 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-04-22 15:46:57 +0200redb(~nmh@136.49.49.211) (Ping timeout: 276 seconds)
2022-04-22 15:49:11 +0200abrantesasf(~abrantesa@179.217.49.34)
2022-04-22 15:49:27 +0200abrantesasf(~abrantesa@179.217.49.34) (Remote host closed the connection)
2022-04-22 15:49:54 +0200abrantesasf(~abrantesa@179.217.49.34)
2022-04-22 15:50:05 +0200abrantesasf(~abrantesa@179.217.49.34) (Remote host closed the connection)
2022-04-22 15:54:10 +0200Pickchea(~private@user/pickchea) (Ping timeout: 272 seconds)
2022-04-22 15:54:43 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-04-22 15:55:24 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 276 seconds)
2022-04-22 15:56:11 +0200Sgeo(~Sgeo@user/sgeo)
2022-04-22 15:56:17 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-04-22 15:56:37 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-22 15:59:04 +0200deadmarshal_(~deadmarsh@95.38.229.172)
2022-04-22 16:00:39 +0200gpncarl_(~gpncarl@120.244.220.254)
2022-04-22 16:00:42 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-22 16:01:08 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 272 seconds)
2022-04-22 16:02:04 +0200vysn(~vysn@user/vysn)
2022-04-22 16:03:51 +0200deadmarshal_(~deadmarsh@95.38.229.172) (Ping timeout: 276 seconds)
2022-04-22 16:05:00 +0200img(~img@user/img)
2022-04-22 16:09:52 +0200Sgeo(~Sgeo@user/sgeo)
2022-04-22 16:11:42 +0200redb(~nmh@136.49.49.211)
2022-04-22 16:12:35 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-04-22 16:15:36 +0200mmhat(~mmh@55d4d532.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-22 16:16:01 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-22 16:17:30 +0200frost(~frost@user/frost)
2022-04-22 16:18:59 +0200off^(~off@50-192-56-193-static.hfc.comcastbusiness.net) (Remote host closed the connection)
2022-04-22 16:22:42 +0200redb(~nmh@136.49.49.211)
2022-04-22 16:25:42 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-04-22 16:25:50 +0200lagashis mostly lurking these days.
2022-04-22 16:26:05 +0200 <shapr> hi lagash, writing any cool code?
2022-04-22 16:26:14 +0200berberman(~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-22 16:26:35 +0200berberman(~berberman@user/berberman)
2022-04-22 16:27:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-22 16:28:17 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-22 16:31:10 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-04-22 16:31:33 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-04-22 16:31:43 +0200 <lagash> sadly no, at least, not in Haskell.. although I was thinking of writing a dictionary conversion tool using some Haskell XML library..
2022-04-22 16:32:09 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-04-22 16:37:15 +0200waleee(~waleee@h-155-4-221-82.NA.cust.bahnhof.se)
2022-04-22 16:38:33 +0200abrantesasf(~abrantesa@179.217.49.34)
2022-04-22 16:38:43 +0200abrantesasf(~abrantesa@179.217.49.34) (Remote host closed the connection)
2022-04-22 16:43:23 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-22 16:50:33 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-22 16:55:27 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-22 16:55:54 +0200redb(~nmh@136.49.49.211)
2022-04-22 16:56:02 +0200 <oak-> at least hxt is somewhat reasonable XML-library for Haskell
2022-04-22 16:56:09 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-22 16:57:20 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 246 seconds)
2022-04-22 17:03:16 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-22 17:05:43 +0200redb(~nmh@136.49.49.211)
2022-04-22 17:06:32 +0200ccntrq(~Thunderbi@2a01:e34:eccb:b060:1aaa:c763:5b18:efae) (Ping timeout: 248 seconds)
2022-04-22 17:07:40 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-22 17:09:30 +0200tfeb(~tfb@88.98.95.237)
2022-04-22 17:09:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-22 17:10:42 +0200redb(~nmh@136.49.49.211)
2022-04-22 17:12:05 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-22 17:12:13 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2022-04-22 17:14:37 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-22 17:14:47 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-22 17:16:09 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-04-22 17:16:46 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-22 17:16:57 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-04-22 17:17:13 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-22 17:17:55 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2022-04-22 17:21:15 +0200 <raehik> When I try generating Haddocks with `cabal haddock`, I get a haddock internal error telling me one of the dependencies is missing a file `<pkg>/share/doc/html/doc-index.json`
2022-04-22 17:21:41 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 17:21:43 +0200 <raehik> I can't figure out how to either generate that file, or not require it
2022-04-22 17:22:01 +0200 <raehik> (this is GHC 9.2, Cabal 3.6, but it occurred with Cabal 3.4 also)
2022-04-22 17:23:26 +0200 <monochrom> I don't know how to unrequire it. But I would have built all dependencies with library docs enabled. Hell, I do, my .cabal/config has "documentation: True", which is sadly non-default.
2022-04-22 17:23:30 +0200 <geekosaur> generally you have to install all dependencies with 'documentation: True'
2022-04-22 17:23:59 +0200 <monochrom> cabal has a lot of wrong defaults
2022-04-22 17:24:11 +0200 <geekosaur> if you don't do what monochrom says, you can add it to cabal.package as a stanza 'package *\n documentation: True'
2022-04-22 17:24:15 +0200tfeb(~tfb@88.98.95.237)
2022-04-22 17:24:27 +0200 <monochrom> Well, they are the right defaults for xmonad users who otherwise wouldn't use Haskell, really.
2022-04-22 17:24:29 +0200 <raehik> I'm running `cabal haddock --enable-documentation` - does that not do the same?
2022-04-22 17:24:56 +0200 <monochrom> That does not say "do it for dependencies too".
2022-04-22 17:25:07 +0200 <geekosaur> it doesn't go back and run haddock for dependencies
2022-04-22 17:25:33 +0200 <monochrom> "cabal build" is usually the deadline for saying how to build dependencies.
2022-04-22 17:25:56 +0200 <monochrom> "That ship has sailed"
2022-04-22 17:25:58 +0200 <raehik> gotcha. thanks
2022-04-22 17:26:00 +0200 <sclv> hrm, so would `cabal build --enable-documentation` and then `cabal haddock --enable-documentation` then work?
2022-04-22 17:26:17 +0200 <monochrom> Then that second command is redundant.
2022-04-22 17:26:18 +0200 <sclv> in general cabal v2-haddock has a lot of rough edges iirc
2022-04-22 17:26:22 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-04-22 17:26:49 +0200 <sclv> do you think this would warrant a patch to cabal to make `cabal haddock --enable-documentation` recursively ensure dep docs are built too?
2022-04-22 17:27:39 +0200 <monochrom> Yeah "cabal haddock" came from even before v1 time. When the workflow was analogous to C people, a "make configure", "make build", "make build docs", "make install".
2022-04-22 17:27:49 +0200 <raehik> checking exact behaviour for build -> haddock, haddock with a cabal.project
2022-04-22 17:28:12 +0200 <monochrom> I would remove "cabal haddock" altogether.
2022-04-22 17:28:15 +0200 <raehik> should I just do a `cabal build --enable-docs --haddock-for-hackage`, is that better? (does that last flag work?)
2022-04-22 17:28:41 +0200 <sclv> the last flag does something, but it may not be what you want for local, i don't recall
2022-04-22 17:28:50 +0200 <sclv> it sets a bunch of default flags to make things the way hackage expects
2022-04-22 17:29:02 +0200 <raehik> (this is for a CI run that generates Haddock artifacts so I don't have to do locally)
2022-04-22 17:30:27 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-04-22 17:31:39 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 17:34:11 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2022-04-22 17:34:17 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-22 17:34:38 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Quit: WeeChat 3.5)
2022-04-22 17:34:52 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds)
2022-04-22 17:35:43 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-22 17:36:55 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-04-22 17:37:59 +0200MajorBiscuit(~MajorBisc@145.94.234.148) (Ping timeout: 240 seconds)
2022-04-22 17:41:16 +0200 <raehik> I'm still not generating that doc-index.json file. I get doc-index.html s, and the Haddock is certainly built, but when the dependencies are finished, it fails with the same error
2022-04-22 17:42:28 +0200chomwitt(~chomwitt@94.66.60.112) (Ping timeout: 272 seconds)
2022-04-22 17:43:04 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 17:45:00 +0200xff0x_(~xff0x@om126194210237.10.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-22 17:45:22 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-04-22 17:47:16 +0200 <raehik> I've solved it by adding `haddock-options: --quickjump` to my cabal.project . My setup is super barebones, tiny project, GHC 9.2 via ghcup, latest everything. Is this a bug?
2022-04-22 17:47:58 +0200 <sclv> its certainly a bad user interface experience
2022-04-22 17:48:05 +0200 <raehik> without that --quickjump, the dependencies apparently don't build with it, even though the main project will (and so errors)
2022-04-22 17:48:06 +0200romesrf(~romes@185.5.8.134)
2022-04-22 17:48:13 +0200 <sclv> I'm not sure if the fault lies with haddock here or how cabal invokes haddock
2022-04-22 17:48:30 +0200 <sclv> Ah -- I think I see the problem.
2022-04-22 17:48:31 +0200 <raehik> I think the latter
2022-04-22 17:48:37 +0200 <sclv> haddock-for-hackage implies quickjump
2022-04-22 17:48:45 +0200chomwitt(~chomwitt@94.66.63.97)
2022-04-22 17:48:49 +0200 <monochrom> :)
2022-04-22 17:49:10 +0200 <sclv> but documentation: true does not
2022-04-22 17:49:13 +0200 <raehik> I see, thanks! why has it only recently broken? :/
2022-04-22 17:49:41 +0200 <sclv> well v2 haddock was effectively not working for quite some time, i don't think it ever worked well
2022-04-22 17:50:12 +0200 <raehik> I'm using `cabal build` now, same issue
2022-04-22 17:50:30 +0200 <sclv> right, by "cabal haddock" i meant v2 support for haddock in general
2022-04-22 17:50:38 +0200 <raehik> ah, understand
2022-04-22 17:50:43 +0200 <raehik> s/and/ood/
2022-04-22 17:52:04 +0200 <sclv> I think we need three things here -- A) make `cabal haddock` ensure haddocks of dependencies exist, B) make `--haddock-for-hackage` imply the quickjump flag for dependencies of the package being haddocked, and C) make haddock not fail when quickjump doesn't find that file
2022-04-22 17:52:54 +0200 <raehik> yes, sounds about right
2022-04-22 17:53:10 +0200 <sclv> feel free to open some tickets in both repos about this
2022-04-22 17:53:27 +0200 <raehik> A) might not be a problem -- dependencies were having their docs built. but, might be because of --enable-docs
2022-04-22 17:53:58 +0200 <raehik> cheers sclv , I'll make an issue for cabal
2022-04-22 17:54:02 +0200 <sclv> ah so if it weren't for quicjump, the `haddock` workflow might work correctly? nice
2022-04-22 17:54:18 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
2022-04-22 17:54:24 +0200 <sclv> also i do think haddock should not hard fail if it can't find the quickjump index-doc whatever
2022-04-22 17:54:48 +0200 <sclv> in general i didn't think quikjump jumped to dependencies as well, so its a bit confusing
2022-04-22 17:56:01 +0200tfeb(~tfb@88.98.95.237)
2022-04-22 17:57:02 +0200Guest6488(~Guest64@77.67.160.175)
2022-04-22 17:57:29 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
2022-04-22 17:59:45 +0200Guest6488(~Guest64@77.67.160.175) (Client Quit)
2022-04-22 18:00:19 +0200 <romesrf> Could someone help me fix a GHC error on the `notes` test?
2022-04-22 18:00:39 +0200 <romesrf> The output says a note was deleted, but it wasn't ;_;
2022-04-22 18:00:58 +0200 <romesrf> What's the formatting for notes?
2022-04-22 18:02:12 +0200 <geekosaur> did you want to ask that in #ghc? most of us are end users
2022-04-22 18:03:53 +0200 <romesrf> geekosaur: my mistake
2022-04-22 18:04:43 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-22 18:05:05 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
2022-04-22 18:05:16 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-04-22 18:05:56 +0200lbseale(~ep1ctetus@user/ep1ctetus)
2022-04-22 18:07:00 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-22 18:07:05 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-22 18:07:23 +0200notzmv(~zmv@user/notzmv)
2022-04-22 18:08:25 +0200tfeb(~tfb@88.98.95.237) (Remote host closed the connection)
2022-04-22 18:08:39 +0200abastro(~abab9579@220.75.216.63) (Ping timeout: 276 seconds)
2022-04-22 18:10:48 +0200 <monochrom> IMO "cabal build --appropriate-options-and-or-cabal.project-settings" already supercedes "cabal haddock" so "cabal haddock" should be removed to eliminate confusion rather than stay and get fixed and be a time sink.
2022-04-22 18:11:24 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de)
2022-04-22 18:11:27 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 240 seconds)
2022-04-22 18:12:11 +0200 <monochrom> The command came from an ancient workflow metaphor that no longer applies today.
2022-04-22 18:14:55 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-04-22 18:15:14 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-04-22 18:17:11 +0200econo(uid147250@user/econo)
2022-04-22 18:18:12 +0200 <sclv> i don't think that resolves either of the two underlying issues here, but i'd probably be ok with that.
2022-04-22 18:18:20 +0200neceve(~quassel@2.29.116.221)
2022-04-22 18:19:36 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 18:20:45 +0200pagnol(~user@014198154145.ctinets.com) (Remote host closed the connection)
2022-04-22 18:23:28 +0200dut(~dut@user/dut) (Quit: Leaving)
2022-04-22 18:23:30 +0200vysn(~vysn@user/vysn) (Ping timeout: 250 seconds)
2022-04-22 18:23:58 +0200dcoutts_(~duncan@host86-150-41-186.range86-150.btcentralplus.com)
2022-04-22 18:26:07 +0200dcoutts__(~duncan@host213-122-143-81.range213-122.btcentralplus.com) (Ping timeout: 240 seconds)
2022-04-22 18:30:41 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de) (Remote host closed the connection)
2022-04-22 18:30:50 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de)
2022-04-22 18:31:51 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-22 18:32:16 +0200vicfred(~vicfred@user/vicfred)
2022-04-22 18:34:22 +0200romesrf(~romes@185.5.8.134) (Quit: WeeChat 3.4.1)
2022-04-22 18:40:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-22 18:40:08 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de) (Remote host closed the connection)
2022-04-22 18:40:18 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de)
2022-04-22 18:42:43 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
2022-04-22 18:43:06 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-04-22 18:47:46 +0200stackdroid18(~stackdroi@user/stackdroid)
2022-04-22 18:49:21 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2022-04-22 18:49:46 +0200 <abastro[m]> What does `-haddock` ghc-option do?
2022-04-22 18:50:02 +0200 <abastro[m]> + What is documentation: True
2022-04-22 18:50:58 +0200coot(~coot@213.134.190.95)
2022-04-22 18:51:04 +0200 <geekosaur> "documentation: True" is a cabal configuration option to generate documentation for a groupof packages (in cabal.project) or all packages (in ~/.cabal/config)
2022-04-22 18:52:20 +0200 <geekosaur> hm. does ghc even have a -haddock option any more? I thought haddock was offloaded instead of being built in these days
2022-04-22 18:52:48 +0200 <geekosaur> I guess it does. it must run haddock for you
2022-04-22 18:52:57 +0200Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
2022-04-22 18:53:07 +0200 <abastro[m]> I cannot see the documentation with -haddock flag off.
2022-04-22 18:53:11 +0200 <geekosaur> (haddock wants access to the typechecker so it can generate documentation for types)
2022-04-22 18:54:20 +0200 <abastro[m]> So ye it works, and I do not know of any other way to view haddock
2022-04-22 18:59:34 +0200romesrf(~romes@185.5.8.134)
2022-04-22 18:59:40 +0200vpan(~0@212.117.1.172) (Quit: Leaving.)
2022-04-22 18:59:54 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de) (Ping timeout: 250 seconds)
2022-04-22 19:00:00 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 276 seconds)
2022-04-22 19:04:13 +0200Core1633(~Core1633@106.211.72.183)
2022-04-22 19:09:25 +0200 <sclv> "By default, GHC ignores Haddock comments (-- | ... and -- ^ ...) and does not check that they’re associated with a valid term, such as a top-level type-signature. With this flag GHC will parse Haddock comments and include them in the interface file it produces."
2022-04-22 19:10:03 +0200 <sclv> so ghc doesn't run haddock for you, but haddock requires its interface file output, and that flag is necessary to generate that output such that haddock can consume it
2022-04-22 19:10:48 +0200 <geekosaur> guess that explains the discussions about fat interface files in #ghc
2022-04-22 19:11:15 +0200 <geekosaur> where was that hidden? it's not in the flag reference
2022-04-22 19:11:29 +0200 <geekosaur> (sadly that seems to be true of a number of flags)
2022-04-22 19:13:24 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-22 19:13:55 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-22 19:14:11 +0200cafkafk(~cafkafk@user/cafkafk)
2022-04-22 19:18:44 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-22 19:20:27 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-22 19:24:20 +0200redb(~nmh@136.49.49.211)
2022-04-22 19:24:59 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-22 19:24:59 +0200waleee(~waleee@h-155-4-221-82.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2022-04-22 19:26:36 +0200acidjnk(~acidjnk@p200300d0c722df45b88c221642ee616c.dip0.t-ipconnect.de)
2022-04-22 19:29:30 +0200romesrf(~romes@185.5.8.134) (Ping timeout: 272 seconds)
2022-04-22 19:31:03 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-04-22 19:32:14 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-22 19:34:57 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-22 19:34:57 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-22 19:34:57 +0200wroathe(~wroathe@user/wroathe)
2022-04-22 19:37:34 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-04-22 19:38:24 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-04-22 19:38:32 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 19:39:12 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-22 19:39:32 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-22 19:40:55 +0200 <sclv> geekosaur: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using.html#haddock
2022-04-22 19:43:10 +0200geekosaurwonders if a PR would be accepted that gathered up all those flags missing from the master flag reference and at least pointed to the places where they're explained
2022-04-22 19:43:12 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2022-04-22 19:45:05 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-22 19:45:48 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b)
2022-04-22 19:48:14 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-22 19:53:32 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de)
2022-04-22 19:54:51 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-22 19:54:51 +0200yauhsien(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Read error: Connection reset by peer)
2022-04-22 19:54:53 +0200yauhsien_(~yauhsien@61-231-27-3.dynamic-ip.hinet.net)
2022-04-22 19:56:45 +0200romesrf(~romes@185.5.8.134)
2022-04-22 19:59:00 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-04-22 20:02:59 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-22 20:08:31 +0200cafkafk(~cafkafk@user/cafkafk) (Quit: WeeChat 3.3)
2022-04-22 20:09:24 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-22 20:14:37 +0200nek0(~nek0@nek0.eu) (Quit: The Lounge - https://thelounge.chat)
2022-04-22 20:17:10 +0200 <shapr> Huh, I can't find an ics parser on hackage
2022-04-22 20:17:32 +0200 <shapr> oh wait, looks like iCalendar handles ics?
2022-04-22 20:19:07 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2022-04-22 20:19:33 +0200 <shapr> huh, looks kinda dead https://github.com/chrra/iCalendar/pulls
2022-04-22 20:19:39 +0200shaprchecks the license
2022-04-22 20:25:28 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b) (Read error: Connection reset by peer)
2022-04-22 20:25:37 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-22 20:28:00 +0200 <geekosaur> I think iCal/iCalendar is the old name for the ics spec? got renamed because of Apple
2022-04-22 20:28:53 +0200 <shapr> it's bsd3, I can fork and NMU
2022-04-22 20:28:57 +0200 <shapr> but not today
2022-04-22 20:30:15 +0200yauhsien_(~yauhsien@61-231-27-3.dynamic-ip.hinet.net) (Quit: Leaving...)
2022-04-22 20:31:16 +0200napping(~brandon@65.128.49.110)
2022-04-22 20:32:47 +0200lifter(~lifter@2600:1702:37d0:4310:28aa:b2eb:751d:e929)
2022-04-22 20:33:54 +0200shaprhugs napping
2022-04-22 20:34:10 +0200 <napping> Hi
2022-04-22 20:35:52 +0200 <napping> I'm looking into UnflitedDatatypes. Looks like it still doesn't allow polymorphism between packed unboxed fields and boxed data. Was hoping to make a single AST definition accept any type of variable names for parsing, and then intern them to Int# or so
2022-04-22 20:36:06 +0200 <napping> I guess I'll need two definitions
2022-04-22 20:36:45 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-22 20:37:56 +0200 <c_wraith> you can use levity polymorphism for that
2022-04-22 20:38:34 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-22 20:39:01 +0200 <c_wraith> Hmm. Not actually sure if levity polymorphism can apply to fields of a data type.
2022-04-22 20:39:17 +0200 <napping> I get "A levity-polymorphic type is not allowed here" on the constructor
2022-04-22 20:39:25 +0200 <geekosaur> I thought it was only functions, yeh
2022-04-22 20:39:34 +0200 <napping> data Term (r :: RuntimeRep) (var :: TYPE r) where ... Var :: var -> Term r var
2022-04-22 20:40:10 +0200 <c_wraith> Ah yes. there's a restriction that it only applies in function *results* specifically. weird that it's so specific
2022-04-22 20:42:59 +0200Guest12(~Guest12@24.133.121.223)
2022-04-22 20:44:36 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-22 20:50:11 +0200Guest12(~Guest12@24.133.121.223) (Quit: Client closed)
2022-04-22 20:52:39 +0200Guest12(~Guest12@24.133.121.223)
2022-04-22 20:53:24 +0200Guest12(~Guest12@24.133.121.223) (Client Quit)
2022-04-22 20:53:44 +0200Guest12(~Guest12@24.133.121.223)
2022-04-22 20:54:22 +0200Guest12(~Guest12@24.133.121.223) (Client Quit)
2022-04-22 20:55:17 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-04-22 20:55:19 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-04-22 21:01:33 +0200julian(~julian@20.83.116.49) (Remote host closed the connection)
2022-04-22 21:02:40 +0200julian(~julian@20.83.116.49)
2022-04-22 21:05:38 +0200pavonia(~user@user/siracusa)
2022-04-22 21:06:39 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-04-22 21:10:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-22 21:12:18 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 21:12:20 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-22 21:12:55 +0200ss-(~ss-@2001:18e8:2:28b9:f000::72a0)
2022-04-22 21:14:19 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-04-22 21:21:42 +0200joo-_(~joo-_@fsf/member/joo--) (Ping timeout: 276 seconds)
2022-04-22 21:23:11 +0200joo-_(~joo-_@87-49-44-131-mobile.dk.customer.tdc.net)
2022-04-22 21:23:11 +0200joo-_(~joo-_@87-49-44-131-mobile.dk.customer.tdc.net) (Changing host)
2022-04-22 21:23:11 +0200joo-_(~joo-_@fsf/member/joo--)
2022-04-22 21:27:04 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 21:28:28 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-22 21:28:57 +0200 <ss-> obviously this feels slightly like defeating the purpose but is there any way to have haddock generate documentation but hide function signatures (i.e. everything after the ::)? this is local documentation for a project where my function type signatures are generated with a pre-processor + template haskell. they're unreadably long after the
2022-04-22 21:28:57 +0200 <ss-> preprocessor + template haskell runs, so I'd rather hide them if I can
2022-04-22 21:30:30 +0200xkuru(~xkuru@user/xkuru)
2022-04-22 21:30:34 +0200 <monochrom> I think no.
2022-04-22 21:34:27 +0200 <geekosaur> it more or less is defeating the purpose: the types tell the story
2022-04-22 21:35:14 +0200 <Sgeo> Does there exist a monad f such that I can take an (a->b)->s->t and make an s->f a out of it? (What I'm trying to do: Evaluate a whole bunch of semi-plausible optics encodings for another language >.>)
2022-04-22 21:35:35 +0200 <napping> To f?
2022-04-22 21:36:47 +0200 <Sgeo> (The encoding I'm playing with: Effectively (Monad v, Monad r) => (s -> v a, b -> r t)
2022-04-22 21:36:56 +0200 <monochrom> If it could be done, then it could be done for f=Identity, therefore you had "forall a b s t . ((a->b)->s->t) -> (s -> a)", contradiction.
2022-04-22 21:37:38 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-22 21:37:48 +0200 <Sgeo> Where are you getting that f=Identity needs to work?
2022-04-22 21:38:04 +0200 <monochrom> Oh, right, nevermind.
2022-04-22 21:38:04 +0200 <geekosaur> exists, not forall
2022-04-22 21:38:15 +0200 <monochrom> Works for f = Proxy then.
2022-04-22 21:38:29 +0200 <napping> Are b and t fixed? I don't see how you could do anything interesting if they are hidden
2022-04-22 21:38:32 +0200 <geekosaur> seems to me that you have only a -> b, so you can't have an a?
2022-04-22 21:39:20 +0200 <napping> if they are allowed to vary because they are hidden existentially, that is
2022-04-22 21:40:40 +0200ss-(~ss-@2001:18e8:2:28b9:f000::72a0) (Ping timeout: 252 seconds)
2022-04-22 21:42:08 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Ping timeout: 252 seconds)
2022-04-22 21:43:09 +0200 <napping> If you want F so (s -> F b t a) is isomorphic to ((a -> b) -> s -> t), the Kleisli composition should have type ((yy -> b) -> xx -> t) -> ((zz -> b) -> yy -> t) -> ((zz -> b) -> xx -> t)
2022-04-22 21:45:26 +0200 <Sgeo> Doesn't need to be isomorphic. The tuple I'm trying to make has two parts, I need a `v a` I think to feed into the `b -> r t` part... I think
2022-04-22 21:46:13 +0200 <Sgeo> (Monad v, Monad r) => (s -> v a, b -> r t) depending on the monads, this can afaict encode iso, getters (r is Reader Void), lenses
2022-04-22 21:47:03 +0200gpncarl_(~gpncarl@120.244.220.254) (Ping timeout: 276 seconds)
2022-04-22 21:48:26 +0200 <Sgeo> Also what I would call setters, but that's not a thing afaict, and modifiers are where I'm stuck
2022-04-22 21:53:27 +0200gpncarl_(~gpncarl@120.244.220.254)
2022-04-22 21:53:43 +0200 <napping> ss-: Do you have other type signatures you would like to use? Perhaps you could generate a dummy file like GHC.Prim that produces reasonable documentation: https://hackage.haskell.org/package/ghc-prim-0.8.0/docs/src/GHC.Prim.html
2022-04-22 21:56:31 +0200 <napping> It's a dummy file full of definitions like {-| docs -} foo :: Type; foo = foo
2022-04-22 21:58:20 +0200gpncarl_(~gpncarl@120.244.220.254) (Ping timeout: 272 seconds)
2022-04-22 22:02:38 +0200 <napping> Otherwise is writing some code, but perhaps it could be implemented against haddock-api without actually modifying haddock's source: https://hackage.haskell.org/package/haddock-api-2.24.2
2022-04-22 22:03:24 +0200 <napping> (It wasn't obvious from a quick glance whether it's possible to strip out type information)
2022-04-22 22:03:47 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-22 22:09:08 +0200 <sm> HAPPY EARTH DAY all 🌏️
2022-04-22 22:14:43 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-22 22:18:05 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-22 22:18:54 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-22 22:21:03 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-22 22:21:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
2022-04-22 22:21:08 +0200fendor_(~fendor@178.115.59.61.wireless.dyn.drei.com)
2022-04-22 22:22:05 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-22 22:23:48 +0200Topsi(~Tobias@dyndsl-095-033-021-190.ewe-ip-backbone.de)
2022-04-22 22:24:18 +0200fendor(~fendor@178.165.175.241.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2022-04-22 22:26:50 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds)
2022-04-22 22:27:42 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-04-22 22:28:04 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-04-22 22:29:02 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-04-22 22:29:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-22 22:30:36 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-22 22:32:47 +0200 <tomsmeding> ooh almost over already here
2022-04-22 22:35:28 +0200 <briandaed> how should we celebrate?
2022-04-22 22:36:57 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-22 22:38:24 +0200mvk(~mvk@2607:fea8:5ce3:8500::c90f)
2022-04-22 22:44:13 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:c820:105d:e1c4:cead) (Read error: Connection reset by peer)
2022-04-22 22:45:22 +0200tfeb(~tfb@88.98.95.237)
2022-04-22 22:48:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-22 22:48:49 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
2022-04-22 22:50:32 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2022-04-22 22:52:30 +0200 <sm> breathe deep.. go outside.. say thank you
2022-04-22 23:00:24 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl) (Ping timeout: 272 seconds)
2022-04-22 23:02:21 +0200justsomeguy(justsomegu@user/justsomeguy)
2022-04-22 23:05:36 +0200vicfred(~vicfred@user/vicfred)
2022-04-22 23:07:40 +0200 <monochrom> Delete all social network accounts to incentivize closing down data centres.
2022-04-22 23:07:51 +0200 <monochrom> Dump and crash the cryptocurrency market.
2022-04-22 23:08:05 +0200 <tomsmeding> if only it were so easy
2022-04-22 23:09:44 +0200neceve(~quassel@2.29.116.221) (Remote host closed the connection)
2022-04-22 23:10:24 +0200 <monochrom> Block all ads to incentivize social networks going out of business. >:)
2022-04-22 23:11:19 +0200lifter(~lifter@2600:1702:37d0:4310:28aa:b2eb:751d:e929) ()
2022-04-22 23:13:46 +0200 <monochrom> Upgrade hardware less often. 99.999% of the carbon footprint of using computers is in manufacturing the hardware.
2022-04-22 23:14:06 +0200 <monochrom> OK, "99.999%" is exaggerated. But definitely >= 99%.
2022-04-22 23:14:32 +0200 <monochrom> OK I'll stop.
2022-04-22 23:14:43 +0200 <hpc> 100% of the carbon footprint of using computers is in manufacturing the infinite turing tape :D
2022-04-22 23:15:17 +0200 <hpc> that's the nice thing about lambda calculus - its computers run infinitely fast because reducing expressions is a noop
2022-04-22 23:15:28 +0200 <monochrom> OK I can't resist, this is the last one. Use C instead of Haskell for higher efficiency, both run time and build time, especially build time haha >:)
2022-04-22 23:15:49 +0200 <tomsmeding> but less programmer efficiency ;)
2022-04-22 23:16:09 +0200 <hpc> programmers are a renewable resource
2022-04-22 23:16:16 +0200slack1256(~slack1256@186.11.98.12)
2022-04-22 23:16:19 +0200td_(~td@94.134.91.204)
2022-04-22 23:16:23 +0200 <hpc> they're like trees, it's a neutral carbon cycle :P
2022-04-22 23:16:26 +0200 <monochrom> Well yeah programmer inefficiency probably causes much less carbon footprint...
2022-04-22 23:17:42 +0200 <monochrom> To be fair, I don't have evidence for that one. You could examine programmer coffee consumption and find out that may be a huge impact, I don't know. :)
2022-04-22 23:17:49 +0200slack1256(~slack1256@186.11.98.12) (Remote host closed the connection)
2022-04-22 23:18:09 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2022-04-22 23:18:16 +0200 <sm> oh yeah that's one: do something to reduce your CI's carbon emissions today
2022-04-22 23:18:38 +0200 <monochrom> Use C instead of shell scripts. >:)
2022-04-22 23:19:36 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-04-22 23:22:16 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-22 23:22:25 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-22 23:22:25 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-22 23:22:25 +0200wroathe(~wroathe@user/wroathe)
2022-04-22 23:23:48 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net)
2022-04-22 23:25:48 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Read error: Connection reset by peer)
2022-04-22 23:26:02 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-04-22 23:36:55 +0200titibandit(~titibandi@xdsl-87-78-211-190.nc.de) (Remote host closed the connection)
2022-04-22 23:37:39 +0200neurocyte8614492(~neurocyte@IP-212232080040.dynamic.medianet-world.de)
2022-04-22 23:37:39 +0200neurocyte8614492(~neurocyte@IP-212232080040.dynamic.medianet-world.de) (Changing host)
2022-04-22 23:37:39 +0200neurocyte8614492(~neurocyte@user/neurocyte)
2022-04-22 23:39:41 +0200sndr(~sander@user/sander) (Quit: So long! :))
2022-04-22 23:40:27 +0200 <EvanR_> C vs haskell carbon footprint
2022-04-22 23:40:31 +0200mvk(~mvk@2607:fea8:5ce3:8500::c90f) (Ping timeout: 260 seconds)
2022-04-22 23:41:09 +0200FragByte(~christian@user/fragbyte) (Quit: Quit)
2022-04-22 23:43:05 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Quit: Lost terminal)
2022-04-22 23:43:07 +0200FragByte(~christian@user/fragbyte)
2022-04-22 23:43:49 +0200sander(~sander@user/sander)
2022-04-22 23:47:02 +0200 <jhagborg> I'd be curious if anyone has some research on how much things like using binary nix caches in CI, sharing those caches with dev machines, or re-organizing dependencies to reduce recompilation can reduce energy use
2022-04-22 23:49:10 +0200 <jhagborg> also, for different software projects: total energy use for devs and CI to compile the code vs. energy use to actually run the code (vs. energy use to buy better hardware to make up for poor perf)
2022-04-22 23:53:35 +0200cheategg(~Username@user/cheater) (Ping timeout: 256 seconds)
2022-04-22 23:56:08 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2022-04-22 23:56:43 +0200cheategg(~Username@user/cheater)
2022-04-22 23:57:50 +0200justsomeguy(justsomegu@user/justsomeguy) (Quit: WeeChat 3.4)
2022-04-22 23:58:22 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-04-22 23:59:26 +0200Topsi(~Tobias@dyndsl-095-033-021-190.ewe-ip-backbone.de) (Read error: Connection reset by peer)