2021/08/19

2021-08-19 00:00:55 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-19 00:04:21 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-08-19 00:04:35 +0200gambpang(~ishipman@207.181.230.156) (Remote host closed the connection)
2021-08-19 00:07:21 +0200 <aegon> does ghc automatically use the newtype strategy for deriving newtypes or should I be explicit about that to make sure
2021-08-19 00:07:46 +0200d0ku(~d0ku@178.43.198.70.ipv4.supernova.orange.pl) (Ping timeout: 268 seconds)
2021-08-19 00:10:15 +0200Cajun(~Cajun@user/cajun) (Quit: Client closed)
2021-08-19 00:11:05 +0200Cajun(~Cajun@user/cajun)
2021-08-19 00:11:44 +0200ellellie
2021-08-19 00:12:57 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2021-08-19 00:15:31 +0200p0lyph3m(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
2021-08-19 00:16:01 +0200p0lyph3m(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Client Quit)
2021-08-19 00:16:13 +0200chisui(~chisui@200116b8681e48004d4a4305e410a0e6.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
2021-08-19 00:16:24 +0200p0lyph3m(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
2021-08-19 00:16:42 +0200polyphem(~polyphem@2a02:810d:640:776c:f4c0:a27a:540e:c15e) (Ping timeout: 245 seconds)
2021-08-19 00:17:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 00:18:03 +0200 <aegon> bah, a page down in this post it talks about that and the accompanying compile warn line
2021-08-19 00:18:10 +0200vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2021-08-19 00:20:45 +0200p0lyph3mpolyphem
2021-08-19 00:21:00 +0200michalz(~michalz@185.246.204.62) (Remote host closed the connection)
2021-08-19 00:21:26 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Quit: CoreIRC for Android - www.coreirc.com)
2021-08-19 00:21:37 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
2021-08-19 00:22:13 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 00:26:25 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Remote host closed the connection)
2021-08-19 00:26:52 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-19 00:29:37 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 245 seconds)
2021-08-19 00:32:17 +0200Guest56(~textual@209.51.86.47)
2021-08-19 00:34:05 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
2021-08-19 00:36:03 +0200acidjnk_new(~acidjnk@p200300d0c72b952850c7a959aba8feb6.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2021-08-19 00:36:55 +0200andjjj23_(~irc@107.170.228.47)
2021-08-19 00:38:27 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 245 seconds)
2021-08-19 00:38:30 +0200Guest56(~textual@209.51.86.47) (Quit: Textual IRC Client: www.textualapp.com)
2021-08-19 00:38:46 +0200venue(~venue@209.51.86.47)
2021-08-19 00:39:40 +0200 <kilolympus> I've got a gigantic ~/.stack directory (39 gigs on a 128 gb SSD), and I want to trim it down -- is there a way to use Stack to list projects that use a certain installed GHC version? (so I can safely delete stuff)
2021-08-19 00:40:18 +0200 <kilolympus> Or at least some form of safe purge method (I'm fine with recompiling everything again, since there may be older projects I no longer actively work on, which I can save on)
2021-08-19 00:40:45 +0200 <kilolympus> I heard I shouldn't just downright remove ~/.stack, since it can error out if project/.stack-work still exists
2021-08-19 00:41:04 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-19 00:41:18 +0200 <dsal> You can rm -rf most of the big stuff in there.
2021-08-19 00:41:42 +0200 <sm> kilolympus: stack-clean-old is a good safe way
2021-08-19 00:42:18 +0200 <sm> also removing project/.stack-work would be another option
2021-08-19 00:42:45 +0200 <kilolympus> Ah, ok dsal, thanks!
2021-08-19 00:42:53 +0200 <dsal> sm's being more surgical. :)
2021-08-19 00:42:57 +0200 <kilolympus> sm: Didn't know about this, looks like stack-clean-old looks great!
2021-08-19 00:43:14 +0200 <kilolympus> Removing project/.stack-work would be fine, but the projects themselves are on a plenty big external HDD
2021-08-19 00:43:15 +0200 <dsal> I use nix-integration and don't worry about it anymore. Now it's all in /nix instead
2021-08-19 00:43:23 +0200 <sm> yup. Be aware it shows/removes different stuff depending whether you run it inside a project or not
2021-08-19 00:43:35 +0200 <kilolympus> Alright
2021-08-19 00:43:39 +0200 <kilolympus> Thanks!
2021-08-19 00:43:43 +0200venue(~venue@209.51.86.47) (Quit: Textual IRC Client: www.textualapp.com)
2021-08-19 00:44:02 +0200venue(~venue@209.51.86.47)
2021-08-19 00:45:21 +0200chomwitt(~chomwitt@ppp-94-67-193-240.home.otenet.gr) (Remote host closed the connection)
2021-08-19 00:48:16 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-19 00:49:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 00:51:06 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-19 00:51:20 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-08-19 00:51:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-19 00:54:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-19 00:55:10 +0200venue(~venue@209.51.86.47) (adios)
2021-08-19 00:57:32 +0200venue(~venue@209.51.86.47)
2021-08-19 00:57:32 +0200venuevenuex
2021-08-19 00:58:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-19 01:00:15 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-08-19 01:03:12 +0200venuex(~venue@209.51.86.47) (Changing host)
2021-08-19 01:03:12 +0200venuex(~venue@user/venue)
2021-08-19 01:05:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-08-19 01:08:12 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2021-08-19 01:09:57 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-19 01:15:51 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-19 01:18:03 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
2021-08-19 01:25:29 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-08-19 01:28:33 +0200Jonno_FTW(~come@user/jonno-ftw/x-0835346) (Ping timeout: 268 seconds)
2021-08-19 01:33:07 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-19 01:36:19 +0200frosky(~froskyarr@50.7.59.207)
2021-08-19 01:36:50 +0200Jonno_FTW(~come@api.carswap.me)
2021-08-19 01:36:57 +0200dmwit(~dmwit@pool-108-28-26-143.washdc.fios.verizon.net) (Remote host closed the connection)
2021-08-19 01:38:08 +0200dajoer(~david@user/gvx)
2021-08-19 01:42:34 +0200oldsk00l(~znc@ec2-18-170-87-228.eu-west-2.compute.amazonaws.com)
2021-08-19 01:42:44 +0200oldsk00l_(~znc@ec2-18-170-87-228.eu-west-2.compute.amazonaws.com) (Ping timeout: 268 seconds)
2021-08-19 01:46:31 +0200sajith_sajith
2021-08-19 01:50:18 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-19 01:50:42 +0200Axma70428(~Axman6@user/axman6) (Remote host closed the connection)
2021-08-19 01:50:56 +0200Axman6(~Axman6@user/axman6)
2021-08-19 01:52:19 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-19 01:54:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-08-19 01:56:26 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-19 01:59:23 +0200PinealGlandOptic(~PinealGla@37.115.210.35)
2021-08-19 02:01:05 +0200charukiewicz(~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 248 seconds)
2021-08-19 02:01:14 +0200charukiewicz(~quassel@irouteince04.i.subnet.rcn.com)
2021-08-19 02:04:40 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-08-19 02:07:20 +0200machinedgod(~machinedg@24.105.81.50) (Read error: Connection reset by peer)
2021-08-19 02:12:33 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-19 02:15:27 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-19 02:15:44 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 02:20:06 +0200sleblanc(~sleblanc@user/sleblanc)
2021-08-19 02:26:05 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-19 02:27:19 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Read error: Connection reset by peer)
2021-08-19 02:27:26 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
2021-08-19 02:33:38 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-08-19 02:38:11 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 02:38:15 +0200sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at) (Ping timeout: 268 seconds)
2021-08-19 02:40:24 +0200vysn(~vysn@user/vysn)
2021-08-19 02:40:50 +0200lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-08-19 02:42:25 +0200sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at)
2021-08-19 02:43:29 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-19 02:46:40 +0200t0zy(~t0zy@49.207.220.61) (Ping timeout: 240 seconds)
2021-08-19 02:47:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 02:49:09 +0200t0zy(~t0zy@2402:3a80:d12:8770::2c65:2fe3)
2021-08-19 02:52:01 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 252 seconds)
2021-08-19 02:55:40 +0200t0zy(~t0zy@2402:3a80:d12:8770::2c65:2fe3) (Ping timeout: 240 seconds)
2021-08-19 02:56:06 +0200t0zy(~t0zy@49.207.220.61)
2021-08-19 02:59:35 +0200slack1256(~slack1256@191.126.227.64)
2021-08-19 03:02:24 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-08-19 03:14:14 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 03:14:37 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
2021-08-19 03:18:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-19 03:19:41 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-19 03:22:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-19 03:22:59 +0200mmalter(~mmalter@88.171.43.194)
2021-08-19 03:23:21 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 03:23:54 +0200mmalter(~mmalter@88.171.43.194) (Client Quit)
2021-08-19 03:25:06 +0200mmalter(~mmalter@88.171.43.194)
2021-08-19 03:26:06 +0200mmalter(~mmalter@88.171.43.194) (Client Quit)
2021-08-19 03:26:12 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-08-19 03:26:49 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net)
2021-08-19 03:26:57 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
2021-08-19 03:27:16 +0200mmalter(~mmalter@88.171.43.194)
2021-08-19 03:36:01 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-08-19 03:43:36 +0200slack1256(~slack1256@191.126.227.64) (Ping timeout: 268 seconds)
2021-08-19 03:46:42 +0200xff0x(~xff0x@2001:1a81:5394:ea00:e22:1073:dc28:9e41) (Ping timeout: 245 seconds)
2021-08-19 03:48:42 +0200xff0x(~xff0x@2001:1a81:53ce:4000:6528:22c2:50dd:57c1)
2021-08-19 03:56:10 +0200derelict(~derelict@user/derelict) (Ping timeout: 240 seconds)
2021-08-19 03:56:40 +0200ChanServ(ChanServ@services.libera.chat) (*.net *.split)
2021-08-19 04:00:40 +0200Erutuon(~Erutuon@71-34-3-64.mpls.qwest.net)
2021-08-19 04:05:30 +0200ChanServ(ChanServ@services.libera.chat)
2021-08-19 04:05:30 +0200erbium.libera.chat+o ChanServ
2021-08-19 04:10:40 +0200td_(~td@94.134.91.158) (Ping timeout: 240 seconds)
2021-08-19 04:11:35 +0200mnrmnaugh(~mnrmnaugh@68.162.206.56) (Remote host closed the connection)
2021-08-19 04:12:53 +0200mnrmnaugh(~mnrmnaugh@68.162.206.56)
2021-08-19 04:12:54 +0200td_(~td@94.134.91.25)
2021-08-19 04:12:59 +0200derelict(~derelict@user/derelict)
2021-08-19 04:20:13 +0200meinside_(uid24933@id-24933.brockwell.irccloud.com)
2021-08-19 04:21:25 +0200FinnElijaGuest603
2021-08-19 04:21:25 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-08-19 04:21:25 +0200Guest603(~finn_elij@user/finn-elija/x-0085643) (Killed (silver.libera.chat (Nickname regained by services)))
2021-08-19 04:21:25 +0200finn_elijaFinnElija
2021-08-19 04:22:07 +0200dzdcnfzd(~anthonygr@104.132.34.65)
2021-08-19 04:22:40 +0200 <dzdcnfzd> I don't know if this question makes sense but I am trying to figure out what the name for a concept I'm sure exists is.
2021-08-19 04:23:40 +0200 <dzdcnfzd> Imagine I wanted to write something like the bind operator but I wanted the first argument to be either an `a` or an `m a`
2021-08-19 04:24:03 +0200 <dzdcnfzd> But I didn't want to have to wrap my value in an Either
2021-08-19 04:25:17 +0200 <dzdcnfzd> Obviously there's overloading, but the thing about overloading is it doesn't necessarily generalize
2021-08-19 04:26:28 +0200 <dzdcnfzd> If I have a function with 5 arguments, each of which can be either `m a` or `a`, that would imply 2^5 overloads (plus I don't think overloading would even work in haskell)
2021-08-19 04:26:57 +0200 <dzdcnfzd> Is there a name for the language feature I'm trying to get at?
2021-08-19 04:29:48 +0200 <arahael> dzdcnfzd: Define Functor or something for it, then.
2021-08-19 04:29:58 +0200 <arahael> dzdcnfzd: Ie, an instance of Functor a.
2021-08-19 04:30:12 +0200 <monochrom> Sorry, I am a very strong-and-static typing person, I cannot take that feature seriously, I would call it Telepathy, or at best The-Mess-Known-As-C++.
2021-08-19 04:31:06 +0200 <monochrom> My solution is that I only need the standard bind, and I can always hand-write "return x >>= k" if x::X rather than x::M X.
2021-08-19 04:31:55 +0200 <dzdcnfzd> monochrom: What is the benefit?
2021-08-19 04:32:38 +0200 <monochrom> It does not need a high level of C++ telepathy?
2021-08-19 04:32:46 +0200 <monochrom> KISS?
2021-08-19 04:33:10 +0200 <dzdcnfzd> I have never heard the term C++ telepathy before
2021-08-19 04:34:08 +0200 <monochrom> I gather that the mass would call it magic.
2021-08-19 04:35:45 +0200 <dzdcnfzd> what I don't get is that it seems like you could do this very simply using a union type, but then you'd have to explicitly wrap everything in a union type
2021-08-19 04:36:16 +0200 <dzdcnfzd> Which seems like a lot of boilerplate
2021-08-19 04:36:33 +0200 <dzdcnfzd> arahael: I'm trying to come up with the code for it
2021-08-19 04:37:18 +0200 <arahael> instance Functor a where fmap ... (something like that?)
2021-08-19 04:37:46 +0200 <dzdcnfzd> No, I mean for the overloaded function
2021-08-19 04:38:21 +0200 <dzdcnfzd> We have class Liftable m
2021-08-19 04:38:31 +0200 <dzdcnfzd> where lift :: a -> m a↓
2021-08-19 04:40:02 +0200 <monochrom> "return :: Monad a => a -> m a" already exists.
2021-08-19 04:41:11 +0200 <dzdcnfzd> Yeah, but that's sort of my point. If you want to write `overloader :: (a or m a) -> (b or m b) -> m c` I don't know what the type signature is
2021-08-19 04:42:54 +0200 <shachaf> This is like when people in dynamically-typed languages have a function that takes either a thing or a list of things, based on type dispatch.
2021-08-19 04:44:25 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-19 04:44:42 +0200 <shachaf> It mostly just makes worse APIs in that situation, and this sounds like the same sort of thing.
2021-08-19 04:46:10 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-08-19 04:46:15 +0200 <dzdcnfzd> shachaf: I don't immediately see why it would make a worse API for a bind-like operator
2021-08-19 04:46:59 +0200 <Cale> dzdcnfzd: There's a bit of a problem in that it can be ambiguous whether you meant to use ordinary (>>=), or you meant to apply return to the argument, in the case that it *does* have a type like m t, since that could still just be the a
2021-08-19 04:47:35 +0200derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-08-19 04:47:36 +0200 <Cale> It's possible (and sometimes desirable) to have types like m (m a)
2021-08-19 04:48:01 +0200 <dzdcnfzd> Cale: Agree. I can't figure out if that's a fatal objection though. There are lots of times where the compiler can't figure out the types without explicit typing, so maybe sometimes you just have to specify?
2021-08-19 04:48:38 +0200 <Cale> Well, you could make this kind of thing happen with overlapping instances, but I wouldn't recommend it.
2021-08-19 04:50:43 +0200 <dzdcnfzd> Cale: Interesting. Reading.
2021-08-19 04:51:25 +0200 <dzdcnfzd> I should note I'm not trying to do this right now. I was just wondering about it because it seems like an interesting idea that could cut down on boilerplate
2021-08-19 04:51:48 +0200 <Cale> When do you ever write return v >>= (\k -> ...) anyway?
2021-08-19 04:51:57 +0200 <dzdcnfzd> Lots!
2021-08-19 04:51:59 +0200 <Cale> You could always just have written let k = v in ...
2021-08-19 04:52:31 +0200 <Cale> That's one of the monad laws, so it's guaranteed to be a valid simplification
2021-08-19 04:53:55 +0200 <dzdcnfzd> No, you're correct now that I think. To be honest with you, I'm actually thinking about a Java-library, not haskell
2021-08-19 04:54:13 +0200keutoi(~keutoi@157.48.212.99)
2021-08-19 04:54:52 +0200alx741(~alx741@181.196.69.234) (Quit: alx741)
2021-08-19 04:55:20 +0200 <dzdcnfzd> A java futures library that has an andThen(Promise<T>...) call overloaded on the nunber of promises
2021-08-19 04:56:11 +0200 <dzdcnfzd> frequently you run into a situation where one or two of your parameters is just a T, and not a Promise<T>
2021-08-19 04:56:59 +0200 <dzdcnfzd> So I was trying to think about what would be required in a language to make this simpler
2021-08-19 04:58:43 +0200 <Cale> Shouldn't there be an easy way to make a promise that's immediately satisfied?
2021-08-19 04:59:23 +0200 <dzdcnfzd> There is, but it is disfavored for reasons I actually do not understand
2021-08-19 04:59:50 +0200 <Cale> Well, also...
2021-08-19 04:59:52 +0200 <dzdcnfzd> People say it screws up refactors or something
2021-08-19 04:59:56 +0200 <Cale> If I understand what andThen is
2021-08-19 05:00:01 +0200 <Cale> Is that bind?
2021-08-19 05:00:01 +0200haasn(~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-08-19 05:00:12 +0200 <Axman6> Anyone ever wish that type equality had its own language extension? Needuing TypeFamilies or GADTs to do foo ~ bar seems like overkill
2021-08-19 05:00:12 +0200 <dzdcnfzd> It is precisely bind
2021-08-19 05:00:30 +0200 <dzdcnfzd> but with more than 1 argument
2021-08-19 05:00:39 +0200 <dzdcnfzd> Because there's no nice do-notation
2021-08-19 05:00:43 +0200 <Cale> hmm
2021-08-19 05:00:47 +0200 <dzdcnfzd> Because Java
2021-08-19 05:01:03 +0200 <dzdcnfzd> So the let- strategy doesn't work
2021-08-19 05:01:05 +0200 <Cale> Axman6: Maybe, though you kind of need one of those extensions to make it useful, don't you?
2021-08-19 05:01:21 +0200 <Cale> dzdcnfzd: Just applying the function doesn't work?
2021-08-19 05:01:37 +0200 <Axman6> it's also useful when doing type class based type nonsense too
2021-08-19 05:01:48 +0200 <Cale> Maybe I don't understand what the multiple-arguments version means
2021-08-19 05:02:04 +0200 <joeyh> one way you can make overloading scale is with a helper function. start with class Conv a b where conv :: a -> b and then use that to make the helper function x & y = x (conv y) and that allows writing eg: foo & a & b & c & d
2021-08-19 05:02:04 +0200haasn(~nand@haasn.dev)
2021-08-19 05:02:18 +0200 <Cale> Axman6: ahhh... yeah, to make instances that commit early and then complain if the type doesn't match
2021-08-19 05:02:31 +0200 <dzdcnfzd> you mean andThen(promiseValue1, Promise.of(barValue1))...
2021-08-19 05:03:07 +0200 <dzdcnfzd> joeyh: ooh, clever
2021-08-19 05:03:32 +0200 <Cale> dzdcnfzd: Like, let's say you have some known value v, and you wanted to write mkPromise(v).andThen(foo), couldn't you always just write foo(v) ?
2021-08-19 05:04:01 +0200 <monochrom> But foo will not have a function type. Because Java.
2021-08-19 05:04:01 +0200 <Cale> dzdcnfzd: I'm not sure what the next argument to andThen might mean though...
2021-08-19 05:04:15 +0200 <Cale> monochrom: Surely it's got to be something callable?
2021-08-19 05:04:16 +0200 <joeyh> you will need FlexibleInstances to implement the Conv type class. Also all the good punctuation is taken :P
2021-08-19 05:04:32 +0200 <Cale> Someone link the documentation :D
2021-08-19 05:05:23 +0200 <Cale> foo.apply(v)?
2021-08-19 05:05:24 +0200 <dzdcnfzd> Cale: Sorry, the full API is: antThen(Promise<T1> x1, Promise<T2> x2, ..., Function<T1, T2, ...., Promise<S> transform)
2021-08-19 05:05:37 +0200 <dzdcnfzd> Missed a bracket there
2021-08-19 05:05:44 +0200 <dzdcnfzd> Function<T1, T2, ...., Promise<S>> transform
2021-08-19 05:05:53 +0200 <Cale> ahh, it's like liftMn
2021-08-19 05:06:02 +0200 <Cale> Or <$> and <*>
2021-08-19 05:06:13 +0200 <dzdcnfzd> Yes, exactly
2021-08-19 05:06:38 +0200 <dzdcnfzd> And it produces a Promise<S>
2021-08-19 05:06:47 +0200 <dzdcnfzd> so you chain the calls
2021-08-19 05:07:02 +0200cheater(~Username@user/cheater) (Remote host closed the connection)
2021-08-19 05:07:21 +0200adam1(~adam@220-136-101-125.dynamic-ip.hinet.net)
2021-08-19 05:09:30 +0200 <Cale> I guess the trick is that the function which is the last argument is annoying to partially apply to the known values
2021-08-19 05:09:31 +0200 <monochrom> I would seriously just write like "andThen(x1, unit(10), x3, ..., callback)", or s/unit/whatever the monadic unit of Promise is called in Java/
2021-08-19 05:10:05 +0200cheater(~Username@user/cheater)
2021-08-19 05:10:52 +0200 <Cale> Yeah, that's not too bad if you have a known function, the other option being like andThen (x1, x3, ..., (v1,v3,...) -> callback(v1,10,v3,...))
2021-08-19 05:11:55 +0200 <Cale> If you're writing the continuation inline, then just inlining the known parameter might be easiest
2021-08-19 05:12:32 +0200 <monochrom> Inlining the known parameter would be what I call "bad for refactoring".
2021-08-19 05:13:17 +0200 <Cale> Maybe sometimes
2021-08-19 05:13:25 +0200 <monochrom> "andThen(x1, unit(10), x3, ..., callback)" is good for refactoring because it is a trivial sed to replace "unit(10)" by x2, when one day you have a non-trivial x2.
2021-08-19 05:13:32 +0200 <Cale> Other times it would be a good refactoring to do
2021-08-19 05:14:06 +0200 <monochrom> or alternatively if one day x3 needs to be trivialized to unit("hello")
2021-08-19 05:14:10 +0200 <Cale> Like, if the callback is a thing that only really gets used once and is maybe already written as an inline lambda
2021-08-19 05:14:24 +0200 <Cale> Then maybe it just has a parameter it shouldn't have
2021-08-19 05:14:44 +0200 <monochrom> But generally and meta-ly I wouldn't be surprised if the Java community hates the algebraic POV.
2021-08-19 05:15:12 +0200venuex(~venue@user/venue) (Quit: was tired)
2021-08-19 05:15:47 +0200 <monochrom> The algebraic POV says that where you have a >>= you also have a unit, where you have <|> you also have empty, where you have <> you also have mempty. The identity element of the binary operator you care about.
2021-08-19 05:17:40 +0200vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2021-08-19 05:17:52 +0200 <monochrom> The identity element looks useless, algebra haters will say "why would you even give it a name? it does nothing, you will never use it".
2021-08-19 05:18:12 +0200 <monochrom> Ah but one day you find yourself needing "if x>0 then identity element else non-trivial thing".
2021-08-19 05:18:40 +0200bgamari(~bgamari@72.65.101.163) (Ping timeout: 240 seconds)
2021-08-19 05:18:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 05:18:59 +0200 <Cale> I can see where if the unit is sufficiently expensive, then people start having a decent reason to avoid it, but that's something that should probably be fixed.
2021-08-19 05:19:02 +0200 <monochrom> And it arises from refactoring "if x>0 then last thing else non-trivial thing <> last thing"
2021-08-19 05:19:40 +0200bgamari(~bgamari@2001:470:e438::1)
2021-08-19 05:20:40 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-08-19 05:21:56 +0200 <monochrom> Java enjoys JIT. There are a lot of more inefficient code people embrace and never question.
2021-08-19 05:28:22 +0200 <dzdcnfzd> Inlining is what we currently do but I hate it because it makes code 3 times as long
2021-08-19 05:28:37 +0200 <Cale> Wait, why?
2021-08-19 05:29:10 +0200 <dzdcnfzd> andThen(promise1, ...., promiseN, (var1, ...., varN) -> nextFunction(var1, ...., varN))
2021-08-19 05:29:20 +0200 <Cale> Oh, I guess
2021-08-19 05:29:29 +0200 <dzdcnfzd> vs. andThen (promise1, ... promiseN, this::nextFunction)
2021-08-19 05:29:56 +0200 <dzdcnfzd> This adds up when you've got 8-15 parameters
2021-08-19 05:30:33 +0200 <Cale> Yeah, if there's already a fixed function which you could just name, then definitely, I would go with monochrom's approach of applying the unit for your promise monad.
2021-08-19 05:31:52 +0200 <Cale> If the argument against it is efficiency, it's the difference of constructing a trivial promise vs. constructing a lambda that you otherwise don't need.
2021-08-19 05:32:40 +0200 <Cale> Both of those should typically be ignorable in terms of cost
2021-08-19 05:32:46 +0200 <dzdcnfzd> Cale: That's what I wanted to do. Unfortunately, I work at a big shop, and so *gestures at the style guide* is a fairly ironclad argument.
2021-08-19 05:32:58 +0200 <dzdcnfzd> Style-guide says don't do it so we don't.
2021-08-19 05:33:32 +0200 <dzdcnfzd> I was more interested in what it would take not to have to make this tradeoff at all
2021-08-19 05:33:49 +0200 <dzdcnfzd> It's a sort of dynamic operator overloading
2021-08-19 05:33:59 +0200 <dzdcnfzd> I assumed there was some name for what I was thinking about
2021-08-19 05:51:24 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-19 05:53:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-19 05:54:40 +0200adam1(~adam@220-136-101-125.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-08-19 06:14:26 +0200zmt01(~zmt00@user/zmt00)
2021-08-19 06:15:30 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-19 06:18:42 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 272 seconds)
2021-08-19 06:23:17 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-08-19 06:24:07 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-08-19 06:25:10 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 268 seconds)
2021-08-19 06:33:33 +0200gethuen(uid502979@id-502979.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-19 06:35:49 +0200Erutuon(~Erutuon@71-34-3-64.mpls.qwest.net) (Changing host)
2021-08-19 06:35:49 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-19 06:36:07 +0200Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2021-08-19 06:36:20 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-19 06:40:40 +0200adam1(~adam@220-136-103-36.dynamic-ip.hinet.net)
2021-08-19 06:46:23 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-08-19 06:46:50 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-08-19 06:49:30 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 06:51:59 +0200qbt(~edun@user/edun)
2021-08-19 06:52:03 +0200jacob_(uid513644@id-513644.tinside.irccloud.com)
2021-08-19 06:52:40 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
2021-08-19 06:52:44 +0200jacob_(uid513644@id-513644.tinside.irccloud.com) (Client Quit)
2021-08-19 06:52:50 +0200hendursaga(~weechat@user/hendursaga) (Remote host closed the connection)
2021-08-19 06:52:52 +0200rizoid(uid513644@id-513644.tinside.irccloud.com)
2021-08-19 06:53:12 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-19 06:53:17 +0200hendursaga(~weechat@user/hendursaga)
2021-08-19 06:54:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-19 06:55:00 +0200waleee(~waleee@h-98-128-228-119.na.cust.bahnhof.se)
2021-08-19 06:56:21 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-19 07:02:26 +0200aegon(~mike@174.127.249.180)
2021-08-19 07:05:40 +0200frosky(~froskyarr@50.7.59.207) (Ping timeout: 240 seconds)
2021-08-19 07:16:00 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Remote host closed the connection)
2021-08-19 07:16:11 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-19 07:19:44 +0200ubert(~Thunderbi@178.115.48.151.wireless.dyn.drei.com)
2021-08-19 07:23:10 +0200peterhil_(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-19 07:26:32 +0200juhp(~juhp@128.106.188.220)
2021-08-19 07:29:03 +0200ablutor(~quassel@wasscher.com) (Quit: going for vitamine d)
2021-08-19 07:30:01 +0200ablutor(~quassel@wasscher.com)
2021-08-19 07:31:37 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-08-19 07:33:47 +0200ablutor(~quassel@wasscher.com) (Client Quit)
2021-08-19 07:34:44 +0200ablutor(~quassel@wasscher.com)
2021-08-19 07:39:24 +0200aegon(~mike@174.127.249.180) (Quit: leaving)
2021-08-19 07:46:55 +0200retroid_(~retro@5ec19a54.skybroadband.com) (Ping timeout: 258 seconds)
2021-08-19 07:48:31 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-19 07:48:52 +0200Obo(~roberto@78.77.166.185)
2021-08-19 07:49:04 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 07:53:22 +0200venue(~venue@user/venue)
2021-08-19 07:53:23 +0200venue(~venue@user/venue) (Client Quit)
2021-08-19 07:57:16 +0200Obo(~roberto@78.77.166.185) (Ping timeout: 252 seconds)
2021-08-19 07:59:40 +0200adam1(~adam@220-136-103-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-08-19 08:01:52 +0200adam1(~adam@2001-b011-4007-22b0-dc35-02db-f947-c579.dynamic-ip6.hinet.net)
2021-08-19 08:04:17 +0200ishutin(~ishutin@92-249-150-163.static.digikabel.hu)
2021-08-19 08:07:29 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
2021-08-19 08:08:10 +0200ishutin_(~ishutin@92-249-193-96.pool.digikabel.hu) (Ping timeout: 268 seconds)
2021-08-19 08:11:05 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-19 08:19:28 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-19 08:20:44 +0200bgamari(~bgamari@2001:470:e438::1) (Quit: ZNC 1.8.1 - https://znc.in)
2021-08-19 08:21:35 +0200bgamari(~bgamari@2001:470:e438::1)
2021-08-19 08:22:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-19 08:24:00 +0200lortabac(~lortabac@62.98.47.131)
2021-08-19 08:29:02 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-19 08:30:01 +0200vysn(~vysn@user/vysn)
2021-08-19 08:39:10 +0200adam1(~adam@2001-b011-4007-22b0-dc35-02db-f947-c579.dynamic-ip6.hinet.net) (Ping timeout: 240 seconds)
2021-08-19 08:42:10 +0200t0zy(~t0zy@49.207.220.61) (Ping timeout: 240 seconds)
2021-08-19 08:44:49 +0200t0zy(~t0zy@2402:3a80:d12:a891::2c85:cca8)
2021-08-19 08:45:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-08-19 08:49:10 +0200t0zy(~t0zy@2402:3a80:d12:a891::2c85:cca8) (Ping timeout: 240 seconds)
2021-08-19 08:53:56 +0200t0zy(~t0zy@49.207.220.61)
2021-08-19 08:55:10 +0200dsrt^(~dsrt@209.65.131.194)
2021-08-19 09:01:18 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 09:02:13 +0200fef(~thedawn@user/thedawn)
2021-08-19 09:06:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
2021-08-19 09:09:00 +0200nschoe(~quassel@178.251.84.79)
2021-08-19 09:15:07 +0200adam1(~adam@2001-b011-4007-04cd-6175-2e50-8f28-9242.dynamic-ip6.hinet.net)
2021-08-19 09:26:09 +0200jumper149(~jumper149@80.240.31.34)
2021-08-19 09:29:40 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-19 09:29:57 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-19 09:30:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 09:33:20 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-08-19 09:35:17 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-19 09:36:18 +0200zaquest(~notzaques@5.128.210.178)
2021-08-19 09:41:03 +0200oxide(~lambda@user/oxide)
2021-08-19 09:41:13 +0200michalz(~michalz@185.246.204.55)
2021-08-19 09:41:24 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-19 09:46:55 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-19 09:47:07 +0200kuribas(~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be)
2021-08-19 09:48:02 +0200loonycyborg(~loonycybo@wesnoth/developer/loonycyborg) (Remote host closed the connection)
2021-08-19 09:48:03 +0200acidjnk_new(~acidjnk@p200300d0c72b952850c7a959aba8feb6.dip0.t-ipconnect.de)
2021-08-19 09:48:29 +0200dschrempf(~dominik@92-249-159-252.pool.digikabel.hu)
2021-08-19 09:50:11 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com)
2021-08-19 09:52:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-19 09:55:20 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-19 09:55:30 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-19 09:57:30 +0200loonycyborg(~loonycybo@wesnoth/developer/loonycyborg)
2021-08-19 10:02:11 +0200chomwitt(~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374)
2021-08-19 10:03:46 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2021-08-19 10:05:25 +0200hendursa1(~weechat@user/hendursaga)
2021-08-19 10:05:37 +0200dunj3(~dunj3@2001:16b8:307a:1a00:58ea:8655:f70e:458d)
2021-08-19 10:07:35 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-19 10:12:49 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
2021-08-19 10:13:07 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-08-19 10:16:37 +0200hegstal(~hegstal@2a02:c7f:7604:8a00:8208:62c2:1345:18fb)
2021-08-19 10:17:39 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-19 10:17:39 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-19 10:17:42 +0200allbery_bgeekosaur
2021-08-19 10:19:10 +0200PinealGlandOptic(~PinealGla@37.115.210.35) (Ping timeout: 240 seconds)
2021-08-19 10:21:15 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 10:27:15 +0200retroid_(~retro@5ec19a54.skybroadband.com)
2021-08-19 10:29:12 +0200 <kuribas> WTF is this error? https://gist.github.com/kuribas/90201dd14089bec6b9fd38cd650b9c2a
2021-08-19 10:29:38 +0200 <kuribas> Do I miss something? Ld_model_turbine is a type...
2021-08-19 10:29:47 +0200 <kuribas> ah wait, there's a typo there....
2021-08-19 10:30:00 +0200 <dibblego> typo
2021-08-19 10:30:02 +0200 <Hecate> yeah, turine
2021-08-19 10:30:33 +0200 <dibblego> also, aside, I have written this data type, but for manned aircraft i.e. including engine, mount position, etc
2021-08-19 10:30:50 +0200 <kuribas> Is this because I enabled DataKinds?
2021-08-19 10:32:31 +0200hughjfchen[m](~hughjfche@2001:470:69fc:105::c29d) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:31 +0200polykernel(~polykerne@user/polykernel) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:31 +0200SimonWeiss[m](~weiss-dma@2001:470:69fc:105::bebd) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:31 +0200boxscape(~boxscape@user/boxscape) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200vbeatrice[m](~vbeatrice@2001:470:69fc:105::3ebf) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200chreekat[m](~bchreekat@2001:470:69fc:105::16b5) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200fgaz(~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200peddie(~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200jesser[m](~jessermat@2001:470:69fc:105::d5ae) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:32 +0200jaror[m](~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200bitonic(~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200psydroid(~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200carmysilna(~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200yin[m](~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200dminuoso[m](~dminuosom@2001:470:69fc:105::33bb) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200bb010g(~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200unrooted(~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200Dima[m](~reddima10@2001:470:69fc:105::366) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200stoicswe[m](~deadlette@2001:470:69fc:105::d277) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:33 +0200soft(~soft-matr@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200schuelermine[m](~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200CyrusT[m](~cyrustcru@2001:470:69fc:105::306e) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200jkachmar(~jkachmar@2001:470:69fc:105::c72d) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200kevin[m]123(~pnotequal@2001:470:69fc:105::a54) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200Drew[m]1(~drewefenw@2001:470:69fc:105::c8c4) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200oak-(~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200justosophy[m](~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200ixlun(~ixlun@2001:470:69fc:105::41b3) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200andreabedini[m](~andreabed@2001:470:69fc:105::c821) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:34 +0200ac(~aloiscoch@2001:470:69fc:105::65) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200deuslambda[m](~deuslambd@2001:470:69fc:105::c749) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200Tisoxin(~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200unclechu(~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200ormaaj(~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200kadoban(~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200lwe[m](~dendrumat@2001:470:69fc:105::2f9b) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200Deide(~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200sm(~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:35 +0200Ollie[m](~ollieocha@2001:470:69fc:105::41a5) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:36 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:36 +0200ericson2314(~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:36 +0200kar1(~kar1@2001:470:69fc:105::c308) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:36 +0200hsiktas[m](~hsiktasma@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:36 +0200jophish(~jophish@2001:470:69fc:105::670) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:36 +0200fakehacker[m](~fakehacke@2001:470:69fc:105::b5f0) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:36 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:37 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:37 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:37 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:37 +0200Teohehim[m](~teocmatri@2001:470:69fc:105::d327) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:37 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:37 +0200siraben(~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:38 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200JavierNeira[m](~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200reza[m](~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200maralorn(~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200RohitGoswami[m](~rgoswamim@2001:470:69fc:105::16cc) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200jakefromstatefar(~jakefroms@2001:470:69fc:105::15ef) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200jchia[m](~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200infinisil(~infinisil@2001:470:69fc:105::ff8) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200aveltras[m](~aveltrasm@2001:470:69fc:105::3ef9) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200thonoht[m](~thonohtma@2001:470:69fc:105::d7be) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200Magnus[m](~magthetch@2001:470:69fc:105::d1a7) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:44 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22) (Quit: Bridge terminating on SIGTERM)
2021-08-19 10:32:51 +0200 <kuribas> dibblego: you mean my datatype?
2021-08-19 10:33:16 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-19 10:35:52 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2021-08-19 10:36:18 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-19 10:37:05 +0200 <kuribas> dibblego: it's part of a specification for wind turbines...
2021-08-19 10:37:06 +0200ac(~aloiscoch@2001:470:69fc:105::65)
2021-08-19 10:37:18 +0200jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2021-08-19 10:37:18 +0200sm(~sm@plaintextaccounting/sm)
2021-08-19 10:37:18 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22)
2021-08-19 10:37:30 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7)
2021-08-19 10:37:30 +0200jaror[m](~jaror@2001:470:69fc:105::265)
2021-08-19 10:37:30 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2021-08-19 10:37:30 +0200peddie(~peddie@2001:470:69fc:105::25d)
2021-08-19 10:37:30 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284)
2021-08-19 10:37:30 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2021-08-19 10:37:43 +0200thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2021-08-19 10:37:43 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f)
2021-08-19 10:37:43 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2)
2021-08-19 10:37:55 +0200jakefromstatefar(~jakefroms@2001:470:69fc:105::15ef)
2021-08-19 10:37:55 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db)
2021-08-19 10:38:09 +0200bb010g(~bb010g@2001:470:69fc:105::9a5)
2021-08-19 10:38:21 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae)
2021-08-19 10:38:21 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e)
2021-08-19 10:38:21 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a)
2021-08-19 10:38:21 +0200amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2021-08-19 10:38:21 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2021-08-19 10:38:33 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d)
2021-08-19 10:38:33 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2021-08-19 10:38:46 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2021-08-19 10:38:46 +0200soft(~soft-matr@2001:470:69fc:105::c75)
2021-08-19 10:38:46 +0200kadoban(~kadoban@user/kadoban)
2021-08-19 10:38:58 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 10:39:00 +0200oak-(~oakuniver@2001:470:69fc:105::fcd)
2021-08-19 10:39:02 +0200bitonic(~bitonic@2001:470:69fc:105::1812)
2021-08-19 10:39:02 +0200ericson2314(~ericson23@2001:470:69fc:105::70c)
2021-08-19 10:39:02 +0200carmysilna(~brightly-@2001:470:69fc:105::2190)
2021-08-19 10:39:02 +0200jophish(~jophish@2001:470:69fc:105::670)
2021-08-19 10:39:14 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488)
2021-08-19 10:39:14 +0200Ollie[m](~ollieocha@2001:470:69fc:105::41a5)
2021-08-19 10:39:14 +0200ixlun(~ixlun@2001:470:69fc:105::41b3)
2021-08-19 10:39:14 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3)
2021-08-19 10:39:14 +0200unclechu(~unclechu@2001:470:69fc:105::354)
2021-08-19 10:39:26 +0200RohitGoswami[m](~rgoswamim@2001:470:69fc:105::16cc)
2021-08-19 10:39:26 +0200unrooted(~unrooted@2001:470:69fc:105::a4a)
2021-08-19 10:39:26 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70)
2021-08-19 10:39:28 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 10:39:34 +0200 <kuribas> I am making a tool for reading this from CSV and storing into our database model.
2021-08-19 10:39:38 +0200yin[m](~zwromatri@2001:470:69fc:105::1d4)
2021-08-19 10:39:38 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2021-08-19 10:39:38 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0)
2021-08-19 10:39:50 +0200SimonWeiss[m](~weiss-dma@2001:470:69fc:105::bebd)
2021-08-19 10:40:02 +0200dminuoso[m](~dminuosom@2001:470:69fc:105::33bb)
2021-08-19 10:40:03 +0200lwe[m](~dendrumat@2001:470:69fc:105::2f9b)
2021-08-19 10:40:15 +0200jesser[m](~jessermat@2001:470:69fc:105::d5ae)
2021-08-19 10:40:27 +0200reza[m](~rezaphone@2001:470:69fc:105::3eda)
2021-08-19 10:40:28 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2021-08-19 10:40:40 +0200aveltras[m](~aveltrasm@2001:470:69fc:105::3ef9)
2021-08-19 10:40:40 +0200hsiktas[m](~hsiktasma@2001:470:69fc:105::30d4)
2021-08-19 10:40:40 +0200boxscape(~boxscape@user/boxscape)
2021-08-19 10:40:53 +0200vbeatrice[m](~vbeatrice@2001:470:69fc:105::3ebf)
2021-08-19 10:41:11 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56)
2021-08-19 10:41:32 +0200afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b)
2021-08-19 10:41:33 +0200jkachmar(~jkachmar@2001:470:69fc:105::c72d)
2021-08-19 10:41:33 +0200schuelermine[m](~schuelerm@user/schuelermine)
2021-08-19 10:41:56 +0200justosophy[m](~justosoph@2001:470:69fc:105::572f)
2021-08-19 10:42:18 +0200kevin[m]1(~pnotequal@2001:470:69fc:105::a54)
2021-08-19 10:42:18 +0200CyrusT[m](~cyrustcru@2001:470:69fc:105::306e)
2021-08-19 10:42:30 +0200siraben(~siraben@user/siraben)
2021-08-19 10:42:30 +0200deuslambda[m](~deuslambd@2001:470:69fc:105::c749)
2021-08-19 10:42:30 +0200Deide(~deide@user/deide)
2021-08-19 10:42:30 +0200polykernel(~polykerne@user/polykernel)
2021-08-19 10:42:42 +0200fakehacker[m](~fakehacke@2001:470:69fc:105::b5f0)
2021-08-19 10:42:42 +0200hughjfchen[m](~hughjfche@2001:470:69fc:105::c29d)
2021-08-19 10:42:42 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2)
2021-08-19 10:42:42 +0200psydroid(~psydroid@user/psydroid)
2021-08-19 10:42:42 +0200thonoht[m](~thonohtma@2001:470:69fc:105::d7be)
2021-08-19 10:42:54 +0200stoicswe[m](~deadlette@2001:470:69fc:105::d277)
2021-08-19 10:42:54 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300)
2021-08-19 10:42:54 +0200kar1(~kar1@2001:470:69fc:105::c308)
2021-08-19 10:43:06 +0200Teohehim[m](~teocmatri@2001:470:69fc:105::d327)
2021-08-19 10:43:06 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2021-08-19 10:43:06 +0200ormaaj(~ormaaj@user/ormaaj)
2021-08-19 10:43:06 +0200infinisil(~infinisil@2001:470:69fc:105::ff8)
2021-08-19 10:43:06 +0200Drew[m](~drewefenw@2001:470:69fc:105::c8c4)
2021-08-19 10:43:06 +0200andreabedini[m](~andreabed@2001:470:69fc:105::c821)
2021-08-19 10:43:06 +0200Magnus[m](~magthetch@2001:470:69fc:105::d1a7)
2021-08-19 10:43:06 +0200JavierNeira[m](~jneiramat@2001:470:69fc:105::d729)
2021-08-19 10:43:06 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2021-08-19 10:43:07 +0200Tisoxin(~ikosit@user/ikosit)
2021-08-19 10:43:07 +0200chreekat[m](~bchreekat@2001:470:69fc:105::16b5)
2021-08-19 10:43:07 +0200Dima[m](~reddima10@2001:470:69fc:105::366)
2021-08-19 10:44:10 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-19 10:45:04 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 10:45:17 +0200dunj3(~dunj3@2001:16b8:307a:1a00:58ea:8655:f70e:458d) (Read error: Connection reset by peer)
2021-08-19 10:45:27 +0200__monty__(~toonn@user/toonn)
2021-08-19 10:51:17 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 10:52:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-19 10:53:39 +0200aforemny(~aforemny@static.248.158.34.188.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-19 10:55:18 +0200kenran(~kenran@b2b-37-24-119-190.unitymedia.biz)
2021-08-19 10:55:27 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-08-19 10:55:34 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer)
2021-08-19 10:55:42 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-08-19 10:57:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-08-19 10:59:25 +0200 <kenran> In case anyone is using the haskell-mode in Emacs: (How) can I have two separate interactive sessions for, say, a library and its test-suite? Right now, if I'm working with a library module, I can `haskell-process-load-file`, but when I want to do the same thing in a test module of the same cabal package, I seem to need to switch the session target first (which in turn leads to the same problem
2021-08-19 10:59:27 +0200 <kenran> after switching back to the first buffer).
2021-08-19 10:59:59 +0200 <kuribas> kenran: idk, but there is also #haskell-emacs
2021-08-19 11:01:05 +0200PinealGlandOptic(~PinealGla@178-133-143-185.mobile.vf-ua.net)
2021-08-19 11:01:29 +0200 <kenran> kuribas: oh cool, I didn't know. Thanks, I'll ask there then, seems more fitting
2021-08-19 11:02:03 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-19 11:02:48 +0200aforemny(~aforemny@static.248.158.34.188.clients.your-server.de)
2021-08-19 11:02:55 +0200 <kuribas> kenran: though that was on freenode...
2021-08-19 11:03:34 +0200 <kenran> kuribas: I see. Just joined it (as you have probably have noticed, being one of the now-6 people there :)
2021-08-19 11:03:42 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 11:03:47 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 245 seconds)
2021-08-19 11:04:09 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 11:06:59 +0200burnside_(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 11:07:28 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-08-19 11:11:50 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 11:12:20 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-19 11:15:57 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-19 11:16:28 +0200greenbourne277(~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0)
2021-08-19 11:16:29 +0200lavaman(~lavaman@98.38.249.169) (Read error: Connection reset by peer)
2021-08-19 11:16:47 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 11:16:57 +0200greenbourne277(~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0) (Client Quit)
2021-08-19 11:17:07 +0200greenbourne277(~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0)
2021-08-19 11:20:01 +0200td_(~td@94.134.91.25) (Ping timeout: 248 seconds)
2021-08-19 11:23:45 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be) (Ping timeout: 248 seconds)
2021-08-19 11:27:37 +0200burnside_(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 11:28:04 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 11:28:46 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-19 11:30:24 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-19 11:30:40 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 252 seconds)
2021-08-19 11:32:17 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-19 11:36:14 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be)
2021-08-19 11:37:44 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-19 11:37:56 +0200lep(~lep@94.31.86.183) (Ping timeout: 252 seconds)
2021-08-19 11:39:40 +0200lep(~lep@94.31.80.176)
2021-08-19 11:43:11 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-19 11:45:29 +0200Obo(~roberto@78.77.166.185)
2021-08-19 11:45:50 +0200dschrempf(~dominik@92-249-159-252.pool.digikabel.hu) (Ping timeout: 268 seconds)
2021-08-19 11:47:10 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 240 seconds)
2021-08-19 11:47:31 +0200PinealGlandOptic(~PinealGla@178-133-143-185.mobile.vf-ua.net) (Quit: leaving)
2021-08-19 11:48:26 +0200adam1(~adam@2001-b011-4007-04cd-6175-2e50-8f28-9242.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
2021-08-19 11:49:21 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 11:50:56 +0200smitop(~smitop@user/smitop) (Read error: Connection reset by peer)
2021-08-19 11:51:41 +0200smitop(~smitop@user/smitop)
2021-08-19 11:52:39 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-08-19 11:53:51 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-19 11:56:47 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Ping timeout: 245 seconds)
2021-08-19 12:01:20 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 12:01:42 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-08-19 12:05:15 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 12:05:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-19 12:06:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-19 12:08:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:09:40 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-08-19 12:10:09 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 12:11:32 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 12:11:58 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 12:13:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-19 12:14:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:16:33 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-19 12:17:12 +0200 <dibblego> kuribas: yes, just similar
2021-08-19 12:18:00 +0200 <kuribas> dibblego: well, a wind turbine is the direct opposite of an aircraft. One uses wind to create power, the other uses power to create wind :)
2021-08-19 12:18:49 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 244 seconds)
2021-08-19 12:21:18 +0200 <dibblego> I just mean, distinguishing engine type, mount positin, etc
2021-08-19 12:21:29 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-19 12:25:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-19 12:25:43 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-19 12:25:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:26:01 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-19 12:30:10 +0200lep(~lep@94.31.80.176) (Ping timeout: 240 seconds)
2021-08-19 12:31:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-19 12:31:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:32:06 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2021-08-19 12:33:16 +0200lep(~lep@94.31.80.176)
2021-08-19 12:34:30 +0200pmk(~user@2a02:587:941a:35d9:8f9c:6cb6:67dc:f5e3)
2021-08-19 12:34:38 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 12:36:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-19 12:37:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:38:10 +0200t0zy(~t0zy@49.207.220.61) (Ping timeout: 240 seconds)
2021-08-19 12:38:15 +0200ubert(~Thunderbi@178.115.48.151.wireless.dyn.drei.com) (Quit: ubert)
2021-08-19 12:38:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-19 12:38:47 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds)
2021-08-19 12:42:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-19 12:42:49 +0200t0zy(~t0zy@49.207.220.61)
2021-08-19 12:43:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:46:01 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
2021-08-19 12:48:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-19 12:48:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:53:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-19 12:53:59 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-19 12:54:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 12:57:36 +0200lortabac(~lortabac@62.98.47.131) (Quit: WeeChat 2.8)
2021-08-19 12:59:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-19 12:59:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 13:01:02 +0200alx741(~alx741@181.196.69.234)
2021-08-19 13:05:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-19 13:05:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 13:06:31 +0200td_(~td@94.134.91.118)
2021-08-19 13:09:01 +0200dschrempf(~dominik@92-249-159-252.pool.digikabel.hu)
2021-08-19 13:10:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-19 13:11:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 13:13:33 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-19 13:17:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-19 13:17:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 13:22:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-19 13:22:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 13:23:32 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-19 13:24:09 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-19 13:26:25 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 248 seconds)
2021-08-19 13:27:02 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 13:28:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-19 13:28:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 13:29:10 +0200lortabac(~lortabac@62.98.47.131)
2021-08-19 13:31:13 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
2021-08-19 13:33:13 +0200fef(~thedawn@user/thedawn) (Ping timeout: 244 seconds)
2021-08-19 13:33:56 +0200dsrt^(~dsrt@209.65.131.194) (Remote host closed the connection)
2021-08-19 13:34:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-19 13:35:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 13:38:55 +0200vs^(~vs@209.65.131.194)
2021-08-19 13:40:59 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 13:42:00 +0200Atum_(~IRC@user/atum/x-2392232) (Ping timeout: 244 seconds)
2021-08-19 13:42:16 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
2021-08-19 13:42:54 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-19 13:44:02 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-08-19 13:45:58 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-08-19 13:47:18 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 13:50:42 +0200turlando(~turlando@user/turlando) (Ping timeout: 258 seconds)
2021-08-19 13:55:47 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-19 13:56:34 +0200gehmehgeh(~user@user/gehmehgeh) (Client Quit)
2021-08-19 13:56:48 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-19 14:01:29 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
2021-08-19 14:08:06 +0200timCF(~timCF@m91-129-108-244.cust.tele2.ee)
2021-08-19 14:08:09 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-08-19 14:08:35 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-08-19 14:11:09 +0200 <timCF> Hello! Is there some easy method to make derived Show instances of my data more readable when ByteString fields/newtypes are presented? Default ByteString Show instance kinda hard to read, I definitely would prefer representation which looks like just list of bytes, for example `[43, 23, 0, 1]`.
2021-08-19 14:12:30 +0200 <merijn> You shouldn't really be using Show for "readable" things anyway. You'd wanna use a pretty printer for that. When it comes to debug readability you can look at stuff like
2021-08-19 14:12:34 +0200 <merijn> @hackage pretty-show
2021-08-19 14:12:34 +0200 <lambdabot> https://hackage.haskell.org/package/pretty-show
2021-08-19 14:12:41 +0200 <merijn> Which can reformat existing Show output
2021-08-19 14:12:53 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2021-08-19 14:14:36 +0200 <timCF> merijn: so it still can use default derived Show instances? All what I want is to not write them by hand or TH, but have different ByteString representation, literally as list of bytes
2021-08-19 14:15:43 +0200 <merijn> timCF: There's missing context of when/for what you wanna use this output
2021-08-19 14:16:07 +0200 <timCF> merijn: for logging
2021-08-19 14:17:21 +0200 <merijn> timCF: I mean, you could also just use a newtype around the bytestring with a custom implementation of show
2021-08-19 14:17:27 +0200 <merijn> timCF: Or add a Loggable class
2021-08-19 14:18:57 +0200 <timCF> merijn: true, but I want also be able to log values of types which I do not control (can't add newtypes that easy to foreign codebase)
2021-08-19 14:21:20 +0200 <timCF> probably introducing my own ShowDebug class with some smart deriving based on GHC.Generics is the easiest way?
2021-08-19 14:22:08 +0200arjun(~user@user/arjun)
2021-08-19 14:22:34 +0200 <merijn> Depends on how frequently you log, because that will probably be slow
2021-08-19 14:23:51 +0200 <timCF> merijn: Hmm. I'm logging a lot. It definitely should be fast in runtime. And preferrably compile-time as well (otherwise probably TH is the way to go)
2021-08-19 14:23:54 +0200 <dminuoso> In my experience when Show/pretty-show is not enough, just go write ppr* functions.,
2021-08-19 14:24:22 +0200 <dminuoso> I hated myself every time I used a typeclass for it and reverted it.
2021-08-19 14:25:45 +0200 <timCF> dminuoso: merijn: I'll take a look at pretty-show, maybe with it I can somehow make ByteString fields more readable without creating new classes, using GHC.Generics or TH
2021-08-19 14:26:15 +0200Obo(~roberto@78.77.166.185) (Quit: WeeChat 2.8)
2021-08-19 14:28:17 +0200arjun(~user@user/arjun) (Ping timeout: 248 seconds)
2021-08-19 14:30:00 +0200arjun(~user@user/arjun)
2021-08-19 14:30:45 +0200MoC(~moc@user/moc)
2021-08-19 14:32:59 +0200arjun(~user@user/arjun) (Remote host closed the connection)
2021-08-19 14:34:01 +0200chomwitt(~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374) (Ping timeout: 258 seconds)
2021-08-19 14:34:47 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-08-19 14:37:43 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-19 14:38:15 +0200dschrempf(~dominik@92-249-159-252.pool.digikabel.hu) (Quit: WeeChat 3.2)
2021-08-19 14:41:24 +0200acidjnk_new3(~acidjnk@p200300d0c72b950070172e7c3c578523.dip0.t-ipconnect.de)
2021-08-19 14:44:30 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-19 14:44:37 +0200acidjnk_new(~acidjnk@p200300d0c72b952850c7a959aba8feb6.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-08-19 14:46:02 +0200xsperry(~as@user/xsperry) (Ping timeout: 256 seconds)
2021-08-19 14:50:30 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca)
2021-08-19 14:57:28 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 252 seconds)
2021-08-19 15:03:08 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 15:03:38 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 15:05:27 +0200kenran(~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version)
2021-08-19 15:06:43 +0200 <siers> Is there some operation for Just a +++ Just b = Just (a max b)? the "max" could probably be something generic implemented by some typeclass
2021-08-19 15:06:56 +0200Atum_(~IRC@user/atum/x-2392232) (Remote host closed the connection)
2021-08-19 15:07:12 +0200 <siers> and the rest would be like for monad alternative – Nothing^2 = Nothing, Just + Nothing = Just and vice versa
2021-08-19 15:07:13 +0200 <merijn> siers: Yes!
2021-08-19 15:07:27 +0200 <merijn> siers: That's just Monoid + Max newtype :p
2021-08-19 15:07:40 +0200 <merijn> > Just (Max 1) <> Just (Max 3)
2021-08-19 15:07:42 +0200 <lambdabot> error:
2021-08-19 15:07:42 +0200 <lambdabot> • Data constructor not in scope: Max :: t0 -> a
2021-08-19 15:07:42 +0200 <lambdabot> • Perhaps you meant variable ‘max’ (imported from Data.Ord)error:
2021-08-19 15:07:47 +0200 <merijn> aww
2021-08-19 15:08:01 +0200 <merijn> > Just (Data.Semigroup.Max 1) <> Just (Data.Semigroup.Max 3)
2021-08-19 15:08:03 +0200 <lambdabot> error:
2021-08-19 15:08:03 +0200 <lambdabot> Not in scope: data constructor ‘Data.Semigroup.Max’
2021-08-19 15:08:03 +0200 <lambdabot> No module named ‘Data.Semigroup’ is imported.error:
2021-08-19 15:08:07 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-19 15:08:08 +0200 <siers> what about Nothing +++ Just 1 = Just 1?
2021-08-19 15:08:16 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-19 15:08:30 +0200 <merijn> siers: Nothing is the identity elements, so yes :)
2021-08-19 15:08:45 +0200 <merijn> Or you want Alternative maybe?
2021-08-19 15:09:07 +0200 <merijn> :t mplus
2021-08-19 15:09:08 +0200 <lambdabot> MonadPlus m => m a -> m a -> m a
2021-08-19 15:09:14 +0200 <siers> hm, I was certain it's not going to be a monoid... good that it is
2021-08-19 15:09:40 +0200 <merijn> % import Data.Semigroup(Max(..))
2021-08-19 15:09:40 +0200 <yahb> merijn:
2021-08-19 15:09:53 +0200 <merijn> % Just (Max 1) <> Just (Max 2)
2021-08-19 15:09:53 +0200 <yahb> merijn: Just (Max {getMax = 2})
2021-08-19 15:10:00 +0200 <merijn> % Just (Max 1) <> Nothing
2021-08-19 15:10:00 +0200 <yahb> merijn: Just (Max {getMax = 1})
2021-08-19 15:10:10 +0200 <siers> nice... I really like monoids
2021-08-19 15:10:26 +0200 <merijn> You'll need to fmap a getMax over the Maybe in the end, but other than that it just works
2021-08-19 15:10:30 +0200 <merijn> Everyone loves monoids :)
2021-08-19 15:11:52 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-19 15:12:18 +0200derelict(~derelict@user/derelict)
2021-08-19 15:12:36 +0200favonia(~favonia@user/favonia)
2021-08-19 15:13:16 +0200img(~img@user/img)
2021-08-19 15:14:29 +0200 <maerwald> packBytes uses `List.length` on the input, does that mean it won't fuse? https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.Internal.html#pac…
2021-08-19 15:15:43 +0200Obo(~roberto@78.77.166.185)
2021-08-19 15:19:29 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-19 15:21:00 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-19 15:21:07 +0200sleblanc(~sleblanc@user/sleblanc) (Ping timeout: 252 seconds)
2021-08-19 15:21:29 +0200xsperry(~as@user/xsperry)
2021-08-19 15:24:17 +0200Obo(~roberto@78.77.166.185) (Ping timeout: 248 seconds)
2021-08-19 15:26:23 +0200 <kuribas> Is there a decent defaults package?
2021-08-19 15:26:43 +0200 <merijn> defaults?
2021-08-19 15:26:54 +0200 <kuribas> data-default-class is from 2016, and doesn't support many types, like Text, Map, etc...
2021-08-19 15:27:18 +0200acidjnk_new3(~acidjnk@p200300d0c72b950070172e7c3c578523.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2021-08-19 15:27:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-19 15:27:19 +0200 <merijn> That's because it's a dumb class
2021-08-19 15:27:28 +0200 <kuribas> perhaps, but it's useful :)
2021-08-19 15:27:42 +0200 <merijn> Disagree :p
2021-08-19 15:27:51 +0200 <kuribas> well, it's useful for me.
2021-08-19 15:28:02 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-19 15:28:07 +0200 <merijn> I doubt you'll find anything better, tbh
2021-08-19 15:28:10 +0200 <kuribas> for example, I need to insert a record into the database, where some fields are ignored.
2021-08-19 15:28:29 +0200 <kuribas> I want to just fill them with defaults, rather than having to write a value for each.
2021-08-19 15:29:00 +0200jolly(~jolly@208.180.97.158) (Quit: Connection closed)
2021-08-19 15:29:12 +0200 <merijn> I mean, you can accomplish that by just defining a partially applied record that you update or a pattern synonym too?
2021-08-19 15:29:19 +0200 <merijn> How does the default class help?
2021-08-19 15:29:33 +0200 <kuribas> not at all
2021-08-19 15:30:15 +0200 <kuribas> I cannot insert a partially applied record into the database.
2021-08-19 15:30:39 +0200 <merijn> I mean, just fill the default and update that during parsing
2021-08-19 15:30:48 +0200 <kuribas> by hand?
2021-08-19 15:31:30 +0200 <merijn> As opposed to?
2021-08-19 15:31:59 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 15:32:06 +0200 <kuribas> using Generic
2021-08-19 15:32:08 +0200 <kuribas> Generics
2021-08-19 15:32:47 +0200 <merijn> I don't really see how Generics would help? You need to specify what the defaults are somehow
2021-08-19 15:34:42 +0200 <kuribas> merijn: it derives them.
2021-08-19 15:34:45 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-19 15:35:00 +0200 <kuribas> For example data Foo = Foo Int String => def = Foo 0 ""
2021-08-19 15:35:04 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 15:35:19 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-19 15:35:32 +0200 <merijn> And all your defaults happen to exactly match the default values for all types?
2021-08-19 15:35:42 +0200 <kuribas> I don't really care what goes there.
2021-08-19 15:36:02 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 15:36:03 +0200pmk(~user@2a02:587:941a:35d9:8f9c:6cb6:67dc:f5e3) (Remote host closed the connection)
2021-08-19 15:36:07 +0200 <kuribas> They should be ignored anyway.
2021-08-19 15:36:13 +0200Guest23(~Guest23@5.44.169.233)
2021-08-19 15:36:35 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 15:37:00 +0200chomwitt(~chomwitt@ppp-94-67-193-240.home.otenet.gr)
2021-08-19 15:37:08 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 15:37:31 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 15:40:09 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-08-19 15:44:14 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 15:46:10 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
2021-08-19 15:48:33 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net)
2021-08-19 15:48:48 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-19 15:54:10 +0200Guest666(~Guest666@5.44.169.233)
2021-08-19 15:54:17 +0200Guest666(~Guest666@5.44.169.233) ()
2021-08-19 15:57:10 +0200Guest23(~Guest23@5.44.169.233) ()
2021-08-19 15:58:00 +0200Obo(~roberto@78.77.166.185)
2021-08-19 15:58:03 +0200Obo(~roberto@78.77.166.185) (Client Quit)
2021-08-19 15:58:31 +0200nschoe(~quassel@178.251.84.79) (Ping timeout: 252 seconds)
2021-08-19 16:00:28 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 16:02:26 +0200glider_glider
2021-08-19 16:02:28 +0200jiribenes(~jiribenes@rosa.jiribenes.com) (Remote host closed the connection)
2021-08-19 16:03:12 +0200jiribenes(~jiribenes@rosa.jiribenes.com)
2021-08-19 16:03:28 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-19 16:05:13 +0200venue(~venue@user/venue)
2021-08-19 16:05:49 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 16:07:05 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-19 16:08:10 +0200keutoi(~keutoi@157.48.212.99) (Ping timeout: 240 seconds)
2021-08-19 16:08:10 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 16:09:02 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 16:10:18 +0200keutoi(~keutoi@106.208.52.146)
2021-08-19 16:12:32 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-19 16:13:22 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-08-19 16:18:58 +0200lortabac(~lortabac@62.98.47.131) (Quit: WeeChat 2.8)
2021-08-19 16:19:59 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 16:20:22 +0200nschoe(~quassel@178.251.84.79)
2021-08-19 16:20:22 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 16:22:40 +0200keutoi(~keutoi@106.208.52.146) (Ping timeout: 240 seconds)
2021-08-19 16:23:04 +0200timCF(~timCF@m91-129-108-244.cust.tele2.ee) (Quit: leaving)
2021-08-19 16:23:15 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 16:24:43 +0200keutoi(~keutoi@157.47.62.21)
2021-08-19 16:26:27 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 16:28:27 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Ping timeout: 245 seconds)
2021-08-19 16:29:19 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 16:30:07 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 16:36:23 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-19 16:39:46 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2021-08-19 16:40:27 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 16:41:26 +0200tommd(~tommd@75-164-130-101.ptld.qwest.net)
2021-08-19 16:42:10 +0200rovert(uid389732@id-389732.tooting.irccloud.com)
2021-08-19 16:42:31 +0200keutoi(~keutoi@157.47.62.21) (Ping timeout: 252 seconds)
2021-08-19 16:42:36 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-19 16:44:11 +0200keutoi(~keutoi@106.208.52.146)
2021-08-19 16:45:25 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 16:48:15 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 16:50:06 +0200enoq(~enoq@2a05:1141:1f5:5600:eb83:919c:c248:eabe)
2021-08-19 16:50:28 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 268 seconds)
2021-08-19 16:50:40 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-08-19 16:51:21 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 16:52:57 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 16:54:53 +0200jespada(~jespada@90.254.247.46) (Quit: Textual IRC Client: www.textualapp.com)
2021-08-19 16:56:17 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 16:56:18 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-19 16:56:33 +0200Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 248 seconds)
2021-08-19 16:57:52 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-19 16:58:48 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-08-19 16:58:50 +0200d0ku(~d0ku@178.43.198.70.ipv4.supernova.orange.pl)
2021-08-19 17:00:40 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 252 seconds)
2021-08-19 17:02:19 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-08-19 17:02:24 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 17:02:28 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
2021-08-19 17:03:26 +0200kuribas(~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-08-19 17:04:10 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-19 17:09:28 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2021-08-19 17:10:02 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 17:11:54 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 17:14:11 +0200jespada(~jespada@90.254.247.46)
2021-08-19 17:15:23 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 17:15:59 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-19 17:19:35 +0200tfeb(~tfb@88.98.95.237)
2021-08-19 17:20:31 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 17:22:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-19 17:22:32 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-19 17:22:45 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-19 17:26:23 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 17:28:15 +0200 <dsal> It seems that if you're storing data your intend to ignore, it'd be better to not store it.
2021-08-19 17:28:19 +0200byorgey(~byorgey@155.138.238.211) (Quit: leaving)
2021-08-19 17:29:32 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-19 17:30:01 +0200hendursaga(~weechat@user/hendursaga)
2021-08-19 17:30:49 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-19 17:30:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-19 17:31:26 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 17:31:56 +0200kuribas(~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be)
2021-08-19 17:32:32 +0200 <kuribas> if I run cabal-repl, then load a package (for example :set -package pretty-simple), it has unloaded my project?
2021-08-19 17:32:35 +0200 <kuribas> How can I load a package without unloading what is there?
2021-08-19 17:35:11 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-08-19 17:35:19 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds)
2021-08-19 17:35:39 +0200polyphem(~polyphem@ip5f5ac3ae.dynamic.kabel-deutschland.de)
2021-08-19 17:35:40 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 240 seconds)
2021-08-19 17:39:12 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 268 seconds)
2021-08-19 17:39:42 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-08-19 17:39:44 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 17:40:06 +0200 <kuribas> it's just very annoying...
2021-08-19 17:40:19 +0200 <c_wraith> kuribas: add the extra packages when starting the repl with extra -b arguments
2021-08-19 17:40:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 17:40:54 +0200 <kuribas> c_wraith: so you cannot load into a running ghci?
2021-08-19 17:41:37 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-08-19 17:42:56 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-19 17:43:28 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2021-08-19 17:43:44 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-08-19 17:43:59 +0200 <c_wraith> I mean, I guess you can, then :load modules from your current package afterwards
2021-08-19 17:44:13 +0200 <c_wraith> but it's always going to clear local definitions
2021-08-19 17:44:58 +0200 <kuribas> that's kinda ok.
2021-08-19 17:46:44 +0200 <c_wraith> .... tbh, I kind of think cabal repl's choice to load all exposed modules in your package is weird anyway
2021-08-19 17:47:40 +0200 <kuribas> does it load the modules, or only make them available?
2021-08-19 17:47:42 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2021-08-19 17:49:24 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt)
2021-08-19 17:49:39 +0200 <kuribas> I do :set -package pretty-simple, then import Snapshot.CSV => Could not find module 'Snapshot.CSV'
2021-08-19 17:51:04 +0200 <kuribas> hmm :l works
2021-08-19 17:51:22 +0200 <c_wraith> yes, :load is for source, import is for compiled code in packages you depend on
2021-08-19 17:51:37 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-19 17:53:28 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-08-19 17:53:40 +0200 <kuribas> What if I want to create something in one module, then apply functions from another module to it?
2021-08-19 17:53:50 +0200 <kuribas> All this is pretty easy in clojure...
2021-08-19 17:54:36 +0200econo(uid147250@user/econo)
2021-08-19 17:54:47 +0200 <c_wraith> then... just do it?
2021-08-19 17:55:09 +0200 <c_wraith> Err. I don't mean in response to the Clojure remark.
2021-08-19 17:55:15 +0200 <c_wraith> I mean you can load multiple files
2021-08-19 17:55:25 +0200 <kuribas> load doesn't unload existing bindings?
2021-08-19 17:56:12 +0200 <c_wraith> it does
2021-08-19 17:56:46 +0200haskl[error](~haskl@98.37.78.63) (Read error: Connection reset by peer)
2021-08-19 17:56:48 +0200 <kuribas> so I load a value using one module, then the binding is gone when I load the other...
2021-08-19 17:56:55 +0200 <c_wraith> just load both
2021-08-19 17:57:44 +0200wxallowed(~d4@151.51.135.6) ()
2021-08-19 17:58:24 +0200haskl(~haskl@98.37.78.63)
2021-08-19 17:58:40 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 240 seconds)
2021-08-19 17:59:49 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 18:01:03 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 18:01:16 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-19 18:02:45 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-19 18:02:47 +0200 <kuribas> in which case there is no point in using cabal-repl?
2021-08-19 18:02:58 +0200 <c_wraith> Oh, I see. When you :load multiple source files, only the first one is put in scope automatically. You have to import the rest
2021-08-19 18:03:20 +0200 <kuribas> except the rest is not anymore availble
2021-08-19 18:03:48 +0200 <c_wraith> ... are you not using :load with multiple files at once?
2021-08-19 18:04:24 +0200 <sclv> :mod+ or import also work to manage scope
2021-08-19 18:04:48 +0200 <c_wraith> because I assure you, you can load and work with multiple modules at once.
2021-08-19 18:04:50 +0200Atum_(~IRC@user/atum/x-2392232) (Remote host closed the connection)
2021-08-19 18:05:07 +0200 <kuribas> hmm, ok then
2021-08-19 18:05:49 +0200 <c_wraith> :load Foo Bar will make both available, and put Foo into scope. You can import Bar afterwards to have both in scope
2021-08-19 18:06:55 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-19 18:07:36 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-19 18:07:41 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 18:08:10 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 18:08:52 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-19 18:09:26 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2021-08-19 18:10:42 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 18:13:06 +0200 <c_wraith> anyway. Things like this have fewer gotchas in clojure because lisp is based on mutating the global environment all the time anyway. def mutates the global bindings available. The language semantics are centered around mutating the global bindings. Haskell assumes the global bindings are a static list. So if you change them, GHC has chosen the ultra-conservative approach of restarting from scratch, because a lot of things weren't designed to handle
2021-08-19 18:13:06 +0200 <c_wraith> it otherwise.
2021-08-19 18:13:06 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
2021-08-19 18:13:48 +0200 <kuribas> yeah, it would be theoretically possible, but very hard to implement.
2021-08-19 18:13:52 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-19 18:14:04 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-19 18:15:35 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: No Ping reply in 180 seconds.)
2021-08-19 18:15:36 +0200 <c_wraith> It's especially annoying with modules that unsafePerformIO constants into their top-level bindings.
2021-08-19 18:16:22 +0200vs^(~vs@209.65.131.194) (Remote host closed the connection)
2021-08-19 18:16:27 +0200 <c_wraith> Particularly when it's something like a global MVar that the module uses as a mutex
2021-08-19 18:16:44 +0200 <c_wraith> Which isn't a great design, but I've seen packages do it
2021-08-19 18:17:34 +0200 <c_wraith> and I understand the impulse when binding to C libraries that corrupt their own memory when called concurrently
2021-08-19 18:17:57 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-19 18:19:01 +0200 <c_wraith> Like.. there actually isn't a good alternative in that case. Nothing is safe!
2021-08-19 18:19:21 +0200 <kuribas> but many lisps also allow side effects at module level.
2021-08-19 18:19:27 +0200 <kuribas> They just give up on safety...
2021-08-19 18:19:39 +0200 <kuribas> although probably not segfault...
2021-08-19 18:20:03 +0200 <c_wraith> but at least module designers think about dynamic loading when writing code that does that.
2021-08-19 18:20:18 +0200 <c_wraith> Haskell authors tend not to, because it's not a language feature.
2021-08-19 18:20:51 +0200 <kuribas> well, IMO haskell authors shouldn't do that...
2021-08-19 18:21:30 +0200 <kuribas> Put mutable variables in global variables.
2021-08-19 18:21:53 +0200bebenon(~ayurev@8.42.52.35)
2021-08-19 18:22:00 +0200 <c_wraith> Until dynamic loading gets involved, it's the least-bad way to handle bindings to C libraries that don't provide a thread-safe interface
2021-08-19 18:22:11 +0200Cesionaut[m](~cesionaut@2001:470:69fc:105::dd3b)
2021-08-19 18:22:27 +0200 <kuribas> ah right
2021-08-19 18:22:30 +0200 <c_wraith> when dynamic loading gets involved, every way to handle bindings to such a library is bad
2021-08-19 18:24:01 +0200mjrosenb_(~mrosenbe@nyc.schrodinger.com) (Ping timeout: 248 seconds)
2021-08-19 18:24:05 +0200Atum_(~IRC@user/atum/x-2392232) (Remote host closed the connection)
2021-08-19 18:24:27 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-19 18:25:48 +0200mjrosenb(~mrosenbe@nyc.schrodinger.com)
2021-08-19 18:27:07 +0200cuolin^(~cuolin@209.65.131.194)
2021-08-19 18:27:38 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-08-19 18:29:09 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-08-19 18:30:27 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-19 18:30:29 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-08-19 18:33:00 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-19 18:34:12 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-08-19 18:34:47 +0200d0ku(~d0ku@178.43.198.70.ipv4.supernova.orange.pl) (Remote host closed the connection)
2021-08-19 18:35:32 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Client Quit)
2021-08-19 18:36:06 +0200Atum_(~IRC@user/atum/x-2392232) (Remote host closed the connection)
2021-08-19 18:36:44 +0200bebenon(~ayurev@8.42.52.35) (Quit: Konversation terminated!)
2021-08-19 18:37:15 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-19 18:37:28 +0200nschoe(~quassel@178.251.84.79) (Ping timeout: 252 seconds)
2021-08-19 18:37:30 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-08-19 18:38:25 +0200Moyst(~moyst@user/moyst) (Ping timeout: 248 seconds)
2021-08-19 18:40:17 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Remote host closed the connection)
2021-08-19 18:41:12 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-08-19 18:42:23 +0200sander(~sander@user/sander) (Quit: So long! :))
2021-08-19 18:42:25 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 258 seconds)
2021-08-19 18:43:13 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 18:45:08 +0200Moyst(~moyst@user/moyst)
2021-08-19 18:45:12 +0200sander(~sander@user/sander)
2021-08-19 18:45:18 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-19 18:46:18 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-19 18:50:40 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2021-08-19 18:54:04 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
2021-08-19 18:54:04 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 18:55:01 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-08-19 18:59:10 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2021-08-19 19:01:27 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-19 19:04:04 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-19 19:07:05 +0200 <siers> is it possible to diff basic types with this? https://hackage.haskell.org/package/gdiff-1.1/docs/Data-Generic-Diff.html#t:Family
2021-08-19 19:07:12 +0200 <siers> the html anchor was accidental
2021-08-19 19:07:51 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 19:08:49 +0200 <siers> I was thinking lists of, say, ints
2021-08-19 19:09:32 +0200 <siers> it seems like a cool idea, but I am a bit too incompetent to figure out how to make use of it as for now
2021-08-19 19:10:22 +0200pavonia(~user@user/siracusa)
2021-08-19 19:12:10 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
2021-08-19 19:12:21 +0200 <siers> ah, the pdf in the docs should have examples, apparently
2021-08-19 19:13:16 +0200catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 272 seconds)
2021-08-19 19:13:52 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 245 seconds)
2021-08-19 19:14:34 +0200keltono(~kelton@x-160-94-179-178.acm.umn.edu) (Ping timeout: 240 seconds)
2021-08-19 19:14:53 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-19 19:15:32 +0200keltono(~kelton@x-160-94-179-178.acm.umn.edu)
2021-08-19 19:15:39 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2021-08-19 19:19:07 +0200 <siers> it probably doesn't work with lists, because it needs a GADT-defined type, it seems
2021-08-19 19:19:48 +0200 <lechner> Hi, here is a nice personal article from the Haskell Weekly https://cscalfani.medium.com/why-is-learning-functional-programming-so-damned-hard-bfd00202a7d1
2021-08-19 19:21:59 +0200mnrmnaughKeziahMason
2021-08-19 19:24:40 +0200spruit11(~quassel@2a02:a467:ccd6:1:2d8e:31e9:d2b5:c97d) (Ping timeout: 240 seconds)
2021-08-19 19:25:10 +0200keutoi(~keutoi@106.208.52.146) (Ping timeout: 240 seconds)
2021-08-19 19:25:10 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-08-19 19:25:28 +0200 <tomsmeding> siers: you _could_ use that library, but it's probably too focused on diffing trees (ADTs are trees, really) as opposed to diffing lists
2021-08-19 19:25:50 +0200 <tomsmeding> like, you could define a GADT that is just a cons list, map a [] list to that, diff, and convert back
2021-08-19 19:26:02 +0200 <tomsmeding> but you're probably better off using a dedicated algorithm for diffing lists of things
2021-08-19 19:27:00 +0200keutoi(~keutoi@223.238.95.231)
2021-08-19 19:27:15 +0200 <tomsmeding> siers: possible alternative: https://hackage.haskell.org/package/patience-0.3/docs/Patience.html (note: just found this lib on hackage, never used it personally)
2021-08-19 19:27:39 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 19:27:54 +0200nschoe(~quassel@2a01:e0a:8e:a190:54dd:c68a:57b4:f0fd)
2021-08-19 19:28:40 +0200 <sclv> the standard diff pkg can diff lists of anything with eq
2021-08-19 19:29:49 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-08-19 19:29:59 +0200 <tomsmeding> that would be https://hackage.haskell.org/package/Diff , which is used in https://hackage.haskell.org/package/diff3
2021-08-19 19:30:20 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-08-19 19:30:25 +0200 <siers> I was wanting to play with a package that can do both lists and trees
2021-08-19 19:31:52 +0200nschoe(~quassel@2a01:e0a:8e:a190:54dd:c68a:57b4:f0fd) (Client Quit)
2021-08-19 19:33:01 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 252 seconds)
2021-08-19 19:34:01 +0200 <dsal> lechner: That's interesting. A shorter story, imo, is that unlearning is harder than learning.
2021-08-19 19:34:36 +0200 <lechner> yeah, i thought it was a bit long too
2021-08-19 19:35:48 +0200 <lechner> at least i'm not alone
2021-08-19 19:36:01 +0200KeziahMason(~mnrmnaugh@68.162.206.56) (Ping timeout: 248 seconds)
2021-08-19 19:38:47 +0200spruit11(~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58)
2021-08-19 19:39:22 +0200 <monochrom> No, it is me who is alone.
2021-08-19 19:39:35 +0200 <lechner> in what?
2021-08-19 19:40:19 +0200 <tomsmeding> siers: ah I think you only have to make a suitable description GADT and Family instance to be able to diff lists using gdiff
2021-08-19 19:40:25 +0200 <monochrom> I learn by starting from clean slate. My mind has some unusual ability of doing that. Resisting from making premature "connection" "analogy" with what I previously knew.
2021-08-19 19:41:18 +0200 <Lycurgus> O.o
2021-08-19 19:41:28 +0200 <monochrom> I learned FP on its own terms, not by "how to translate to/from the Pascal and C I have so fondly known"
2021-08-19 19:42:13 +0200 <Lycurgus> when them was things
2021-08-19 19:42:54 +0200 <monochrom> Besides, recursion really makes more sense than iteration. Recursion enjoys induction directly. Iteration is more indirect.
2021-08-19 19:43:46 +0200 <lechner> monochrom: were you motivated by a desire to reduce bugs, or did you like Haskell for other reasons?
2021-08-19 19:44:03 +0200 <Lycurgus> i remember about a half century ago asking in my first IT job what recursion was
2021-08-19 19:44:09 +0200qbt(~edun@user/edun) (Remote host closed the connection)
2021-08-19 19:44:20 +0200 <Rembane_> Lycurgus: Did they answer with: "See recursion." ?
2021-08-19 19:44:29 +0200 <monochrom> I am motivated by the desire to reduce bugs all my life. Haskell helps, yes. But not the only way.
2021-08-19 19:44:36 +0200qbt(~edun@user/edun)
2021-08-19 19:44:41 +0200 <lechner> Rembane_: that's funny!
2021-08-19 19:44:48 +0200 <Lycurgus> no it was an RPG shop on 370/120
2021-08-19 19:44:52 +0200 <monochrom> But Haskell happens to have almost everything I like.
2021-08-19 19:44:58 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 19:45:00 +0200 <Lycurgus> or 115 or whatever the low end
2021-08-19 19:45:15 +0200 <lechner> monochrom: what's missing?
2021-08-19 19:45:39 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 19:45:40 +0200spruit11(~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58) (Ping timeout: 258 seconds)
2021-08-19 19:46:12 +0200 <Rembane_> lechner: ^^
2021-08-19 19:46:29 +0200 <Rembane_> Lycurgus: Good name.
2021-08-19 19:46:31 +0200 <monochrom> Sometimes I still like low-level programming. Sometimes I still like parameterized modules.
2021-08-19 19:46:40 +0200 <monochrom> Sometimes I sitll like real records.
2021-08-19 19:46:51 +0200 <Lycurgus> we love hs but the masses never will
2021-08-19 19:46:59 +0200 <maerwald> why should they
2021-08-19 19:47:04 +0200 <maerwald> let them do python
2021-08-19 19:47:11 +0200 <Lycurgus> js
2021-08-19 19:47:15 +0200 <monochrom> Yeah please don't let the mass like Haskell. They would ruin it.
2021-08-19 19:47:43 +0200 <lechner> rust
2021-08-19 19:47:48 +0200 <Lycurgus> Rembane_, ty
2021-08-19 19:48:00 +0200 <maerwald> lechner: that's just a word, you know?
2021-08-19 19:48:07 +0200 <chreekat[m]> I'm hoping people are joking right now
2021-08-19 19:48:18 +0200 <monochrom> If the mass would join Haskell, it would not mean they join Haskell's way, it would mean Haskell join their way.
2021-08-19 19:48:29 +0200 <tomsmeding> siers: seems to work for me! https://paste.tomsmeding.com/3OU31Hii
2021-08-19 19:48:51 +0200 <maerwald> Many seem obsessed with the idea of broadening adoption of haskell in industry. Sure, more jobs to pick.
2021-08-19 19:48:57 +0200 <maerwald> But...
2021-08-19 19:49:17 +0200 <maerwald> Maybe we never should have... what happened to the language meanwhile?
2021-08-19 19:49:22 +0200 <Lycurgus> hs has cachet where it should in academe
2021-08-19 19:49:41 +0200 <Lycurgus> in industry it's analogous to smalltalk in the 90s
2021-08-19 19:49:47 +0200 <Lycurgus> big in finance
2021-08-19 19:49:51 +0200 <lechner> that's ocaml
2021-08-19 19:49:58 +0200 <Lycurgus> biggy little
2021-08-19 19:50:01 +0200 <lechner> -- in academe
2021-08-19 19:50:04 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-08-19 19:50:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-19 19:50:40 +0200 <Lycurgus> i see way more haskell than ocaml in academic projects
2021-08-19 19:51:12 +0200 <Lycurgus> if it wasn't for coq ... .
2021-08-19 19:51:19 +0200chreekat[m](~bchreekat@2001:470:69fc:105::16b5) ()
2021-08-19 19:51:55 +0200 <lechner> how about the proportion academic/commercial?
2021-08-19 19:52:08 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-19 19:52:14 +0200KeziahMason(~mnrmnaugh@68.162.206.56)
2021-08-19 19:52:18 +0200 <Lycurgus> oh for ocaml yeah maybe
2021-08-19 19:53:17 +0200 <Lycurgus> also if there were glyphs between proportion and academic they didn make to my client
2021-08-19 19:54:16 +0200 <Lycurgus> *make it
2021-08-19 19:54:22 +0200 <lechner> i use a lot of spaces to separate symbols from text
2021-08-19 19:54:23 +0200 <monochrom> I met SML before Haskell. I then ditched SML for Haskell because "IO Int" is better than "() -> Int".
2021-08-19 19:54:27 +0200 <Lycurgus> ah
2021-08-19 19:54:40 +0200zaquest(~notzaques@5.128.210.178) (Ping timeout: 240 seconds)
2021-08-19 19:56:16 +0200 <monochrom> John Hughes lazy-list argument also helped.
2021-08-19 19:56:42 +0200 <monochrom> And if you think about it, those two points must come hand-in-hand, you can't separate them.
2021-08-19 19:56:53 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 19:58:51 +0200zaquest(~notzaques@5.128.210.178)
2021-08-19 19:59:19 +0200 <tomsmeding> you could have a strict language with sensible IO Int, right?
2021-08-19 19:59:23 +0200 <tomsmeding> IO doesn't use laziness
2021-08-19 19:59:33 +0200spruit11(~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58)
2021-08-19 20:00:20 +0200 <monochrom> You would also find yourself not needing the IO special type.
2021-08-19 20:01:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 20:01:42 +0200 <monochrom> Laziness drives drawing a thick line between pure FP and I/O, because lazy I/O would be madness, you want laziness to be confined to the pure FP sublanguage.
2021-08-19 20:02:15 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-19 20:02:44 +0200 <monochrom> And wanting a pure FP sublanguage drives wanting laziness, because eager pure FP loses a lot of efficient algorithms, but you can regain some alternative efficient algorithms from laziness.
2021-08-19 20:03:03 +0200nschoe(~quassel@2a01:e0a:8e:a190:5e4f:be4b:9603:951e)
2021-08-19 20:03:21 +0200 <lechner> i get that lazy output is crazy, but why lazy input too?
2021-08-19 20:04:10 +0200spruit11(~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58) (Ping timeout: 240 seconds)
2021-08-19 20:04:19 +0200 <tomsmeding> monochrom: right, you indirectly want laziness because pure FP is less powerful without that?
2021-08-19 20:04:29 +0200 <tomsmeding> didn't think about that, but makes sense I guess
2021-08-19 20:04:38 +0200tfeb(~tfb@88.98.95.237)
2021-08-19 20:05:05 +0200 <monochrom> main = do { putStrLn "please enter the 1st string"; s1 <- getLine; putStrLn "please enter the 2nd string"; s2 <- getLine; putStrLn ("your 2nd string is " ++ s2); putStrLn ("your 1st string is " ++ s1) }
2021-08-19 20:05:30 +0200 <monochrom> Describe its order of reading input under lazy input.
2021-08-19 20:06:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-19 20:06:06 +0200 <monochrom> In fact, you can s/getLine/unsafeInterleaveIO getLine/ to actually try it on a real computer.
2021-08-19 20:06:47 +0200 <glguy> unsafeInterleaveIO getLine won't be as dramatically lazy as something that was per-character lazy
2021-08-19 20:06:52 +0200 <lechner> maybe lazy does not mean what i thought
2021-08-19 20:06:55 +0200 <glguy> so you won't get the full confusing experience
2021-08-19 20:07:30 +0200 <monochrom> Well yeah I'm too lazy to come up with a character-level example.
2021-08-19 20:07:46 +0200 <lechner> how can something be evaluated before a character arrives?
2021-08-19 20:07:46 +0200spruit11(~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58)
2021-08-19 20:08:22 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-19 20:08:25 +0200hueso(~root@user/hueso) (Ping timeout: 268 seconds)
2021-08-19 20:08:35 +0200 <lechner> that's the wrong way of looking at it
2021-08-19 20:08:40 +0200hueso(~root@user/hueso)
2021-08-19 20:08:42 +0200 <monochrom> Oh lazy evaluation has never meant anything that anyone intuitively thought.
2021-08-19 20:09:13 +0200 <monochrom> It's why everyone doesn't understand lazy evaluation.
2021-08-19 20:09:43 +0200 <monochrom> Even within just the super-nice pure FP sublanguage.
2021-08-19 20:10:06 +0200KeziahMasonmnrmnaugh
2021-08-19 20:11:10 +0200alx741(~alx741@181.196.69.234) (Quit: alx741)
2021-08-19 20:12:08 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 268 seconds)
2021-08-19 20:12:50 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-19 20:14:09 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 20:14:41 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 20:14:59 +0200solomon(~solomon@cpe-76-168-7-139.socal.res.rr.com)
2021-08-19 20:15:23 +0200solomon(~solomon@cpe-76-168-7-139.socal.res.rr.com) (Client Quit)
2021-08-19 20:16:24 +0200 <lechner> Hi, is this the right way to clean cabal's old build artifacts? https://hackage.haskell.org/package/cabal-clean
2021-08-19 20:17:21 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-08-19 20:17:54 +0200 <lechner> my CABAL_DIR is 14 G
2021-08-19 20:18:41 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 20:20:08 +0200 <[exa]> rm -fr
2021-08-19 20:21:25 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2021-08-19 20:21:33 +0200hegstal(~hegstal@2a02:c7f:7604:8a00:8208:62c2:1345:18fb) (Remote host closed the connection)
2021-08-19 20:21:41 +0200 <eggplantade> remove (for real)
2021-08-19 20:22:49 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-19 20:23:06 +0200polyphem(~polyphem@ip5f5ac3ae.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-08-19 20:23:56 +0200 <lechner> okay, thanks for confirming!
2021-08-19 20:23:58 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
2021-08-19 20:24:09 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Remote host closed the connection)
2021-08-19 20:24:26 +0200 <lechner> unsaid: i came to that conclusion too
2021-08-19 20:25:04 +0200 <[exa]> I'm doing that pretty much regularly
2021-08-19 20:25:19 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
2021-08-19 20:25:22 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-19 20:25:28 +0200 <[exa]> you usually pay some recompilation time for it, but whatevs.
2021-08-19 20:26:00 +0200 <lechner> just 'store' ?
2021-08-19 20:26:35 +0200 <kuribas> oh, overloaded labels are pretty nice! I am replacing "getField @"act_from" site" with "view #act_from site"
2021-08-19 20:27:03 +0200 <kuribas> looks much cleaner
2021-08-19 20:27:55 +0200cryptogainz(~cryptogai@130-248-144-85.ftth.glasoperator.nl)
2021-08-19 20:29:21 +0200 <cryptogainz> hey guys!
2021-08-19 20:30:39 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 20:31:14 +0200 <kuribas> records are really nice with generic-lens + overloaded labels + duplicate record fields + named field puns + record wild cards
2021-08-19 20:33:12 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Remote host closed the connection)
2021-08-19 20:33:38 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
2021-08-19 20:33:39 +0200polyphem(~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Remote host closed the connection)
2021-08-19 20:34:15 +0200 <kuribas> and a little library I wrote to get record subsets, and generic mapping over fields: https://hackage.haskell.org/package/record-operations
2021-08-19 20:35:46 +0200nschoe(~quassel@2a01:e0a:8e:a190:5e4f:be4b:9603:951e) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-08-19 20:36:42 +0200amk(~amk@176.61.106.150) (Ping timeout: 245 seconds)
2021-08-19 20:38:34 +0200[Kalisto](~nico@user/kalisto/x-8968079) (Ping timeout: 258 seconds)
2021-08-19 20:38:52 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2021-08-19 20:40:42 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-19 20:41:44 +0200rovert(uid389732@id-389732.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-19 20:43:49 +0200keutoi(~keutoi@223.238.95.231) (Quit: leaving)
2021-08-19 20:44:03 +0200Cajun(~Cajun@user/cajun) (Quit: Client closed)
2021-08-19 20:46:02 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-19 20:49:35 +0200 <cryptogainz> Anyone here looking to Cardano (Plutus) development?
2021-08-19 20:51:07 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-08-19 20:53:17 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-19 21:00:26 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
2021-08-19 21:00:26 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (*.net *.split)
2021-08-19 21:00:26 +0200Arsen(~arsen@managarm/dev/Arsen) (*.net *.split)
2021-08-19 21:00:26 +0200thaumavorio(~thaumavor@thaumavor.io) (*.net *.split)
2021-08-19 21:00:26 +0200idf(~idf@198.23.223.146) (*.net *.split)
2021-08-19 21:00:26 +0200ellie(~ellie@user/ellie) (*.net *.split)
2021-08-19 21:00:26 +0200Unode(~Unode@194.94.44.220) (*.net *.split)
2021-08-19 21:00:26 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001) (*.net *.split)
2021-08-19 21:00:26 +0200hyiltiz(~quassel@31.220.5.250) (*.net *.split)
2021-08-19 21:00:26 +0200landonf(landonf@mac68k.info) (*.net *.split)
2021-08-19 21:00:26 +0200joeyh(joeyh@kitenet.net) (*.net *.split)
2021-08-19 21:00:26 +0200Natch(~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (*.net *.split)
2021-08-19 21:00:26 +0200piele(~piele@tbonesteak.creativeserver.net) (*.net *.split)
2021-08-19 21:00:27 +0200cfebs(~cfebs@user/cfebs) (*.net *.split)
2021-08-19 21:00:27 +0200anderson(~ande@134.209.221.71) (*.net *.split)
2021-08-19 21:00:27 +0200ft(~ft@shell.chaostreff-dortmund.de) (*.net *.split)
2021-08-19 21:00:27 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (*.net *.split)
2021-08-19 21:00:27 +0200pierrot(~pi@user/pierrot) (*.net *.split)
2021-08-19 21:00:27 +0200dexterfoo(dexter@2a01:7e00::f03c:91ff:fe86:59ec) (*.net *.split)
2021-08-19 21:00:27 +0200amirouche(~amirouche@user/amirouche) (*.net *.split)
2021-08-19 21:00:27 +0200oxytocat(~alloca@user/suppi) (*.net *.split)
2021-08-19 21:00:27 +0200tristanC(~tristanC@user/tristanc) (*.net *.split)
2021-08-19 21:00:27 +0200mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split)
2021-08-19 21:00:27 +0200Ferdirand(~somebody@2001:4c78:2012:5000::2) (*.net *.split)
2021-08-19 21:00:27 +0200bwe(~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split)
2021-08-19 21:00:27 +0200feetwind(~mike@user/feetwind) (*.net *.split)
2021-08-19 21:00:27 +0200tdammers(~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split)
2021-08-19 21:00:27 +0200AWizzArd(~code@user/awizzard) (*.net *.split)
2021-08-19 21:00:27 +0200drakonis(drakonis@user/drakonis) (*.net *.split)
2021-08-19 21:00:27 +0200mikolaj_(~mikolaj@purple.well-typed.com) (*.net *.split)
2021-08-19 21:00:27 +0200relrod(~relrod@redhat/ansible.staff.relrod) (*.net *.split)
2021-08-19 21:00:27 +0200toms(~foobar@pogostick.net) (*.net *.split)
2021-08-19 21:00:27 +0200ggvgc(~ggVGc@a.lowtech.earth) (*.net *.split)
2021-08-19 21:00:33 +0200bwe(~bwe@2a01:4f8:1c1c:4878::2)
2021-08-19 21:00:34 +0200Ferdirand(~somebody@2001:4c78:2012:5000::2)
2021-08-19 21:00:35 +0200mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es)
2021-08-19 21:00:36 +0200mikolaj(~mikolaj@purple.well-typed.com)
2021-08-19 21:00:37 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-19 21:00:38 +0200idf(~idf@198.23.223.146)
2021-08-19 21:00:39 +0200piele(~piele@tbonesteak.creativeserver.net)
2021-08-19 21:00:39 +0200relrod(~relrod@redhat/ansible.staff.relrod)
2021-08-19 21:00:40 +0200 <carbolymer> is turtle... unintuitive? I mean, I don't know yet if it's learning curve, or everything is harder to do in turtle than bash :S
2021-08-19 21:00:40 +0200tristanC(~tristanC@163.172.94.116)
2021-08-19 21:00:42 +0200landonf(landonf@mac68k.info)
2021-08-19 21:00:43 +0200dexterfoo(dexter@2a01:7e00::f03c:91ff:fe86:59ec)
2021-08-19 21:00:44 +0200tdammers(~tdammers@77.109.72.213.res.static.edpnet.net)
2021-08-19 21:00:44 +0200[Kalisto](~nico@user/kalisto/x-8968079)
2021-08-19 21:00:50 +0200ggvgc(~ggVGc@a.lowtech.earth)
2021-08-19 21:00:50 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-08-19 21:00:51 +0200 <[exa]> by turtle you mean logo?
2021-08-19 21:00:52 +0200Arsen(~arsen@managarm/dev/Arsen)
2021-08-19 21:00:53 +0200tristanC(~tristanC@163.172.94.116) (Changing host)
2021-08-19 21:00:53 +0200tristanC(~tristanC@user/tristanc)
2021-08-19 21:00:58 +0200oxytocat(~alloca@user/suppi)
2021-08-19 21:00:59 +0200feetwind(~mike@2406:d500:6:1:216:3cff:fe36:651)
2021-08-19 21:01:00 +0200ft(~ft@shell.chaostreff-dortmund.de)
2021-08-19 21:01:03 +0200drakonis(drakonis@2600:3c02::f03c:92ff:fe5e:b8bf)
2021-08-19 21:01:04 +0200cfebs(~cfebs@user/cfebs)
2021-08-19 21:01:07 +0200feetwind(~mike@2406:d500:6:1:216:3cff:fe36:651) (Signing in (feetwind))
2021-08-19 21:01:07 +0200feetwind(~mike@user/feetwind)
2021-08-19 21:01:10 +0200amirouche(~amirouche@user/amirouche)
2021-08-19 21:01:10 +0200drakonis(drakonis@2600:3c02::f03c:92ff:fe5e:b8bf) (Signing in (drakonis))
2021-08-19 21:01:10 +0200drakonis(drakonis@user/drakonis)
2021-08-19 21:01:11 +0200joeyh(~joeyh@kitenet.net)
2021-08-19 21:01:17 +0200ellie(~ellie@user/ellie)
2021-08-19 21:01:29 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001)
2021-08-19 21:01:33 +0200pierrot(~pi@user/pierrot)
2021-08-19 21:01:35 +0200 <monochrom> No, turtle does unix shell things but in Haskell.
2021-08-19 21:01:35 +0200anderson(~ande@134.209.221.71)
2021-08-19 21:01:37 +0200feetwindGuest6642
2021-08-19 21:01:39 +0200Unode(~Unode@194.94.44.220)
2021-08-19 21:01:47 +0200thaumavorio(~thaumavor@thaumavor.io)
2021-08-19 21:01:54 +0200 <carbolymer> what monochrom said
2021-08-19 21:02:09 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-19 21:02:09 +0200[exa]opens the website
2021-08-19 21:02:20 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-08-19 21:02:33 +0200lambdabot(~lambdabot@silicon.int-e.eu)
2021-08-19 21:02:33 +0200lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2021-08-19 21:02:33 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2021-08-19 21:02:43 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-19 21:02:50 +0200 <monochrom> I still haven't used shelly or turtle because I took a very brief look (could be unfair) and thought "thanks, I'll go back to bash".
2021-08-19 21:04:03 +0200 <Lycurgus> zsh want's to be bash these days
2021-08-19 21:04:28 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 21:04:35 +0200 <[exa]> is it just a bunch of shell-like IO functions?
2021-08-19 21:04:47 +0200 <Lycurgus> i use it but by running it from bash mostly
2021-08-19 21:05:01 +0200jacks2(~bc8167eb@217.29.117.252)
2021-08-19 21:05:11 +0200yushyin(eUaFhTnLYh@karif.server-speed.net) (Quit: WeeChat 3.1)
2021-08-19 21:05:19 +0200yushyin(1GanGy3aFa@karif.server-speed.net)
2021-08-19 21:05:34 +0200toms(~foobar@pogostick.net)
2021-08-19 21:05:50 +0200Natch(~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
2021-08-19 21:05:59 +0200 <Lycurgus> HsSHellScript is what I seem to have selected
2021-08-19 21:06:41 +0200 <carbolymer> [exa]: yeah, mostly
2021-08-19 21:06:50 +0200 <[exa]> carbolymer: it's got no | pipe or I/O < redirections?
2021-08-19 21:07:00 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-08-19 21:07:40 +0200AWizzArd(~code@gehrels.uberspace.de)
2021-08-19 21:08:06 +0200 <[exa]> oh my
2021-08-19 21:08:16 +0200 <carbolymer> monochrom: more or less what I think, but then suddenly I find myself doing loops, arrays and default values in bash and I wonder "why am I doing this to myself"
2021-08-19 21:08:43 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-08-19 21:08:46 +0200enoq(~enoq@2a05:1141:1f5:5600:eb83:919c:c248:eabe) (Quit: enoq)
2021-08-19 21:09:06 +0200 <[exa]> loops in bash are m'kay if you do them with `while read` or so
2021-08-19 21:09:39 +0200 <carbolymer> 'while read' = a language without proper loops so let's agree on using those hacks
2021-08-19 21:09:59 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-19 21:10:58 +0200 <[exa]> how's that not a proper loop? it loops here :D
2021-08-19 21:11:24 +0200 <carbolymer> Lycurgus: and how do you like it? at first glance it seems to have similar amount of boilerplate comparing to turtle
2021-08-19 21:12:18 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
2021-08-19 21:12:20 +0200 <Lycurgus> carbolymer, not really used yet, just selected prima facie by it's looks compared to the others
2021-08-19 21:12:34 +0200 <fresheyeball> does anyone know where hls keeps sqlite?
2021-08-19 21:12:44 +0200 <fresheyeball> I think if I can delete it's sqlite it will start working again
2021-08-19 21:12:51 +0200catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
2021-08-19 21:12:51 +0200 <Lycurgus> i need a shell thing for hs, lisp and prolog and it's the hs choice
2021-08-19 21:12:55 +0200 <fresheyeball> haskell-language-server-8.6.5: SQLite3 returned ErrorIO while attempting to perform step: disk I/O error
2021-08-19 21:13:47 +0200 <[exa]> fresheyeball: o man, perhaps check `dmesg`
2021-08-19 21:14:15 +0200 <fresheyeball> [exa]:I don't understand
2021-08-19 21:14:18 +0200 <fresheyeball> what is dmesg
2021-08-19 21:15:19 +0200 <[exa]> sounds like your disk may be slightly failing, checking the kernel log is usually the way to see if it's really disk or something less fatal
2021-08-19 21:16:08 +0200 <fresheyeball> I don't think so
2021-08-19 21:16:13 +0200 <fresheyeball> I think the sqlite is corrupted
2021-08-19 21:16:31 +0200 <fresheyeball> This is a brand new NVMe and has no other indictation of problems
2021-08-19 21:16:38 +0200 <joeyh> I have seen sqlite fail with that exact message on some filesystems due to problems with locking
2021-08-19 21:17:07 +0200 <fresheyeball> question is, how to get hls to clean up after itself
2021-08-19 21:18:22 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-19 21:18:27 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 21:19:03 +0200 <cryptogainz> Sooo, no one here interested in Cardano/Plutus?
2021-08-19 21:19:23 +0200 <fresheyeball> cryptogainz: how can I help you?
2021-08-19 21:20:04 +0200 <fresheyeball> my company writes plutus
2021-08-19 21:20:14 +0200 <fresheyeball> or writes IN plutus
2021-08-19 21:20:55 +0200urdh(~urdh@user/urdh) (Quit: Boom!)
2021-08-19 21:20:57 +0200 <cryptogainz> Well I'm struggling to understand some Cardano/Plutus notions. Are you familiar with the blockchain itself?
2021-08-19 21:21:40 +0200chomwitt(~chomwitt@ppp-94-67-193-240.home.otenet.gr) (Ping timeout: 240 seconds)
2021-08-19 21:21:55 +0200 <[exa]> cryptogainz: don't ask to ask, just ask
2021-08-19 21:22:18 +0200 <[exa]> cryptogainz: at worst the question won't be on topic and we'll send you to offtopic channel.
2021-08-19 21:22:41 +0200 <jacks2> kuribas, do you know about upcoming RecordDotSyntax extension?
2021-08-19 21:22:59 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 21:23:17 +0200 <kuribas> jack2: not much...
2021-08-19 21:24:06 +0200 <kuribas> jack2: looks neat, from what I have seen. But I'll wait until it is in a stable ghc version.
2021-08-19 21:24:07 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2021-08-19 21:24:21 +0200 <cryptogainz> Well, it's a long question so here it goes. Cardano tokens live natively on the blockchain. Unlike Solidity tokens which are being minted through a smart contract (which includes gimmicks like taxes per tx, etc.) Cardano tokens are pure tokens. After that, you need Plutus smart contracts (or scripts as they call them) to make the tokens "gimmicky". My question is actually, how would that work in practice? I mint a token, I
2021-08-19 21:24:21 +0200 <cryptogainz> wrote a Plutus script and then what? I send the token to the smart contract address (if there even is such a thing)? Maybe this is offtopic but I don't know who to ask if not Plutus/Haskell devs
2021-08-19 21:24:22 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-08-19 21:25:43 +0200 <[exa]> ok it's slightly offtopic :]
2021-08-19 21:25:47 +0200 <fresheyeball> cryptogainz: so you can mint tokens
2021-08-19 21:26:14 +0200 <fresheyeball> they don't need to be related to ADA specifically
2021-08-19 21:26:18 +0200 <fresheyeball> you can shitcoin
2021-08-19 21:26:30 +0200 <fresheyeball> keep in mind, you can have arbitrary state
2021-08-19 21:26:37 +0200 <fresheyeball> that state could be a second ledger
2021-08-19 21:27:21 +0200 <[exa]> and I'm totally lost in bitcoin jargon it seems
2021-08-19 21:27:37 +0200 <jacks2> kuribas, it will ship with the next stable version
2021-08-19 21:27:40 +0200 <cryptogainz> How do you mean they don't need to be related to ADA specifically?
2021-08-19 21:28:05 +0200 <cryptogainz> Hahaha exa, yea, it's hard to keep up with everything
2021-08-19 21:30:50 +0200 <sm> cryptogainz: sounds like you got luck and found an expert, but also there's the free plutus training materials
2021-08-19 21:31:29 +0200 <cryptogainz> Well, I tried the first 3 "lectures" but unfortunately this wasn't explained at all so I was hoping someone here knew the answer before I went through 12-13 extra hours of lectures
2021-08-19 21:31:35 +0200 <jacks2> kuribas, I don't know how to post links to reddit posts [share link doesn't work], so here's a copy/pasted example. some are not thrilled with this extension, but personally, I can't wait for it. https://pastebin.com/47siAfMk
2021-08-19 21:32:15 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Quit: Leaving)
2021-08-19 21:32:30 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-08-19 21:33:28 +0200 <sm> I hear that
2021-08-19 21:34:45 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-08-19 21:35:29 +0200 <kuribas> jacks2: not polluting the namespace with accessor functions will be great.
2021-08-19 21:37:55 +0200 <jacks2> yes
2021-08-19 21:38:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-19 21:39:14 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-19 21:40:25 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-08-19 21:41:10 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-19 21:41:10 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2021-08-19 21:43:04 +0200Lord_of_Life_Lord_of_Life
2021-08-19 21:46:09 +0200aman(~aman@user/aman) (Ping timeout: 248 seconds)
2021-08-19 21:46:33 +0200aman(aman@user/aman)
2021-08-19 21:48:19 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 21:50:03 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-19 21:50:05 +0200Pickchea(~private@user/pickchea)
2021-08-19 21:50:24 +0200chris(~chris@81.96.113.213)
2021-08-19 21:50:27 +0200chrisGuest9886
2021-08-19 21:50:47 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 21:51:20 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 21:54:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-08-19 21:55:28 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-08-19 21:56:53 +0200mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-08-19 22:00:02 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-19 22:00:15 +0200waleee(~waleee@h-98-128-228-119.na.cust.bahnhof.se) (Quit: WeeChat 3.2)
2021-08-19 22:02:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-19 22:04:04 +0200lbseale_(~lbseale@user/ep1ctetus)
2021-08-19 22:05:35 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 268 seconds)
2021-08-19 22:06:23 +0200chomwitt(~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374)
2021-08-19 22:06:28 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 252 seconds)
2021-08-19 22:07:18 +0200juhp(~juhp@128.106.188.220)
2021-08-19 22:07:40 +0200kuribas(~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-08-19 22:12:40 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds)
2021-08-19 22:15:02 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-19 22:15:12 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-19 22:16:25 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-19 22:16:25 +0200cuolin^(~cuolin@209.65.131.194) (Remote host closed the connection)
2021-08-19 22:16:28 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-19 22:17:09 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-19 22:22:10 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-19 22:22:58 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-08-19 22:23:30 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 22:30:11 +0200dsrt^(~dsrt@209.65.131.194)
2021-08-19 22:31:21 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 22:31:55 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-19 22:34:20 +0200d0ku(~d0ku@178.43.198.70.ipv4.supernova.orange.pl)
2021-08-19 22:36:17 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-19 22:37:02 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-19 22:39:14 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-19 22:39:17 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-19 22:40:36 +0200aegon(~mike@174.127.249.180)
2021-08-19 22:41:25 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-19 22:41:43 +0200jumper149(~jumper149@80.240.31.34)
2021-08-19 22:42:00 +0200 <jumper149> Is there a nice way to have multiline strings with GHC? Maybe some TH library?
2021-08-19 22:42:01 +0200burnsidesLlama(~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-19 22:42:13 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-19 22:43:18 +0200 <dminuoso> QQs are your best bet
2021-08-19 22:43:23 +0200 <geekosaur> https://hackage.haskell.org/package/here-1.2.13/docs/Data-String-Here-Uninterpolated.html
2021-08-19 22:44:09 +0200 <dminuoso> I use raw-strings-qq because its so minimalistic.
2021-08-19 22:44:43 +0200 <dminuoso> (I need basic interpolation and nothing more)
2021-08-19 22:45:36 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 22:46:12 +0200 <maerwald> jumper149: string-interpolate
2021-08-19 22:47:13 +0200 <maerwald> https://gitlab.com/williamyaoh/string-interpolate/-/tree/master#features
2021-08-19 22:47:36 +0200 <maerwald> clearly, someone obsessed over it
2021-08-19 22:48:15 +0200 <maerwald> quasiquotes are also a great way to kill tooling
2021-08-19 22:48:24 +0200 <maerwald> (hls, hasktags, stylish-haskell, ...)
2021-08-19 22:48:34 +0200 <jumper149> maerwald: Yeah, I also fear that ^^
2021-08-19 22:48:54 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 258 seconds)
2021-08-19 22:49:19 +0200 <jumper149> I think I like raw-strings-qq best, but I'm still not too sure :(
2021-08-19 22:49:48 +0200 <jumper149> I want nix-style strings! :p
2021-08-19 22:51:13 +0200aman(aman@user/aman) (Ping timeout: 248 seconds)
2021-08-19 22:51:26 +0200 <tomsmeding> jumper149: also "hi this\ \is a\ \multiline string"
2021-08-19 22:51:37 +0200 <tomsmeding> read newlines in place of the spaces
2021-08-19 22:51:49 +0200 <tomsmeding> that's plain Haskell2010 syntax and doesn't need anything fancy at all
2021-08-19 22:52:03 +0200 <tomsmeding> decide first that you don't want that before going to fancy templatehaskell alternatives :p
2021-08-19 22:53:07 +0200aman(~aman@user/aman)
2021-08-19 22:53:59 +0200 <tomsmeding> also consider: unlines ["this is", "a multiline", "string"], which inserts the newlines automatically
2021-08-19 22:54:00 +0200__monty__(~toonn@user/toonn)
2021-08-19 22:54:09 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-08-19 22:54:11 +0200 <tomsmeding> but has the downside (?) of also inserting a newline at the end
2021-08-19 22:54:19 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-08-19 22:54:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
2021-08-19 22:55:24 +0200 <jumper149> Actually the backslash option is quite nice. Very readable because of the adjustable indentation, it just needs a manual \n for actual line breaks.
2021-08-19 22:55:38 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 22:56:00 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-19 22:56:28 +0200 <jumper149> tomsmeding: And it also works easily with OverloadedStrings.
2021-08-19 22:57:07 +0200 <__monty__> Doesn't have great editor support though.
2021-08-19 22:59:02 +0200 <jumper149> __monty__: Compared to all the other options it seems to be the easiest on editors. Ctrl-v comes in handy with vim.
2021-08-19 22:59:09 +0200dschrempf(~dominik@92-249-159-252.pool.digikabel.hu)
2021-08-19 22:59:15 +0200 <siers> tomsmeding, omg, you actually managed to write an example? 😅 I'll try reading it, but I think I have to read a bit about GADTs first. Night night.
2021-08-19 23:00:19 +0200cryptogainz(~cryptogai@130-248-144-85.ftth.glasoperator.nl) (Quit: Leaving)
2021-08-19 23:01:26 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-19 23:03:29 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-19 23:03:38 +0200Cajun(~Cajun@user/cajun)
2021-08-19 23:04:45 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-08-19 23:07:05 +0200acidjnk_new3(~acidjnk@p200300d0c72b950070172e7c3c578523.dip0.t-ipconnect.de)
2021-08-19 23:11:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-19 23:12:27 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-08-19 23:12:42 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 23:14:58 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-19 23:15:45 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-19 23:15:48 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-19 23:16:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 250 seconds)
2021-08-19 23:16:32 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 23:18:25 +0200Atum_(~IRC@user/atum/x-2392232) (Killed (NickServ (Forcing logout Atum_ -> Atum_)))
2021-08-19 23:21:48 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-19 23:22:33 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-19 23:24:17 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-19 23:24:31 +0200Neuromancer(~Neuromanc@user/neuromancer)
2021-08-19 23:27:58 +0200 <aegon> i'm missing somethign about optparse-applicative. it seems to fail to parse a string
2021-08-19 23:28:04 +0200 <aegon> https://paste.tomsmeding.com/aEDPP0mV
2021-08-19 23:29:17 +0200otto_s(~user@p5de2f223.dip0.t-ipconnect.de)
2021-08-19 23:29:31 +0200dsrt^(~dsrt@209.65.131.194) (Ping timeout: 252 seconds)
2021-08-19 23:30:28 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-08-19 23:30:40 +0200stefan-_(~cri@42dots.de) (Ping timeout: 240 seconds)
2021-08-19 23:30:55 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-19 23:33:00 +0200 <aegon> i guess auto doesn't work for string positional args
2021-08-19 23:33:09 +0200 <aegon> switched over to strOption and things seem good
2021-08-19 23:34:42 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 23:35:30 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-19 23:35:43 +0200lavaman(~lavaman@98.38.249.169)
2021-08-19 23:41:18 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-19 23:43:50 +0200 <amesgen[m]> jumper149: Note that backslashes don't work when CPP is enabled.
2021-08-19 23:50:58 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Ping timeout: 252 seconds)
2021-08-19 23:51:03 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-08-19 23:51:09 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-08-19 23:51:30 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-19 23:51:47 +0200o1lo01ol1o(~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-19 23:52:29 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-19 23:52:37 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-19 23:55:30 +0200urdh(~urdh@user/urdh)
2021-08-19 23:58:18 +0200tt1(~User@pd9e4fba0.dip0.t-ipconnect.de)
2021-08-19 23:59:24 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)