2021/06/11

2021-06-11 00:02:44 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-06-11 00:03:05 +0200bah_bah
2021-06-11 00:05:35 +0200killsushi(~killsushi@user/killsushi)
2021-06-11 00:06:19 +0200thyriaen__(~thyriaen@45.178.73.238) (Remote host closed the connection)
2021-06-11 00:06:30 +0200thyriaen__(~thyriaen@45.178.73.238)
2021-06-11 00:07:41 +0200michalz(~michalz@185.246.204.126) (Remote host closed the connection)
2021-06-11 00:07:42 +0200 <hugo> Hi! Am I correct in my understanding of Lenses that a Prism can't (properly) focus a single element of a list, and I need traversals for that?
2021-06-11 00:08:01 +0200 <hugo> I'm trying to focus the first element of a stack which matches a given predicate
2021-06-11 00:09:02 +0200sayola(~vekto@dslc-082-082-145-205.pools.arcor-ip.net) (Read error: Connection reset by peer)
2021-06-11 00:09:19 +0200Profpatsch(~Profpatsc@static.88-198-193-255.clients.your-server.de)
2021-06-11 00:09:32 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 00:10:06 +0200 <shachaf> A prism is like a constructor, so it can construct.
2021-06-11 00:10:25 +0200 <shachaf> So something like a traversal is probably what you want.
2021-06-11 00:10:29 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-06-11 00:11:07 +0200 <Profpatsch> Which is more performant: Map.foldMapWithKey (\key val -> Map.singleton (f key) (g val) or Map.foldlWithKey' (\m key val -> Map.insert (f key) (f val) m)
2021-06-11 00:11:27 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 00:11:29 +0200 <Profpatsch> (typed from the top of my head, so sorry if it doesn’t typechecks
2021-06-11 00:11:38 +0200 <hugo> shachaf: Given the right closue I can construct any list through a given function ;)
2021-06-11 00:11:50 +0200codedmart(~codedmart@li335-49.members.linode.com) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-06-11 00:12:08 +0200 <Profpatsch> I’d expect the right to build less thunks and be relatively in-place
2021-06-11 00:12:12 +0200codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511)
2021-06-11 00:12:12 +0200 <shachaf> Well, what I mean is, if you have a type like data T = Foo A | Bar B | ..., a prism is like Foo or Bar.
2021-06-11 00:12:19 +0200 <hugo> But a traversal (as you say) matches what I have found on my own
2021-06-11 00:12:21 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 00:12:28 +0200 <shachaf> Which means you have a prism function : A -> T.
2021-06-11 00:12:48 +0200 <shachaf> And if a T matches the Foo prism, then the A is the entirety of the contents of it.
2021-06-11 00:13:38 +0200 <hugo> I think my confusion comes from the description of prisms as focusing "0 or 1 objects", which matches a find ((a -> Bool) -> [a] -> Maybe a) function
2021-06-11 00:14:07 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
2021-06-11 00:14:13 +0200 <shachaf> I think a lot of people end up with this confusion, so the documentation could maybe be improved.
2021-06-11 00:14:15 +0200 <hugo> But as your last example, that doesn't allow a rewind, since the context is unknown at that point
2021-06-11 00:15:16 +0200 <hugo> Most of the documentation in the different parts of the lens (https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens.html) library have been of very little help, due to them expceting that I already understand everything
2021-06-11 00:16:18 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 00:16:30 +0200mastarija(~mastarija@31.217.22.43) (Quit: Leaving)
2021-06-11 00:20:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection)
2021-06-11 00:21:20 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 00:21:24 +0200agumonke`(~user@88.163.231.79) (Read error: Connection reset by peer)
2021-06-11 00:21:41 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-11 00:21:49 +0200agumonke`(~user@88.163.231.79)
2021-06-11 00:24:56 +0200delYsid(~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
2021-06-11 00:30:39 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a)
2021-06-11 00:33:33 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 00:34:19 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-06-11 00:34:31 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 00:36:45 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-06-11 00:37:51 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
2021-06-11 00:38:57 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 252 seconds)
2021-06-11 00:40:03 +0200dhil(~dhil@80.208.56.181) (Ping timeout: 252 seconds)
2021-06-11 00:41:23 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-11 00:43:22 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-06-11 00:43:39 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 00:48:18 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 252 seconds)
2021-06-11 00:49:32 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-06-11 00:49:40 +0200altern(~Sergii@altern.corbina.com.ua) (Ping timeout: 272 seconds)
2021-06-11 00:52:46 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 00:53:23 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-11 00:54:03 +0200 <zzz> the syntax for strict record types is T = T { strict :: !Some , lazy :: Other ... } right?
2021-06-11 00:54:26 +0200 <geekosaur> yes
2021-06-11 00:54:26 +0200 <janus> monochrom: thanks for the link to your Cont monad piece, i am still working through it, very educational
2021-06-11 00:55:08 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 00:56:17 +0200xff0x_(~xff0x@2001:1a81:5309:4200:5885:4f5d:c0ef:4e6d) (Remote host closed the connection)
2021-06-11 00:56:28 +0200 <janus> is there any point in writing a manual MonadReader MyType instance? i almost always see it derived
2021-06-11 00:56:34 +0200xff0x_(~xff0x@2001:1a81:5309:4200:43f:9f66:b597:77c7)
2021-06-11 00:57:20 +0200 <geekosaur> only if you're diretly implementing it (something like ReaderT or RWST)
2021-06-11 00:57:38 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-06-11 00:57:42 +0200 <janus> what the alternative to "directly implementing" it?
2021-06-11 00:57:51 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-06-11 00:57:52 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 268 seconds)
2021-06-11 00:57:56 +0200Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2021-06-11 00:58:47 +0200 <geekosaur> usually when it's derived, it's via GND to expose an underlying MonadReader
2021-06-11 00:59:50 +0200 <janus> right. so let's say i have some App context which is a record with a single destructor, then people need GeneralizedNewtypeDeriving to derive MonadReader for that?
2021-06-11 01:00:00 +0200 <geekosaur> there's little point to writing those by hand because they're mechanical and there's only one way to do it
2021-06-11 01:00:03 +0200sh9(~sh9@softbank060116136158.bbtec.net)
2021-06-11 01:00:48 +0200 <janus> but why does it say Newtype if it is a record ... hmmm ... does it only work if the App Monad is a newtype and not a record?
2021-06-11 01:00:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection)
2021-06-11 01:00:52 +0200 <geekosaur> right, but GND is one of those extensions that practically everyone turns on (and was even present in other Haskell implementations back when there were others)
2021-06-11 01:01:27 +0200 <janus> how does the record contents need to look for GND to be able to derive MonadReader?
2021-06-11 01:01:37 +0200 <geekosaur> yes, your App would be a newtype over a ReaderT YourAppState
2021-06-11 01:01:53 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 01:02:31 +0200 <janus> but then, if it is a stack of monads, will it still be able to derive it if ReaderT is not the outermost?
2021-06-11 01:02:50 +0200 <geekosaur> if for some reason you got the way of using a data, you would indeed ned to write your own MonadReader instance; there's little point in doing so when you can newtype over the provided one instead
2021-06-11 01:03:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a)
2021-06-11 01:03:22 +0200 <shachaf> hugo: Yes, I meant to write up a nice introduction a long time ago but I never did.
2021-06-11 01:04:48 +0200 <janus> ok i will try to use a newtype instead, sounds advantageous.
2021-06-11 01:06:27 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 252 seconds)
2021-06-11 01:07:00 +0200agumonke`(~user@88.163.231.79) (Ping timeout: 252 seconds)
2021-06-11 01:09:37 +0200 <ski> janus : would the `App' context be the monad, or the environment that's to be accessed via `MonadReader' ?
2021-06-11 01:11:00 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 01:12:50 +0200 <janus> ski: the when i say App, it is the monad that everything is working in, and that i wish to implement MonadReader for. the data that is read is just a record. so in the signature "MonadReader r m", the r is my record, let's call it MyEnv. and m would be App. When i look at the signature of "ask :: m r", that must be so, because i want ask to return me the MyEnv
2021-06-11 01:14:08 +0200 <geekosaur> that changes the answer a bit
2021-06-11 01:14:46 +0200 <janus> oh, sorry if i have previously answered in a misleading manner
2021-06-11 01:14:47 +0200 <geekosaur> you want ReaderT MyEnv App
2021-06-11 01:15:08 +0200 <janus> right, that should be the contents of the newtype, right? and then i can derive MonadReader
2021-06-11 01:15:14 +0200 <geekosaur> correct
2021-06-11 01:15:25 +0200 <geekosaur> but you'd made it sound like App was the name of the newtype
2021-06-11 01:15:41 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 01:16:31 +0200 <janus> but wait, if i have ReaderT MyEnv App, then the Reader is outside the App, then MonadReader MyEnv App will not be implemented, or?
2021-06-11 01:16:52 +0200 <geekosaur> ReaderT implements MonadReader
2021-06-11 01:17:53 +0200 <janus> right, but i don't want functions in add to mention ReaderT, they should only require MonadReader
2021-06-11 01:18:09 +0200 <janus> sounds like i am mixing up my monad stack levels somehow... hmm
2021-06-11 01:18:16 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-11 01:18:23 +0200 <janus> *functions in App
2021-06-11 01:18:25 +0200 <geekosaur> they won't, that's what the newtype gives you
2021-06-11 01:19:36 +0200Profpatsch(~Profpatsc@static.88-198-193-255.clients.your-server.de) (WeeChat 3.1)
2021-06-11 01:19:44 +0200 <janus> so this ReaderT, what do people call that? where do i put that? not in the App, because it wraps the App
2021-06-11 01:21:22 +0200 <geekosaur> newtype AppContextM m = MkApp (ReaderT MyEnv m); type AppContext = AppContextM App
2021-06-11 01:21:35 +0200 <geekosaur> which is a pattern you'll see in a number of applications
2021-06-11 01:22:17 +0200 <janus> and a sample function with this model, does it have "(MonadReader AppContext m) => ... -> m Int" for example?
2021-06-11 01:22:33 +0200 <janus> oh no wait
2021-06-11 01:22:38 +0200 <janus> MonadReader MyEnv, surely
2021-06-11 01:23:07 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 01:23:11 +0200 <geekosaur> mosrt of the time it'll be inferred because you're using AppContext directly in your types
2021-06-11 01:23:18 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 01:23:41 +0200 <janus> intresting! i think i need to experiment a bit. thanks for the responses
2021-06-11 01:23:45 +0200 <geekosaur> and the only importance of MonadReader is it's what enables using ask / asks
2021-06-11 01:24:04 +0200 <geekosaur> oh, and I slightly blew it earlier, you need to derive MonadReader on the newtype
2021-06-11 01:24:16 +0200 <janus> right
2021-06-11 01:24:55 +0200 <geekosaur> and that's close to the only place you mention MonadReader unless you for some reason want something higher level than asks but not restricted to AppContext
2021-06-11 01:25:09 +0200 <geekosaur> which would be rare
2021-06-11 01:27:17 +0200pdxleif(~leif@75.164.44.108) (Ping timeout: 272 seconds)
2021-06-11 01:28:30 +0200qrpnxz(~qrpnxz@user/qrpnxz)
2021-06-11 01:29:04 +0200 <qrpnxz> do you guys know how to check within ghci the version of the base package, or some other way to check that?
2021-06-11 01:29:15 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 01:30:04 +0200 <hugo> qrpnxz: https://wiki.haskell.org/Base_package
2021-06-11 01:30:16 +0200 <hugo> Not a built in way, but here's a table
2021-06-11 01:30:26 +0200 <maerwald> ghcup list shows you that table too
2021-06-11 01:30:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 01:30:43 +0200 <qrpnxz> hugo, think that'll do thanks
2021-06-11 01:30:44 +0200 <maerwald> https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history
2021-06-11 01:30:51 +0200 <maerwald> and this is more up2date probably than the wiki
2021-06-11 01:31:37 +0200 <qrpnxz> ok, for some reason haskell doesn't know about `<&>`, i've got Data.Function imported not sure what the problem is
2021-06-11 01:32:01 +0200 <qrpnxz> using ghc 8.8.4 btw
2021-06-11 01:32:27 +0200 <wrunt> try Data.Functor
2021-06-11 01:32:37 +0200 <qrpnxz> yes one sec
2021-06-11 01:32:52 +0200 <qrpnxz> cheers ty
2021-06-11 01:33:10 +0200 <wrunt> np
2021-06-11 01:33:21 +0200 <wrunt> I often just import Control.Lens.Operators to get that and friends
2021-06-11 01:33:41 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 01:34:23 +0200 <qrpnxz> lenses seem to be some hot new thing i'll have to look at yeah
2021-06-11 01:34:35 +0200 <ski> janus : hm, ok. the type that you derive `MonadReader MyEnv' for, using, `GeneralizedNewtypeDeriving', has to be a `newtype', but it doesn't matter if it happens to use record syntax or not (in either case, there's just a single data constructor, with a single component). but that's unrelated to `MyEnv' using record syntax
2021-06-11 01:34:36 +0200 <maerwald> hot, yeah... new? barely
2021-06-11 01:34:39 +0200 <qrpnxz> was just trying to get something like F# |> working and looks like i found it
2021-06-11 01:35:32 +0200 <qrpnxz> maerwald, for this kind of thing 5-10 years old is still new, if it's older than that then alright not new ig, but i haven't seen it much used
2021-06-11 01:36:15 +0200 <maerwald> I'm personally not a fan. Whenever I use it, it becomes perl-style code: something you don't understand yourself 2 weeks later
2021-06-11 01:36:29 +0200 <maerwald> And it's so polymorphic that bugs still compile
2021-06-11 01:36:42 +0200crazazy(~user@130.89.171.203) (Ping timeout: 252 seconds)
2021-06-11 01:36:58 +0200 <qrpnxz> lol
2021-06-11 01:37:08 +0200bontaq`(~user@ool-18e47f8d.dyn.optonline.net)
2021-06-11 01:37:58 +0200 <maerwald> right... this little Monoid constraint defaulted all the queries to 0
2021-06-11 01:38:00 +0200 <maerwald> oops
2021-06-11 01:38:23 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 01:38:24 +0200jespada(~jespada@90.254.242.55) (Ping timeout: 245 seconds)
2021-06-11 01:40:36 +0200Techcable(~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
2021-06-11 01:41:09 +0200Techcable(~Techcable@168.235.93.147)
2021-06-11 01:41:29 +0200jespada(~jespada@90.254.242.55)
2021-06-11 01:41:58 +0200fendor_(~fendor@77.119.128.240.wireless.dyn.drei.com)
2021-06-11 01:42:45 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 252 seconds)
2021-06-11 01:42:59 +0200lbseale_(~lbseale@user/ep1ctetus)
2021-06-11 01:44:14 +0200fendor(~fendor@77.119.128.226.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2021-06-11 01:44:39 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-06-11 01:44:49 +0200fendor__(~fendor@77.119.128.226.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2021-06-11 01:44:56 +0200fendor(~fendor@77.119.128.240.wireless.dyn.drei.com)
2021-06-11 01:45:54 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 245 seconds)
2021-06-11 01:45:57 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 01:46:01 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-11 01:47:33 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
2021-06-11 01:48:57 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-11 01:49:07 +0200hmmmas(~chenqisu1@183.217.200.246)
2021-06-11 01:49:22 +0200pdxleif(~leif@c-24-20-85-226.hsd1.or.comcast.net)
2021-06-11 01:51:06 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-11 01:51:26 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
2021-06-11 01:52:47 +0200econo(uid147250@user/econo)
2021-06-11 01:53:20 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
2021-06-11 01:53:35 +0200 <hololeap> microlens is alright sometimes
2021-06-11 01:53:40 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-11 01:53:45 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-11 01:53:57 +0200Techcable(~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
2021-06-11 01:54:26 +0200 <hololeap> but we really need record dot syntax like in elm and purescript
2021-06-11 01:54:35 +0200jaevanko(~jaevanko@2600:1700:1330:2bef:2af8:ee9a:b15a:6b86)
2021-06-11 01:55:08 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-06-11 01:55:16 +0200Techcable(~Techcable@168.235.93.147)
2021-06-11 01:56:38 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 02:00:50 +0200adinfinitum(~user@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f)
2021-06-11 02:01:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection)
2021-06-11 02:01:32 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 02:01:35 +0200adinfinitum(~user@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) ()
2021-06-11 02:04:10 +0200renzhi(~xp@2607:fa49:6500:bc00::e7b)
2021-06-11 02:04:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-06-11 02:06:01 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 02:07:35 +0200 <Axman6> do they support applying function to dotted record paths?
2021-06-11 02:07:54 +0200 <Axman6> also, don't we have RecordDotSyntax?
2021-06-11 02:08:46 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-06-11 02:14:53 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 02:17:24 +0200pdxleif(~leif@c-24-20-85-226.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
2021-06-11 02:19:14 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 02:19:36 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-06-11 02:20:40 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-11 02:21:20 +0200awth13(~user@user/awth13) (Read error: Connection reset by peer)
2021-06-11 02:22:09 +0200awth13(~user@user/awth13)
2021-06-11 02:23:05 +0200thyriaen__(~thyriaen@45.178.73.238) (Quit: Leaving)
2021-06-11 02:24:01 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 02:24:12 +0200thyriaen(~thyriaen@45.178.73.238)
2021-06-11 02:26:12 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-06-11 02:26:13 +0200teaSlurper(~chris@81.96.113.213) (Remote host closed the connection)
2021-06-11 02:26:34 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds)
2021-06-11 02:27:59 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-11 02:29:08 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 02:29:09 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 272 seconds)
2021-06-11 02:29:30 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 02:29:37 +0200 <monochrom> No, I prefer RecordHashTagSyntax like in SML.
2021-06-11 02:29:46 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-11 02:30:06 +0200 <monochrom> Record#Syntax
2021-06-11 02:31:05 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 02:32:04 +0200 <qrpnxz> is christopher allen here?
2021-06-11 02:32:05 +0200teaSlurper(~chris@81.96.113.213) (Read error: Connection reset by peer)
2021-06-11 02:32:30 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 02:36:35 +0200wwalker(~wwalker@platinum.solid-constructs.com)
2021-06-11 02:37:55 +0200thyriaen(~thyriaen@45.178.73.238) (Quit: Leaving)
2021-06-11 02:40:00 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-11 02:40:03 +0200jolly(~jolly@208.180.97.158) (Quit: Connection closed)
2021-06-11 02:40:31 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Read error: Connection reset by peer)
2021-06-11 02:40:45 +0200 <wwalker> I'm trying to build matterhorn, I know essentially nothiung about haskell, except cool tools like matterhorn and ShellCheck are written in it. Anyway... The build fails to build cabal-dependency-licenses
2021-06-11 02:41:02 +0200 <wwalker> https://gist.github.com/wwalker/a38c3fee2f868c158ab7f55c43d9a56e has the build log showing the errors.
2021-06-11 02:41:24 +0200 <wwalker> any pointers (links to troubleshooting build failures?)
2021-06-11 02:41:28 +0200vicfred_(~vicfred@fixed-187-191-38-173.totalplay.net)
2021-06-11 02:42:15 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 02:43:48 +0200vicfred(~vicfred@user/vicfred) (Ping timeout: 252 seconds)
2021-06-11 02:44:15 +0200 <wwalker> https://paste.tomsmeding.com/Bvpp1X0e More complete than the gist, and in the website specified in the topic.
2021-06-11 02:44:24 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-06-11 02:45:20 +0200zebrag(~chris@user/zebrag) (Ping timeout: 264 seconds)
2021-06-11 02:46:44 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 02:46:53 +0200sayola(~vekto@dslc-082-082-145-205.pools.arcor-ip.net)
2021-06-11 02:49:19 +0200vicfred_(~vicfred@fixed-187-191-38-173.totalplay.net) (Quit: Leaving)
2021-06-11 02:50:16 +0200 <hololeap> Axman6: they support stuff like `.myField` which would be a function from any type that has a "myField" field to whatever myField is... if that makes sense
2021-06-11 02:50:53 +0200 <Axman6> hmm, doesn't RecordDotSyntax do that? whatever we use in DAML lets us do that
2021-06-11 02:51:09 +0200 <Axman6> so you can do map (.someField)
2021-06-11 02:51:13 +0200 <hololeap> I thought that RecordDotSyntax wasn't implemented yet
2021-06-11 02:51:22 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 02:51:40 +0200 <yushyin> it is since ghc9.2
2021-06-11 02:51:48 +0200 <yushyin> check out the 9.2 prerelease
2021-06-11 02:51:51 +0200 <hololeap> Oh, I'm still on 8.10
2021-06-11 02:51:58 +0200 <Axman6> ah I thought it was out in 9.0
2021-06-11 02:52:14 +0200 <hololeap> that will be a game changer for sure
2021-06-11 02:53:15 +0200 <yushyin> NoFieldSelectors will already be a big game changer
2021-06-11 02:54:17 +0200 <Axman6> the other nice thing we have in DAML is record "with" syntax - you can say create Foo with fooId; bar = BarA; baz = None. it's a nice alternative to record wildcards which requires less syntax
2021-06-11 02:55:39 +0200 <Axman6> (it looks better over multiple lines, I'll see if I can find a gfood example)
2021-06-11 02:55:40 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-11 02:55:50 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 02:58:19 +0200 <Axman6> https://github.com/digital-asset/ex-models/blob/b6b95f3797e8a0a563dbf450d091d215a4aba306/chess/dam…
2021-06-11 02:58:36 +0200 <Axman6> line 44 shows how it's usually used
2021-06-11 03:01:28 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a)
2021-06-11 03:01:38 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-11 03:02:59 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Read error: Connection reset by peer)
2021-06-11 03:03:14 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-06-11 03:05:14 +0200 <lyxia> wwalker: maybe try asking on Matterhorn's community server linked in their readme
2021-06-11 03:05:51 +0200pdxleif(~leif@75.164.44.108)
2021-06-11 03:05:54 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Ping timeout: 245 seconds)
2021-06-11 03:08:14 +0200 <lyxia> wwalker: I think you'll have to install an older distribution of Haskell (one with Cabal <= 2.5) but the developers of matterhorn themselves might have more comprehensive pointers to get a working setup.
2021-06-11 03:09:36 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 03:09:46 +0200gorignak(~gorignak@047-037-033-079.res.spectrum.com)
2021-06-11 03:10:39 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-06-11 03:11:46 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-06-11 03:13:49 +0200xff0x_(~xff0x@2001:1a81:5309:4200:43f:9f66:b597:77c7) (Ping timeout: 245 seconds)
2021-06-11 03:14:08 +0200pdxleif(~leif@75.164.44.108) (Ping timeout: 264 seconds)
2021-06-11 03:14:42 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 03:15:45 +0200xff0x_(~xff0x@2001:1a81:5346:bf00:2779:734e:bb13:8382)
2021-06-11 03:18:44 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 03:22:00 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Quit: Leaving)
2021-06-11 03:22:56 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-06-11 03:23:06 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-11 03:23:13 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 03:24:22 +0200jaevanko(~jaevanko@2600:1700:1330:2bef:2af8:ee9a:b15a:6b86) (Quit: Leaving)
2021-06-11 03:24:25 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-11 03:27:51 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 03:32:31 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 03:32:54 +0200yd502(~yd502@180.168.212.6)
2021-06-11 03:33:38 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 03:35:30 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 252 seconds)
2021-06-11 03:35:45 +0200yd502__(~yd502@180.168.212.6)
2021-06-11 03:36:58 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 03:37:09 +0200yd502(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 03:38:15 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 03:41:44 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 03:43:27 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-11 03:46:49 +0200 <qrpnxz> am i reading this right that an Alternative Monad is automatically a MonadPlus?
2021-06-11 03:50:25 +0200Igfoo(~ian@matrix.chaos.earth.li) (Ping timeout: 272 seconds)
2021-06-11 03:55:12 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 03:55:23 +0200eight(~eight@user/eight) (Remote host closed the connection)
2021-06-11 03:57:01 +0200Igfoo(~ian@matrix.chaos.earth.li)
2021-06-11 03:57:45 +0200 <glguy> doesn't sound right
2021-06-11 03:58:10 +0200 <glguy> class (Alternative m, Monad m) => MonadPlus m where
2021-06-11 03:58:29 +0200 <glguy> In order to be a MonadPlus you must already be a Monad and an Alternative
2021-06-11 03:58:54 +0200 <glguy> then you can make a MonadPlus instance for free that will default to using Alternative
2021-06-11 03:58:59 +0200 <glguy> instance MonadPlus YourTypeHere
2021-06-11 04:00:18 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 04:00:47 +0200eight(~eight@user/eight)
2021-06-11 04:01:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 04:01:26 +0200funsafe(~funsafe@2601:1c1:4200:938f:389d:16a4:ae2d:65aa) (Ping timeout: 252 seconds)
2021-06-11 04:01:35 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-11 04:02:58 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a)
2021-06-11 04:03:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection)
2021-06-11 04:03:23 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a)
2021-06-11 04:03:28 +0200 <qrpnxz> right but i just have to say "instance...". I'm playing around with alternative. functions `some` and `many` hang, not to sure how ppl use this
2021-06-11 04:04:19 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 04:08:49 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 04:08:55 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 04:09:39 +0200td_(~td@94.134.91.190) (Ping timeout: 245 seconds)
2021-06-11 04:10:48 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 04:10:56 +0200 <qrpnxz> some and many don't appear to do different things actually i'm confused
2021-06-11 04:11:29 +0200td_(~td@94.134.91.189)
2021-06-11 04:11:39 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-06-11 04:12:21 +0200awth13(~user@user/awth13) (Ping timeout: 252 seconds)
2021-06-11 04:12:58 +0200yd502__(~yd502@180.168.212.6) (Ping timeout: 272 seconds)
2021-06-11 04:13:29 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 04:13:46 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-06-11 04:15:04 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-06-11 04:15:30 +0200xff0x_(~xff0x@2001:1a81:5346:bf00:2779:734e:bb13:8382) (Ping timeout: 272 seconds)
2021-06-11 04:15:41 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-11 04:15:57 +0200xff0x_(~xff0x@2001:1a81:5346:bf00:6e52:b23e:6fc2:e844)
2021-06-11 04:16:50 +0200 <lyxia> try getting an empty list out of some
2021-06-11 04:16:53 +0200catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
2021-06-11 04:17:15 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 04:17:18 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 04:18:20 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 04:19:19 +0200 <catern> is there a good non-theory explanation of practical uses of programs-as-proofs? for things other than theorem proving
2021-06-11 04:20:32 +0200awth13(~user@user/awth13)
2021-06-11 04:22:54 +0200 <qrpnxz> lyxia, idk what that means. Even trying something like `take 3` on it doesn't seem to help with the hanging issue
2021-06-11 04:23:16 +0200 <qrpnxz> to me it looks like it's doing an infinite list of a value, but i can't access it
2021-06-11 04:23:34 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 04:25:45 +0200 <justsomeguy> catern: Do any of the examples here qualify? https://ucsd-progsys.github.io/liquidhaskell-blog/
2021-06-11 04:27:48 +0200 <catern> justsomeguy: I guess that qualifies for what I said, but I should give an additional constraint (which replaces my theorem proving constraint): "in the absence of fancy types (such as dependent types)"
2021-06-11 04:28:34 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
2021-06-11 04:30:03 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 04:31:13 +0200 <catern> (although I'm not sure even that qualifies... a dependent type lets you place constraints on what the inhabitants of a type are... but then using the resulting terms of that type isn't exactly a manifestation of programs-as-proofs, since knowing that the type is inhabited doesn't actually *tell* you anything, besides that the type is inhabited, which for the type of a pure function like in that example, isn't typically useful)
2021-06-11 04:31:42 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 04:32:47 +0200teaSlurper(~chris@81.96.113.213) (Remote host closed the connection)
2021-06-11 04:33:20 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 264 seconds)
2021-06-11 04:34:01 +0200yd502(~yd502@180.168.212.6)
2021-06-11 04:34:05 +0200FinnElijaGuest9778
2021-06-11 04:34:05 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-06-11 04:34:05 +0200Guest9778(~finn_elij@user/finn-elija/x-0085643) (Killed (tin.libera.chat (Nickname regained by services)))
2021-06-11 04:34:05 +0200finn_elijaFinnElija
2021-06-11 04:34:32 +0200yahb(xsbot@user/mniip/bot/yahb) (Ping timeout: 264 seconds)
2021-06-11 04:34:38 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
2021-06-11 04:35:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-06-11 04:36:33 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 252 seconds)
2021-06-11 04:38:12 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-06-11 04:38:46 +0200yahb(xsbot@user/mniip/bot/yahb)
2021-06-11 04:40:50 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 04:41:19 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2021-06-11 04:41:30 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-06-11 04:44:58 +0200hammock(~Hammock@2600:1700:19a1:3330::625) (Quit: WeeChat 3.0.1)
2021-06-11 04:45:56 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 04:54:50 +0200 <bontaq`> idk, all the proof assistants have dependent types or stronger
2021-06-11 04:57:37 +0200 <Axman6> I've gelkt for a while that just having sum types and not allowing partial functions gets you a very long way in proving that you have handled everything that's possible in your program. writing functions which can operate over that domain proves that you have handled all cases, which for most practical work is better than you get in most languages
2021-06-11 04:57:43 +0200 <Axman6> felt*
2021-06-11 04:59:06 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 05:00:06 +0200 <keltono> bontaq`: well, not _all_ of them (https://en.wikipedia.org/wiki/Isabelle_(proof_assistant), for one)
2021-06-11 05:02:08 +0200 <bontaq`> :P
2021-06-11 05:02:41 +0200yd502(~yd502@180.168.212.6) (Ping timeout: 268 seconds)
2021-06-11 05:03:44 +0200yd502(~yd502@180.168.212.6)
2021-06-11 05:04:19 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 05:08:13 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 05:09:36 +0200 <qrpnxz> how do get declarations in an import to replace declarations from prelude?
2021-06-11 05:09:39 +0200cpnuj(~cpnuj@217.163.30.217)
2021-06-11 05:12:18 +0200cpnuj(~cpnuj@217.163.30.217) (Client Quit)
2021-06-11 05:12:20 +0200awth13(~user@user/awth13) (Ping timeout: 265 seconds)
2021-06-11 05:12:25 +0200 <Axman6> qrpnxz: here's a few ways, which is the correct one will depend on the specific import though, there's some idioms that are used for some modules and not others
2021-06-11 05:12:57 +0200 <qrpnxz> In my case i wanted Text.IO to subplant the prelude defaults
2021-06-11 05:13:08 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 05:13:09 +0200 <hololeap> qrpnxz: in regards to some and many, look into parsing libraries like parsec. that should give you an intuition for how those functions are used
2021-06-11 05:13:37 +0200 <hololeap> it doesn't work very well for most Alternatives found in base
2021-06-11 05:14:05 +0200 <Axman6> well one option is to do import Prelude hiding (functionsThat, youUseIn, your, code)
2021-06-11 05:14:08 +0200 <qrpnxz> yeah that makes sense but idk why i'm unable to say `take 3` from a `some (Just 1)` idk what's going on there
2021-06-11 05:14:28 +0200 <qrpnxz> Axman6, wow that's a lot of work, i'll just qualify it
2021-06-11 05:14:46 +0200 <Axman6> yeah, usually people will just do import Data.Text.IO as T
2021-06-11 05:15:02 +0200 <Axman6> qualified as T*
2021-06-11 05:15:35 +0200 <Axman6> a fairly common thing to do is: import Data.Text.IO qualified as T; import Data.Text.IO (nonClashing,names)
2021-06-11 05:15:56 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 264 seconds)
2021-06-11 05:17:22 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 05:21:45 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200Drezil(~drezilkif@2001:470:69fc:105::7f8) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200Artem[m](~artemtype@2001:470:69fc:105::75b) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200cdepillabout[m](~cdepillab@2001:470:69fc:105::3d3) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200amesgen[m](~amesgenam@2001:470:69fc:105::82b) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200eddiemundo(~eddiemund@2001:470:69fc:105::a9c) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200Soft(~soft-matr@2001:470:69fc:105::c75) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200autrim64[m](~autrim64m@2001:470:69fc:105::16a1) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200RohitGoswami[m](~rgoswamim@2001:470:69fc:105::16cc) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200psydroid(~psydroidm@user/psydroid) (Ping timeout: 244 seconds)
2021-06-11 05:21:45 +0200ac(~aloiscoch@2001:470:69fc:105::65) (Ping timeout: 244 seconds)
2021-06-11 05:21:55 +0200jophish(~jophish@2001:470:69fc:105::670) (Ping timeout: 264 seconds)
2021-06-11 05:21:55 +0200kadoban(~kadoban@user/kadoban) (Ping timeout: 264 seconds)
2021-06-11 05:21:55 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22) (Ping timeout: 264 seconds)
2021-06-11 05:22:03 +0200bitonic(~bitonicma@2001:470:69fc:105::1812) (Ping timeout: 244 seconds)
2021-06-11 05:22:25 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 268 seconds)
2021-06-11 05:22:31 +0200jaror[m](~jaror@2001:470:69fc:105::265) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200oak-(~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200tomferon[m](~tomferon@2001:470:69fc:105::268) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200bb010g(~bb010gmat@2001:470:69fc:105::9a5) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200kosmikus[m](~andresloe@2001:470:69fc:105::95d) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200bryan[m](~bchreekat@2001:470:69fc:105::16b5) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200maralorn(~maralorn@2001:470:69fc:105::251) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200sm[m](~sm@plaintextaccounting/sm) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200peddie(~peddie@2001:470:69fc:105::25d) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200fgaz(~fgaz@2001:470:69fc:105::842) (Ping timeout: 264 seconds)
2021-06-11 05:22:31 +0200thedward[m](~thedwardm@2001:470:69fc:105::f79) (Ping timeout: 264 seconds)
2021-06-11 05:22:38 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 05:22:38 +0200yin[m](~zwromatri@2001:470:69fc:105::1d4) (Ping timeout: 272 seconds)
2021-06-11 05:22:41 +0200siraben(~siraben@user/siraben) (Ping timeout: 272 seconds)
2021-06-11 05:22:53 +0200cjb(~cjb@user/cjb)
2021-06-11 05:23:38 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 05:24:07 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-11 05:24:09 +0200 <hololeap> I don't know where you find the source for the Maybe instance of Alternative
2021-06-11 05:24:28 +0200 <qrpnxz> wow awesome, i see text is monoid so i can just use generic function <> to concat, works as expected. empty text being mempty. Haskell is nice
2021-06-11 05:24:44 +0200 <qrpnxz> hololeap, it's in Base i believe
2021-06-11 05:25:26 +0200 <boxscape> I would link it but I'm getting a 502 on hackage :(
2021-06-11 05:26:03 +0200yd502(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 05:26:21 +0200 <boxscape> hololeap since hackage is down here's a link to the ghc repo https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Base.hs#L1095-1099
2021-06-11 05:26:29 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 05:26:40 +0200 <boxscape> wait
2021-06-11 05:26:40 +0200 <boxscape> not hackage
2021-06-11 05:26:42 +0200 <boxscape> hoogle is down
2021-06-11 05:26:50 +0200 <boxscape> I just always use hoogle to find my way through hackage
2021-06-11 05:27:48 +0200 <hololeap> boxscape: ok, but where is some and maybe?
2021-06-11 05:27:53 +0200 <hololeap> I mean many?
2021-06-11 05:28:35 +0200 <boxscape> hololeap many has a default implementation, you don't need to provide an implementation in the instance
2021-06-11 05:28:37 +0200 <hololeap> I suppose they're defined in the class definition for Alternative, but I can't find that...
2021-06-11 05:28:39 +0200 <boxscape> as does some
2021-06-11 05:28:48 +0200 <boxscape> see directly above the linked section
2021-06-11 05:29:10 +0200 <boxscape> hololeap https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Base.hs#L1074-1092
2021-06-11 05:29:21 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-11 05:29:39 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 05:29:41 +0200 <hololeap> oh, I was just searching wrong :p
2021-06-11 05:30:24 +0200 <bontaq`> is hoogle down? :ded:
2021-06-11 05:30:33 +0200 <boxscape> bontaq` yep
2021-06-11 05:30:50 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 05:30:51 +0200 <bontaq`> :summoning ritual: come back to us
2021-06-11 05:30:56 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2021-06-11 05:31:00 +0200 <boxscape> @hoogle Alternative
2021-06-11 05:31:00 +0200 <lambdabot> Control.Applicative class Applicative f => Alternative f
2021-06-11 05:31:00 +0200 <lambdabot> GHC.Base class Applicative f => Alternative f
2021-06-11 05:31:00 +0200 <lambdabot> Distribution.Compat.Prelude.Internal class Applicative f => Alternative (f :: Type -> Type)
2021-06-11 05:31:05 +0200 <boxscape> at least lambdabot's works
2021-06-11 05:31:17 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-06-11 05:31:29 +0200 <bontaq`> @hoogle Sequence
2021-06-11 05:31:29 +0200 <lambdabot> module Data.Sequence
2021-06-11 05:31:29 +0200 <lambdabot> Data.Yaml.Parser Sequence :: [YamlValue] -> Anchor -> YamlValue
2021-06-11 05:31:29 +0200 <lambdabot> module Text.Regex.Posix.Sequence
2021-06-11 05:31:41 +0200 <hololeap> ok, so it looks like the default implementation of some/many will just loop forever unless the Alternative can contain an empty later on
2021-06-11 05:32:47 +0200 <boxscape> those default definitions are so weird actually, why is the whole where block duplicated when only half of it is used
2021-06-11 05:32:59 +0200 <hololeap> and nothing from base can do that if I understand correctly
2021-06-11 05:33:06 +0200 <boxscape> oh wait
2021-06-11 05:33:08 +0200 <boxscape> it is used :)
2021-06-11 05:33:19 +0200 <boxscape> (s/it/the other half)
2021-06-11 05:33:57 +0200 <hololeap> so some/maybe on an Alternative from base will just loop forever
2021-06-11 05:34:22 +0200 <hololeap> *some/many
2021-06-11 05:34:33 +0200 <hololeap> (I don't know why I keep doing that...)
2021-06-11 05:35:00 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-06-11 05:35:05 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-11 05:35:36 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 05:35:44 +0200 <qrpnxz> so Go has some nice Reader and Writer interfaces that let you simply connect and wrap streams of bytes rather easily. Does haskell have something like that?
2021-06-11 05:36:10 +0200Crypt9a2e(~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1)
2021-06-11 05:36:50 +0200 <hololeap> what do you mean by "connect and wrap"? append?
2021-06-11 05:37:22 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-06-11 05:38:05 +0200 <qrpnxz> like you can easily copy a reader to a writer, or wrap a reader or a writer with gzip so that the stream is automatically compressed and decompressed
2021-06-11 05:38:57 +0200doublex_(~doublex@2601:542:c480:6ee0:184b:7083:f026:c689)
2021-06-11 05:39:23 +0200 <qrpnxz> or wrap stdin in a buffered reader, or slurp a reader into a buffer with ReadFrom and then wrap that in something else and read from it, or then copy it to another writer and so on
2021-06-11 05:39:29 +0200 <hololeap> hm, the use of Reader/Writer here sounds very different from the haskell versions of those terms. you might be looking for something like conduit
2021-06-11 05:39:40 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-11 05:39:49 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 05:40:35 +0200 <qrpnxz> yeah i was thinking i might have to use conduit/pipes or smth like that because what i'm describing i do not see in the stdlib of haskell
2021-06-11 05:40:56 +0200 <qrpnxz> and it's like one of my favourite things in Go
2021-06-11 05:41:10 +0200renzhi(~xp@2607:fa49:6500:bc00::e7b) (Ping timeout: 244 seconds)
2021-06-11 05:41:18 +0200 <hololeap> there's also streamly, which I haven't used as of yet, but I've heard very good things
2021-06-11 05:41:30 +0200 <qrpnxz> alright thanks
2021-06-11 05:41:58 +0200 <hololeap> those things are almost certainly going to exist in external packages
2021-06-11 05:43:08 +0200 <hololeap> in conduit terms, it would be Source/Sink vs. Reader/Writer
2021-06-11 05:43:20 +0200 <qrpnxz> System.IO actually looks rather limited. Are external libraries also able to implement these kind of system stuff?
2021-06-11 05:44:21 +0200 <hololeap> oh, definitely. most of the stuff in base is pretty low-level
2021-06-11 05:44:43 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 05:44:53 +0200 <hololeap> a big part of becoming competent in haskell is learning which external libraries to use
2021-06-11 05:45:16 +0200 <qrpnxz> no kidding, i mean, i don't see any networking stuff here either oh boy i'm gonna have to do a lot of searching
2021-06-11 05:45:55 +0200 <hololeap> it depends on what kind of networking you're trying to do. are you trying to set up something based on HTTP or a custom protocol?
2021-06-11 05:46:43 +0200 <hololeap> (or something else)
2021-06-11 05:46:49 +0200 <qrpnxz> Well, like let's say i wanted to just listen for TCP connections and then do a TLS handshake on em and dispatch that and so on
2021-06-11 05:47:15 +0200 <qrpnxz> i'm sure haskell has some kind of http lib as well
2021-06-11 05:47:35 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 05:48:55 +0200 <hololeap> the network and tls packages can do what you want, but they're pretty low-level
2021-06-11 05:49:07 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 05:50:35 +0200 <hololeap> one good way to search is to enter a keyword in https://hackage.haskell.org/packages/search and then sort by total downloads
2021-06-11 05:50:41 +0200 <qrpnxz> https://termbin.com/073q don't look so bad
2021-06-11 05:50:49 +0200 <qrpnxz> alright thanks
2021-06-11 05:51:03 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 05:51:07 +0200 <hololeap> typing "tls" in there brought up https://hackage.haskell.org/package/tcp-streams
2021-06-11 05:51:21 +0200jespada(~jespada@90.254.242.55) (Ping timeout: 252 seconds)
2021-06-11 05:51:31 +0200cjb(~cjb@user/cjb) ()
2021-06-11 05:51:53 +0200 <qrpnxz> this one will do tcp as well
2021-06-11 05:51:54 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2021-06-11 05:53:00 +0200 <hololeap> sometimes there are two or more competing packages for the same goal, in which case you can look for something about them on reddit or stack exchange
2021-06-11 05:53:06 +0200 <qrpnxz> guess it's hard to live up to the go stdlib, that's got so much. IPv{4,6}, TCP, UDP, TLS, HTTP, HTTPS, DNS, RSA, EDDSA, and so on
2021-06-11 05:53:37 +0200 <qrpnxz> roger that
2021-06-11 05:53:46 +0200jespada(~jespada@90.254.242.55)
2021-06-11 05:54:33 +0200 <juhp> What are "yellow" package versions on Hackage?
2021-06-11 05:55:02 +0200 <boxscape> qrpnxz I think part may also be that the haskell "leadership" would rather the community finds what the best way to do things is by having an open playing field, rather than mandating one standard from the top down. Though there are pros and cons to both approaches.
2021-06-11 05:55:14 +0200 <hololeap> something that I read once said that Haskell is the opposite of Ruby on Rails, in that RoR has one "blessed" way of doing anything, whereas Haskell has 100 ways
2021-06-11 05:55:32 +0200 <hololeap> so it's just something you have to get used to about the ecosystem
2021-06-11 05:55:48 +0200 <juhp> eg https://hackage.haskell.org/package/crypto-enigma
2021-06-11 05:55:49 +0200 <qrpnxz> boxscape, i mean, nothing prevents you from making your own go http library (indeed, there are many)
2021-06-11 05:56:14 +0200 <qrpnxz> there is a Data.Text alternative even so applies to haskell as well
2021-06-11 05:56:35 +0200 <boxscape> qrpnxz sure, but I think probably fewer people will use it when similar functionality exists in the stdlib
2021-06-11 05:57:01 +0200 <hololeap> although fpcomplete (and by extension the rio package) has been trying to make a "blessed" way for everything, so that would be a good place to check if you get overwhelmed
2021-06-11 05:57:03 +0200 <boxscape> (and it means you have to maintain the standard way of doing things even if the community switches over to a third-party package)
2021-06-11 05:57:18 +0200awth13(~user@user/awth13)
2021-06-11 05:57:55 +0200 <qrpnxz> Cause the stdlib one is really good. Sometimes the other libs are used if you need to go fast and loose or smth like that. Actually many stdlib pkgs have been even deprecated when external libraries became way better
2021-06-11 05:58:24 +0200 <boxscape> juhp the css class that makes it yellow is called "unpreferred"
2021-06-11 05:58:39 +0200 <juhp> boxscape: ah thanks!
2021-06-11 05:59:36 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 06:00:04 +0200 <boxscape> qrpnxz ah, yeah, I suppose allowing yourself to deprecate parts of the stdlib means you don't have some of the downsides
2021-06-11 06:00:32 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-11 06:01:32 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
2021-06-11 06:02:57 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 06:06:25 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 06:07:34 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 06:08:08 +0200MQ-17J(~MQ-17J@8.21.10.116) (Ping timeout: 264 seconds)
2021-06-11 06:09:56 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 264 seconds)
2021-06-11 06:12:05 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 06:13:13 +0200lbseale_(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-06-11 06:15:21 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-11 06:15:24 +0200wei2912(~wei2912@112.199.250.21)
2021-06-11 06:21:40 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 06:22:55 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-11 06:25:04 +0200oxide(~lambda@user/oxide) (Ping timeout: 245 seconds)
2021-06-11 06:26:25 +0200cjb(~cjb@user/cjb)
2021-06-11 06:27:34 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 245 seconds)
2021-06-11 06:31:59 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 06:33:06 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 06:37:50 +0200reumeth(~reumeth@user/reumeth)
2021-06-11 06:39:09 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 06:40:18 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 06:41:26 +0200zephyr_(~zephyr@59.88.25.191)
2021-06-11 06:43:22 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 244 seconds)
2021-06-11 06:48:52 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-06-11 06:49:45 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-11 06:51:18 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-06-11 06:51:18 +0200pe200012(~pe200012@183.63.73.36)
2021-06-11 06:54:53 +0200hmmmas(~chenqisu1@183.217.200.246) (Quit: Leaving.)
2021-06-11 06:57:53 +0200phma(phma@2001:5b0:211f:5688:8179:a979:62a:8bf6) (Quit: Konversation terminated!)
2021-06-11 07:00:07 +0200thyriaen(~thyriaen@45.178.75.13)
2021-06-11 07:02:48 +0200derelict(~derelict@user/derelict) (Ping timeout: 244 seconds)
2021-06-11 07:02:55 +0200thyriaen(~thyriaen@45.178.75.13) (Remote host closed the connection)
2021-06-11 07:04:52 +0200thyriaen(~thyriaen@45.178.75.13)
2021-06-11 07:05:11 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 07:05:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-06-11 07:07:08 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-11 07:07:41 +0200qbt(~edun@user/edun)
2021-06-11 07:11:05 +0200alx741(~alx741@186.178.108.59) (Quit: alx741)
2021-06-11 07:11:47 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
2021-06-11 07:12:18 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds)
2021-06-11 07:15:43 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 07:19:48 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 07:21:28 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 07:21:44 +0200Crypt9a2e(~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1) (Ping timeout: 245 seconds)
2021-06-11 07:25:44 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 07:27:52 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 07:29:20 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-06-11 07:30:22 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 07:30:35 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 07:30:41 +0200phma(phma@2001:5b0:211f:5688:1a5c:72d9:f31b:5496)
2021-06-11 07:31:04 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295)
2021-06-11 07:35:00 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-11 07:35:38 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 07:36:10 +0200_xor(~xor@74.215.46.133) (Quit: WeeChat 3.1)
2021-06-11 07:36:30 +0200psingh(~xor@74.215.46.133)
2021-06-11 07:37:12 +0200psingh(~xor@74.215.46.133) (Client Quit)
2021-06-11 07:37:32 +0200psingh(~xor@74.215.46.133)
2021-06-11 07:39:43 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 07:40:19 +0200sekun(~sekun@180.190.159.117)
2021-06-11 07:40:55 +0200psingh(~xor@74.215.46.133) (Client Quit)
2021-06-11 07:43:07 +0200_xor(~xor@74.215.46.133)
2021-06-11 07:44:03 +0200agumonke`(~user@88.160.31.174)
2021-06-11 07:44:27 +0200_xor(~xor@74.215.46.133) (Client Quit)
2021-06-11 07:44:30 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 07:45:15 +0200_xor(~xor@74.215.46.133)
2021-06-11 07:47:20 +0200_xor(~xor@74.215.46.133) (Client Quit)
2021-06-11 07:47:34 +0200_xor(~xor@74.215.46.133)
2021-06-11 07:48:50 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 07:49:01 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-06-11 07:50:09 +0200bontaq`(~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-06-11 07:53:26 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 07:54:12 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-06-11 07:56:00 +0200 <agumonke`> has anyone seen integer encoding of adjacency matrices ?
2021-06-11 07:56:05 +0200pdxleif(~leif@75.164.44.108)
2021-06-11 07:56:33 +0200 <agumonke`> [[1 1 1] [1 1 1] [1 1 1]] -> 777
2021-06-11 07:56:56 +0200Bartosz(~textual@24.35.90.211)
2021-06-11 07:57:39 +0200Crypt9a2e(~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1)
2021-06-11 07:57:58 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 07:59:56 +0200 <int-e> loopy
2021-06-11 08:00:09 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds)
2021-06-11 08:01:35 +0200 <c_wraith> It's a bit weird to do the decimal conversion in there.
2021-06-11 08:02:09 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
2021-06-11 08:02:24 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 08:02:48 +0200 <int-e> Oh I thought 777 was octal.
2021-06-11 08:02:51 +0200 <agumonke`> my bad
2021-06-11 08:02:52 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 08:02:53 +0200 <agumonke`> 7 7 7
2021-06-11 08:03:09 +0200 <agumonke`> I was overly packing data :)
2021-06-11 08:04:14 +0200 <agumonke`> the idea being that for a set of N objects you can just use integers to represent a binary attribute for that set
2021-06-11 08:04:49 +0200 <c_wraith> take it to the extreme and you get chess engine bitboards
2021-06-11 08:04:58 +0200 <agumonke`> either it's a bad idea or it's used already but I've never seen that and if that exists maybe there's a name for it
2021-06-11 08:05:09 +0200 <boxscape> arguably a bitmask is the same as an integer encoding?
2021-06-11 08:05:10 +0200 <agumonke`> c_wraith: gonna investigate
2021-06-11 08:06:19 +0200Guest74(~Guest74@109-252-184-94.dynamic.spd-mgts.ru)
2021-06-11 08:07:05 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 08:09:24 +0200aerona(~aerona@2600:6c54:4600:f300:f3ed:d9b8:4e4c:a83a) (Quit: Leaving)
2021-06-11 08:11:19 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 08:13:56 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-06-11 08:14:29 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-11 08:15:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-11 08:16:12 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 08:20:30 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 08:20:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
2021-06-11 08:20:36 +0200pdxleif(~leif@75.164.44.108) (Ping timeout: 272 seconds)
2021-06-11 08:22:07 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b)
2021-06-11 08:25:19 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 08:26:55 +0200mauricio(~mauricio@host-181-39-120-169.netlife.ec)
2021-06-11 08:28:00 +0200mauriciodebclair
2021-06-11 08:29:39 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 08:31:25 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 08:31:34 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-11 08:32:10 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-06-11 08:33:40 +0200Guest74(~Guest74@109-252-184-94.dynamic.spd-mgts.ru) (Quit: Client closed)
2021-06-11 08:34:26 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 08:36:19 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 245 seconds)
2021-06-11 08:39:06 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 08:40:32 +0200Bartosz(~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-11 08:43:34 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 08:44:31 +0200cfricke(~cfricke@user/cfricke)
2021-06-11 08:45:09 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 08:46:34 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 08:47:09 +0200xff0x_(~xff0x@2001:1a81:5346:bf00:6e52:b23e:6fc2:e844) (Ping timeout: 245 seconds)
2021-06-11 08:47:59 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 08:50:54 +0200oxide(~lambda@user/oxide)
2021-06-11 08:51:38 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
2021-06-11 08:52:41 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 08:56:10 +0200Crypt9a2e(~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1) (Remote host closed the connection)
2021-06-11 08:56:28 +0200Crypt9a2e(~Crypt9a2e@157.51.3.28)
2021-06-11 08:57:10 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-06-11 08:57:58 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 09:01:48 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 09:02:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 09:04:14 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 09:06:17 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 09:07:55 +0200debclair(~mauricio@host-181-39-120-169.netlife.ec) (Quit: Leaving)
2021-06-11 09:09:04 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 244 seconds)
2021-06-11 09:10:55 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 09:11:14 +0200danso(~danso@modemcable156.91-20-96.mc.videotron.ca) (Quit: WeeChat 3.1)
2021-06-11 09:13:15 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 09:15:29 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 245 seconds)
2021-06-11 09:17:54 +0200cjb(~cjb@user/cjb) ()
2021-06-11 09:19:07 +0200sndr(~sander@user/sander) (Ping timeout: 272 seconds)
2021-06-11 09:19:24 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds)
2021-06-11 09:20:02 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 09:22:14 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 09:23:16 +0200thedward[m](~thedwardm@2001:470:69fc:105::f79)
2021-06-11 09:24:02 +0200ac(~aloiscoch@2001:470:69fc:105::65)
2021-06-11 09:24:03 +0200sm[m](~sm@plaintextaccounting/sm)
2021-06-11 09:24:03 +0200siraben(~siraben@user/siraben)
2021-06-11 09:24:03 +0200psydroid(~psydroidm@2001:470:69fc:105::165)
2021-06-11 09:24:03 +0200peddie(~peddie@2001:470:69fc:105::25d)
2021-06-11 09:24:03 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2021-06-11 09:24:03 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22)
2021-06-11 09:24:03 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2021-06-11 09:24:03 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db)
2021-06-11 09:24:03 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e)
2021-06-11 09:24:03 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a)
2021-06-11 09:24:03 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2021-06-11 09:24:03 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2021-06-11 09:24:03 +0200jophish(~jophish@2001:470:69fc:105::670)
2021-06-11 09:24:03 +0200kadoban(~kadoban@user/kadoban)
2021-06-11 09:24:14 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2021-06-11 09:24:15 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd)
2021-06-11 09:24:15 +0200amesgen[m](~amesgenam@2001:470:69fc:105::82b)
2021-06-11 09:24:15 +0200Drezil(~drezilkif@2001:470:69fc:105::7f8)
2021-06-11 09:24:15 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2)
2021-06-11 09:24:15 +0200kosmikus[m](~andresloe@2001:470:69fc:105::95d)
2021-06-11 09:24:15 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d)
2021-06-11 09:24:15 +0200eddiemundo(~eddiemund@2001:470:69fc:105::a9c)
2021-06-11 09:24:15 +0200bb010g(~bb010gmat@2001:470:69fc:105::9a5)
2021-06-11 09:24:15 +0200tomferon[m](~tomferon@2001:470:69fc:105::268)
2021-06-11 09:24:15 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae)
2021-06-11 09:24:15 +0200cdepillabout[m](~cdepillab@2001:470:69fc:105::3d3)
2021-06-11 09:24:15 +0200Artem[m](~artemtype@2001:470:69fc:105::75b)
2021-06-11 09:24:15 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7)
2021-06-11 09:24:15 +0200bryan[m](~bchreekat@2001:470:69fc:105::16b5)
2021-06-11 09:24:15 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2021-06-11 09:24:15 +0200Soft(~soft-matr@2001:470:69fc:105::c75)
2021-06-11 09:24:15 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2021-06-11 09:24:15 +0200RohitGoswami[m](~rgoswamim@2001:470:69fc:105::16cc)
2021-06-11 09:24:16 +0200autrim64[m](~autrim64m@2001:470:69fc:105::16a1)
2021-06-11 09:24:16 +0200yin[m](~zwromatri@2001:470:69fc:105::1d4)
2021-06-11 09:24:17 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284)
2021-06-11 09:24:17 +0200jaror[m](~jaror@2001:470:69fc:105::265)
2021-06-11 09:24:17 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2)
2021-06-11 09:24:17 +0200oak-(~oakuniver@2001:470:69fc:105::fcd)
2021-06-11 09:24:17 +0200bitonic(~bitonic@2001:470:69fc:105::1812)
2021-06-11 09:24:46 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 268 seconds)
2021-06-11 09:27:05 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 09:27:51 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 268 seconds)
2021-06-11 09:28:41 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 252 seconds)
2021-06-11 09:28:50 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net)
2021-06-11 09:29:01 +0200agumonke`(~user@88.160.31.174) (Ping timeout: 244 seconds)
2021-06-11 09:29:09 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 09:31:37 +0200xff0x_(~xff0x@217.110.198.158)
2021-06-11 09:33:40 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 09:33:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection)
2021-06-11 09:34:30 +0200sekun(~sekun@180.190.159.117) (Remote host closed the connection)
2021-06-11 09:34:52 +0200sekun(~sekun@180.190.159.117)
2021-06-11 09:35:55 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 09:36:41 +0200dragestil(~quassel@user/dragestil) (Quit: No Ping reply in 180 seconds.)
2021-06-11 09:38:06 +0200lechner(~lechner@letbox-vps.us-core.com) (Ping timeout: 264 seconds)
2021-06-11 09:38:08 +0200chele(~chele@user/chele)
2021-06-11 09:38:16 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 09:38:30 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 272 seconds)
2021-06-11 09:38:30 +0200vk3wtf(~doc@124.168.198.139) (Ping timeout: 272 seconds)
2021-06-11 09:39:06 +0200dragestil(~quassel@user/dragestil)
2021-06-11 09:39:33 +0200 <gentauro> anybody know why `stack` tells me that there is a newer version without me "asking" for it? Does it mean that everytime I run `stack` it "sends info" to FP Complete?
2021-06-11 09:40:14 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net)
2021-06-11 09:40:30 +0200arahael(~arahael@203-206-83-196.tpgi.com.au) (Ping timeout: 264 seconds)
2021-06-11 09:40:55 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
2021-06-11 09:42:23 +0200riv(~river@tilde.team/user/river) (Killed (ozone (No Spam)))
2021-06-11 09:43:34 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 272 seconds)
2021-06-11 09:43:38 +0200 <lortabac> gentauro: I don't know whether it sends any info, but it seems more likely that in this case it **fetches** info about the latest version and compares it with the one that you have
2021-06-11 09:44:15 +0200 <gentauro> lortabac: could be
2021-06-11 09:44:38 +0200river(~river@tilde.team/user/river)
2021-06-11 09:45:53 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-11 09:46:08 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 09:46:13 +0200 <gentauro> lortabac: https://github.com/commercialhaskell/stack/blob/master/src/main/Main.hs#L134-L142
2021-06-11 09:46:15 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-11 09:46:23 +0200 <gentauro> I will investigage -> `globalOptsFromMonoid`
2021-06-11 09:47:45 +0200vk3wtf(~doc@124.168.198.139)
2021-06-11 09:47:47 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 09:48:37 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 09:52:30 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 09:52:32 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b) (Quit: WeeChat 2.8)
2021-06-11 09:53:48 +0200arahael(~arahael@203-206-83-196.tpgi.com.au)
2021-06-11 09:56:31 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 09:56:53 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 10:01:03 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 10:01:18 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 272 seconds)
2021-06-11 10:03:12 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
2021-06-11 10:04:48 +0200 <maerwald> gentauro: stack downloads some .yaml from an obscure location, which contains available GHC versions and stack versions I believe
2021-06-11 10:04:53 +0200 <maerwald> I had a link once, but I lost it
2021-06-11 10:05:40 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 10:06:13 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 10:06:17 +0200gehmehgeh(~user@user/gehmehgeh)
2021-06-11 10:06:56 +0200hiptobecubic(~john@c-73-55-99-95.hsd1.fl.comcast.net) (Ping timeout: 264 seconds)
2021-06-11 10:07:27 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 244 seconds)
2021-06-11 10:07:36 +0200hendursa1(~weechat@user/hendursaga)
2021-06-11 10:08:33 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 10:09:40 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 252 seconds)
2021-06-11 10:10:29 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 252 seconds)
2021-06-11 10:14:46 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 10:17:16 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 10:18:44 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 10:19:30 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 10:21:10 +0200yd502(~yd502@180.168.212.6)
2021-06-11 10:23:54 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 10:25:12 +0200lechner(~lechner@letbox-vps.us-core.com)
2021-06-11 10:28:26 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 244 seconds)
2021-06-11 10:29:35 +0200sander(~sander@user/sander)
2021-06-11 10:29:51 +0200zephyr_(~zephyr@59.88.25.191) (Quit: leaving)
2021-06-11 10:33:02 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 10:34:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 10:34:29 +0200michalz(~michalz@185.246.204.121)
2021-06-11 10:35:24 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-06-11 10:36:30 +0200jippiedoe(~david@2a02-a44c-e14e-1-7fb2-6685-aa0b-ccaa.fixed6.kpn.net)
2021-06-11 10:38:06 +0200Shaeto(~Shaeto@94.25.234.158) (Ping timeout: 264 seconds)
2021-06-11 10:38:42 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 264 seconds)
2021-06-11 10:40:00 +0200 <gentauro> 10:04 < maerwald> gentauro: stack downloads some .yaml from an obscure location
2021-06-11 10:40:00 +0200 <gentauro> :o
2021-06-11 10:46:12 +0200killsushi(~killsushi@user/killsushi) (Quit: Leaving)
2021-06-11 10:48:59 +0200ubert(~Thunderbi@p200300ecdf259d9f54bb2464a6e8d03a.dip0.t-ipconnect.de)
2021-06-11 10:51:08 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 10:52:34 +0200 <maerwald> "obscure" bc it's mirrored and whatnot and it took me 20 minutes to find it
2021-06-11 10:54:20 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41)
2021-06-11 10:56:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds)
2021-06-11 10:56:03 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 252 seconds)
2021-06-11 10:57:05 +0200nilof(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 10:57:34 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 245 seconds)
2021-06-11 10:59:47 +0200 <gentauro> maerwald: shouldn't it "just" be stated somewhere in the GitHub `readme.md` file?
2021-06-11 10:59:56 +0200 <gentauro> just for "clarity" / "transparency"?
2021-06-11 11:00:32 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds)
2021-06-11 11:00:32 +0200 <merijn> I mean, that's, like, 90% of the functionality of stack?
2021-06-11 11:02:59 +0200 <merijn> That's like saying GHC should advertise the fact that it compiles Haskell for clarity/transparency
2021-06-11 11:04:16 +0200 <gentauro> merijn: good point
2021-06-11 11:05:24 +0200 <maerwald> I think gentauro was worried stack would be a windows service style backend that logs into your machine to update GHC
2021-06-11 11:05:30 +0200 <maerwald> which wouldn't surprise me :p
2021-06-11 11:05:50 +0200 <merijn> It would surprise me :p
2021-06-11 11:06:07 +0200 <merijn> because that'd mean someone was crazy enough to go through the hassle of engineering something like that
2021-06-11 11:06:13 +0200 <maerwald> gentauro: https://github.com/commercialhaskell/stackage-content/blob/master/stack/stack-setup-2.yaml
2021-06-11 11:06:49 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 11:06:58 +0200 <maerwald> "AS OF STACK 1.3.0, THIS INFORMATION IS NO LONGER USED, AND NEWER VERSIONS OF STACK WILL NOT BE ADDED."
2021-06-11 11:07:00 +0200 <maerwald> aha
2021-06-11 11:07:06 +0200 <maerwald> and no description what's done instead
2021-06-11 11:07:10 +0200yoctocell(~yoctocell@h87-96-130-155.cust.a3fiber.se)
2021-06-11 11:07:56 +0200anandprabhu(~anandprab@87.201.97.214)
2021-06-11 11:09:15 +0200yd502(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 11:10:13 +0200 <maerwald> so maybe it IS a phone-home service after all :p
2021-06-11 11:11:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 11:16:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 272 seconds)
2021-06-11 11:17:03 +0200yd502(~yd502@180.168.212.6)
2021-06-11 11:17:37 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 11:18:36 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 11:19:57 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-06-11 11:20:47 +0200nsilv(~nsilv@212.103.198.210)
2021-06-11 11:21:01 +0200trent1(~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-06-11 11:21:08 +0200zaquest(~notzaques@5.128.210.178)
2021-06-11 11:24:01 +0200 <siers> Is iterateMaybeM just an explicit iterateM + WriterT (MaybeT m a) [a] or similar? https://hackage.haskell.org/package/monad-extras-0.6.0/docs/Control-Monad-Extra.html#v:iterateMaybeM
2021-06-11 11:27:19 +0200vpan(~vpan@212.117.1.172)
2021-06-11 11:35:49 +0200ubert(~Thunderbi@p200300ecdf259d9f54bb2464a6e8d03a.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-06-11 11:37:29 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 11:38:49 +0200 <siers> I wonder if that stack will work even
2021-06-11 11:41:01 +0200brian_da_mage(~Neuromanc@user/briandamag)
2021-06-11 11:42:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 264 seconds)
2021-06-11 11:43:37 +0200dhil(~dhil@195.213.192.47)
2021-06-11 11:46:55 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 11:47:03 +0200 <siers> I remember reading that WriterT is "slow". Was that the case? Does it only apply when you want to squeeze out more performance?
2021-06-11 11:47:14 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b)
2021-06-11 11:48:09 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 11:49:25 +0200 <boxscape> siers I'm not really well informed on that topic but this talks about (even the strict) WriterT having a space leak, which might be what you're referring to https://mail.haskell.org/pipermail/libraries/2012-October/018599.html
2021-06-11 11:49:35 +0200 <boxscape> I believe this version doesn't have that particular problem https://hackage.haskell.org/package/transformers-0.5.6.2/docs/Control-Monad-Trans-Writer-CPS.html
2021-06-11 11:50:01 +0200turion(~turion@2a02:810d:8abf:c4a8:e8a3:1701:9e78:7013)
2021-06-11 11:50:17 +0200yd502(~yd502@180.168.212.6) (Ping timeout: 272 seconds)
2021-06-11 11:56:17 +0200 <gentauro> 11:05 < maerwald> I think gentauro was worried stack would be a windows service style backend that logs into your machine to update GHC
2021-06-11 11:56:20 +0200 <gentauro> xD
2021-06-11 11:58:18 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 11:58:20 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 244 seconds)
2021-06-11 11:58:25 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2021-06-11 11:58:33 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 11:58:56 +0200Shaeto(~Shaeto@94.25.234.158)
2021-06-11 12:02:08 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 12:03:22 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-06-11 12:03:57 +0200pe200012_(~pe200012@120.236.161.38)
2021-06-11 12:04:10 +0200pe200012(~pe200012@183.63.73.36) (Ping timeout: 272 seconds)
2021-06-11 12:04:48 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) (Ping timeout: 272 seconds)
2021-06-11 12:06:57 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds)
2021-06-11 12:14:25 +0200turion(~turion@2a02:810d:8abf:c4a8:e8a3:1701:9e78:7013) (Quit: Leaving.)
2021-06-11 12:15:08 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 12:18:03 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 12:18:10 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2021-06-11 12:21:22 +0200pe200012_pe200012
2021-06-11 12:22:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 12:22:24 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
2021-06-11 12:22:29 +0200mc47(~mc47@xmonad/TheMC47)
2021-06-11 12:25:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-06-11 12:26:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 12:27:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 264 seconds)
2021-06-11 12:30:22 +0200nilof(~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds)
2021-06-11 12:31:55 +0200nsilv(~nsilv@212.103.198.210) (Ping timeout: 244 seconds)
2021-06-11 12:33:59 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-11 12:35:44 +0200jakzale(uid499518@id-499518.charlton.irccloud.com)
2021-06-11 12:36:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-06-11 12:38:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 12:41:15 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 12:42:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 12:43:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-06-11 12:44:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 12:44:06 +0200teaSlurper(~chris@81.96.113.213) (Remote host closed the connection)
2021-06-11 12:47:39 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds)
2021-06-11 12:49:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-06-11 12:49:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-06-11 12:49:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 12:50:14 +0200notzmv(~zmv@user/notzmv)
2021-06-11 12:51:00 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 252 seconds)
2021-06-11 12:52:55 +0200yd502_(~yd502@180.168.212.6)
2021-06-11 12:53:59 +0200M_o_C(~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de)
2021-06-11 12:54:04 +0200M_o_CMoC
2021-06-11 12:54:08 +0200bsima(~bsima@simatime.com) (Quit: ZNC 1.8.1 - https://znc.in)
2021-06-11 12:54:26 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 268 seconds)
2021-06-11 12:55:02 +0200bsima(~bsima@simatime.com)
2021-06-11 12:55:05 +0200xkuru(~xkuru@user/xkuru)
2021-06-11 12:55:57 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 252 seconds)
2021-06-11 12:59:27 +0200MoCMoC_
2021-06-11 12:59:45 +0200MoC_MoC__
2021-06-11 12:59:51 +0200MoC__MoC
2021-06-11 13:00:30 +0200pavonia(~user@user/siracusa)
2021-06-11 13:00:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-06-11 13:01:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 13:01:34 +0200oxide(~lambda@user/oxide) (Ping timeout: 244 seconds)
2021-06-11 13:02:24 +0200MoC(~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de) (Quit: Konversation terminated!)
2021-06-11 13:02:33 +0200pe200012(~pe200012@120.236.161.38) (Ping timeout: 252 seconds)
2021-06-11 13:02:37 +0200pe200012_(~pe200012@120.236.161.38)
2021-06-11 13:02:38 +0200MoC(~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de)
2021-06-11 13:06:52 +0200fendor(~fendor@77.119.128.240.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2021-06-11 13:06:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-06-11 13:07:07 +0200fendor_(~fendor@77.119.128.240.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2021-06-11 13:07:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 13:07:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 13:08:30 +0200 <bwe> optics: how can I make over with mapM work? https://paste.tomsmeding.com/UeAr0jmw
2021-06-11 13:08:46 +0200fendor(~fendor@91.141.3.58.wireless.dyn.drei.com)
2021-06-11 13:08:53 +0200fendor_(~fendor@91.141.3.58.wireless.dyn.drei.com)
2021-06-11 13:12:37 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 272 seconds)
2021-06-11 13:13:01 +0200MoC(~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de) (Changing host)
2021-06-11 13:13:01 +0200MoC(~moc@user/moc)
2021-06-11 13:14:18 +0200oxide(~lambda@user/oxide)
2021-06-11 13:14:50 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2021-06-11 13:15:44 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-06-11 13:17:01 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 13:17:07 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 265 seconds)
2021-06-11 13:18:27 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr)
2021-06-11 13:22:09 +0200BosonCollider(~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-06-11 13:24:49 +0200 <dibblego> well mapM is an optic i.e. a Traversal, but it's hard to tell without types
2021-06-11 13:26:10 +0200sekun(~sekun@180.190.159.117) (Ping timeout: 244 seconds)
2021-06-11 13:27:02 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 13:28:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 13:28:08 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-11 13:28:49 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-11 13:29:19 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-11 13:30:39 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
2021-06-11 13:30:41 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-06-11 13:30:56 +0200MoC(~moc@user/moc)
2021-06-11 13:31:03 +0200 <xerox> tomsmeding: in firefox the raw link for this last paste shows the wrong encoding, maybe that's the server saying something wrong about it?
2021-06-11 13:31:25 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 13:31:45 +0200koishi_(~koishi_@185.209.85.134)
2021-06-11 13:32:04 +0200MoC(~moc@user/moc) (Client Quit)
2021-06-11 13:32:20 +0200MoC(~moc@user/moc)
2021-06-11 13:32:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 244 seconds)
2021-06-11 13:32:26 +0200 <boxscape> do servers say anything about the encoding? I thought it just sends a text file when you click on raw
2021-06-11 13:32:36 +0200xkuru(~xkuru@user/xkuru) (Remote host closed the connection)
2021-06-11 13:32:57 +0200 <tomsmeding> xerox: the server isn't saying anything about it at all :p
2021-06-11 13:33:13 +0200 <tomsmeding> the reason it works on the normal paste page is that the html inclues a <meta charset="utf-8"> directive
2021-06-11 13:33:17 +0200 <merijn> tomsmeding: Servers do say something
2021-06-11 13:33:19 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-06-11 13:33:27 +0200 <merijn> Well, properly configured servers do, anyway :p
2021-06-11 13:33:31 +0200 <tomsmeding> I could send content-type: text/plain; charset=utf-8
2021-06-11 13:33:50 +0200 <tomsmeding> question is, that assumes that the input that people paste is, in fact, utf-8
2021-06-11 13:33:56 +0200oxide(~lambda@user/oxide) (Ping timeout: 264 seconds)
2021-06-11 13:34:02 +0200 <tomsmeding> though I guess I could check that upon pasting
2021-06-11 13:34:11 +0200MoC(~moc@user/moc) (Client Quit)
2021-06-11 13:34:18 +0200 <boxscape> you can?
2021-06-11 13:34:18 +0200 <merijn> tomsmeding: You can try and detect the encoding on input and then convert to utf-8 before storing
2021-06-11 13:34:26 +0200MoC(~moc@user/moc)
2021-06-11 13:34:34 +0200 <tomsmeding> merijn: I'm fearful of trying to detect the encoding
2021-06-11 13:34:35 +0200 <merijn> I wonder if you can tell the browser what encoding to use for text fields
2021-06-11 13:35:03 +0200 <tomsmeding> maybe if the page itself is utf-8, "proper" browsers will also use that encoding for submitted text?
2021-06-11 13:35:05 +0200 <tomsmeding> maybe?
2021-06-11 13:35:18 +0200 <merijn> tomsmeding: You can set an Accept-Encoding header, apparently
2021-06-11 13:35:41 +0200 <boxscape> do clipboards have an encoding?
2021-06-11 13:35:47 +0200 <tomsmeding> boxscape: yes
2021-06-11 13:35:49 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 13:35:58 +0200 <boxscape> and can that differ?
2021-06-11 13:36:01 +0200 <merijn> boxscape: Yes, no, maybe
2021-06-11 13:36:05 +0200 <merijn> tomsmeding: Oh, duh
2021-06-11 13:36:15 +0200 <boxscape> okay
2021-06-11 13:36:18 +0200 <merijn> tomsmeding: The browser should be specifying the encoding in the GET/PUT request
2021-06-11 13:36:20 +0200 <tomsmeding> right, on the page in JS I have a JS String
2021-06-11 13:36:29 +0200 <tomsmeding> which is encoding-independent
2021-06-11 13:36:39 +0200 <tomsmeding> ... assuming people have JS enabled
2021-06-11 13:36:40 +0200 <merijn> hah
2021-06-11 13:36:44 +0200 <merijn> That's cute
2021-06-11 13:36:57 +0200 <merijn> You expect JS to have a sane "encoding-independent" semantics for strings
2021-06-11 13:37:18 +0200 <tomsmeding> or is that that WTF-16 thing?
2021-06-11 13:37:20 +0200 <merijn> Personally I'd expect "insane madness that only works through sheer luck" is more accurate :p
2021-06-11 13:37:51 +0200 <tomsmeding> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-accept-charset
2021-06-11 13:37:58 +0200 <tomsmeding> "The default value means the same encoding as the page."
2021-06-11 13:38:03 +0200trent1(~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 244 seconds)
2021-06-11 13:38:11 +0200 <tomsmeding> looks like I'm in the clear if the html itself is utf-8
2021-06-11 13:39:53 +0200 <bwe> dibblego: thanks, I solved it with `traverseOf`.
2021-06-11 13:39:54 +0200 <tomsmeding> so mayve the right fix is to set a charset=UTF-8 content-type on everything, and check for utf-8-correctness upon submission
2021-06-11 13:39:57 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-06-11 13:40:15 +0200 <merijn> tomsmeding: That sounds like the most sane way
2021-06-11 13:40:26 +0200 <merijn> tomsmeding: For extra paranoia set Accept-Encoding on the HTTP server too
2021-06-11 13:40:48 +0200 <tomsmeding> for clients/browsers that do wacky stuff?
2021-06-11 13:40:51 +0200 <tomsmeding> I guess
2021-06-11 13:40:55 +0200 <tomsmeding> can't hurt
2021-06-11 13:40:57 +0200 <dibblego> bwe: ok FYI traverseOf = id
2021-06-11 13:40:58 +0200 <merijn> tomsmeding: Just to be extra bullet-proof :p
2021-06-11 13:41:08 +0200 <merijn> tomsmeding: It's strictly more correct to set it than not
2021-06-11 13:41:55 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 268 seconds)
2021-06-11 13:42:43 +0200 <tomsmeding> wait Accept-Encoding is a client header
2021-06-11 13:44:30 +0200 <merijn> both, no?
2021-06-11 13:45:28 +0200 <tomsmeding> merijn: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding
2021-06-11 13:46:26 +0200zebrag(~chris@user/zebrag)
2021-06-11 13:48:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 13:48:21 +0200tomjagua1pawtomjaguarpaw
2021-06-11 13:50:02 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 13:50:42 +0200xprlgjf(~gavin@60.27.93.209.dyn.plus.net) (Remote host closed the connection)
2021-06-11 13:51:16 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 13:51:26 +0200trent1(~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-06-11 13:52:34 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 245 seconds)
2021-06-11 13:52:57 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 13:53:33 +0200vpan(~vpan@212.117.1.172) (Quit: Client closed)
2021-06-11 13:55:29 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
2021-06-11 13:58:08 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-06-11 13:58:49 +0200sm2n(~sm2n@user/sm2n) (Ping timeout: 245 seconds)
2021-06-11 14:03:56 +0200nsilv(~nsilv@212.103.198.210)
2021-06-11 14:04:30 +0200pe200012_(~pe200012@120.236.161.38) (Ping timeout: 264 seconds)
2021-06-11 14:05:08 +0200pbrisbin(~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 272 seconds)
2021-06-11 14:05:17 +0200pe200012(~pe200012@183.63.73.36)
2021-06-11 14:08:28 +0200 <tomsmeding> xerox: fixed
2021-06-11 14:08:28 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 14:08:58 +0200 <xerox> tomsmeding: grand
2021-06-11 14:09:28 +0200 <tomsmeding> if someone now tries to submit a non-utf-8 paste the server gives you a red-hot 400 Invalid Request :p
2021-06-11 14:09:41 +0200tomsmedingwonders if there's invalid utf8 in the existing pastes
2021-06-11 14:10:27 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 14:10:30 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 264 seconds)
2021-06-11 14:13:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds)
2021-06-11 14:15:06 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 14:18:17 +0200sheepduck(~sheepduck@2607:fea8:2a61:4800::3ae6) (Remote host closed the connection)
2021-06-11 14:18:36 +0200sheepduck(~sheepduck@2607:fea8:2a61:4800::6b7b)
2021-06-11 14:18:49 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 245 seconds)
2021-06-11 14:20:14 +0200spoonm(spoonm@inaba.spoonm.org) (Quit: ZNC - https://znc.in)
2021-06-11 14:21:01 +0200spoonm(spoonm@inaba.spoonm.org)
2021-06-11 14:22:16 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
2021-06-11 14:23:05 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr) (Quit: Leaving)
2021-06-11 14:23:05 +0200 <tomsmeding> there was one, submitted by me, and it's now gone :)
2021-06-11 14:25:27 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 14:25:29 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 14:26:31 +0200 <Clint> which encoding was it?
2021-06-11 14:28:32 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 14:30:05 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-11 14:31:41 +0200themc47(~mc47@xmonad/TheMC47)
2021-06-11 14:32:24 +0200teaSlurper(~chris@81.96.113.213) (Remote host closed the connection)
2021-06-11 14:32:59 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 245 seconds)
2021-06-11 14:33:54 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 264 seconds)
2021-06-11 14:37:16 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 14:42:06 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-11 14:42:11 +0200teaSlurper(~chris@81.96.113.213) (Ping timeout: 265 seconds)
2021-06-11 14:43:37 +0200pbrisbin(~patrick@pool-72-92-38-164.phlapa.fios.verizon.net)
2021-06-11 14:44:41 +0200bontaq`(~user@ool-18e47f8d.dyn.optonline.net)
2021-06-11 14:45:07 +0200bontaq`bontaq
2021-06-11 14:45:11 +0200 <Maxdamantus> My preference would be to just accept the binary data and relay it back, saying it's UTF-8.
2021-06-11 14:45:36 +0200 <Maxdamantus> There's a reason that the charset is part of the "Content-type".
2021-06-11 14:46:34 +0200 <Maxdamantus> It's just informative. Something that's dealing with the content as files or streams shouldn't have to interpret it according to the content-type.
2021-06-11 14:47:15 +0200 <Maxdamantus> When your browser downloads a file, it doesn't mess with the bytes based on the content-type. It just copies the bytes to the filesystem.
2021-06-11 14:47:57 +0200oxide(~lambda@user/oxide)
2021-06-11 14:48:42 +0200 <Maxdamantus> (and the reason for saying it's UTF-8 is just that UTF-8 should be the default nowadays, but obviously some things have to assume different defaults for historical reasons)
2021-06-11 14:49:00 +0200 <merijn> Maxdamantus: eh...when you open a file *in* the browser it definitely has to do something depending on content-type
2021-06-11 14:49:20 +0200 <Maxdamantus> merijn: sure, when it's rendering it.
2021-06-11 14:49:22 +0200 <merijn> Maxdamantus: I'm not really sure why you're talking about downloading, tbh.
2021-06-11 14:49:34 +0200 <Maxdamantus> merijn: beacuse it's analogous to uploading.
2021-06-11 14:49:42 +0200 <merijn> It was about the raw view on a paste site
2021-06-11 14:49:59 +0200 <merijn> Clearly the browser is expected to *render* the text presented
2021-06-11 14:50:07 +0200curiousgay(~quassel@178.217.208.8) (Read error: Connection reset by peer)
2021-06-11 14:50:19 +0200themc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2021-06-11 14:50:30 +0200curiousgay(~quassel@178.217.208.8)
2021-06-11 14:50:46 +0200 <Maxdamantus> Sure, and that will all work out fine if the original data was valid UTF-8.
2021-06-11 14:51:31 +0200 <Maxdamantus> If it wasn't valid UTF-8, the main thing should be that the browser should not crash, which it probably doesn't.
2021-06-11 14:51:50 +0200 <Maxdamantus> But there isn't really any reason to reject the upload if it's invalid.
2021-06-11 14:52:03 +0200 <merijn> I see no reason why it shouldn't correctly render utf-16 or whatever if the webserver properly tracks it
2021-06-11 14:52:08 +0200 <Maxdamantus> and if possible, it should preserve the data instead of corrupting it with replacement characters.
2021-06-11 14:53:46 +0200 <Maxdamantus> You mean relaying back the original charset provided in the upload?
2021-06-11 14:54:16 +0200 <Maxdamantus> That seems a bit dodgy to me.
2021-06-11 14:54:57 +0200 <Maxdamantus> If you want to do something with the uploaded charset, it would probably be better to just convert it to UTF-8 on upload IFF a different charset is explicitly provided.
2021-06-11 14:56:02 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 14:56:11 +0200 <Maxdamantus> If you're sometimes sending charset=utf-8 and sometimes sending charset=utf-16 and sometimes sending charset=8859-1, that's probably just going to lead to more difficulties when diagnosing behaviour of users' clients.
2021-06-11 14:56:21 +0200jolly(~jolly@208.180.97.158)
2021-06-11 14:56:37 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-06-11 14:56:51 +0200 <Maxdamantus> If you're always sending charset=utf-8, at least clients should mostly handle the pastes the same way.
2021-06-11 14:57:50 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 14:58:32 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 264 seconds)
2021-06-11 14:58:58 +0200 <octeep> Is there a library for getting the machine's network interfaces and their corresponding addresses in Haskell?
2021-06-11 14:59:31 +0200 <octeep> Can't seem to find anything in the network library
2021-06-11 14:59:34 +0200 <Maxdamantus> If I look at a paste in my browser and the server relays back `charset=utf-16`, my browser might show it okay, but if I curl the raw URL, I'm going to get some gibberish in my terminal.
2021-06-11 15:00:09 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 15:00:18 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 15:01:15 +0200alx741(~alx741@186.178.108.59)
2021-06-11 15:05:17 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 252 seconds)
2021-06-11 15:05:36 +0200 <merijn> octeep: Doubt it
2021-06-11 15:05:48 +0200 <merijn> octeep: But wrapping the relevant C calls should be easy enough
2021-06-11 15:06:24 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 244 seconds)
2021-06-11 15:06:48 +0200 <merijn> (well, easy enough of you know C already, moderately difficult if you don't)
2021-06-11 15:13:59 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 15:16:02 +0200betelgeuse(~john2gb@94-225-47-8.access.telenet.be)
2021-06-11 15:25:10 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer)
2021-06-11 15:26:58 +0200 <jjhoo> https://hackage.haskell.org/package/network-info ?
2021-06-11 15:27:40 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-06-11 15:28:14 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 15:28:41 +0200reumeth(~reumeth@user/reumeth)
2021-06-11 15:29:18 +0200 <maerwald> cross platform even
2021-06-11 15:29:23 +0200 <maerwald> that must have been annoying
2021-06-11 15:29:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 15:30:15 +0200 <merijn> Some people just like pain
2021-06-11 15:31:56 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 15:34:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 245 seconds)
2021-06-11 15:35:13 +0200 <tomsmeding> Clint: it was random bytes :p
2021-06-11 15:35:21 +0200benin03(~benin@183.82.205.218)
2021-06-11 15:35:30 +0200benin03(~benin@183.82.205.218) (Client Quit)
2021-06-11 15:36:58 +0200feetwind(~mike@user/feetwind) (Ping timeout: 272 seconds)
2021-06-11 15:37:01 +0200teaSlurper(~chris@81.96.113.213) (Ping timeout: 272 seconds)
2021-06-11 15:37:22 +0200feetwind(~mike@user/feetwind)
2021-06-11 15:37:24 +0200 <tomsmeding> Maxdamantus: if you're using the HTML page for submitting a paste, it's going to be utf8 because (according to MDN) the default encoding for a form submission is the encoding of the page -- which is utf8 here
2021-06-11 15:37:55 +0200 <tomsmeding> so in principle, you can only see that encoding error from the server if you're submitting non-utf8 data in a manual curl request
2021-06-11 15:38:06 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 264 seconds)
2021-06-11 15:39:03 +0200 <Maxdamantus> I imagine that depends how the browser handles "UTF-8".
2021-06-11 15:39:32 +0200 <Maxdamantus> A sensible handling of "UTF-8" in my opinion would involve preserving error bytes if you've copied it from some other source.
2021-06-11 15:39:56 +0200 <Maxdamantus> I'm not sure if browsers do that, but I suspect if they don't it probably just has to do with alternative representations.
2021-06-11 15:40:20 +0200 <Maxdamantus> (since browsers are still at least to some extent based around 16-bit strings)
2021-06-11 15:40:35 +0200Maxdamantustries.
2021-06-11 15:41:44 +0200nsilv(~nsilv@212.103.198.210) (Ping timeout: 264 seconds)
2021-06-11 15:46:06 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar)
2021-06-11 15:47:38 +0200 <Maxdamantus> Hmm .. Firefox seems to do some funny mojibake when I try to paste UTF-8 data with some bad bytes in the middle.
2021-06-11 15:48:16 +0200 <Maxdamantus> It reinterprets my text as Chinese characters when inserting them into a text input.
2021-06-11 15:49:54 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 15:49:57 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 15:50:05 +0200 <Maxdamantus> Chrome at least doesn't assume a different encoding, but it does replace the errors with replacement characters.
2021-06-11 15:51:06 +0200ikex(~ash@user/ikex)
2021-06-11 15:51:20 +0200 <Maxdamantus> but again, I suspect one of the reasons for that is that those elements are based around 16-bit characters, so they will naturally just insert replacement characters when trying to do a UTF-8 to UTF-16 conversion.
2021-06-11 15:51:30 +0200 <Maxdamantus> 16-bit strings*
2021-06-11 15:51:59 +0200 <Maxdamantus> Might be different for a web browser that's not based on JavaScript.
2021-06-11 15:52:54 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-11 15:53:41 +0200trent1(~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 252 seconds)
2021-06-11 15:53:48 +0200nsilv(~nsilv@212.103.198.210)
2021-06-11 15:54:04 +0200xff0x_(~xff0x@217.110.198.158) (Ping timeout: 272 seconds)
2021-06-11 15:54:14 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-06-11 15:54:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 244 seconds)
2021-06-11 15:54:58 +0200jespada(~jespada@90.254.242.55) (Ping timeout: 244 seconds)
2021-06-11 15:55:35 +0200haskl(~haskeller@2601:643:897f:561d::af3)
2021-06-11 15:55:49 +0200kluk(~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com)
2021-06-11 15:56:28 +0200jespada(~jespada@90.254.242.55)
2021-06-11 16:00:25 +0200fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Quit: leaving)
2021-06-11 16:03:23 +0200kluk(~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com) (Read error: Connection reset by peer)
2021-06-11 16:04:45 +0200 <Maxdamantus> Heh. It works as I described using edbrowse.
2021-06-11 16:04:51 +0200kluk(~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com)
2021-06-11 16:05:29 +0200orion(~orion@user/orion) (Ping timeout: 245 seconds)
2021-06-11 16:06:38 +0200 <Maxdamantus> and Dillo.
2021-06-11 16:08:08 +0200 <Maxdamantus> Both browsers have handling for UTF-8, but there isn't any real reason for them to corrupt the error bytes, since they're presumably just handling the UTF-8 bytes internally.
2021-06-11 16:08:23 +0200 <tomsmeding> s/bytes/as bytes/ ?
2021-06-11 16:08:31 +0200 <tomsmeding> that's what I would expect, and that's also what pastebin-haskell does
2021-06-11 16:08:51 +0200 <tomsmeding> either you don't care about encoding and just process bytes, or you ensure an encoding and work with that
2021-06-11 16:09:38 +0200dhil(~dhil@195.213.192.47) (Ping timeout: 252 seconds)
2021-06-11 16:09:39 +0200 <tomsmeding> while there is some merit with trying to use an encoding but retaining error bytes in case they exist, I guess, it sounds like an approach that is guaranteed to give bugs for eternity
2021-06-11 16:09:41 +0200 <Maxdamantus> Well, Dillo cares about the encoding, because the valid UTF-8 subsequences are rendered as the expected Unicode characters.
2021-06-11 16:09:56 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-06-11 16:09:56 +0200kluk(~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com) (Read error: Connection reset by peer)
2021-06-11 16:10:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 16:10:10 +0200 <tomsmeding> or just very slow code if you have to re-check every part again every time you use the data because you can't actually assume any of your strings are valid in your encoding of choice
2021-06-11 16:10:54 +0200 <tomsmeding> I wonder what Dillo would do if the page is in utf-16
2021-06-11 16:11:18 +0200 <tomsmeding> would it actually go convert to utf-16 or does it just do bytes internally up until it has to draw something on-screen
2021-06-11 16:11:25 +0200 <Maxdamantus> I'm actually sceptical about what you said about the page encoding.
2021-06-11 16:11:36 +0200 <Maxdamantus> I'll have to try that too.
2021-06-11 16:13:53 +0200dunkeln(~dunkeln@94.129.65.28) (Quit: leaving)
2021-06-11 16:14:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds)
2021-06-11 16:15:32 +0200 <Maxdamantus> Hm, okay, it does seem to be true.
2021-06-11 16:15:43 +0200 <Maxdamantus> but it's confusing, because I don't see anything in the request denoting the character set.
2021-06-11 16:16:08 +0200 <Maxdamantus> Just has "Content-Type: application/x-www-form-urlencoded".
2021-06-11 16:16:55 +0200curiousgay(~quassel@178.217.208.8) (Read error: Connection reset by peer)
2021-06-11 16:17:21 +0200MoC(~moc@user/moc)
2021-06-11 16:17:31 +0200anandprabhu(~anandprab@87.201.97.214) (Quit: Leaving)
2021-06-11 16:17:50 +0200curiousgay(~quassel@178.217.208.8)
2021-06-11 16:19:33 +0200jess(~jess@libera/staff/jess)
2021-06-11 16:19:58 +0200 <Maxdamantus> Dillo doesn't seemo to support other encodings.
2021-06-11 16:20:18 +0200 <Maxdamantus> Which is fair enough, since "utf-8" is the only valid encoding in HTML5.
2021-06-11 16:20:48 +0200Crypt9a2e(~Crypt9a2e@157.51.3.28) (Ping timeout: 244 seconds)
2021-06-11 16:22:22 +0200dhil(~dhil@80.208.56.181)
2021-06-11 16:24:22 +0200nijopa(~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net)
2021-06-11 16:26:44 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
2021-06-11 16:26:57 +0200azeem(~azeem@176.200.240.211)
2021-06-11 16:28:19 +0200psydroid(~psydroidm@2001:470:69fc:105::165) (Changing host)
2021-06-11 16:28:19 +0200psydroid(~psydroidm@user/psydroid)
2021-06-11 16:30:20 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 16:30:43 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-06-11 16:33:13 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
2021-06-11 16:34:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-11 16:34:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 252 seconds)
2021-06-11 16:35:37 +0200 <wwalker> lyxia: Thank you
2021-06-11 16:36:50 +0200qbt(~edun@user/edun) (Quit: WeeChat 3.1)
2021-06-11 16:37:10 +0200qbt(~edun@user/edun)
2021-06-11 16:37:20 +0200Sgeo(~Sgeo@user/sgeo)
2021-06-11 16:38:03 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
2021-06-11 16:39:33 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-06-11 16:40:20 +0200hendursaga(~weechat@user/hendursaga)
2021-06-11 16:41:32 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 16:45:54 +0200teaSlurper(~chris@81.96.113.213) (Ping timeout: 245 seconds)
2021-06-11 16:50:06 +0200dhil(~dhil@80.208.56.181) (Ping timeout: 264 seconds)
2021-06-11 16:50:35 +0200bontaq`(~user@ool-18e47f8d.dyn.optonline.net)
2021-06-11 16:50:39 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 16:51:49 +0200azeem(~azeem@176.200.240.211) (Read error: Connection reset by peer)
2021-06-11 16:51:59 +0200altern(~Sergii@altern.corbina.com.ua)
2021-06-11 16:52:27 +0200azeem(~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
2021-06-11 16:53:11 +0200altern(~Sergii@altern.corbina.com.ua) (Client Quit)
2021-06-11 16:53:26 +0200Scotty_Trees2(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
2021-06-11 16:54:54 +0200berberman(~berberman@user/berberman) (Ping timeout: 244 seconds)
2021-06-11 16:54:56 +0200Scotty_Trees(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Ping timeout: 264 seconds)
2021-06-11 16:55:02 +0200Scotty_Trees2Scotty_Trees
2021-06-11 16:55:21 +0200berberman(~berberman@user/berberman)
2021-06-11 16:55:33 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 272 seconds)
2021-06-11 16:56:36 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-06-11 16:59:59 +0200azeem(~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-06-11 17:00:38 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:9432:38ed:ae4e:1cf1)
2021-06-11 17:02:12 +0200nijopa(~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) (Remote host closed the connection)
2021-06-11 17:02:41 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
2021-06-11 17:03:38 +0200dhil(~dhil@195.213.192.47)
2021-06-11 17:04:48 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-11 17:05:25 +0200nijopa(~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net)
2021-06-11 17:05:34 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2021-06-11 17:07:28 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-06-11 17:07:47 +0200nijopa(~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2021-06-11 17:08:14 +0200nijopa(~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net)
2021-06-11 17:09:18 +0200xenon-(~bc817c21@217.29.117.252)
2021-06-11 17:09:48 +0200a6a45081-2b83(~aditya@106.214.237.94)
2021-06-11 17:10:11 +0200aerona(~aerona@2600:6c54:4600:f300:4447:2579:c2f7:363d)
2021-06-11 17:12:08 +0200curiousgay(~quassel@178.217.208.8) (Read error: Connection reset by peer)
2021-06-11 17:13:04 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
2021-06-11 17:13:11 +0200curiousgay(~quassel@178.217.208.8)
2021-06-11 17:15:42 +0200MoC(~moc@user/moc) (Read error: Connection reset by peer)
2021-06-11 17:15:48 +0200MoC_(~moc@user/moc)
2021-06-11 17:15:55 +0200pja(~pja@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) (Quit: WeeChat 2.8)
2021-06-11 17:16:57 +0200xff0x_(~xff0x@2001:1a81:5346:bf00:1313:feb6:d304:287)
2021-06-11 17:18:15 +0200MoC_MoC
2021-06-11 17:18:22 +0200curiousgay(~quassel@178.217.208.8) (Ping timeout: 268 seconds)
2021-06-11 17:18:42 +0200Deide(~Deide@wire.desu.ga)
2021-06-11 17:18:42 +0200Deide(~Deide@wire.desu.ga) (Changing host)
2021-06-11 17:18:42 +0200Deide(~Deide@user/deide)
2021-06-11 17:19:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 17:23:07 +0200azeem(~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
2021-06-11 17:25:37 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-11 17:30:22 +0200Bartosz(~textual@24.35.90.211)
2021-06-11 17:32:49 +0200curiousgay(~quassel@178.217.208.8)
2021-06-11 17:34:27 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-06-11 17:34:35 +0200a6a45081-2b83(~aditya@106.214.237.94) (Remote host closed the connection)
2021-06-11 17:35:24 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Read error: Connection reset by peer)
2021-06-11 17:35:46 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
2021-06-11 17:36:50 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-06-11 17:37:26 +0200 <siraben> How can I debug `ld' failed in phase `Merge objects'. (Exit code: 1) on macOS?
2021-06-11 17:38:13 +0200lbseale(~lbseale@user/ep1ctetus)
2021-06-11 17:38:20 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-06-11 17:40:26 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-06-11 17:42:18 +0200NieDzejkob(~quassel@195.149.98.3) (Ping timeout: 264 seconds)
2021-06-11 17:43:20 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Remote host closed the connection)
2021-06-11 17:43:22 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295)
2021-06-11 17:46:32 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b) (Quit: WeeChat 2.8)
2021-06-11 17:48:10 +0200julian1jmjl
2021-06-11 17:48:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171)
2021-06-11 17:48:42 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 272 seconds)
2021-06-11 17:52:29 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 17:54:39 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 245 seconds)
2021-06-11 17:56:24 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-11 17:57:19 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:9432:38ed:ae4e:1cf1) (Quit: Leaving)
2021-06-11 17:57:25 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar) (Ping timeout: 244 seconds)
2021-06-11 17:57:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-06-11 17:58:23 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2021-06-11 18:00:13 +0200nsilv(~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1)
2021-06-11 18:00:41 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 18:02:41 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-06-11 18:03:18 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-11 18:04:14 +0200Bartosz(~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-11 18:05:50 +0200jippiedoe(~david@2a02-a44c-e14e-1-7fb2-6685-aa0b-ccaa.fixed6.kpn.net) (Quit: Leaving)
2021-06-11 18:07:38 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-06-11 18:10:03 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar)
2021-06-11 18:13:49 +0200thyriaen(~thyriaen@45.178.75.13) (Remote host closed the connection)
2021-06-11 18:15:30 +0200boxscape(~boxscape@user/boxscape) (Ping timeout: 252 seconds)
2021-06-11 18:15:34 +0200 <siers> which one is the Just lens?
2021-06-11 18:16:35 +0200 <Taneb> siers: that's not a question that makes sense to me.
2021-06-11 18:16:55 +0200 <maerwald> siers: _Just prism?
2021-06-11 18:19:02 +0200fluffyballoon(~fluffybal@2620:72:0:6480::10f7) (Quit: Client closed)
2021-06-11 18:20:09 +0200 <maerwald> % preview _Just (Just 1)
2021-06-11 18:20:10 +0200 <yahb> maerwald: Just 1
2021-06-11 18:20:18 +0200 <maerwald> exciting
2021-06-11 18:20:56 +0200 <siers> somehow I threw keywords into google and couldn't find it
2021-06-11 18:20:58 +0200 <siers> maerwald, thanks
2021-06-11 18:21:10 +0200 <[exa]> siraben: what did you attempt? killing `ld` is not really easy
2021-06-11 18:21:11 +0200statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
2021-06-11 18:21:24 +0200ordinate(~ordinate@c-68-38-144-3.hsd1.in.comcast.net)
2021-06-11 18:21:34 +0200 <ordinate> good afternoon everyone
2021-06-11 18:21:41 +0200derelict(~derelict@user/derelict)
2021-06-11 18:23:20 +0200yaroot4(~yaroot@6.3.30.125.dy.iij4u.or.jp)
2021-06-11 18:24:21 +0200mjs2600_(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-06-11 18:24:21 +0200tlax_(tlax@kapsi.fi)
2021-06-11 18:24:41 +0200forell_(~forell@host-178-216-90-220.sta.tvknaszapraca.pl)
2021-06-11 18:24:52 +0200eldritch__(~eldritch@134.209.221.71)
2021-06-11 18:24:56 +0200machined1od(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-06-11 18:24:58 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-06-11 18:25:27 +0200Unode_(~Unode@194.94.44.220)
2021-06-11 18:26:14 +0200zebragg(~chris@user/zebrag)
2021-06-11 18:26:16 +0200ptrcmd_(~ptrcmd@user/ptrcmd)
2021-06-11 18:26:30 +0200Vq_(~vq@90-227-195-41-no77.tbcn.telia.com)
2021-06-11 18:26:39 +0200argento_(~argent0@168-227-96-53.ptr.westnet.com.ar)
2021-06-11 18:26:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-11 18:26:45 +0200shane(~shane@ana.rch.ist)
2021-06-11 18:26:51 +0200kumo(~kumo@139.180.144.166)
2021-06-11 18:26:55 +0200mjrosenb_(~mrosenbe@104.225.243.2)
2021-06-11 18:27:06 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-11 18:27:48 +0200tremon(~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-06-11 18:28:39 +0200safinaskar(~safinaska@109-252-90-89.nat.spd-mgts.ru)
2021-06-11 18:28:55 +0200Bartosz(~textual@24.35.90.211)
2021-06-11 18:28:57 +0200Bartosz(~textual@24.35.90.211) (Client Quit)
2021-06-11 18:30:34 +0200mniip_(mniip@libera/staff/mniip)
2021-06-11 18:30:47 +0200koishi_(~koishi_@185.209.85.134) (Quit: /ragequit)
2021-06-11 18:31:00 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar) (*.net *.split)
2021-06-11 18:31:00 +0200jakalx(~jakalx@base.jakalx.net) (*.net *.split)
2021-06-11 18:31:00 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (*.net *.split)
2021-06-11 18:31:00 +0200jess(~jess@libera/staff/jess) (*.net *.split)
2021-06-11 18:31:00 +0200feetwind(~mike@user/feetwind) (*.net *.split)
2021-06-11 18:31:00 +0200zebrag(~chris@user/zebrag) (*.net *.split)
2021-06-11 18:31:00 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (*.net *.split)
2021-06-11 18:31:00 +0200jaror[m](~jaror@2001:470:69fc:105::265) (*.net *.split)
2021-06-11 18:31:00 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2) (*.net *.split)
2021-06-11 18:31:00 +0200oak-(~oakuniver@2001:470:69fc:105::fcd) (*.net *.split)
2021-06-11 18:31:00 +0200bitonic(~bitonic@2001:470:69fc:105::1812) (*.net *.split)
2021-06-11 18:31:00 +0200autrim64[m](~autrim64m@2001:470:69fc:105::16a1) (*.net *.split)
2021-06-11 18:31:00 +0200bb010g(~bb010gmat@2001:470:69fc:105::9a5) (*.net *.split)
2021-06-11 18:31:00 +0200tomferon[m](~tomferon@2001:470:69fc:105::268) (*.net *.split)
2021-06-11 18:31:00 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae) (*.net *.split)
2021-06-11 18:31:00 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (*.net *.split)
2021-06-11 18:31:00 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db) (*.net *.split)
2021-06-11 18:31:00 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a) (*.net *.split)
2021-06-11 18:31:00 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (*.net *.split)
2021-06-11 18:31:00 +0200psydroid(~psydroidm@user/psydroid) (*.net *.split)
2021-06-11 18:31:00 +0200maralorn(~maralorn@2001:470:69fc:105::251) (*.net *.split)
2021-06-11 18:31:00 +0200fgaz(~fgaz@2001:470:69fc:105::842) (*.net *.split)
2021-06-11 18:31:00 +0200kadoban(~kadoban@user/kadoban) (*.net *.split)
2021-06-11 18:31:00 +0200siraben(~siraben@user/siraben) (*.net *.split)
2021-06-11 18:31:00 +0200doublex_(~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) (*.net *.split)
2021-06-11 18:31:00 +0200haskl(~haskeller@2601:643:897f:561d::af3) (*.net *.split)
2021-06-11 18:31:00 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
2021-06-11 18:31:00 +0200codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511) (*.net *.split)
2021-06-11 18:31:00 +0200Deewiant(~deewiant@de1.ut.deewiant.iki.fi) (*.net *.split)
2021-06-11 18:31:00 +0200fvr(uid503686@id-503686.highgate.irccloud.com) (*.net *.split)
2021-06-11 18:31:00 +0200yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp) (*.net *.split)
2021-06-11 18:31:00 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (*.net *.split)
2021-06-11 18:31:00 +0200qoelet(~kumo@139.180.144.166) (*.net *.split)
2021-06-11 18:31:00 +0200ptrcmd(~ptrcmd@user/ptrcmd) (*.net *.split)
2021-06-11 18:31:00 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
2021-06-11 18:31:00 +0200statusbot1(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split)
2021-06-11 18:31:00 +0200relrod(~relrod@redhat/ansible.staff.relrod) (*.net *.split)
2021-06-11 18:31:00 +0200jamestmartin(james@jtmar.me) (*.net *.split)
2021-06-11 18:31:00 +0200zzz(~yin@user/yin) (*.net *.split)
2021-06-11 18:31:00 +0200robertm(robertm@rojoma.com) (*.net *.split)
2021-06-11 18:31:00 +0200welterde(welterde@thinkbase.srv.welterde.de) (*.net *.split)
2021-06-11 18:31:00 +0200nurupo(~nurupo.ga@user/nurupo) (*.net *.split)
2021-06-11 18:31:00 +0200systemfault(sid267009@id-267009.highgate.irccloud.com) (*.net *.split)
2021-06-11 18:31:00 +0200mniip(mniip@libera/staff/mniip) (*.net *.split)
2021-06-11 18:31:00 +0200Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (*.net *.split)
2021-06-11 18:31:00 +0200idnar(sid12240@id-12240.tooting.irccloud.com) (*.net *.split)
2021-06-11 18:31:00 +0200edmundnoble_(sid229620@id-229620.brockwell.irccloud.com) (*.net *.split)
2021-06-11 18:31:00 +0200cohn(~noone@user/cohn) (*.net *.split)
2021-06-11 18:31:00 +0200tlax(~ArgusTang@kapsi.fi) (*.net *.split)
2021-06-11 18:31:00 +0200totbwf_(sid402332@id-402332.highgate.irccloud.com) (*.net *.split)
2021-06-11 18:31:00 +0200shane_(~shane@ana.rch.ist) (*.net *.split)
2021-06-11 18:31:00 +0200mjrosenb(~mrosenbe@nyc.schrodinger.com) (*.net *.split)
2021-06-11 18:31:00 +0200glguy(x@libera/staff/glguy) (*.net *.split)
2021-06-11 18:31:00 +0200amk(~amk@176.61.106.150) (*.net *.split)
2021-06-11 18:31:00 +0200forell(~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (*.net *.split)
2021-06-11 18:31:01 +0200eldritch_(~eldritch@134.209.221.71) (*.net *.split)
2021-06-11 18:31:01 +0200img(~img@user/img) (*.net *.split)
2021-06-11 18:31:02 +0200yaroot4yaroot
2021-06-11 18:31:03 +0200Unode_Unode
2021-06-11 18:31:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 18:31:23 +0200amk(~amk@176.61.106.150)
2021-06-11 18:32:40 +0200ptrcmd_ptrcmd
2021-06-11 18:32:41 +0200river(~river@tilde.team/user/river) (Quit: Leaving)
2021-06-11 18:35:51 +0200dcoutts_(~duncan@94.186.125.91.dyn.plus.net) (Ping timeout: 252 seconds)
2021-06-11 18:36:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-06-11 18:37:23 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 18:38:30 +0200Deewiant(~deewiant@de1.ut.deewiant.iki.fi)
2021-06-11 18:40:23 +0200jolly(~jolly@208.180.97.158) (Ping timeout: 268 seconds)
2021-06-11 18:40:52 +0200cohn(~noone@user/cohn)
2021-06-11 18:41:37 +0200azeem(~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Ping timeout: 268 seconds)
2021-06-11 18:41:48 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-06-11 18:41:49 +0200pdxleif(~leif@75.164.44.108)
2021-06-11 18:42:24 +0200xff0x_(~xff0x@2001:1a81:5346:bf00:1313:feb6:d304:287) (Ping timeout: 265 seconds)
2021-06-11 18:43:02 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 18:44:10 +0200jess(~jess@libera/staff/jess)
2021-06-11 18:44:10 +0200azeem(~azeem@176.200.240.211)
2021-06-11 18:44:13 +0200xff0x_(~xff0x@185.65.135.235)
2021-06-11 18:45:13 +0200michalz(~michalz@185.246.204.121) (Remote host closed the connection)
2021-06-11 18:45:54 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-11 18:48:55 +0200argento_(~argent0@168-227-96-53.ptr.westnet.com.ar) (Ping timeout: 272 seconds)
2021-06-11 18:50:12 +0200 <dminuoso> 23:45:41 monochrom | I think that the motivation for sysfs was shelll scripts. "echo 1 > /sys/foo/bar/power-saving-mode" is very shell-friendly. It would suck to have to write C code for that, even if it's just an ioctl call.
2021-06-11 18:50:41 +0200 <dminuoso> That last bit is weird. Why "even if it's just...". ioctl is a poor and unergonomic API.
2021-06-11 18:50:42 +0200totbwf_(sid402332@id-402332.highgate.irccloud.com)
2021-06-11 18:50:43 +0200jamestmartin(james@jtmar.me)
2021-06-11 18:50:47 +0200relrod(~relrod@redhat/ansible.staff.relrod)
2021-06-11 18:50:47 +0200idnar(sid12240@id-12240.tooting.irccloud.com)
2021-06-11 18:50:50 +0200codedmart(~codedmart@li335-49.members.linode.com)
2021-06-11 18:50:50 +0200haskl(~haskeller@2601:643:897f:561d::af3)
2021-06-11 18:50:51 +0200systemfault(sid267009@id-267009.highgate.irccloud.com)
2021-06-11 18:50:52 +0200fvr(uid503686@id-503686.highgate.irccloud.com)
2021-06-11 18:50:54 +0200nurupo(~nurupo.ga@user/nurupo)
2021-06-11 18:50:56 +0200zzz(~yin@user/yin)
2021-06-11 18:50:56 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2021-06-11 18:50:57 +0200robertm(robertm@rojoma.com)
2021-06-11 18:50:57 +0200edmundnoble_(sid229620@id-229620.brockwell.irccloud.com)
2021-06-11 18:51:01 +0200feetwind(~mike@user/feetwind)
2021-06-11 18:51:05 +0200doublex_(~doublex@2601:542:c480:6ee0:184b:7083:f026:c689)
2021-06-11 18:51:12 +0200welterde(welterde@thinkbase.srv.welterde.de)
2021-06-11 18:51:14 +0200glguy_(x@libera/staff/glguy)
2021-06-11 18:51:17 +0200glguy_glguy
2021-06-11 18:51:22 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2)
2021-06-11 18:51:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-06-11 18:51:55 +0200oak-(~oakuniver@2001:470:69fc:105::fcd)
2021-06-11 18:52:25 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1)
2021-06-11 18:53:23 +0200jessj
2021-06-11 18:54:09 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-06-11 18:54:57 +0200 <safinaskar> Please, SAVE THE WORLD from yet another (zillionth) parsing lib! I want monadic (or arrow based) parsing lib with unbiased choice. I didn't find one, so I am plan to write it and publish to hackage (this seems relatively easy for me, i already published libs to hackage in the past). So, please help me found lib I want, overwise I will have to write
2021-06-11 18:54:58 +0200 <safinaskar> my own and publish it. This was THREAT! So, what I want? I want monadic (or arrow) parsing lib with unbiased choice. The lib should not merely output AST, instead it should allow post-processing the data interleaved with parsing. Also I want ability to generate errors and warnings with location info. See more here: https://paste.debian.net/1200885/
2021-06-11 18:55:49 +0200 <int-e> dminuoso: https://twitter.com/d_feldman/status/1399951777051598849
2021-06-11 18:56:27 +0200 <dminuoso> int-e: Haha!
2021-06-11 18:57:02 +0200xff0x_(~xff0x@185.65.135.235) (Ping timeout: 268 seconds)
2021-06-11 18:57:32 +0200 <exarkun> Does Wai middleware have to do something special to handle error cases?
2021-06-11 18:57:43 +0200boxscape(~boxscape@user/boxscape)
2021-06-11 18:57:53 +0200 <exarkun> I tried to use Network.Wai.Middleware.Cors w/ Servant but it only does anything for success-case responses
2021-06-11 18:58:05 +0200Andros(~Andros@176.116.80.1)
2021-06-11 18:58:31 +0200xff0x_(~xff0x@2001:1a81:5346:bf00:ada3:bdcd:e60c:3e25)
2021-06-11 19:00:58 +0200 <dminuoso> exarkun: No, there's no special treatemnt of error cases. If that's the case, then that's how the middleware is written.
2021-06-11 19:00:58 +0200kadoban(~kadoban@user/kadoban)
2021-06-11 19:01:17 +0200 <dminuoso> Just out of curiosity, is this perhaps what you're looking for? https://hackage.haskell.org/package/wai-cors-0.2.7/docs/Network-Wai-Middleware-Cors.html#v:corsIgn…
2021-06-11 19:01:25 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-06-11 19:01:32 +0200 <dminuoso> Im not familiar with the library, it just looks like it's what you want perhaps.
2021-06-11 19:02:15 +0200 <dminuoso> Ah no, that's something else.
2021-06-11 19:02:17 +0200NieDzejkob(~quassel@195.149.98.3)
2021-06-11 19:02:48 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-11 19:02:55 +0200jjess
2021-06-11 19:03:00 +0200 <exarkun> now my test suite is giving me apparently conflicting information so I'm going to stare at it for a while and see if I can invent a consistent interpretation..
2021-06-11 19:04:15 +0200 <dminuoso> exarkun: Looking at the source code, it does not intercept responses.
2021-06-11 19:04:26 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-06-11 19:04:33 +0200siraben(~siraben@user/siraben)
2021-06-11 19:04:34 +0200 <dminuoso> All the cors logic seems to happen before the request is handed off.
2021-06-11 19:04:57 +0200 <dminuoso> See https://hackage.haskell.org/package/wai-cors-0.2.7/docs/src/Network.Wai.Middleware.Cors.html#cors
2021-06-11 19:04:57 +0200img(~img@user/img)
2021-06-11 19:06:39 +0200river(~river@tilde.team/user/river)
2021-06-11 19:07:36 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-11 19:08:21 +0200 <safinaskar> so? is there such parsing lib? (see my question above)
2021-06-11 19:09:51 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-06-11 19:10:14 +0200curiousgay(~quassel@178.217.208.8) (Read error: Connection reset by peer)
2021-06-11 19:10:26 +0200jiribenes(~jiribenes@rosa.jiribenes.com) (Ping timeout: 265 seconds)
2021-06-11 19:10:26 +0200NieDzejkob(~quassel@195.149.98.3) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-06-11 19:10:46 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 19:11:38 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 19:11:50 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 268 seconds)
2021-06-11 19:12:44 +0200 <exarkun> meh seems like the middleware isn't doing _anything_ in the tests
2021-06-11 19:13:03 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2021-06-11 19:13:46 +0200 <dolio> Is ReadP unbiased?
2021-06-11 19:14:35 +0200 <monochrom> Yes. Its whole point. It also offers a biased <+++
2021-06-11 19:14:40 +0200 <dolio> Anything with `commit` instead of `try` is probably unbiased by default, too.
2021-06-11 19:15:29 +0200 <safinaskar> for example?
2021-06-11 19:15:43 +0200derelict(~derelict@user/derelict) (Ping timeout: 272 seconds)
2021-06-11 19:16:09 +0200econo(uid147250@user/econo)
2021-06-11 19:16:29 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-06-11 19:18:23 +0200river(~river@tilde.team/user/river) (Quit: Leaving)
2021-06-11 19:18:35 +0200 <ski> @hackage parsek -- also this
2021-06-11 19:18:35 +0200 <lambdabot> https://hackage.haskell.org/package/parsek -- also this
2021-06-11 19:19:26 +0200 <dolio> uu-parsinglib
2021-06-11 19:19:31 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 272 seconds)
2021-06-11 19:20:57 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-11 19:21:19 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 19:21:37 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-06-11 19:23:56 +0200 <dolio> The latter doesn't seem to have an explicit commit, just extra biased operators like ReadP.
2021-06-11 19:24:45 +0200 <safinaskar> ski: function "parse" from Text-ParserCombinators-Parsek returns (Either (Err s) r)
2021-06-11 19:24:52 +0200 <safinaskar> ski: you can see (r) here, not ([r])
2021-06-11 19:25:00 +0200 <safinaskar> ski: so, there is not unbiased choice
2021-06-11 19:25:30 +0200 <safinaskar> ski: oops, i missed "allResults"
2021-06-11 19:25:33 +0200 <dolio> That seems like a non sequitur.
2021-06-11 19:25:39 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 272 seconds)
2021-06-11 19:25:49 +0200lbseale_(~lbseale@user/ep1ctetus)
2021-06-11 19:26:14 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2021-06-11 19:26:32 +0200teaSlurper(~chris@81.96.113.213) (Remote host closed the connection)
2021-06-11 19:27:13 +0200 <safinaskar> ski: but i don't see any way in "parsek" to report semantic error (i. e. "mismatched type") or embed some another monad into parsek
2021-06-11 19:27:58 +0200psydroid(~psydroidm@2001:470:69fc:105::165)
2021-06-11 19:28:33 +0200 <dolio> Type checking during parsing is a bad idea.
2021-06-11 19:28:58 +0200 <safinaskar> dolio: i still want this
2021-06-11 19:29:08 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 264 seconds)
2021-06-11 19:29:17 +0200 <safinaskar> dolio: i want to write some simple prover
2021-06-11 19:29:34 +0200 <safinaskar> dolio: and i want to check various non-parsing errors during parsing
2021-06-11 19:29:50 +0200 <safinaskar> parsec allows this
2021-06-11 19:29:54 +0200hexfive(~eric@50.35.83.177)
2021-06-11 19:29:54 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-06-11 19:31:24 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 19:32:12 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-06-11 19:32:46 +0200psydroid(~psydroidm@2001:470:69fc:105::165) (Changing host)
2021-06-11 19:32:46 +0200psydroid(~psydroidm@user/psydroid)
2021-06-11 19:32:53 +0200 <ski> hm, i guess you want to interleave some checking effects with the parsing (since otherwise i think you could just have the parse result be a function or an action)
2021-06-11 19:33:58 +0200averell-(~averell@user/averell) (Remote host closed the connection)
2021-06-11 19:34:09 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
2021-06-11 19:35:02 +0200gethuen(uid502979@id-502979.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-11 19:35:06 +0200 <safinaskar> dolio: function "parse" from uu-parsinglib has very strange type: (P t a -> t -> a). so, this function cannot report errors at all?!
2021-06-11 19:35:24 +0200 <dolio> Not sure, I'm not very familiar with it.
2021-06-11 19:35:35 +0200teaSlurper(~chris@81.96.113.213) (Ping timeout: 244 seconds)
2021-06-11 19:36:29 +0200 <tomsmeding> safinaskar: see the source of that function, it's partial
2021-06-11 19:36:43 +0200 <tomsmeding> so I expect there to be a different function that exposes the error in a value
2021-06-11 19:37:39 +0200 <tomsmeding> or... there is pErrors
2021-06-11 19:37:41 +0200 <tomsmeding> this API is wacky
2021-06-11 19:38:05 +0200 <tomsmeding> safinaskar: try using pEnd
2021-06-11 19:40:09 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-06-11 19:41:08 +0200agumonke`(~user@88.163.231.79)
2021-06-11 19:41:33 +0200xal(~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf)
2021-06-11 19:41:35 +0200 <xal> join #coq
2021-06-11 19:41:49 +0200 <xal> woops, that was supposed to have a /
2021-06-11 19:42:16 +0200 <safinaskar> ski: "i guess you want to interleave some checking effects with the parsing" - just having function or some monad as parsing result is completely OK. But this will mean that all manipulations with this complicated monadic value will be explicit during parsing. i don't want this! i want some parsing lib, which will somehow implicitly deal with
2021-06-11 19:42:17 +0200 <safinaskar> accumulated warning messages, for example by embeding monad (parsec can this!) or some other way. Well, in fact i can do this by writting simple wrapper around some lib (for example, parsek), which will allow embeding of monad. but this will mean that I write my own parsing library! This is last resort. I want to write my own library ONLY if I am
2021-06-11 19:42:17 +0200 <safinaskar> sure that no existing solution exists
2021-06-11 19:42:18 +0200ikex(~ash@user/ikex) (Ping timeout: 244 seconds)
2021-06-11 19:44:27 +0200averell(~averell@user/averell)
2021-06-11 19:45:10 +0200agumonke`(~user@88.163.231.79) (Remote host closed the connection)
2021-06-11 19:45:45 +0200pdxleif(~leif@75.164.44.108) (Ping timeout: 268 seconds)
2021-06-11 19:47:14 +0200 <safinaskar> dolio: tomsmeding: "parse" from uu-parsinglib still returns (a), not ([a]), so, it seems there is no unbiased choice
2021-06-11 19:47:42 +0200 <tomsmeding> safinaskar: see 'amb'
2021-06-11 19:48:22 +0200 <dolio> As I mentioned earlier, returning one result from the final parsing function doesn't mean the choice operation isn't unbiased.
2021-06-11 19:48:31 +0200nijopa(~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) (Quit: Leaving...)
2021-06-11 19:49:22 +0200 <safinaskar> well, "uu-parsinglib" still seems non-ideomatic and foreign. i've better write my own library then will use it
2021-06-11 19:50:00 +0200 <tomsmeding> "idiomatic" depends on the language you're in; and I don't mean programming language, but dialects of programming languages
2021-06-11 19:50:11 +0200 <tomsmeding> in the dialect of the writers of the library, it is probably idiomatic :)
2021-06-11 19:50:20 +0200jolly(~jolly@208.180.97.158)
2021-06-11 19:50:38 +0200 <tomsmeding> it certainly looks quite different from parsec-like parser libraries
2021-06-11 19:51:40 +0200 <dolio> There are more than 3 or 4 parsing libraries, too.
2021-06-11 19:51:58 +0200 <ski> safinaskar : well, the effects i was thinking about was the "post-parsing processing" that you mentioned
2021-06-11 19:53:27 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2021-06-11 19:54:21 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a)
2021-06-11 19:54:56 +0200fendor(~fendor@91.141.3.58.wireless.dyn.drei.com) (Remote host closed the connection)
2021-06-11 19:55:07 +0200fendor_fendor
2021-06-11 19:57:59 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-11 20:00:33 +0200azeem(~azeem@176.200.240.211) (Ping timeout: 268 seconds)
2021-06-11 20:01:03 +0200azeem(~azeem@176.200.240.211)
2021-06-11 20:02:22 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-06-11 20:05:38 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db)
2021-06-11 20:07:57 +0200azeem(~azeem@176.200.240.211) (Ping timeout: 265 seconds)
2021-06-11 20:09:08 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2021-06-11 20:09:59 +0200azeem(~azeem@176.200.240.211)
2021-06-11 20:12:30 +0200tomferon[m](~tomferon@2001:470:69fc:105::268)
2021-06-11 20:12:52 +0200bb010g(~bb010gmat@2001:470:69fc:105::9a5)
2021-06-11 20:13:25 +0200autrim64[m](~autrim64m@2001:470:69fc:105::16a1)
2021-06-11 20:14:32 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae)
2021-06-11 20:14:40 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2021-06-11 20:16:03 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 20:17:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-06-11 20:18:27 +0200jaror[m](~jaror@2001:470:69fc:105::265)
2021-06-11 20:19:36 +0200bitonic(~bitonic@2001:470:69fc:105::1812)
2021-06-11 20:21:27 +0200 <exarkun> Alright all my Network.Wai.Tests fail my CORS assertions saying there are no CORS headers at all, https://github.com/PrivateStorageio/PaymentServer/blob/3414de673f249be9f0c507632ce6bce9f3618503/te… (even the success case)
2021-06-11 20:21:27 +0200 <safinaskar> i seems i have to write my own lib
2021-06-11 20:21:31 +0200 <exarkun> I don't get it :(
2021-06-11 20:22:07 +0200 <exarkun> https://github.com/PrivateStorageio/PaymentServer/blob/3414de673f249be9f0c507632ce6bce9f3618503/sr… definitely applies CORS middleware
2021-06-11 20:22:09 +0200derelict(~derelict@user/derelict)
2021-06-11 20:22:17 +0200 <exarkun> Also ... it works (at least for success case) in real usage
2021-06-11 20:22:34 +0200Vq_Vq
2021-06-11 20:25:29 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-06-11 20:26:12 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 20:30:52 +0200azeem(~azeem@176.200.240.211) (Ping timeout: 244 seconds)
2021-06-11 20:32:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 20:33:00 +0200azeem(~azeem@176.200.240.211)
2021-06-11 20:34:49 +0200azeem(~azeem@176.200.240.211) (Read error: Connection reset by peer)
2021-06-11 20:35:41 +0200azeem(~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
2021-06-11 20:37:03 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-11 20:48:02 +0200k000(~k00000000@36.255.96.246)
2021-06-11 20:50:28 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-06-11 20:50:49 +0200fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
2021-06-11 20:51:04 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
2021-06-11 20:51:35 +0200natechan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-06-11 20:53:47 +0200k000(~k00000000@36.255.96.246) (Quit: Leaving)
2021-06-11 20:57:13 +0200xal(~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf) (Ping timeout: 244 seconds)
2021-06-11 21:03:30 +0200xal(~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf)
2021-06-11 21:03:48 +0200xal(~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf) (Client Quit)
2021-06-11 21:04:06 +0200 <exarkun> ... because it doesn't add cors headers to the response if they're not in the request
2021-06-11 21:05:28 +0200jakzale(uid499518@id-499518.charlton.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-11 21:06:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-06-11 21:06:58 +0200__monty__(~toonn@user/toonn)
2021-06-11 21:08:09 +0200jiribenes(~jiribenes@rosa.jiribenes.com)
2021-06-11 21:12:16 +0200safinaskar(~safinaska@109-252-90-89.nat.spd-mgts.ru) ()
2021-06-11 21:15:01 +0200rbocquet(~weechat@2001:bc8:47a8:44e::1)
2021-06-11 21:15:49 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 244 seconds)
2021-06-11 21:16:58 +0200bor0(~boro@user/bor0)
2021-06-11 21:20:36 +0200nrr(sid20938@id-20938.tooting.irccloud.com)
2021-06-11 21:22:52 +0200qbt(~edun@user/edun) (Quit: Leaving)
2021-06-11 21:23:09 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-11 21:24:18 +0200matijja(~matijja@193.77.181.208) (Quit: bye)
2021-06-11 21:26:02 +0200matijja(~matijja@193.77.181.201)
2021-06-11 21:26:16 +0200xsperry(~as@user/xsperry) (Ping timeout: 268 seconds)
2021-06-11 21:26:18 +0200xenon-(~bc817c21@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2021-06-11 21:26:46 +0200psygo(~philippe@201-95-112-120.dsl.telesp.net.br)
2021-06-11 21:27:49 +0200 <psygo> Hello all. Does anyone know of a data structure book for Haskell?
2021-06-11 21:29:39 +0200Heffalump(~ganesh@urchin.earth.li)
2021-06-11 21:29:46 +0200 <Taneb> psygo: Purely Functional Data Structures by Chris Okasaki
2021-06-11 21:29:51 +0200Heffalump(~ganesh@urchin.earth.li) ()
2021-06-11 21:30:18 +0200 <psygo> Thanks, Taneb. But is that all there is for this topic?
2021-06-11 21:31:05 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar)
2021-06-11 21:31:18 +0200 <DigitalKiwi> well there are two papers/books
2021-06-11 21:31:57 +0200 <DigitalKiwi> and a few libraries implement some of them too
2021-06-11 21:32:40 +0200matijja(~matijja@193.77.181.201) (Quit: ZNC 1.8.1 - https://znc.in)
2021-06-11 21:32:53 +0200 <DigitalKiwi> https://cstheory.stackexchange.com/questions/1539/whats-new-in-purely-functional-data-structures-s…
2021-06-11 21:33:51 +0200 <DigitalKiwi> does the new bird book i haven't read have anything?
2021-06-11 21:34:28 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
2021-06-11 21:35:01 +0200matijja(~matijja@193.77.181.201)
2021-06-11 21:35:11 +0200 <psygo> bird book?
2021-06-11 21:37:38 +0200matijja(~matijja@193.77.181.201) (Client Quit)
2021-06-11 21:38:10 +0200 <xerox> thinking functionally in haskell?
2021-06-11 21:38:29 +0200matijja(~matijja@193.77.181.201)
2021-06-11 21:39:18 +0200matijja(~matijja@193.77.181.201) (Client Quit)
2021-06-11 21:40:27 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 268 seconds)
2021-06-11 21:41:07 +0200fluffyballoon(~fluffybal@2620:72:0:6480::10f7)
2021-06-11 21:44:08 +0200matijja(~matijja@193.77.181.201)
2021-06-11 21:44:12 +0200 <DigitalKiwi> https://vallandingham.me/images/vis/birds_book_front.jpg
2021-06-11 21:44:58 +0200 <sm[m]> https://twitter.com/kmett/status/1403428202173796353
2021-06-11 21:45:06 +0200Guest10(~Guest10@201.219.236.40)
2021-06-11 21:45:25 +0200 <DigitalKiwi> no, wait, what xerox said is closer but i meant https://smile.amazon.com/Algorithm-Design-Haskell-Richard-Bird-ebook/dp/B08BKXJ1N3
2021-06-11 21:45:36 +0200 <edwardk> heya sm[m]. on the plus side i don't need to split my attention any more
2021-06-11 21:45:42 +0200xsperry(~as@user/xsperry)
2021-06-11 21:45:52 +0200 <DigitalKiwi> what did you do to get k-line lol
2021-06-11 21:46:05 +0200 <edwardk> DigitalKiwi: fucked if i know
2021-06-11 21:46:11 +0200 <sm[m]> hooray edwardk , what a relief.
2021-06-11 21:46:48 +0200 <edwardk> sm[m]: i've been playing with it. it seems like they k-lined my username? but i can still connect with a wrong username and auth as me? wat?
2021-06-11 21:47:05 +0200Guest50(~Guest50@70.39.165.194)
2021-06-11 21:48:10 +0200MoC(~moc@user/moc)
2021-06-11 21:48:28 +0200Guest10(~Guest10@201.219.236.40) (Quit: Connection closed)
2021-06-11 21:48:42 +0200 <Guest50> What'd I miss?
2021-06-11 21:49:18 +0200 <psygo> DigitalKiwi, nice recommendation, thanks, but I guess that book is dealing more with the algorithmic side of things, right?
2021-06-11 21:50:21 +0200MoC_(~moc@user/moc)
2021-06-11 21:51:29 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 21:51:55 +0200NieDzejkob(~quassel@195.149.98.3)
2021-06-11 21:51:57 +0200Unode(~Unode@194.94.44.220) (Quit: Not that cable)
2021-06-11 21:52:58 +0200Unode(~Unode@194.94.44.220)
2021-06-11 21:53:01 +0200MoC(~moc@user/moc) (Ping timeout: 244 seconds)
2021-06-11 21:53:06 +0200Guest50danm
2021-06-11 21:54:20 +0200MoC_MoC
2021-06-11 21:54:59 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 21:55:58 +0200Guest10(~Guest10@201.219.236.40)
2021-06-11 21:56:37 +0200 <DigitalKiwi> psygo: i haven't read it :D
2021-06-11 21:58:14 +0200Andros(~Andros@176.116.80.1) (Quit: Leaving)
2021-06-11 21:58:15 +0200 <psygo> Me neither. I just inferred that from the TOC.
2021-06-11 21:58:31 +0200ordinate(~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2021-06-11 21:58:42 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-06-11 21:58:45 +0200 <edwardk> i can't tell if its worse that i got banned, or that i got incompetently banned.
2021-06-11 21:59:02 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-06-11 21:59:16 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-06-11 21:59:33 +0200ozataman(~ozataman@71.190.112.58)
2021-06-11 22:00:10 +0200wonko(~wjc@62.115.229.50)
2021-06-11 22:00:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-06-11 22:00:28 +0200danm(~Guest50@70.39.165.194) (Ping timeout: 250 seconds)
2021-06-11 22:03:22 +0200safinaskar(~safinaska@109-252-90-89.nat.spd-mgts.ru)
2021-06-11 22:04:18 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds)
2021-06-11 22:04:36 +0200ozataman(~ozataman@71.190.112.58) (Quit: Textual IRC Client: www.textualapp.com)
2021-06-11 22:04:55 +0200ozataman(~ozataman@71.190.112.58)
2021-06-11 22:05:08 +0200juhp(~juhp@128.106.188.66) (Ping timeout: 264 seconds)
2021-06-11 22:05:18 +0200 <safinaskar> hi! as you probably remember i need parsing lib (preferably monadic) with unbiased choice and ability to do semantic error checking (i. e. "division by zero" or "undefined id") interleaved with parsing. i just now understand that such a lib will necessary be arrow-based, not monadic!
2021-06-11 22:05:25 +0200tapastopos
2021-06-11 22:06:20 +0200 <safinaskar> so, now my question is: is there some lib for arrow parsing (CFG) with non-biased choice and ability to do semantic checking while parsing?
2021-06-11 22:07:12 +0200juhp(~juhp@128.106.188.66)
2021-06-11 22:09:04 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-11 22:12:11 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-06-11 22:12:18 +0200dhil(~dhil@195.213.192.47) (Ping timeout: 264 seconds)
2021-06-11 22:15:23 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) (Ping timeout: 252 seconds)
2021-06-11 22:22:23 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 268 seconds)
2021-06-11 22:23:27 +0200teaSlurper(~chris@81.96.113.213) (Remote host closed the connection)
2021-06-11 22:24:31 +0200econo(uid147250@user/econo) ()
2021-06-11 22:25:30 +0200 <dminuoso> safinaskar: As it has been pointed out earlier, it's probably a bad idea to do semantic checking during parsing. What's wrong with just doing a separate pass?
2021-06-11 22:25:44 +0200dhil(~dhil@80.208.56.181)
2021-06-11 22:26:18 +0200 <safinaskar> dminuoso: this would mean i need to construct full ast
2021-06-11 22:26:25 +0200 <safinaskar> i don't want this
2021-06-11 22:26:51 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-06-11 22:27:08 +0200psygo(~philippe@201-95-112-120.dsl.telesp.net.br) (Quit: leaving)
2021-06-11 22:27:09 +0200 <safinaskar> well, i want to write proof checker. its whole purpose is to *check* input. so, if there is no (semantic) errors, it will output nothing
2021-06-11 22:27:35 +0200econo(uid147250@user/econo)
2021-06-11 22:28:13 +0200 <dminuoso> I could come up with a number of reasons why separating parsing from operations on the parsed data is a good idea, but you seem to have made up your mind. *shrugs*
2021-06-11 22:28:19 +0200teaSlurper(~chris@81.96.113.213)
2021-06-11 22:29:01 +0200 <safinaskar> also i still want some parser lib for throw-away cases, where i simply want to write some one-off haskell program
2021-06-11 22:29:17 +0200 <safinaskar> parsec will not go for such cases, because it has no non-biased choice
2021-06-11 22:30:07 +0200 <dminuoso> Out of curiosity, why do you insist on having non-biased choice?
2021-06-11 22:31:12 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-11 22:31:13 +0200dminuosoidly wonders, couldn't you use megaparsec's ParsecT over Logic?
2021-06-11 22:31:29 +0200Guest10(~Guest10@201.219.236.40) (Quit: Connection closed)
2021-06-11 22:32:32 +0200 <safinaskar> dminuoso: biased choice means that we have PEG semantics. unbiased choice means CFG semantics. i love CFG, no PEG. why? well, first, because of duck principle: i learned CFG first. second, most programming languages specified using CFG, not PEG
2021-06-11 22:32:57 +0200teaSlurper(~chris@81.96.113.213) (Ping timeout: 265 seconds)
2021-06-11 22:33:12 +0200 <safinaskar> also, i used bison a lot (with c++), it is based on CFG
2021-06-11 22:33:24 +0200 <safinaskar> i simply love CFG, it seems more natural for me
2021-06-11 22:33:50 +0200 <safinaskar> you don't have to think in which order to give productions
2021-06-11 22:34:08 +0200 <safinaskar> finally, there was one serious indecent
2021-06-11 22:34:54 +0200 <dminuoso> So yeah, why not use ParsecT+LogicT?
2021-06-11 22:36:20 +0200 <safinaskar> dminuoso: as well as i understand megaparsec uses biased choice
2021-06-11 22:36:22 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-06-11 22:36:57 +0200 <safinaskar> s/indecent/incident/
2021-06-11 22:37:29 +0200 <dminuoso> And LogicT gives you fair conjunction/disjunction.
2021-06-11 22:39:22 +0200 <safinaskar> so, incident. i wanted to parse text using this CFG: https://paste.debian.net/1200908/ . i simply translated this CFG to parsec code (despite parsec is based on PEG, not CFG) and happily wrote a lot of text and parsed it using this parsec-based parser. Then i suddenly discovered that this CFG is ambiguous! So, all this text was unreliable! Starting
2021-06-11 22:39:22 +0200 <safinaskar> from that moment i don't trust parsec anymore
2021-06-11 22:39:39 +0200 <safinaskar> dminuoso: well, your solution sounds interesting
2021-06-11 22:39:40 +0200azeem(~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-06-11 22:39:57 +0200 <safinaskar> dminuoso: you mean parsect over logict or vice versa?
2021-06-11 22:40:06 +0200azeem(~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
2021-06-11 22:40:56 +0200 <dminuoso> Mmm, not sure which way. `LogicT (ParsecT ...)` might have horrific performance. But hey, you wanted to have your cake and eat it too. Can't also demand it tastes very well.
2021-06-11 22:41:28 +0200 <dminuoso> But I think it should be `LogicT (ParsecT ...)`
2021-06-11 22:42:58 +0200 <safinaskar> dminuoso: but i just understand that unbiased choice with semantic checking is not possible with monads. it is possible with arrows only. i proved this. :) so that logict+parsect solution should not work
2021-06-11 22:43:07 +0200 <dminuoso> safinaskar: Oh also, you could just use happy/alex I guess. It's at least something you haven't listed yet it seems.
2021-06-11 22:43:19 +0200 <dminuoso> if you're happy with bison, it might suit you well
2021-06-11 22:44:27 +0200 <dminuoso> safinaskar: You proved this? We have LogicT as a monad transformer!
2021-06-11 22:44:38 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-11 22:45:08 +0200 <dminuoso> Perhaps Oleg et al are wrong then *shrugs* http://okmij.org/ftp/papers/LogicT.pdf
2021-06-11 22:48:27 +0200hendursa1(~weechat@user/hendursaga)
2021-06-11 22:48:48 +0200 <safinaskar> i want to implicitly have location info with every terminal and nonterminal (but on top level only! i. e. location info should not be stored deeply inside ast). as well as i understand, happy don't allow this. In happy i need to explicitly pass around location info. At least ghc's happy parser passes locations around explicitly
2021-06-11 22:50:52 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 252 seconds)
2021-06-11 22:52:01 +0200 <safinaskar> dminuoso: this paper doesn't mention parsing (ctrl-f "pars" shows nothing)
2021-06-11 22:52:42 +0200machined1od(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-06-11 22:52:56 +0200 <safinaskar> well, i can write my proof for you if you want
2021-06-11 22:53:41 +0200 <qrpnxz> i keep hearing name Oleg but idk which Oleg ppl are talking about
2021-06-11 22:54:33 +0200 <nshepperd> i don't think LogicT (Parsec..) will do what you want
2021-06-11 22:55:01 +0200 <dminuoso> safinaskar: It's a monad transformer. ParsecT is also a monad transformer. You can layer them ontop of each other to get both backtracking, fair disjunction/conjunction and parsing. If you add say ChronicleT ontop, you get fine error control too.
2021-06-11 22:55:06 +0200 <nshepperd> as in, the <|> will not backtrack the parsing state
2021-06-11 22:55:15 +0200 <dminuoso> nshepperd: interleave will.
2021-06-11 22:56:21 +0200 <nshepperd> it will not
2021-06-11 22:56:23 +0200 <dminuoso> Why not?
2021-06-11 22:56:45 +0200 <safinaskar> qrpnxz: look at authors list of mentioned paper. there is one Oleg in it: Oleg Kiselyov
2021-06-11 22:56:53 +0200 <nshepperd> the LogicT interface cannot do anything that cannot be done with LogicT IO
2021-06-11 22:57:11 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 272 seconds)
2021-06-11 22:57:35 +0200 <safinaskar> nshepperd: i am sure logict will not do what i need. because i just proved it is not possible using monads
2021-06-11 22:57:36 +0200 <nshepperd> including unlaunching missiles
2021-06-11 22:57:43 +0200bilegeek(~bilegeek@2600:1008:b06d:65ed:93d7:e6a:a06d:9e4)
2021-06-11 23:00:46 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-11 23:01:07 +0200lavaman(~lavaman@98.38.249.169)
2021-06-11 23:01:49 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-06-11 23:02:08 +0200 <dminuoso> nshepperd: Is my thinking flipped? I pointed out earlier I wasnt sure about the order in which they need to go.
2021-06-11 23:02:12 +0200zebraggzebrag
2021-06-11 23:02:40 +0200 <dminuoso> But your argument makes sense
2021-06-11 23:02:58 +0200hendursa1(~weechat@user/hendursaga) (Ping timeout: 252 seconds)
2021-06-11 23:03:15 +0200forell_forell
2021-06-11 23:04:09 +0200 <nshepperd> it doesn't work either way around afaict
2021-06-11 23:05:21 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-06-11 23:06:05 +0200 <dminuoso> That cant be right
2021-06-11 23:06:32 +0200 <dminuoso> Let's think of LogicT as just ListT but done correctly
2021-06-11 23:06:40 +0200 <dminuoso> Just for the sake of argument, so we can unmtl this
2021-06-11 23:07:11 +0200 <nshepperd> if you use LogicT Parsec you get an unbiased <|> that doesn't backtrack the parser state and therefore acts like nonsense
2021-06-11 23:07:33 +0200 <monochrom> LogicT is CPS/Church-encoding form of correct ListT. No semantic difference.
2021-06-11 23:07:41 +0200 <nshepperd> if you use ParsecT Logic you get parsec's <|> which is biased and backtracks
2021-06-11 23:07:59 +0200 <safinaskar> let me state my theorem about impossibility of monad i want: https://paste.debian.net/1200914/
2021-06-11 23:09:00 +0200 <safinaskar> this means that any logicT solutions will not go, at least for my task
2021-06-11 23:09:15 +0200 <safinaskar> if you are still not convinced i can write down proof. do you want this? (this will take another 10 mins)
2021-06-11 23:11:57 +0200 <dminuoso> nshepperd: What you say makes sense.
2021-06-11 23:12:40 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
2021-06-11 23:13:37 +0200Shaeto(~Shaeto@94.25.234.158) (Quit: WeeChat 3.1)
2021-06-11 23:14:38 +0200 <monochrom> Actually why are we still talking about LogicT when the asker has already rejected all monads :)
2021-06-11 23:15:37 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2021-06-11 23:15:54 +0200hendursaga(~weechat@user/hendursaga)
2021-06-11 23:16:53 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1)
2021-06-11 23:18:05 +0200 <nshepperd> reject all monads! return to the trees!
2021-06-11 23:20:43 +0200 <safinaskar> i wrote proof! https://paste.debian.net/1200915/
2021-06-11 23:33:30 +0200bor0(~boro@user/bor0) (Quit: Leaving)
2021-06-11 23:35:07 +0200 <nshepperd> when thinking about monad transformers, imagining them layered over IO is a powerful intuition pump. i recommend it
2021-06-11 23:35:35 +0200 <dminuoso> nshepperd: Yeah.
2021-06-11 23:36:09 +0200 <Hecate> heya cabal wizards, it looks like my /tmp is not a good place for cabal to download the Hackage index https://paste.tomsmeding.com/a3Y9DxwE
2021-06-11 23:36:25 +0200 <Hecate> what is the flag to tell it to put the index file elsewhere?
2021-06-11 23:38:15 +0200 <safinaskar> Hecate: mount file system you need to /tmp
2021-06-11 23:38:20 +0200 <safinaskar> :)
2021-06-11 23:38:46 +0200 <dminuoso> Hecate: Set $CABAL_DIR ?
2021-06-11 23:39:37 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-11 23:40:13 +0200 <Hecate> dminuoso: I'm pretty sure $CABAL_DIR is a secondary destination, after /tmp
2021-06-11 23:40:32 +0200 <monochrom> I layered ParsecT over ContT r IO and get very powerful unintuition. >:)
2021-06-11 23:40:55 +0200 <monochrom> http://www.vex.net/~trebla/haskell/parsec-generally.xhtml#ContT
2021-06-11 23:40:57 +0200 <nshepperd> haha
2021-06-11 23:41:21 +0200MQ-17J(~MQ-17J@8.21.10.116)
2021-06-11 23:42:29 +0200 <monochrom> I add ContT like people add hot sauce
2021-06-11 23:42:36 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-06-11 23:43:40 +0200 <nshepperd> delicious
2021-06-11 23:44:06 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 244 seconds)
2021-06-11 23:47:27 +0200phma(phma@2001:5b0:211f:5688:1a5c:72d9:f31b:5496) (Read error: Connection reset by peer)
2021-06-11 23:47:40 +0200 <maerwald> ContT is just awful
2021-06-11 23:47:50 +0200 <maerwald> but good if you want to confuse yourself
2021-06-11 23:51:29 +0200phma(~phma@host-67-44-208-20.hnremote.net)
2021-06-11 23:51:41 +0200 <monochrom> awful compared to what alternative?
2021-06-11 23:52:01 +0200 <dminuoso> Hecate: https://hackage.haskell.org/package/directory-1.3.6.2/docs/System-Directory.html#v:getTemporaryDir…
2021-06-11 23:52:10 +0200 <dminuoso> Hecate: I could trace at least one code path back to using this.
2021-06-11 23:52:28 +0200 <dminuoso> Try setting one of those environment variables
2021-06-11 23:53:01 +0200 <dminuoso> TMPDIR in particualr
2021-06-11 23:53:38 +0200ozataman(~ozataman@71.190.112.58) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-11 23:53:58 +0200 <maerwald> monochrom: the documentation in mtl already outlines it
2021-06-11 23:54:10 +0200 <maerwald> "Before using the Continuation monad, be sure that you have a firm understanding of continuation-passing style and that continuations represent the best solution to your particular design problem. Many algorithms which require continuations in other languages do not require them in Haskell, due to Haskell's lazy semantics. Abuse of the Continuation monad can produce code that is impossible to
2021-06-11 23:54:12 +0200 <maerwald> understand and maintain."
2021-06-11 23:54:14 +0200 <maerwald> and it's true
2021-06-11 23:54:26 +0200 <Hecate> dminuoso: fantastic, thanks :)
2021-06-11 23:54:46 +0200 <maerwald> I've never seen real world haskell code that can't do without it
2021-06-11 23:54:57 +0200ozataman(~ozataman@71.190.112.58)
2021-06-11 23:55:26 +0200 <dminuoso> maerwald: I use continuations in a custom parser situation to avoid relying on deforestation for adequate performance.
2021-06-11 23:55:43 +0200 <dminuoso> But, this is a bit of a special case. :)
2021-06-11 23:55:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 23:56:55 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-06-11 23:56:58 +0200 <maerwald> streamly needs it, but is uses its own representation
2021-06-11 23:57:23 +0200 <dminuoso> megaparsec and attoparsec both use continuations internally too
2021-06-11 23:57:36 +0200 <monochrom> A good use case is converting with-style programming "withFoo (\h -> ...)" to monadic programming "do { h <- ContT withFoo; ... }"
2021-06-11 23:58:09 +0200 <monochrom> Because, quite frankly, with-style programming is already continuation-passing-style programming.
2021-06-11 23:59:33 +0200 <maerwald> unlike many others... I agree with the python zen: explicit is better than implicit